- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
101第7章节联系型数据库与SQL语言
掌握关系模型的定义; 掌握SQL数据定义语句(CREATE) 掌握SQL数据插入语句(INSERT) 掌握SQL数据查询语句(SELECT); 了解关系运算的概念和规范化设计方法 了解SQL数据操纵功能(ALTER DELETE UPDATE DROP) 了解SQL数据控制功能(REVOKE GRANT) 7.1 关系模型 7.1.1 关系模型的定义 关系型数据库是基于关系数据模型而创建的数据库。关系模型中的实体和实体间的联系都用关系(二维表)表示。 关系模型包括关系数据结构、关系操作集合和关系完整性约束三个部分。 1. 关系模型的数据结构 关系模型的基本数据结构是关系(relation),一个关系形式上就是一张行列结构的二维表 属性的取值范围称为域(domain) 元组的总数称为关系的基数 一个具体的关系可以简单地以关系名及其属性列表来表示 下表中的教师实体的关系数据模式可以表示为: 教师(工号,姓名,性别,系别,职称) 关系数据模型和数学中的关系概念区别: (1)元组个数为无限的关系没有现实意义,所以关系数据模型中的关系应该是有限集合。 (2)数学中元组的值是有序的,而关系模型不强调这种有序性,并通过对关系的各列添加属性名来取消这种有序性。 2. 关系的性质 根据关系的定义,关系应具有如下性质: (1)列应为同质。即每一列中的属性值的数据类型必须相同,来自同一个值域。 (2)不同的列可以来自同一个值域,但属性有各自不同的属性名。 (3)列的次序无关实际意义,可以任意交换。 (4)不可以有完全相同的元组,即集合中不应有重复的元组。 (5)行的次序无关实际意义,可以任意交换。 (6)属性值必须为原子分量,不可再分。 3. 主键和外键 (1)候选键(candidate key) 如果关系中的某个属性或属性的组合的值可以唯一地标识一个元组,而它的任何真子集均无此特性,则称这个属性或属性的组合为该关系的候选键。极端情况下,候选键包含全部属性,则称为全键。 (2)主键(primary key) 一个关系至少应具有一个候选键,也可能有多个候选键,选择候选键中的一个为主键。包含在主键中的属性称为主属性,不包含在主键中的属性称为非主属性。 (3)外键(foreign key) 如果关系R1中一个属性或属性的组合Xn与关系R2中的主键的数据对应,则称Xn为关系R1关于R2(R2可以为R1自身)的外键。 例7-1:对于如下的“教学记录”数据库(有下划线的属性为主属性),假定同一个教师可以讲授多门课程,不同班级的同一课程由不同的教师讲授: 教师(工号,姓名,出生年月,单位,性别,职称) 班级(班级编号,人数) 课程(课程编号,课程名称,学分,先修课程编号) 课表(课程编号,工号,班级编号) 4. 关系的完整性约束 (1)实体完整性(entity integrity): 在一个关系中,主键的所有主属性都不得为空值 (2)参照完整性(referential integrity): 关系中元组的外键取值只能等于所参照的关系的某一元组的主键值,或者为空值。 (3)用户自定义完整性: 根据实际情况对关系设定约束条件 7.1.2 关系运算 1. 传统的集合运算 如果关系R1和关系R2同为n度(即都有n个属性) 相应的属性取自同一个值域 (1) 并 将两个关系中的所有元组合并,删去重复元组,组成一个新的关系 在关系数据库中,通过并运算可以实现元组的插入(insert)。 (2) 差 从R1中删去与R2相同的元组,组成一个新的关系 在关系数据库中,通过差运算可以实现元组的删除(delete)。 (3) 交 R1和R2中取相同的元组,组成一个新的关系 (4) 广义笛卡尔积 通过先差运算再并运算可以实现元组的更新(update),通过广义笛卡尔积可以实现两个实体集的连接 。 2. 专门的关系运算 (1)选择 从一个关系中找出满足指定条件的元组的操作 (2)投影 从一个关系中选出指定若干属性的操作称为投影 (3)连接 把两个关系中的元组按照一定条件横向联合,形成一个新的关系 “纽带”是两个关系的公共字段或语义相同的字段。 7.1.3 规范化设计方法 所谓数据库的规范化设计,就是在进行关系模式设计时,通过投影或分解操作剔除属性间的不良依赖,将低一级的范式(Normal Form)向若干高一级范式转化的过程。 常见的方法 通过E-R图进行概要设计 基于关系规范化理论进行设计 于1971年由关系数据模型的创始人E.F.Codd首先提出 E.F.Codd提出了第一范式(1NF)、第二范式(2NF)
文档评论(0)