版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章数据库理论基础本节要点数据库理论基础数据库系统构成数据库设计理论概念模型设计关系模型什么是数据库?数据库(DataBase,DB)
是长期保存在计算机内的、有组织、可共享的数据集合。数据库中的数据按一定的数据模型描述、组织和储存,具有很小的冗余度、较高的数据独立性和易扩展性,并可供多用户共享。数据库管理系统数据库管理系统(DataBaseManagementSystem,DBMS)是为数据库建立、使用和维护而配置的软件系统。它是数据库系统的核心组成部分,数据库的一切操作,如查询、更新、插入、删除以及各种控制,都是通过DBMS进行的。数据库系统数据库系统(DataBaseSystem,DBS)是由数据库、数据库管理系统、应用程序、数据库管理员、用户等构成的人-机系统。数据、硬件、软件、用户注意:数据库系统并不单指数据库和数据库管理系统,而是指带有数据库的整个计算机系统。DBMS数据库应用程序操作系统数据库管理员DBA用户……数据库系统的组成抽象转换现实世界机器世界信息世界实体属性数据库设计数据库设计过程E-R模型的基本概念实体(entity):客观存在,可以相互区别的事物称为实体。属性(attribute):实体有很多特性,每一个特性称为属性。每一个属性有一个值域,其类型可以是整数型、实数型、字符串型等。码(Key):唯一标识实体的属性集称为码。例如,学号是学生实体的码。域(Domain):属性的取值范围称为该属性的域。实体型(EntityType):用实体名及其属性名集合来抽象和刻画的同类实体,称为实体型。E-R模型的基本概念实体集(entityset):性质相同的同类实体的集合,称实体集。联系(relationship)是实体之间的相互关系。数据模型:能表示实体类型及实体间联系的模型称为“数据模型”。E-R图的基本组成部分
E/R图有四个主要部分:实体集,用矩形表示。属性,用椭圆形表示。联系,用菱形或三角形表示。直线,表示联系的类型及实体与实体之间的联系;多端用无箭头的直线,一端用有箭头的直线。数据联系联系(relationship)是实体之间的相互关系。二元联系有以下三种类型:一对一联系:如果实体集E1中每个实体至多和实体集E2中的一个实体有联系,反之亦然,那么实体集E1和E2的联系称为“一对一联系”,记为“1:1”。一对多联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体间有联系,而E2中每个实体至多和E1中一个实体有联系,那么称E1对E2的联系是“一对多联系”,记为“1:N”。多对多联系:如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么称E1和E2的联系是“多对多联系”,记为“M:N”。
实体1实体2联系实体1实体2联系实体1实体2联系1﹕1联系1﹕n联系m﹕n联系三种联系的E-R图三种联系的E-R图E-R图实例例1:请设计一个数据库。要求包括学生(student)、课程(course)和教师(teacher)的信息。
上述实体中存在如下联系:一个学生可以选修多门课,而每门课也能由多个学生选修;一位教师可以教多门课,每门课也可以由多个教师讲授;用E-R图来描述此数据库。学生信息:学号(sNo)、姓名(sname)、年龄(age)、地址(saddress);课程信息:课程号(cNo)、课程名(cname)、课程学分(credit);教师信息:教师的工号(tNo)、姓名(tname)、教师的地址(taddress)studentcourseteachertaketeachcreditscnamecNosaddressagesnamesNotaddresstnametNoscore注意:如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。学生-课程-教师E-R图条码白酒容量度数编号销售商联系人地址电话名称销售数量单价白酒-销售商E-R图例2:实体:白酒、销售商。两者间的联系如下:一个销售商可以销售多种白酒,每种白酒可由多个销售商销售;用E-R图来描述此数据库。概念模式设计方法二(UML)UML(UnifiedModelingLanguage,UML)是一种面向对象的、通用的建模语言。UML方法中用UML类图(对象模型)表示概念模型。UML类图主要描述系统的静态结构,包括类和类间的联系。UML对象模型实质上是一种扩展的E-R模型。与E-R模型相比,UML模型具有更强的表达能力。UML类图与E-R图中的术语E-R图中术语UML图中术语实体集(EntitySet)类(Class)实体(Entity)对象(Object)联系(Relationship)关联(Association)联系元组(Tuple)关联元组实体的基数(Cardinality)重复度(Multiplicity)UML类图与E-R图有许多类似之处,但是所用的术语和符号有所不同。数据模型数据模型,即逻辑数据模型。一个数据库的数据模型由数据结构、数据操作和数据的约束条件三个部分组成,即数据模型的三要素。数据库技术的发展是根据数据模型的发展来划分的。根据所采用的数据模型不同,数据库技术的可分为三代:第一代:采用层次模型、网状模型的数据库系统;第二代:采用关系模型的关系数据库系统;第三代:以面向对象模型为主要特征的数据库系统。层次模型:有且只有一个根结点;除了根结点,其它结点有且只有一个父结点。典型产品:1969年IBM公司的IMS系统网状模型:允许结点有多于一个的父结点;可以有一个以上的结点没有父结点。典型产品:CODASYL系统关系模型:用二维表格结构来表示实体和实体间联系的数据模型。典型产品:AccessVisualFoxproSQLServerORACLEconferenceondatasystemlanguage对象模型:对象是现实世界中实体的模型化。将属性集和方法集相同的所有对象组合在一起,构成了一个类。典型产品:ONTOSDB关系模型实例
一个关系的逻辑结构是一张二维表。它由行和列组成。关系模式是对关系的描述。
关系模式表示为:关系名(属性1,属性2,……属性n)关系关系名关系模型的结构-
三要素之一元组:表中的一行即为一个元组或记录;字段:表中的一列,列值称为字段值,列名称为字段名值域:字段值的取值范围元组(记录)属性(字段)主键:能唯一标识一个元组的属性集合。外键:若属性组F不是关系R1的主键,但它是关系R2的主键,则F称是关系R1的外键。主键主键外键关系的特性:每一列是不可再分的(原子性);每一列的取值范围必须相同;任意两个元组不能相同;列的顺序可交换,不影响关系意义的表达;行的顺序可交换,不影响关系意义的表达;不同的列取值范围可以相同,但必须有唯一的属性名。
操作对象是关系,操作结果也是关系。主要操作有:插入、删除、查询、更新等。描述操作的语言:标准查询语言SQL(StructuredQueryLanguage)DDL(DataDefinitionLanguage)DML(DataManipulationLanguage)DCL(DataControlLanguage)关系模型的操作-三要素之二
关系的完整性约束:是指关系中数据与其描述的实际对象状态保持一致的约束条件。它主要包括:实体完整性参照完整性用户自定义完整(如:域完整性等)。关系的完整性约束-三要素之三实体完整性
也称为行完整性。用于保证关系(表)中每一行数据惟一且不为空。
可通过建立“PRIMARY
KEY约束”(主键)、“惟一索引”、“UNIQUE约束”等实现。如:“学生”关系中的主键“学号”值不能为空,且具有唯一性。参照完整性也称引用完成性,用于限制一个关系中某属性(外键)取值必须是另一关系中主键的有效值,或者是Null。保证关系(表)之间数据的一致性。可通过创建“FOREIGN
KEY”(外键)实施参照完整性约束。
如:“学生”关系中的“专业号”是外键,其取值必须为“专业”关系中主键“专业号”的某个值,或者为空。用户自定义完整性是用户根据业务要求自定义的规则或格式约束。其中最主要的是域完整性。
域完整性:指列的完整性。它规定了属性的取值必须是域中的值。如:规定学生『生日』只能取1980年1月1日至今的日期型数据;『性别』的取值只能是“男”、“女”之一。规定『学号』的取值是6位数字字符。
用户自定义完整性约束可通过“CHECK约束”、“RULE规则”、“触发器”等实现。E-R(UML)模型到关系模式的转换1)实体(类)到关系模式的转换2)联系(关联)到关系模式的转换1)实体到关系模式的转换
规则:将实体的名称作为表的名称,将实体的属性作为表的列,并用下划线标识出主属性。student(snum,sname,sex,age),其中snum为主键。course(cnum,cname,credits),其中cnum为主键。2)联系到关系模式的转换1:1若实体间联系是1:1,可以在两个实体转换成的两个关系模式后,选择在其中任意一个关系模式的属性集中加入另一个关系模式的主键和联系自身的属性。1:1联系不单独转换为一个独立的关系。2)联系到关系模式的转换1:N若实体间联系是1:N,则在N端实体转换成的关系模式中加入1端实体的主键和联系的属性。同样1:N联系也不独立构成一个关系。Teacher<<PK>>teacherIdteacherNamesexDepartment<<PK>>DepartmentIddeptNamelocation工作二元关系2)联系到关系模式的转换M:N若实体间联系是M:N,则将联系转换成一个关系模式,其属性为两端实体的主键加上联系自身的属性,而联系关系的主键为一复合键,通常是两端实体主键的组合。对于“学生选课”E/R图的课程和学生之间的多对多的联系,可转换成关系模式:
take(snum,cnum,grade)主键为复合键{snum,cnum}。例:关系的规范化学生选课表SnumSnameSdeptMnameCnamegrade991230贺小华计算机周至光数据库96991239金谦计算机周至光操作系统90991239金谦计算机周至光编译原理92993851陈刚建筑王勇建筑原理89992076吕宋自动化李霞自动化设计85992076吕宋自动化李霞电路原理82
数据冗余修改异常插入异常删除异常问题?更新异常:删除学号为991250的学生的选课记录,丢掉了该生选修“市场营销学”的事实,还失去了“市场营销学”的学分是2的事实。插入异常:若有一门“法律”课,学分为3,尚无学生选修时,将不能输入。学号课程学分991201人工智能3991225中国近代史纲要2991250市场营销学2991275人工智能3991290中国近代史纲要2消除异常的方法:模式分解
若将以上的学生关系分解成“学生-选课”、“课程-学分”关系,更新异常、插入异常就都可消除了,对关系进行分解的过程就是规范化过程。学生选课关系课程学分关系学号课程991201人工智能991225中国近代史纲要991250市场营销学991275人工智能991290中国近代史纲要课程学分人工智能3中国近代史纲要2市场营销学2属性间的三种联系
函数依赖:如果给定一个属性的值,就可以获得另一个属性的值。例如,若已知“课程名”的值,便可知道“授课学时”。“授课学时”依赖于“课程名”,或“课程名”决定“授课学时”。记作“课程名→授课学时”。
课程号课程名授课学时授课学期J001数据库726J003C++程序设计542Z004操作系统725Z006编译原理726X001数值分析543X002计算机组成原理364部分依赖:
下表的主键是属性集合{学号,课程号}。但“学分”只由“课程号”决定,与“学号”无关,也就是“学分”属性只由主键{学号,课程号}的一部分而不是全部来决定,把这种依赖称为部分依赖。记作“{学号,课程号}→学分”。p学号姓名课程号课程名学分010101李灿J001数据库4010101李灿J004操作系统4010101李灿X001数值分析3010201张键J001数据库4020301刘名F009德语6010201张键F009德语6传递依赖:
下表的主键是“学号”,学生住宿的楼号依赖于学号。但是,学生应交的住宿费是由楼号决定的,也就是说,“收费”依赖于“楼号”,这是一种新的依赖关系:“楼号”依赖于“学号”,而“收费”又依赖于“楼号”。一般把这种依赖关系称为“传递依赖”。记作“学号→收费”。t学好楼号收费01010125000102014600010103250001050188000101082500住宿关系规范化
所谓范式就是符合某一规范级别的关系模式的集合。共有六种范式:
1NF
2NF
3NF
BCNF
4NF
5NF
规范化:通过分解把属于低级范式的关系模式转换为几个属于高级范式的关系模式的集合,这一过程称为规范化(Normalization)。1)第一范式(1NF)
定义:如果一个关系模式R的所有属性都是不可分的基本数据项,则关系R属于第一范式。字段不可分注意:集合、数组和结构都不能为第一范式关系中属性的类型。符合第一范式的关系可能有插入、删除异常。例如:在关系“选课”中,存在着部分依赖:
{学号,课程号}→学分将导致插入、删除异常。p2)第二范式(
2NF
)
定义:若关系模式R属于第一范式,且每个非主属性都完全函数依赖于主键,则R属于第二范式。有主键
注意:单个属性作为主键的关系自动就是第二范式。第二范式中的关系存在更新异常.
例如:住宿关系(学号、楼号、收费),虽然学号是单属性主键,属于第二范式,而楼号、收费都由学号决定,存在传递依赖关系:“学号→收费”将导致更新异常。t3)第三范式(3NF)定义:如果一个关系R是第二范式的,并且每个非主属性都不传递依赖于主键,则R属于第三范式。非主键不能依赖例如:学生住宿关系可以分解为两个关系:学生-楼号关系(学号,楼号)和楼号-收费关系(楼号,收费)。这两个关系属于第三范式。
楼号成收费250046008800学好楼号010101201020140101032
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中医护理肘关节关节炎的康复方案
- 新收入准则对企业收入确认的影响及优化策略
- 动物疫病防治员标准化考核试卷含答案
- 继电器调整工标准化评优考核试卷含答案
- 中医护理课件培训总结报告
- 2026年演员劳动合同和经济合同(1篇)
- 沧州交通就业指导方案
- 移动通信机务员岗前变更管理考核试卷含答案
- 职业规划路线指南
- 金融工程发展策略
- CSTM-无损检测 轨道交通材料 机车车辆车轮残余应力电磁超声检验方法
- SMP-07-008-00 印刷性包装材料管理规程
- 第四届长三角地区铁道行业职业技能竞赛(铁路桥隧工赛项)考试题库(含答案)
- 胖东来企业文化指导手册
- 橡胶制品的质检体系与质量监控改进计划
- 妊娠高血压综合征眼底病变演示课件
- 高一英语完型填空10篇实战训练及答案
- 单元式幕墙安装方案
- 建筑内排架搭设施工方案
- 企业服饰生产制造单模板
- 最强最高效的钢结构基本知识及材料排版备料技术
评论
0/150
提交评论