




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、高等学校大学计算机基础教育改革与实践系列教材2高等教育出版社高等教育出版社3高等教育出版社高等教育出版社 关系型数据库:是指一些相关的表和其他数据库对象的集合。在关系型数据库中,信息存放在二维表格结构的表中,一个关系型数据库包含多个数据表,每一个表包含行(记录)和列(字段)。 横的 一行 称为 一个 记录 纵的一列称为一个字段 表头 给出 字段 名 学生信息表学生信息表 表中的每行记录都必须是惟一的,而不允许出现完全相同的记录。 通过定义主键(PRIMARY KEY)来保证记录(实体)的惟一性。 要求:为了惟一标识实体的每个实例,每个数据库表都应当有一个主键,而且只能有一个主键。 提示:有时可
2、以考虑使用两个或两个以上字段的组合作为主键。主键主键主键主键 外键:一个关系型数据库可能包含多个表,可以通过外键(FOREIGN KEY)使这些表之间关联起来。如果在表A中有一个字段对应于表B中的主键,则该字段称为表A的外键。 图图1-2 1-2 主键与外键的关系主键与外键的关系主键主键外键外键B表:表:student_info表表A表:表:Result_info表表主键主键外键外键C表:表:Course_info表表 约束:在设计表时,针对表中的一个或多个字段组合设置约束条件,让SQL Server检查字段中的输入值是否符合约束条件的要求。分为两种约束: 表级约束:针对表中几个字段的约束。
3、字段级约束:针对表中一个字段的约束。 (1)PRIMARY KEY约束 作用:保证表中每条记录的惟一性。可用一个字段或多个字段(最多16个)的组合作为表的主键。用单个字段作主键,使用字段级约束;用字段组合作主键,使用表级约束。 要求:每个表只能有一个主键,且主键字段的内容不能重复和空值。 (2)FOREIGN KEY 约束 作用:保证FOREIGN KEY字段与其他表中的主键字段或具有惟一性的字段相对应,其值必须在所引用的表中存在,且与所引用的表在同一数据库中。若在外键字段中输入一个非NULL值,但该值在所引用的表中并不存在,则该记录也会被拒绝。 要求:外键字段本身的值不要求是惟一的。 (3)
4、NULL与NOT NULL约束 定义:若一个字段中允许不输入数据,则可以将该字段定义为NULL约束,若在一个字段中必须输入数据,则应当将该字段定义为NOT NULL约束。 NULL含义:既不等价于数值型数据中的0,也不等价于字符型数据中的空字符串。表示用户还没有为该字段输入值。 (4)UNIQUE约束 定义:如果一个字段值不允许重复,则应当对该字段添加UNIQUE约束。 区别:与主键约束不同的是,在UNIQUE字段中允许出现NULL值,但为保持惟一性,最多只能出现一次NULL值。 (5)CHECK约束 定义:CHECK约束用于检查一个字段或整个表的输入值是否满足指定的检查条件。在表中插入或修改
5、记录时,如果不符合这个检查条件,则这条记录将被拒绝。 (6)DEFAULT 约束 作用:用于指定一个字段的默认值,当尚未在该字段中输入数据时,该字段中将自动填入这个默认值。若对一个字段添加了NOT NULL约束,但又没有设置DEFAULT约束,就必须在该字段中输入一个非NULL值,否则将会出现错误。 规划关系数据库表有两个重要步骤: 如何确定一个字段的有效值; 如何强制实施字段的数据完整性。 数据完整性:保证关系型数据库中数据的正确性和可靠性,分为4种类型。(1) 实体完整性:Entity Integrity,用于保证关系型数据库表中的每条记录都是惟一的。 主键约束:确保实体完整性。表中的主键
6、不能取空值,也不能取重复的值。(2)域完整性:Domain Integrity,用于保证给定字段中数据的有效性,即保证数据的取值在有效的范围内。 (3)参照完整性:Referential Integrity,用于确保相关联的表间的数据保持一致。当添加、删除或修改关系型数据库表中的记录时,可以借助于参照完整性来保证相关联的表之间的数据一致性。可通过定义表的主键和外键关系来实现。(4)用户自定义完整性:(User-defined Integrity)是一种强制数据定义。 表之间的关联方式分为以下3种类型。(1)一对一关联(1:1) 设在一个数据库中有A、B两个表,对于表A中的任何一条记录,表B中只
7、能有一条记录与之对应;反过来,对于表B中的任何一条记录,表A中也只能有一条记录与之对应,则称这两个表是一对一关联的。 (2)一对多关联(1:n) 设在一个关系型数据库中有A、B两个表,对于表A中的任何一条记录,表B中可能有多条记录与之对应;反过来,对于表B中的任何一条记录,表A中却只能有一条记录与之对应,则称这两个表是一对多的关联。(a a)学生表一)学生表一(b b)学生表二)学生表二(c c)成绩表)成绩表(d d)课程表)课程表关系型数据库表的关联关系型数据库表的关联(3)多对多关联(m:n) 设一个关系型数据库中有A、B两个表,对于表A中的任何一条记录,表B中可能有多条记录与之对应;反
8、过来,对于表B中的任何一条记录,表A中也有多条记录与之对应,则称这两个表是多对多关联的。 关系规范化理论:在实现阶段指导关系型数据库的设计。1970年EFCodd提出关系型数据库设计的三条规则,通称为三范式(Normal Form),即: 。第一范式(1NF) 。第二范式(2NF) 。第三范式(3NF) 关系:3个范式有高低等级之分,3NF最高,2NF次之,1NF最低。在1NF的基础上又满足某些特性才能达到第二范式的要求,在2NF的基础上再满足一些要求才能达到第三范式的要求。 作用:用于关系数据库设计,能够简化设计过程,达到减少数据冗余、提高查询效率的目的。 定义:若一个关系型数据库表中的每一
9、字段值都是单一的,则称这个表属于第一范式。即:表中的每个字段都应当是不可再分的。 示例示例:非:非1NF1NF表,成绩字段不单一,可以再细分。表,成绩字段不单一,可以再细分。 符合符合1NF1NF的数据库表的数据库表方法方法:将:将“成绩字段成绩字段”细分为细分为4 4个单独的字段。个单独的字段。 图图1-8 1-8 符合符合1NF1NF的数据库表的数据库表示例示例:1NF1NF表,每个字段不可再细分。表,每个字段不可再细分。 定义:若一个数据库表满足第一范式的要求,且它的每个非主键字段完全依赖于主键,则称该数据库表属于第二范式。示例示例:符合:符合1NF1NF,但不符合,但不符合2NF2NF
10、部分依赖关系部分依赖关系主键主键学生信息表学生信息表student_Infostudent_Info成绩信息表成绩信息表result_Inforesult_Info主键主键主键主键图图1-11 1-11 课程信息表课程信息表course_Infocourse_Info主键主键 定义:如果一个数据库表满足第二范式的要求,而且该表中的每一个非主键字段不传递依赖于主键,则称这个数据库表属于第三范式。 传递依赖:在一个数据库表中有A、B、C三个字段,如果字段B依赖于字段A,字段C又依赖于字段B,则称字段C传递依赖于字段A,并称在该数据库表中存在传递依赖关系。 在一个数据库表中,若有一个非主键字段依赖于
11、另一个非主键字段,则该字段必然传递依赖于主键,因而该数据库表就不属于第三范式。 第三范式的实际含义:要求非主键字段之间不应该有从属关系。示例示例:符合:符合2NF2NF,但不符合,但不符合3NF3NF传递依赖关系传递依赖关系学生信息表学生信息表student_Infostudent_Info主键主键班级信息表班级信息表class_Infoclass_Info主键主键外键外键uE-R模型u数据库设计过程 E-R模型(Entity-Relationship)即实体联系模型,是1976年PPSChen提出的。这种模型用E-R图来表示实体及其联系,广泛用于数据库设计中。 一个E-R图由实体、属性和联系
12、三种基本要素组成。(1)实体:即现实世界中存在的、可以相互区别的人或事物。一个实体集合对应于数据库中的一个表,一个实体则对应于表的一行,也称为一条记录。在E-R图中,实体用矩形框表示。(2)属性:表示实体或联系的某种特征。一个属性对应于数据库表中的一列,也称为一个字段。在E-R图中,属性用椭圆表示。(3)联系:即实体之间存在的联系。在E-R图中,联系用菱形框表示。联系的类型可以是1-1、1-n、n-m等。(1)先确定实体集与联系集,把参加联系 的实体集连接起来。(2)画出诸实体的属性和联系的属性。 说明:当实体集与联系较多时,为了E-R图的整洁和可读性,有时可以略去属性。 绘制E-R图的步骤
13、E-R图示例 教师实体局部教师实体局部E-R图图 学号学号学生学生姓名姓名性别性别年龄年龄课程号课程号课程课程课程名课程名学分学分课程实体局部课程实体局部E-R图图 年龄年龄教师教师姓名姓名性别性别教师编号教师编号 E-R图示例成绩成绩选修选修学号学号学生学生姓名姓名课程号课程号课程课程课程名课程名性别性别年龄年龄mn学分学分系系学生实体与课程学生实体与课程实体局部实体局部E-R图图 E-R图示例年年龄龄教师教师姓姓名名讲讲授授课程号课程号课程课程课程名课程名性性别别教师编号教师编号n1学分学分教师实体与课程教师实体与课程实体局部实体局部E-R图图 E-R图综合示例选修选修学号学号学生学生姓名
14、姓名年龄年龄教师教师姓名姓名讲授讲授课程号课程号课程课程课程名课程名性别性别年龄年龄性别性别教师编号教师编号mnn1学分学分系系成绩成绩学生实体、课程实体和学生实体、课程实体和教师实体教师实体E-R图图 数据库的设计都要经历:需求分析、概念设计、逻辑设计和物理设计几个阶段。1需求分析需求分析 分析系统的需求。主要任务:从数据库的所有用户那里收集对数据的需求和对数据处理的要求,并把这些需求写成用户和设计人员都能接受的说明书。2概念设计概念设计 将需求说明书中关于数据的需求,综合为一个统一的概念模型。步骤:(1)根据单个应用的需求,画出能反映每一应用需求的局部E-R模型。(2)将局部E-R模型图合
15、并起来,消除冗余和可能存在的矛盾,得出系统总体的E-R模型。3实现设计(逻辑设计)实现设计(逻辑设计) 将E-R模型转换为某一特定的DBMS能够接受的逻辑模式。对关系型数据库,主要完成表的关联和结构的设计。E-R图向关系数据模型的转换图向关系数据模型的转换 51高等教育出版社高等教育出版社 将将E-RE-R图转换为关系模型实际上就是将实体、图转换为关系模型实际上就是将实体、实体属性和实体之间的联系转化为关系模式,并实体属性和实体之间的联系转化为关系模式,并确定关系模式的属性和码。确定关系模式的属性和码。 1. 1. 将实体转换为关系模式将实体转换为关系模式 一般将一般将E-RE-R图中的实体转
16、化为一个关系模式。图中的实体转化为一个关系模式。实体的属性转化为关系的属性,实体的码就是关实体的属性转化为关系的属性,实体的码就是关系的码。系的码。 一对一联系(一对一联系(1:1) 52高等教育出版社高等教育出版社2. 2. 将实体间的联系转化成关系模式将实体间的联系转化成关系模式 实体之间的联系比较复杂,可以按照以下规则转换。实体之间的联系比较复杂,可以按照以下规则转换。(1 1)1:11:1的联系的联系 1:11:1的联系可以转换为一个独立的关系模式,也可以与的联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关任意一端对应的关系模式合并。如果转换
17、为一个独立的关系模式,则与该系模式,则与该1:11:1联系相连的各实体的码以及联系本身的联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码都可以是该关系属性均转换为关系的属性,每个实体的码都可以是该关系模式的候选码。如果与某一端对应的关系模式合并,则需模式的候选码。如果与某一端对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。大多情况下采用后一种方式。本身的属性。大多情况下采用后一种方式。 一对多联系(一对多联系(1:n) 53高等教育出版社高等教育出版社(2 2)1:n1:n的联系的联系
18、 1:n1:n的联系有两种转换方式的联系有两种转换方式:可以转换为一个独可以转换为一个独立的关系模式,也可以与立的关系模式,也可以与n n端对应的关系模式合并。端对应的关系模式合并。 如果转换为一个独立的关系模式,则与该联系如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码是系的属性,而关系的码是n n端实体的码。端实体的码。 也可以与也可以与n n端对应的关系模式合并,只需要将端对应的关系模式合并,只需要将1 1端的关键字及联系的属性合并入多端的关系模式。端的关键字及联系的属性合并入多端的关系模
19、式。54高等教育出版社高等教育出版社例如:例如:“讲授讲授”联系是一对多联系,与之相连的两个实体为联系是一对多联系,与之相连的两个实体为“课程课程”实体和实体和“教师教师”实体,这两个实体可以分别转换为实体,这两个实体可以分别转换为对应的关系模式:对应的关系模式: 课程(课程(课程号课程号,课程名,学分),课程名,学分) 课程号是主键课程号是主键 教师(教师(教师编号教师编号,姓名,性别,年龄),姓名,性别,年龄) 教师编号是主键教师编号是主键年年龄龄教师教师姓姓名名讲讲授授课程号课程号课程课程课程名课程名性性别别教师编号教师编号n1学分学分55高等教育出版社高等教育出版社 对于对于“讲授讲授
20、”联系,可以转换为一个关系模式,其属性联系,可以转换为一个关系模式,其属性由由“课程课程”实体的码实体的码“课程号课程号”,“教师教师”实体的的码实体的的码“教教师编号师编号”以及此联系的属性组成,作为多端的以及此联系的属性组成,作为多端的“课程课程”实体实体的码成为关系模式的码。由于联系没有属性,关系模式为:的码成为关系模式的码。由于联系没有属性,关系模式为: 讲授(讲授(课程号课程号,教师编号),教师编号) 课程号是主键,教师编号是外键课程号是主键,教师编号是外键 也可以采用另一种方式,即也可以采用另一种方式,即“讲授讲授”联系不用转换为一联系不用转换为一个单独的关系模式,而是将个单独的关
21、系模式,而是将“教师教师”实体的码和联系的属性实体的码和联系的属性合并入课程实体对应的关系模式中,课程关系模式为:合并入课程实体对应的关系模式中,课程关系模式为: 课程(课程(课程号课程号,课程名,学分,教师编号),课程名,学分,教师编号) 课程号是主键,教师编号是外键课程号是主键,教师编号是外键56高等教育出版社高等教育出版社即:即: 课程(课程(课程号课程号,课程名,学分),课程名,学分) 教师(教师(教师编号教师编号,姓名,性别,年龄),姓名,性别,年龄) 讲授(讲授(课程号课程号,教师编号),教师编号)或者:或者: 课程(课程(课程号课程号,课程名,学分,教师编号),课程名,学分,教师
22、编号) 教师(教师(教师编号教师编号,姓名,性别,年龄),姓名,性别,年龄)年年龄龄教师教师姓姓名名讲讲授授课程号课程号课程课程课程名课程名性性别别教师编号教师编号n1学分学分 多对多联系(多对多联系(m:n) 57高等教育出版社高等教育出版社(3 3)m:nm:n的联系的联系 m:nm:n联系转换为一个关系模式,与该联系转换为一个关系模式,与该联系相连的各实体的码以及联系本身的属联系相连的各实体的码以及联系本身的属性均转换为关系的属性,关系的码为各实性均转换为关系的属性,关系的码为各实体码的组合。体码的组合。 例如,例如,“选修选修”联系是一个多对多联系,联系是一个多对多联系,成绩成绩选修选修学号学号学生学生姓名姓名课程号课程号课程课程课程名课程名性别性别年龄年龄mn学分学分系系将其转换成一个关系模式,关系模式的属性由将其转换成一个关系模式,关系模式的属性由“学生学生”实实体的码、体的码、“课程课程”实体的码以及联系的属性组成,关系模实体的码以及联系的属性组成,关系模式的码由式的码由“学生学生”实体的码和实体的码和“课程课程”实体的码组合而成,实体的码组合而成,转换后的关系模式为:转换后的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 奶茶安全知识培训课件
- 中药炮制新技术在中药炮制产业链中的应用前景报告
- 农业环保技术应用与农业经济管理合作协议
- 2025年新能源发电站班组人员培训与设备维护一体化服务合同
- 女性安全课件
- 人工智能技术在智能舆情应对预案制定中的应用与应急响应能力提升
- 2025年传媒行业网红营销培训考核试卷
- 人工智能技术在智能酒店客户服务中的应用与服务质量优化
- 人工智能技术在智能轨道交通车辆智能运维中的应用与车辆可靠性提升
- 日化销售协议书范本
- 2023学年一年级语文下册看拼音写词语字帖(全册 部编版)
- JB T 6527-2006组合冷库用隔热夹芯板
- 三人制篮球赛计分表
- 新形势下统战工作存在的问题与思考
- 2022年广西南宁海关缉私局缉私辅警招聘考试真题及答案
- 《工艺品设计》课程标准
- 中纺院绿色纤维股份公司年产6万吨Lyocell纤维生产线建设项目环境影响报告
- GB/T 31163-2014太阳能资源术语
- 《用户体验要素》以用户为中心的产品设计课件
- 油品计量工(高级技师)技能操作理论考试总题库-上(单选题-下部分)
- 组织知识清单
评论
0/150
提交评论