一,数据库基础和数据库设计

  数据库是存储在一起被集中管理的数据的集合。

  数据库的系统结构是对数据库的三个抽象级别,它们分别是内模式,概念模式和外模式。这三级模式的差别一般很大,为了实现这三个抽象级别在内部的联系和转换,数据库管理系统在三级结构之间提供了两个两层映像:外模式/概念模式映像,概念模式/内模式映像。这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

  从最终用户角度看,数据库系统分为单用户结构,主从结构,客户-服务器结构和分布式结构。

1.1数据库系统

  在此简介部分相关概念,深入的知识请学习数据库基础课程。

1.1.1数据,信息,数据库

  数据:是描述事物的符号记录,是数据库中存储的基本对象。可以是数值数据,也可以是非数值数据。

  信息:是具有一定含义的,经过加工的,对决策有价值的数据。信息是有用的数据,数据是信息的表现形式。特点:无限性,共享性,创造性。

  信息与数据的关系:数据的形式不能完全表达其内容,需要经过解释。数据的解释是指对数据含义的说明,数据的含义又称为数据的语义,也就是数据包含的信息。信息是数据的内涵,数据是信息的符号表示,是载体。数据是符号化的信息,信息是语义化的数据。

  数据库:是长期存储在计算机内的,有组织的,客共享的数据集合。数据库中的数据按一定的数据模型组织,描述和存储,用于满足各种不想的信息需求,并且集中的数据彼此之间有相互的联系,具有较小的冗余度,较高的数据独立性和易扩展性。

1.1.2数据库管理系统

  数据库管理系统是位于用户和操作系统之间的一层数据管理软件,它的主要功能如下:

  数据定义功能:数据库管理系统提供数据定义语言DDL,用户通过它可以方便地对数据库中的数据对象进行定义。

  数据操纵功能:数据库管理系统提供数据操纵语言DML,用户可以使用数据操作语言实现对数据库的基本操作。

  数据库的运行管理:数据库的建立,运行和维护有数据库管理系统统一管理和控制,以保证数据的安全性,完整性,多用户对数据的并发使用,以及故障后的系统恢复。

  数据库的建立和维护功能:数据库管理系统具有初始数据的输入,转换功能,数据存储,恢复功能,数据库的重组织功能,以及性能监视,分析功能等。这些功能通常由一些实用程序实现。

1.2数据库系统结构

1.2.1数据库系统模式的概念

  模式(Schema)是数据库中全体数据的逻辑结构和特征的描述,它仅涉及到型的描述,不涉及到具体的值。

  实例(Instance)是模式的具体值。同一个模式可以有很多实例。模式是相对稳定的,而实例是相对变动的,因为数据库中的数据是在不断更新的。模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。

1.2.2数据库系统的三级模式结构

  数据库系统结构分为三层:即内模式、概念模式(模式)和外模式。

  从某个角度看到的数据特性称为“数据视图”(Data View)。

 

  • 外部级最接近用户,是单个用户所能看到的数据特性,单个用户使用数据视图的描述称为“外模式”。
  • 模式涉及所有用户的数据定义,是全局的数据视图。全局数据视图的描述也称为“概念模式”。
  • 内模式最接近于物理存储设备,涉及实际数据存储的结构。物理存储数据视图的描述称为“内模式”。

  1.概念模式(所有用户的公共视图)
  一个数据库只有一个概念模式,它以某一种数据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。
  概念模式由许多记录类型的值组成。模式根本不涉及物理表示和访问的技术,它只定义信息的内容。这样模式就可真正实现物理数据的独立性。
  定义模式时,不仅定义数据的逻辑结构,还要定义数据之间的联系,定义与数据有关安全性、完整性要求。
  在数据库管理系统(DBMS)中,描述概念模式的数据定义语言称为“模式DDL”。

  2.外模式(用户可见的视图)  
  外模式也称子模式(Subschema)或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示,是用户和数据库系统的接口,是用户用到的那部分数据的描述。一个系统一般有多个外模式,通常又称“用户模式”或“子模式”
  外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的。用户使用数据操纵语言DDL语句对数据库进行操作。

  3.内模式(存储模式)
  一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方法。它定义所有的内部记录类型、索引和文件的组织方式、以及数据控制方面的细节。
  注意,内模式和物理层仍然不同。内部记录并不涉及到物理记录,也不涉及到设备的约束。比内模式更接近物理存储和访问的那些软件机制是操作系统的一部分,即文件系统。
  描述内模式的数据定义语言称为内模式DDL。

1.2.3数据库的二级映像功能与数据独立性

  1.模式/概念模式映象
  用于定义外模式和概念模式之间的对应性,即外部记录和内部记录间的关系。
  当模式发生改变时,由数据库管理员对各个外模式/模式的映象作相应改变,可以使外模式保持不变,应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
  2.模式/内模式映象
  用于定义概念模式和内模式间的对应性,实现两级的数据结构、数据组成等的映象对应关系。
  模式/内模式映象定义了数据库全局逻辑结构与存储结构之间的对应关系,当数据库的存储结构改变了,由数据库管理员对模式/内模式映象作相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。

