数据库:
“数据库是按照数据结构来组织,储存和管理数据的仓库”。是一个长期储存在计算机内的,有组织的,可共享的,同意管理的大量数据的集合。
数据库管理系统(简称DBSM)
数据库系统(DBS)
数据管理有三个阶段分为:
- 人工管路阶段
- 文件系统阶段
- 数据库系统阶段
重点讲述数据库系统阶段的特点:
- 数据结构化
- 数据共享性高,冗余度低且易扩充
- 数据独立性高:
-
逻辑数据独立性(Logical Data Independence):逻辑数据独立性是指数据库的逻辑结构(即数据模型)能够独立于应用程序的逻辑结构。也就是说,当数据库的逻辑结构发生变化时,应用程序的逻辑结构不受影响,仍然可以正常运行。逻辑数据独立性的实现需要通过合适的数据模型和查询语言来实现,常见的数据模型有关系型模型(如SQL)和面向对象模型(如ORM框架)。
- 举个例子,如果数据库中某个表的结构发生了变化,比如添加了新的列或修改了列的数据类型,逻辑数据独立性意味着应用程序的查询语句不需要修改,仍然可以正常访问和操作数据库中的数据。
- 物理数据独立性(Physical Data Independence):物理数据独立性是指数据库的物理存储结构能够独立于应用程序的逻辑结构。也就是说,当数据库的物理存储结构发生变化时,应用程序的逻辑结构不受影响,仍然可以正常运行。物理数据独立性的实现需要通过合适的存储技术和访问方法来实现,常见的存储技术有磁盘、内存、分布式存储等。
-
举个例子,如果数据库的数据存储从磁盘切换到内存,或者数据分布发生了变化,物理数据独立性意味着应用程序的查询语句不需要修改,仍然可以正常访问和操作数据库数据独立性和物理数据独立性的实现可以提高数据库的灵活性和可维护性。应用程序只需关注逻辑结构和业务逻辑,而不需要关心数据的具体存储方式和物理实现细节。这样,在数据库结构或存储方面的变化时,只需要对数据库进行相应的调整和优化,而不需要修改应用程序的代码。
-
- 数据由数据库管理系统统一管理和控制
数据库常用数据模型
-
概念模型:
1.常用的E-R模型 -
逻辑模型,物理模型(直接面向数据库的逻辑结构):
- 层次模型(结构像一颗倒立的树,节点的双亲唯一,类似于二叉树)
- 采用链接(指针)方法实现,存取效率高
- 网状模型
- 允许以及一个以上节点无双亲
- 一个节点可以多于一个的双亲
- 采用链接(指针)方法实现,存取效率高
-
关系模型(主要)
-
采用关系中公共属性实现,存取时用连接运算,存取效率低
-
关系:就是一张表
-
元组:表中一行就是一个元组
-
学号 姓名 年龄(属性名) 性别 系名 年级 2013004 张三 18 男 cs 1 2013006 李四 20 男 IME 2 2013008 王五 19 男 EE 3 ....... 属性 属性:一列就是一个属性,每一个属性有一个属性名(如学号,姓名,年龄...)
-
码(也称为键):由表中的某个属性组可以确定一个唯一的一个元组(如学号可以确定唯一的一个学生),即学号就是码也称为(主码,主键)
-
域:域是一组具有相同数据类型的值的集合。属性的取值范围来自某个域。(如年级属性的域是1-3,性别的域是男,女)
-
分量:元组中的一个属性值
-
关系模式:对关系的描述,关系名(属性1,属性2,属性3,......,属性n)
上面关系可表示为:学生(学号,姓名,年龄,性别,系名,年级)
-
关系模式要求关系必须是规范化的,关系的每一个分量不可再分(下表就不行,即非规范消息,表中有表)
-
职工名字
工资
张三 基本工资 岗位工资 业绩津贴 1305 1650 1800
-
- 关系模型的优缺点:
-
关系模型的优点
它有较强的数学理论根据(关系代数)
数据结构简单、清晰,用户易懂易用
关系模型的存取路径对用户透明,从而具有更高的数 据独立性、更好的安全保密性,也简化了程序员的工作和数据库建立和开发的工作
-
关系模型的缺点
由于存取路径对用户透明,查询效率往往不太好,因此,为了提高性能,必须对用户的查询表示进行优化, 增加了开发数据库管理系统的负担
-
-
补充知识点:
- 层次模型基本结构是树状结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表表示,三种数据库的划分方式是数据之间的联系方式。
- 数据库:“数据库是按照数据结构来组织,储存和管理数据的仓库”。是一个长期储存在计算机内的,有组织的,可共享的,同意管理的大量数据的集合。数据库库中储存的是数据及数据间的联系
- 层次模型:树结构对应的联系:
- 1:1联系,一个父节点对应一个子节点
- 1:n联系,一个父节点对应多个子节点
- 层次模型不能满足m:n联系(多对多)
- 实体间的联系满足1对1联系,1对多联系,多对多联系。
- 网状结构采用链接指针记录,缺乏有效数据控制,而关系型数据库是用二维表来保存数据,操作更有效。
数据库的三级模式:
- 模式(也称逻辑模式,schema)
- 所有二维表/关系模式放在一起就是模式
- 是所有用户的公共数据试图
- 外模式(也称子模式或者用户模式或者模式映像,external schema)
- 他是数据库用户能看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。
- 内模式(也称储存模式,internal schema)
- 一个数据库只有一个内模式,他是数据物理结构和储存方式的描述,是数据在数据库内部的组织方式
数据库的二级映像
- 外模式/模式映像
-
数据库的每一个外模式都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系,外模式/模式一般在外模式中描述。
如果对某个字段重新修改关系,类型等,那么只需要对外模式/模式映像做对应的修改,使外模式尽量保持不变,而应用程序一般是依据外模式编写的,因此应用程序也不用修改,从而保证了数据与程序的逻辑独立性。这也就是数据的逻辑独立性。
-
- 模式/内模式映像
-
模式/内模式映像是唯一的,因为数据库总只有一个模式和一个内模式,它存在于模式和内模式之间。数据库的存储结束了,DBA要对模式/内模式映像做相应的改变,以使模式保持不变。模式不变,与模式没有直接联系的应用程序也不会改变。所以,模式/内模式映像功能保证了数据与程序的物理独立性。
-
-
以上两点体现了数据的独立性