数据:描述事务的符号记录,包含但不限于数字、 文字、图形、图像、声音、语言等。数据有多重形式,它们都可以经过数字化后存入计算机。
数据库:数据仓库。是长期存放在计算机内、有组织、可共享的大量数据的集合。数据库中的数据按照一定数据模型组织、描述和存储,特征:较小的冗余度,较高的独立性和易扩展性。为迎合用户的使用和共享,于是它的特征有如下几点:
数据要具备结构化特征
数据的冗余度要小,共享性要高,扩充性要强
针对于原子性数据,独立性要强
数据要有统一的管理和控制 ==> DBMS (数据库管理系统) :安全性,完整性,并发性,容灾性
DBMS是所有数据的知识库,并对数据的存储、安全、一致性、并发操作、恢复和访问负责
数据库系统成熟的标志就是数据库管理系统的出现。DataBase Management System,归根结底它是管理数据库的一个软件,是对数据库完整和统一管理的控制机制。它不仅能够帮助我们轻松进行数据库的使用(登录,检索,维护),同时它也提供了数据的安全,完整,容灾。为数据的恢复提供了可靠的保证。数据库管理系统的核心是一个用来存储大量数据的数据库。
DBMS内的数据字典(有时也被称为系统表),用于存储每个事物的相关信息,如名称,结构,位置,类型等等。这类数据也被称为元数据
文件系统:操作系统用于明确存储设备(通常泛指磁盘),或分区上的文件的方法和数据结构,即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。
数据库系统:数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件。用于建立、使用和维护数据库。对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
管理对象不同==>文件系统的管理对象是文件,并非直接对数据进行管理,不同的数据结构需要使用不同的文件类型进行保存,两者之间存在隔离性。
存储方式不同==>文件系统使用不同的文件名加以区分(.doc/.mp4/.png),保存在外部存储设备上,数据库系统使用标准统一的数据类型进行数据保存(字母/数字/符号/时间…)
调用数据方式不同==>文件系统使用不同的软件去调用不同类型的文件,数据库系统则统一使用DBMS进行调用和管理
1 初始阶段----人工管理:人工手动进行数据整理
2 萌芽阶段----文件系统:磁盘文件进行数据的存储
3 初级阶段----第一代数据库:网状模型和层次模型的数据库
4 中级阶段----第二代数据库:关系型数据库&&结构化查询语句 Oracle MySql SqlServer
5 高级阶段----新一代数据库:NoSql型数据库 Redis…MnGo…
6 未来阶段----云库
关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。
当前主流的关系型数据库有Oracle、DB2、Microsoft SQL Server、MicrosoftAccess、MySQL、浪潮K-DB 、武汉达梦、南大通用、人大金仓等。
实体关系模型 E-R 图,它将真实世界事物与关系的概念,来解释 了数据库中抽象的数据架构。实体关系模型利用图形的方式(实体-关系图)来表示数据库的概念设计,有助于设计过程中的构思及沟通讨论。
普遍定义是“非关联性的”,强调key–value存储和访问。
层次模型非常像一个倒置的树形结构。层次模型满足如下的条件:
有且仅有一个节点且无父节点的,这个节点被称为根节点。
其他的节点,有且只有一个父节点。多应用于桌面型关系模型数据库。
在现实世界中,事物之间的联系更多的是非层次关系的,用层次模型表示非树型结构是很不直接的,网状模型则可以克服这一弊病。网状模型是一个网络结构。在数据库内如何区分网状模型,它满足的条件:
以二维表的形式表示实体和实体之间存在的关系。从模型的三要素角度分析,满足关系模型的条件:
数据结构:一个二维表格
数据操作:数据表的定义 维护 检索 计算
数据约束条件:数据表中列的限制
基于客户的想法和观点所形成的认识和抽象
实体(Entity):客观存在,能够被描述的事物
属性(Attribute): 用于描述实体所具有的特征或特性。如针对学生实体 学号 姓名 年龄 性别 住址…
关系(Relationship):实体和实体之间的联系
行和列:行代表一个具体的实体的数据。也叫一条记录。列是属性的映射,用于描述实体的。
精通SQL操作 IDUS (Insert,Deletc,Update,Selete)
多表连接,分组,子表检索
常用的函数
常用的操作命令
市面上常见的开发工具
事务 存储函数 存储过程 游标
索引 视图 触发器
环境部署
安装,参数配置,权限管理
备份还原
监控
基本的故障处理
性能调优
容灾 升级/迁移
系统用户反馈的问题汇总解决
能不给做的事情不要给数据库,数据库尽量纯粹进行数据容器管理
任何数据变更,必须存在记录,支持回滚