吉林住房和城乡建设部网站,网站链接结构,长沙望城区发布最新通告,营销型网站建设题第三章_数据库结构设计
考点分析
在考试中一般情况下会出现在选择题和设计题#xff08;ER图表示#xff0c;关系模型转化#xff09; 常考知识点有#xff1a; 1.掌握数据建模方法中ER、IDEF1X系列的建模方法。 2.掌握数据库逻辑设计–ER图向关系模式转换方法 3.掌握数据…第三章_数据库结构设计
考点分析
在考试中一般情况下会出现在选择题和设计题ER图表示关系模型转化 常考知识点有 1.掌握数据建模方法中ER、IDEF1X系列的建模方法。 2.掌握数据库逻辑设计–ER图向关系模式转换方法 3.掌握数据库物理设计中物理结构、索引的分类、建立索引的原则。
考点1数据库概念设计
数据库概念设计主要解决数据需求即如何准确地理解数据需求真实地把应用领域中要处理的数据组织定义描述清楚以支持数据库设计后续阶段的工作
1、数据库概念设计阶段的目标 定义和描述应用领域设计的数据范围 获取应用领域或问题域的信息模型 描述数据的属性特征 描述数据之间的关系 定义和描述数据的约束 说明数据的安全性要求 支持用户的各种数据处理需求 保证信息模型能转化成数据库的逻辑结构即数据库模式同时也便于为用户理解。
2.概念设计的依据及过程
依据 需求分析阶段的文档包括需求说明书、功能模型数据流程图或IDEF0图以及在需求阶段收集到的应用领域或问题域中的各类报表等。
过程 1明确建模目标模型覆盖范围 2定义实体集自底向上标识和定义实体集 3定义联系实体间关联关系 4建立信息模型构造ER模型 5确定实体集属性属性描述一个实体集的特征或性质 6对信息模型进行集成与优化检查和消除命名不一致、结构不一致等 概念设计是DB设计的核心环节。概念数据模型是对现实世界的抽象和模拟。
3.数据建模方法
ER模型用简单的图形直观地抽象出现现实世界中客观对象的属性特征及其关系。
数据建模方法的共同特点是 1.能够真实客观地描述现实世界中的数据及数据之间的关系。 2.组成模型的概念少语义清楚容易理解。 3.不同概念的语义不重叠概念无多义性。 4.用图形方式描述数据数据直观易懂有利于数据库设计者和用户交流。 5.这种数据模型容易转换成数据库逻辑设计阶段的数据结构。
ER建模方法 实体联系ER方法面向数据存储需求建模将现实世界中需要处理的数据抽象组织成某种信息结构。这种结构不依赖于具体的计算机系统仅从存储需求描述数据的属性特征及数据之间的关系。
与ER模型有关的基本概念 实体Entity或实例Instance 客观存在并可相互区分的事物叫实体。 如学生张三、工人李四、计算机系、数据库概论。 实体集Entity Set 同型实体的集合称为实体集。 如全体学生。 属性Attribute 实体所具有的某一特性。一个实体可以由若干个属性来刻画。每个属性的取值范围称为域。 例如学生可由学号、姓名、年龄、系、年级等组成。 码Key 实体集中唯一标识每一个实体的属性或属性组合。 用来区别同一实体集中的不同实体的称作主码。 一个实体集中任意两个实体在主码上的取值不能相同。 如学号是学生实体的主码。 联系Relationship 描述实体之间的相互关系。 如学生与老师间的授课关系学生与学生间有班长关系。 联系也可以有属性如学生与课程之间有选课联系每个选课联系都有一个成绩作为其属性。 同类联系的集合称为联系集。
实体间的联系有三类实体之间的联系的数量即一个实体通过一个联系集能与另一实体集相关联的实体的数目。 一对一联系11 如“系”与“系主任”一个系只有一个系主任一个系主任只负责管理一个系 一对多联系1n ) 如“系”与“学生”一个系招收若干学生一个学生只属于一个系 多对多联系mn 如“学生”与“课程”一名学生可选修多门课程每门课程可被多名学生选修 IDEF1X建模方法
IDEFX 侧重分析、抽象和概括应用领域中的数据需求被称为数据建模方法。 IDEF1X的建模元素实体集、联系。
实体集 独立标识符实体集或独立实体集一个实体集的每个实例都能被唯一的标识而不取决于与其他实体集的联系。 从属标识符实体集或从属实体集实体集的一个实例的唯一依赖于该实体集与其他实体集的联系。 在IDEF1X中每个实体集定义有一个唯一的名字和编码名字和编码之间用斜杠/ 写在矩形框的上方编码应该是正整数。
联系 一个“确定型连接联系”或简称为“父子联系”或“依存联系”是实体集之间的一种连接或关系。在这种连接联系中被称为双亲实体集的每一个实例与子女实体集的0个、1个或多个实例相连接。子女实体集中的每个实例精确地同双亲实体集的1个实例相联系。
联系的分类 1.标定型联系 2.非标定型联系 3.分类联系 4.非确定联系
IDEF1X与第2章中介绍的IDEF0是一个系列的建模工具。 IDEF0是功能建模方法。 IDEF1X是数据建模方法。
5、概念设计实例 商场经营管理系统 建模目标支持顾客管理、采购与库存管理、销售管理、 人力资源管理、财务管理等多项业务活动。 定义实体集顾客、会员卡、员工、收银台、销售单据、 供应商、商品、采购入库单据对应教程P43页7个矩形框 定义联系难点依据语义约束定义。 建立信息模型详见教程P43-44图3.83.9 确认实体属性 对信息模型进行集成与优化
考点2数据库逻辑设计 待完善
逻辑设计的依据 信息模型和数据库概念设计说明书也是数据库用户确认数据需求的依据。 逻辑设计的任务 将概念模型如ER图转化为DBMS支持的数据模型如关系模型并对其进行优化。
逻辑设计的依据和阶段目标 补充相关概念 关系模型 有三种主要的数据模型层次模型、网状模型、关系模型。其中关系模型简单灵活并有着坚实的理论基础已成为当前最流行的数据模型。 关系模型就是用二维表格结构来表示实体及实体之间联系的模型。 关系的描述称为关系模式Relation Schema。关系模式由五部分组成即它是一个五元组R(U, D, DOM, F) R关系名 U组成该关系的属性名集合 D属性组U中属性所来自的域 DOM属性到域的映射 F属性组U上的一组数据依赖 由于D、DOM对模式设计的关系不大这里把关系模式简化为一个三元组 RU, F当且仅当U上的一个关系R满足F时R称为关系模式RU,F的一个关系。
1、关系数据库设计的核心关系模式的设计。 2、关系模式的设计目标按照一定的原则从数量众多而又相互关联的数据中构造出一组既能较好地反映现实世界而又有良好的操作性能的关系模式。 新奥尔良法数据库设计步骤 需求分析—〉概念结构设计—〉逻辑结构设计—〉物理结构设计 E-R图 关系模式设计
数据依赖 定义 设RU是一个属性集U上的关系模式X和Y是U的子集。若对于RU的任意一个可能的关系rr中不可能存在两个元组在X上的属性值相等而在Y上的属性值不等则称“X函数确定Y”或“Y函数依赖于X”记作X→Y。 数据依赖 关系内部属性与属性之间的一种约束关系 是现实世界属性间相互联系的抽象 数据的内在性质 语义的体现 完整性约束的表现形式 限定属性的取值范围如年龄60 定义属性间值的相互关联主要体现于值的相等与否这就是数据依赖
数据依赖的类型 函数依赖Functional DependencyFD 普遍存在于生活中这种依赖关系类似于数学中的函数yfx自变量x确定之后相应的函数值y也就唯一地确定了。 如关系公民身份证号姓名地址工作单位 身份证号一确定则其地址就唯一确定因此地址函数依赖身份证号。 而姓名一确定不一定能确定地址。
多值依赖Multivalued DependencyMD 教师号可能多值依赖课程号因为给定一个课程号参考书号的组合可能有对应多个教师号。这是因为多个老师可以使用相同或不同的参考书上同一门课。 简单点讲函数就是唯一确定的关系多值依赖却不能唯一确定。
函数依赖的几种特例 1、平凡函数依赖与非平凡函数依赖 如果X→Y且Y X则X→Y 称为非平凡函数依赖。 若Y X 则称X→Y为平凡函数依赖。 由于Y X 时一定有X→Y平凡函数依赖必然成立没有意义所以一般所说的函数依赖总是指非平凡函数依赖。
例Sno代表学生的学号Cno代表课程号Grade代表成绩。 在关系 SCSno, Cno, Grade中 非平凡函数依赖Sno, Cno→Grade 平凡函数依赖Sno, Cno→Sno (Sno, Cno→Cno
2、完全函数依赖与部分函数依赖 如果X→Y 且对于任何X’ X都有X’ Y则称y完全依赖于x记作X Y。 如果X→Y但Y不完全依赖于X则称Y部分函数依赖于X记作X Y。
例选课学号课程号课程名成绩 学号课程号 成绩 学号课程号 课程名 因为课程号→课程名 推论如果X→Y 且X是单个属性则X Y
3、传递函数依赖 如果X→Y Y→Z且Y X Y X则称Z传递函数依赖于X。记作X 传递→Z 。 例学生学号姓名系名系主任 显然系主任传递函数依赖于学号 因为学号→系名系名→系主任
思考题已知关系模式R学生学号课程名学生专业号专业名成绩说出下面是什么关系
学生学号课程名学生专业号 成绩 学生学号 专业名 学生学号专业名 成绩 学生学号课程名 成绩 课程名专业名成绩 课程名成绩
函数依赖部分函数依赖 函数依赖传递函数依赖 不是函数依赖 完全函数依赖 平凡函数依赖
候选码、主码、外码 我们已经知道如果某属性组的值能唯一确定整个元组的值则称该属性组为候选码或侯选关键字。 例如学号姓名性别年龄中学号是关键字学号姓名不是关键字性别不是关键字。 候选码如果有多个可以选其中的一个作为主码Primary Key 。
属性或属性组X不是关系模式R的码既不是主码也不是候选码但X是另一个关系模式的码则称X是R的外部码也称外码 Foreign key 。 例如在SCSnoCnoGrade中Sno不是码但Sno是关系模式SSnoSdeptSage的码则Sno是关系模式SC的外部码。
数据规范化 关系数据库的设计主要是关系模式设计。关系模式设计的好坏直接影响到数据库设计的成败。将关系模式规范化是设计较好的关系模式的惟一途径。 关系模式的规范化主要是由关系范式来完成的。 关系模式的规范化把一个低一级的关系模式分解为高一级关系模式的过程。 关系数据库的规范化理论是数据库逻辑设计的工具。 目的尽量消除插入、删除异常修改复杂数据冗余的问题。
范式 范式关系模式满足的约束条件称为范式。根据满足规范化的程度不同范式由低到高分为1NF2NF3NFBCNF4NF5NF。 1NF如果关系模式R其所有属性都是不可再分的基本数据项则称R属于第一范式R∈1NF。 2NF如关系模式R∈1NF且每个非主属性完全函数依赖于主码则称R属于第二范式R∈2NF。 例判断R 学号姓名年龄课程名称成绩学分是否属于第二范式。
主码学号课程名称 非主属性姓名年龄成绩学分 存在如下决定关系 学号, 课程名称→姓名年龄成绩学分 但课程名称→学分 学号→姓名, 年龄 3NF如果关系模式R为2NF并且中的每个非主属性不传递依赖于的主码则称关系R是属于第3范式的R∈3NF。 例判断R学号姓名 年龄所在学院学院地点学院电话是否属于第三范式。 主码学号 非主属性姓名年龄所在学院 学院地点学院电话 存在非关键字段“学院地点”、“学院电话”对关键字段“学号”的传递函数依赖
考点3数据库物理设计 1.物理设计概述 通过数据库概念设计和逻辑设计已得到规范化的关系模式。数据库物理设计的目的是将数据的逻辑描述转换为实现技术规范其目标是设计数据存储方案以便提供足够好的性能并确保数据库数据的完整性、安全性和可恢复性。
在这个阶段将根据数据库中存储的数据量、用户对数据库的使用要求和使用方式选择数据存储方案以加快数据检索速度。在物理设计时需要了解不同文件组织方式、索引技术及其使用方案。2.数据库的物理结构
数据库的应用数据是以文件形式存储在外设存储介质如磁盘上的文件在逻辑上被组成记录的序列 -每个DB文件可以看作是逻辑记录的集合。物理文件可以看作是由存放文件记录的一系列磁盘块组成的文件的逻辑记录与磁盘间的映射关系是由操作系统或DBMS来管理的。从数据库物理结构角度需要解决的问题
文件的组织
文件的结构
文件的存取
索引技术3.索引 1索引技术 索引技术是一种快速数据访问技术它将一个文件的每个记录在某个或某些域上的取值与该记录的物理地址直接联系起来提供一种根据记录域的取值快速访问文件记录的机制索引技术的关键是建立记录域取值到记录的物理地址间的映射关系这种映射关系称为索引。 2索引技术分类 2.1有序索引索引文件机制 索引文件机制利用索引文件索引记录组成实现记录域查找码排序域取值到记录物理地址间的映射关系。 数据文件索引文件或主文件和索引文件索引记录或索引项的集合是有序索引技术中的两个主体数据文件常采用顺序文件结构。
有序索引作为基于索引文件的索引技术需要考虑的两个关键问题是
1.如何组织索引文件中的索引记录
2.如何从索引文件出发访问数据文件中的数据记录索引文件建立文件如下 1.首先选定数据文件中的某个或某些记录域作为查找码 2.然后在建立起数据记录在查找码上的取值与该记录的物理地址间的映射关系组成索引项 3.索引文件根据某个特定的查找值的升序和降序存储索引记录并且也组织为顺序文件。
索引建立在查找码上对一个数据文件需要从几个方面去查询文件记录可以定义多个查找码针对每个查找码建立相应的索引文件 --一个数据文件可以有多个查找码和多个索引文件。 1聚集索引索引项与数据记录排列顺序一致和非聚集索引索引项与数据记录排列顺序不一致。一个数据文件只可建立一个聚集索引但可建立多个非聚集索引。 2稠密索引数据文件中每个查找码都对应索引记录和稀疏索引部分查找码的值对应索引记录。 3主索引主码属性集上建立的索引与辅索引非主属性上建立的索引。 4唯一索引索引列不包含重复值 5单层索引线性索引每个索引项顺序排列直接指向数据文件中的数据记录和多层索引大数据量文件中的采用多层树型B,B树索引快速定位。
2.2散列索引哈希索引机制 哈希Hash索引机制利用散列函数实现记录域取值到记录物理地址间的直接映射关系。
3、数据库的物理设计内容 数据库物理结构设计是在具体的硬件环境、操作系统和DBMS约束下根据数据库的逻辑设计结果设计合适的数据库物理结构。 目标是得到存储空间占用少数据访问效率高和维护代价低的数据库物理模式。
数据库物理设计主要包括5个环节。 1数据库逻辑模式描述 数据库逻辑设计产生了数据库的逻辑结构其中有数据库的关系模式、关系模式上的完整性约束和面向具体应用的业务规则。这些内容都是独立于DBAS所采用的具体目标DBMS平台的。
数据库物理设计需要根据数据库逻辑结构信息设计目标DBMS可支持的关系表这里称为基本表的模式信息这些模式信息代表了所要开发的具体目标数据库的结构。 逻辑模式描述主要设计内容 面向目标数据库描述基本表和视图 采用目标DBMS所支持的建表语法描述基本表及满足应用要求的完整性约束。 设计基本表业务规则 利用目标DBMS提供的完整性控制机制设计基本表应遵守的面向应用的完整性约束。
SQL Server 采用T-SQL语言。 为基本表选择合适的文件结构堆文件、顺序文件、聚集文件、索引文件和散列文件。 2文件组织与存取设计 基本原则 根据应用情况将易变部分与稳定部分、存取频率较高部分与存取频率较低部分分开存放以提高系统性能。 分析理解数据库事务访问特性 使用事务-基本表交叉引用矩阵 估计各事务执行频率 汇总每张基本表各事务操作频率信息
可以考虑将表和索引分别放在不同的磁盘上。在查询时由于两个磁盘驱动器分别在工作因而可以保证物理读写速度比较快。 3数据分布设计 不同类型数据的物理分布 将应用数据基本表、索引、日志、数据库备份数据等合理安排在不同介质中。
应用数据的划分与分布 根据数据的使用特征划分频繁使用分区和非频繁使用分区 根据时间、地点划分时间或地点相同的属于同一分区 分布式数据库系统DDBS中的数据划分水平划分或垂直划分 派生属性数据分布增加派生列或不定义派生属性 关系模式的去规范化降低规范化提高查询效率
将基本表划分为多张具有相同属性、结构完全相同的子表子表包含的元组是基本表中元组的子集。 例如对商品按照商品的生产年份进行划分就属于水平划分。
垂直划分 将基本表划分为多张子表每张子表包含的属性是原基本表的子集。 例如商品表商品编号、品名、单价、库存量、销售单价、备注 可垂直划分为两张子表 商品表商品编号、品名、销售单价 商品表商品编号、单价、库存量、备注
4确定系统配置 DBMS产品一般都提供了一些存储分配参数 同时使用数据库的用户数 同时打开的数据库对象数 使用的缓冲区长度、个数 时间片大小 数据库的大小 装填因子 锁的数目……
需要根据应用环境确定这些参数值 系统都为这些变量赋予了合理的缺省值。 但不一定适合每一种应用环境。 根据具体情况确定这些参数值以使系统性能最优。
5物理模式评估 对数据库物理设计结果从存取时间、存储空间、维护代价等方面进行评估重点是时间和空间效率。 如果评价结果满足原设计要求则可进入到物理实施阶段否则就需要重新设计或修改物理结构有时甚至要返回逻辑设计阶段修改数据模型。