1.2.4数据库系统用户结构

  1.单用户数据库系统

  单用户数据库系统是一种早期的最简单的数据库系统。在这种系统中,整个数据库系统(包括应用程序、DBMS、数据)都装在一台计算机上,由一个用户独占,不同机器之间不能共享数据。

  2.主从式结构数据库系统
  主从式结构是指一个主机带多个终端的多用户结构。

  

  在这种结构中,数据库系统(包括应用程序、DBMS、数据)都集中存放在主机上,所有处理任务都由主机来完成,各个用户通过主机的终端并发地存取数据库,共享数据资源。

  3.客户/服务器结构数据库系统
  网络中某个(些)节点上的计算机专门用于执行DBMS功能,称为数据库服务器,简称服务器;其他节点上的计算机安装DBMS的外围应用开发工具,支持用户的应用,称为客户机,这就是客户/服务器结构的数据库系统。

            

  4.分布式结构数据库系统
  分布式结构是指数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同节点上。网络中的每个节点都可以独立处理本地数据库中的数据,执行局部应用;同时也可以同时存取和处理多个异地数据库中的数据,执行全局应用。

 

 

 

 

 

1.3关系数据库及其设计

1.3.1关系数据库

  在关系数据库中,一个关系就是一张二维表,它由行和列组成。
  表中的一行就是一个元组(也称记录),表中的列为一个属性,给每个属性起一个名即为其属性名(也称字段名)。

1.3.2关系数据库设计

  1.需求分析
  需求分析阶段的任务是收集数据库所需要的信息内容和数据处理规则,确定建立数据库的目的。在需求分析调研中,必须和用户充分讨论,确定数据库所要进行的数据处理范围,数据处理的流程以及数据取值范围的界定。
  描述需求分析常用的方法有数据流图、数据字典等。

  2.概念结构设计
  概念结构设计是对现实世界的一种抽象,即对实际的人、物、事和概念进行人为处理,抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述。
  为了能够完成上述目标,我们把现实世界中客观存在并可相互区别的事物称为实体。
  实体集之间存在各种联系(Relationship),主要有三类:一对一联系(1:1)、一对多联系(1:n)、多对多联系(m:n)。
  描述概念模型的有力工具是E-R模型。 

  3.逻辑结构设计
  关系模型的逻辑结构是一组关系模式的集合。将E-R图转换为关系模型一般遵循如下原则:
  (1)实体与实体属性的转换
  一个实体型转换为一个关系模式。实体的属性就是关系的属性。实体的码就是关系的码。
  (2)实体间联系的转换
  ① 一个1:1联系可以转换为一个独立关系模式,也可以将任意一端关系中的码合并到另一端的关系模式中。
  ② 一个1:n联系可以转换为一个独立的关系模式,也可以将一端关系中的码与n端对应的关系模式合并。
  ③一个m:n联系必须转换为一个关系模式。

  4.数据库表的优化与规范化
  在数据需求分析的基础上,进行概念结构和逻辑结构设计,并将数据信息分割成数个大小适当的数据表。
  关系模型的规范化理论是研究如何将一个不规范的关系模型转化为一个规范的关系模型理论。数据库的规范化设计,要求分析数据需求,去除不符合语义的数据。确定对象的数据结构,并进行性能评价和规范化处理,避免数据重复、更正、删除、插入异常。
  规范化理论认为,关系数据库中的每一个关系都要满足一定的规范。根据满足规范的条件不同,可以划分为五个等级,通常在解决一般性问题时,只要把数据规范到第三范式标准就可满足需要。

1.3.3关系数据库的完整性

  1.实体完整性约束(PRIMARY)
  实体完整性规则是主关键字段中的诸属性值不能取空值。
  例如,在学生基本资料表中,我们规定主键学号O不能取空值。

  2.唯一性约束(UNIQUE)
  唯一性约束规则是在约束的字段上不能有相同值出现。
  例如,在学生基本资料表中,学号是唯一标识每个学生实体的,所以该字段的值就不能出现重复的学号值。又例如在课程基本资料表中,学校设置的课程一般是不允许有一样名字的,所以课号值(或课程名,取决谁是主键)就必须有唯一。

  3.参照完整性约束(FOREIGN)
  参照完整性约束规则要求外关键字的值必须来源于被参照关系表的取值或为空值。
  所谓外键是:设F是基本关系R的一个或一组属性,但不是关系R的关键字。如果F与基本关系S的主关键字Ks相对应,则称F是基本关系R的外关键字,并称基本关系R为参照关系,基本关系S为被参照关系或目标关系。

  4.检查(CHECK)和缺省值(DEFAULT)约束
  该类完整性约束是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。
  例如:注册选课表的成绩字段通过这种约束,其值只能在0~100之间,或者是空值,可以把缺省值设为0。

 

posted @ 2020-06-04 15:36  爱十三的柒  阅读(728)  评论(0编辑  收藏  举报