一、关系型数据库:html
关系型数据库是一类采用关系模型做为逻辑数据模型的数据库系统,听从数据库设计的基本步骤,包括:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库的运行和维护等阶段。 概念结构设计与逻辑结构设计是关系数据库整个设计过程的关键。数据库
二、关系数据库设计过程与各级模式 安全
在关系数据库设计的不一样阶段,会造成数据库的各级模式。数据库设计
1)需求分析阶段,综合各个用户的应用需求;函数
2)概念结构设计阶段,造成独立于机器特色、独立于各个关系数据库管理系统产品的概念模式;工具
3)逻辑结构设计阶段,将 E-R 图转换成具体的数据库产品支持的关系数据模型,造成数据库逻辑模式,而后根据用户处理的要求、安全性的考虑,在基本表的基础上再创建必要的视图,造成数据的外模式;学习
4)物理结构的设计阶段,根据关系数据库管理系统的特色和处理的须要,进行物理存储安排,创建索引,造成数据库内模式。优化
注:详细了解,请参考数据模式https://www.cnblogs.com/huyangshu-fs/p/11620600.htmlspa
三、 概念结构设计方法设计
关系数据库的概念结构设计一般采用自顶向下法,它经过两个步骤来完成概念设计,首先创建局部信息结构,而后将局部信息结构合成为全局信息结构并优化,使用 E-R 图做为概念模型的描述工具。
1)局部信息结构设计
局部信息结构设计:根据需求分析报告中标明的不一样用户视图范围所创建的知足该范围内用户需求的信息结构,称为局部信息结构。
局部信息结构设计的步骤包括:肯定局部范围;选择实体;选择实体关键字; 肯定实体间联系;肯定实体的属性。
2)E-R 图的表示方法
概念结构设计就是将需求分析获得的用户需求抽象为信息结构的过程,一般使用 E-R 图来做为描述现实世界的建模工具。E-R 图提供了表示信息世界中实体、属性和联系的方法。
1.实体型,用矩形表示,写明实体的名称;
2.属性,用椭圆形表示,并用无向边将其与其相应的实体链接起来。
3.联系,用菱形表示,写明联系的名称,用无向边分别与有关实体链接起来,同时在无向边旁标注联系的类型(1:一、1:N 或 M:N),若是一个联系具备属性, 则这些属性也要用无向边与该联系链接起来。
两个实体型之间、两个以上的实体型之间以及单个实体型内的联系,都会存在以下关系: 一对一联系(1:1) 一对多联系(1:N) 多对多联系(M:N)
3)全局信息结构设计
全局信息结构设计是将上述步骤中产生的全部局部信息结构合并成为一个全局信息结构。 各局部 E-R 图之间的冲突主要表如今三个方面:
3.1).属性冲突:属性域冲突和属性取值单位冲突。
3.2).命名冲突:同名异义和异名同义。
3.3).结构冲突:
① 同一对象在一个局部 E-R 图中做为实体,而在另外一个 局部 E-R 图中做为属性;
② 同一实体在不一样的 E-R 图中属性个数和类型不一样;
③ 实体之间的联系在不一样的 E-R 图中是不一样的类型。
eg:
【例】设有以下实体:
学生:学号,姓名,性别
课程:课程号,课程名,学分
班级:班号,班名,
其中,每一个班有若干学生,每一个学生只能够在—个班级学习;每一个学生可选修多门课程,每门课程可被多个学生选修,学生选修课程要记录成绩。
1. 试画出反映上述实体关系的 E-R 图(没必要画实体的属性)。
注意:学生选修课程以后才能有成绩,故成绩是选修(联系)的属性。
四、逻辑结构设计方法
逻辑结构设计的任务是把在概念结构设计产生的概念模型转换为具体的 DBMS 所支持的逻辑数据模型,也就是导出特定的 DBMS 能够处理的数据库逻辑结构。 一般包括三项工做:将 E-R 图转换为关系模型、对关系数据模型进行优化、设计面向用户的外模式。
1)E-R 图向关系模型的转换 遵循原则以下:
1. 一个实体型转换为一个关系模式。
2. 一个一对一联系能够转换为一个独立的关系模式。
3. 一个一对多联系能够转换为一个关系模式。
4. 一个多对多联系转换为一个关系模式。
5. 具备相同码的关系模式可合并。
eg:
使用3中的示例,将E-R图转化为关系模式,并说明主外键
(1)一个实体型对应一个关系模式:
R学生(学号,姓名,性别)
R课程(课程号,课程名,学分)
R班级(班号,班名)
(2)一个一对多联系可转化为一个关系模式(中间表)
R属于(学号、班号)外键 学号 和 班号
(3)一个多对多联系可转化为一个关系模式(中间表)
R选修(学号、课程号、成绩)外键 学号 和 课程号
(4)R学生和R属于可合并成一张表
R学生(学号、姓名、性别、班号)外键 班号
2)数据模型的优化 方法以下:
1.肯定各属性间的函数依赖关系。
2.对于各个关系模式的范式,根据实际须要肯定最合适的范式。
3.判断每一个关系模式的范式,根据实际须要肯定最合适的范式。
4.按照需求分析阶段获得的处理要求,分析这些模式对于这样的应用环境是否 合适,肯定是否要对某些模式进行合并或分解。
5.对关系模式进行必要的分解,提升数据操做的效率和存储空间的利用率。
3)设计用户子模式 定义用户模式具体包括如下几个方面:
1.能够经过视图机制在设计用户视图时,从新定义某些属性的别名,使其更符合用户的习惯,以方便使用。
2.能够对不一样级别的用户定义不一样的视图,以保证系统的安全性。
3.简化用户对系统的使用。
五、物理设计方法
关系数据库系统的优势之一是用户一般不须要进行数据存储结构和存取方法的设计。
物理设计的任务主要是经过对关系创建索引和汇集来实现与应用相关数据的逻辑链接和物理汇集,以改善对数据库的存取效率。
1)创建索引
索引的创建是经过 DBMS 提供的有关命令来实现的。 用以创建索引的那些属性也应是其所在关系中使用频率较高的属性。 创建索引的方式一般有静态和动态两种。 静态创建索引是指应用人员预先创建索引,一旦创建,后续的应用程序都可直 接使用该索引存取数据,它多适合于用户较多且使用周期相对较长的数据;动 态创建索引是指应用人员在程序内外临时创建索引,它多适合于单独用户或临 时性使用要求状况。
2) 创建汇集
汇集是将相关数据集中存放的物理存储技术,借以提升 I/O 的数据命中率而改 善存取速度,其功能由具体的 DBMS 所提供,如 MySQL。 数据汇集结构的一种有效方式是块结构方式,块与块之间由指针链接,一个块对应于一个物理分区。