版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理、技术与应用——MySQL(视频教学+题库+AI赋能版)
第1章数据库技术概论1.4关系数据库基础知识1.3数据模型数据库技术的产生与发展1.2数据库系统1.5关系的规范化理论CONTENTS目录
1.11.1数据库技术的产生与发展1.1.1数据与数据处理数据(Data):对客观事物特征及联系的抽象化、符号化表示信息(Information):经过加工处理并对决策有影响的数据数据处理:将数据转换成信息的过程数据管理:数据的收集、组织、存储、检索和维护(数据处理的中心环节)1.1.2数据管理技术的发展①人工管理阶段(50年代中期以前):数据不保存、无共享、无独立性②文件管理阶段(50~60年代):数据可长期保存,但共享性差、冗余度大③数据库管理阶段(60年代后期以后):统一管理,数据共享、低冗余、高独立性三个阶段反映了数据管理技术从低级到高级的发展过程1.2数据库系统1.2.1数据库系统的组成①硬件:主机、存储设备、I/O设备、网络环境②软件:操作系统、DBMS、数据库应用系统③数据库(DB):按一定方式组织、可共享的数据集合④人员:最终用户、应用开发人员、数据库管理员(DBA)1.2.2三级模式结构与系统特点三级模式:概念模式(全局逻辑结构)、外模式(用户视图)、内模式(物理存储)二级映射:概念模式/内模式映射(保证物理独立性)外模式/概念模式映射(保证逻辑独立性)系统特点:数据结构化、共享性高冗余度低、较高的数据独立性、统一的数据控制1.3数据模型1.3.3概念模型——E-R模型实体(Entity):可相互区分的客观事物(如教师、学生)属性(Attribute):实体的特征(如姓名、性别、职称)实体间联系:一对一(1:1)、一对多(1:n)、多对多(m:n)E-R图:矩形表示实体、菱形表示联系、椭圆表示属性1.3.4逻辑模型①层次模型:树形结构,每个结点只有一个父结点②网状模型:有向图结构,可表示多对多联系③关系模型:二维表格表示实体及联系,结构简单、有严格数学基础关系模型是目前最流行的数据模型,MySQL即采用关系模型1.4关系数据库基础1.4.1~1.4.2关系数据库基础与关系运算基本概念:关系(表)、元组(行)、属性(列)、关键字(主键)、外键传统关系运算(集合运算):并、差、交、笛卡尔积专门关系运算:选择、投影、连接1.4.3关系的完整性约束①实体完整性:主属性不能取空值,不允许两个元组关键字值相同②参照完整性:外键取值必须取空值或等于被参照关系的主键值③用户定义完整性:针对具体应用的数据约束(如性别只能取'男'或'女')1.5关系的规范化理论1.5.1不好的关系模式——数据冗余与操作异常【例】商品供应关系模式:商品供应(供应商名称,供应商地址,联系人,商品名称,订货数量,单价)该模式中,一个供应商供应多种商品,同一商品可由多个供应商供应(多对多联系)问题:供应商名称、地址、联系人对每种商品都要重复输入,数据冗余大1.5.1操作异常问题(1)更新异常:供应商地址在多个元组中重复,更新时必须修改所有元组,否则数据不一致(2)插入异常:新发展了供应商但尚未订货时,无法插入该供应商信息(主关键字不能为空)(3)删除异常:删除过期订货记录时,可能把供应商的全部信息一并删除结论:这是一个不好的关系模式,需要通过模式分解来消除上述问题1.5.1模式分解示例将商品供应关系模式分解为两个关系模式:供应商(供应商名称,供应商地址,联系人)供应(供应商名称,商品名称,订货数量,单价)分解后:每个供应商信息只存储一次,消除数据冗余改变地址只需修改一个元组,消除更新异常新供应商信息可直接插入供应商表,消除插入异常删除订货记录不影响供应商信息,消除删除异常1.5.2函数依赖的基本概念定义1(函数依赖):设R(U),X、Y是U的子集,若X值相等则Y值必相等,记为X->Y定义2(完全/部分函数依赖):若X->Y且X的任意真子集都不决定Y,称完全依赖;否则为部分依赖例:学生R(学号,姓名,出生年月,班号,班长姓名,课程号,成绩)(学号,课程号)->成绩是完全依赖;(学号,班号,课程号)->成绩是部分依赖定义3(传递函数依赖):若X->Y(Y->X不成立),Y->Z,则Z传递函数依赖于X例:学号->班号,班号->班长姓名,则班长姓名传递依赖于学号1.5.3第1范式(1NF)定义6:当关系模式R的所有属性都不能分解为更基本的数据元素时,即所有属性均满足原子特征,称R满足1NF【例】员工关系模式R(员工号,姓名,工资),其中工资由基本工资和岗位工资组成不满足1NF,因为工资属性可再分解分解为R_NEW(员工号,姓名,基本工资,岗位工资),满足1NF1NF是关系模式规范化的最低要求满足1NF仍可能存在插入、删除、修改异常,需满足更高范式1.5.3第2范式(2NF)定义7:若R满足1NF,且所有非主属性都完全函数依赖于每一个候选关键字,称R满足2NF【例】借书关系模式R(读者编号,工作单位,图书编号,借阅日期,归还日期)候选关键字:(读者编号,图书编号)工作单位只依赖于读者编号(候选关键字的子集),部分函数依赖,不满足2NF问题:读者调动工作单位时需修改多条借书记录,产生更新异常分解:R1(读者编号,工作单位)+R2(读者编号,图书编号,借阅日期,归还日期)1.5.3第3范式(3NF)定义8:若R满足1NF,且所有非主属性都不传递函数依赖于每一个候选关键字,称R满足3NF【例】公司关系模式R(公司注册号,法人代表,注册城市,所在省)候选关键字:公司注册号(单属性,不存在部分依赖,满足2NF)但:公司注册号->注册城市,注册城市->所在省所以:公司注册号->所在省(传递函数依赖),不满足3NF分解:R1(公司注册号,法人代表,注册城市)+R2(注册城市,所在省)定理:满足3NF的关系一定满足2NF1.5.3BCNF范式定义9:若R满足1NF,且R的所有属性(含主属性)都不传递函数依赖于每一个候选关键字,称R满足BCNFBCNF是比3NF更强的规范:满足BCNF一定满足3NF,但反之不一定【例】R(书号,书名,作者名),约定:每个书号只有一个书名,不同书号可有相同书名函数依赖:书号->书名,(书名,作者名)->书号候选关键字:(书号,作者名)和(书名,作者名)所有属性都是主属性,满足3NF但书名传递依赖于(书名,作者名),不满足BCNF1.5.4关系模式的分解——示例【例】员工奖金分配表R(员工号,姓名,部门,月份,月度奖)候选关键字:(员工号,月份),由两个属性组成姓名、部门只依赖于员工号,部分函数依赖,不满足2NF分解方法:R1(员工号,月份,月度奖)PrimaryKey(员工号,月份)R2(员工号,姓名,部门)PrimaryKey(员工号)分解后R1、R2均满足BCNF和3NF,且分解是无损的(可恢复原关系)1.5.43NF分解方法总结Heath定理:若R(A,B,C)中A->B且A->C,则R与投影(A,B)、(A,C)的连接等价(无损分解)分解步骤:(1)不满足1NF:将复合属性分解为基本属性(2)不满足2NF:消除非主属性对候选关键字的部分函数依赖设K=(K1,K2),K1->X,则分解为:R1(K1,K2,X2)+R2(K1,X1)(3)不满足3NF:消除非主属性对候选关键字的传递函数依赖1.5.43NF分解方法总结(续)设K->X1,X1->X2,则分解为:R1(K,X1)+R2(X1,X2)关键原则:将候选关键字分解到每个子关系中,保证无损分解1.6数据库设计1.6.1数据库设计的6个阶段①需求分析:调查用户要求,明确系统功能,画出数据流图,建立数据字典②概念设计:将需求抽象为概念模型(E-R模型),是整个设计的关键③逻辑设计:将概念模型(E-R图)转换为逻辑模型(关系模式),进行规范化处理④物理设计:确定存储结构和存取方法,评价时间和空间效率⑤数据库实施:用DDL定义数据库结构,组织数据入库,编码调试应用程序⑥运行和维护:数据库转储与恢复、安全性与完整性控制、性能改造、重组织与重构造1.6.2E-R模型转化——1:1联系转化规则:在两个实体转化的关系模式中,任一个增加另一方的关键属性和联系的属性【例】校长与学校(1:1联系)E-R图:校长1:1学校转化为两个关系模式:校长(校长姓名,性别,出生日期,职称,任职年月,学校名称)学校(学校名称,所在地,网址)说明:在校长关系中增加学校关系的关键属性'学校名称'作为外键1.6.2E-R模型转化——1:n联系转化规则:在n方实体的关系模式中增加1方实体的关键属性和联系的属性【例】仓库与产品(1:n联系)E-R图:仓库1:n产品转化为两个关系模式:仓库(仓库号,地点,面积)产品(产品号,产品名称,价格,数量,仓库号)说明:在产品关系(n方)中增加仓库关系(1方)的关键属性“仓库号”作为外键,并增加联系属性“数量”。1.6.2E-R模型转化——m:n联系转化规则:除对两个实体分别转化外,还要为联系单独建立一个关系模式,其属性为两方实体的关键属性加上联系属性,关键属性是两方关键属性的组合【例】供应商与货物(m:n联系)转化为三个关系模式:供应商(供应商号,供应商名,电话,地址)货物(货物代码,货物名称,型号,库存量)采购(供应商号,货物代码,数量)——独立关系模式说明:采购关系的关键字为(供应商号,货物代码)的组合1.6.3数据库设计实例——大学教学管理系统需求描述:对学生选课、教师授课等教学活动进行管理规定:每名学生可同时选修多门课程,每门课程可由多位教师讲授每位教师可讲授多门课程,各学院对教师实行聘任,学生属于某一专业5个实体:学生(学号,姓名,性别,出生年月)课程(课程编号,课程名称,课程类别,学分)1.6.3数据库设计实例——大学教学管理系统(续)教师(教师号,姓名,性别,职称)专业(专业名称,成立年份,专业简介)学院(学院名称,网址,教师人数)1.6.3设计实例——E-R图与联系分析4个实体间联系:①学生—课程:多对多(m:n)②专业—学生:一对多(1:n)③教师—课程:多对多(m:n)④学院—教师:一对多(1:n)E-R图绘制:5个实体(矩形)+4个联系(菱形)+各自属性(椭圆)1.6.3设计实例——E-R图与联系分析(续)根据E-R图,将5个实体和2个m:n联系转化为7个关系模式1.6.3设计实例——关系模式转化结果7个关系模式:①学生(学号,姓名,性别,出生年月,专业名称)含专业名称外键②课程(课程编号,课程名称,课程类别,学分)③选课(学号,课程编号,成绩)m:n联系转化的独立关系④教师(教师号,姓名,性别,职称,学院名称,聘任时间)含学院名称外键⑤授课(教师号,课程编号,上课教室)m:n联系转化的独立关系1.6.3设计实例——关系模式转化结果(续)⑥学院(学院名称,网址,教师人数)⑦专业(专业名称,成立年份,专业简介)转化要点:1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云南省宣威市二中2027届高三物理第一学期期中调研试题含解析
- 陕西省咸阳市旬邑中学、彬州市阳光中学、彬州中学2027届高三物理第一学期期中经典试题含解析
- 2026年安全性测试题库及答案详解
- 2026年中国船舶金融租赁行业市场运营态势报告
- 2026年中国银饰品市场运营态势报告
- 2026年北师大版九年级化学第1课化学与生活知识点巩固习题
- 2026年MPAcc财务管理模拟试题
- 2026年入职笔试备考模拟题库及答案详解
- 2026年精神病学测试题库及答案详解
- 2026年安全生产法律法规考试题库及答案详解
- 库内货物堆码安全标准
- 配电网运行规程
- 人教版小学数学五年级上册第六单元《多边形的面积》单元作业设计
- GB/T 14616-2026机舱舱底涂料
- 2026年法院司法辅助人员题库检测试卷及完整答案详解【全优】
- 公司财务管理系统建设方案
- 印章刻制业内部管理制度
- 国际货代绩效考核制度
- 证券业证券公司证券分析师实习生报告
- 地面保洁培训课件
- 2025年助理全科医生师资培训试题(附答案)
评论
0/150
提交评论