第1章 数据库基础知识
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
将下图转换成关系模式
姓名 性别 系 专业
学号 学生
1
班级
办理
1
办理日期
借书证
实体学生和借书证分别转化为关系模式: 学生(学号,姓名,性别,系,专业,班 级) 借书证(借书证号) 联系办理可以转化为一个独立的关系模式: 办理(学号,借书证号,办理日期),也 可以将联系合并到其中任意一端的关系模 式:学生(学号,姓名,性别,系,专业, 班级,办理日期,借书证号)或借书证 (借书证号,办理日期,学号) 最终得到的关系模式: 学生(学号,姓名,性别,系,专业,班 级,办理日期,借书证号) 借书证(借书证号) 或 学生(学号,姓名,性别,系,专业,班 级) 借书证(借书证号,办理日期,学号)
选择
选择运算是在关系(表)中选择满足条件的记录形成一
个新关系(子表),即从表中选择符合条件的行。
【例1-11】若有医生表见表1-2。若要在医生表中找出职称为主任医
师的形成一个新表。
表1-2
工号 200101 200503 200711 姓名 张林 王春梅 李丽芳 性别 男 女 女 职称 主任医师 副主任医师 主任医师 科室 儿科 妇产科 外科
1.3本章小结
本章主要介绍了数据库的基本知识。简要介绍
了数据库的基本概念、数据库的发展以及主流
数据库产品。详细介绍了关系数据库,包括E-
R概念模型、关系模型、E-R图向关系模型转化
的规则、关系运算及关系的规范化。
数据库案例教程编写组
A与B自然连接 T1 T2 T3 T4 1 2 c 1 2 8 f 5
T5 c b
A与B左外连接 T1 T2 T3 T4 T5 1 2 c 1 c 2 8 f 5 b 3 7 e NULL NULL A与B右外连接 T1 T2 T3 T4 1 2 c 1 2 8 f 5 5 NULL NULL 9
A与B交叉连接 A.T1 T2 T3 B.T1 T4 1 2 c 1 1 1 2 c 2 5 1 2 c 5 9 2 8 f 1 1 2 8 f 2 5 2 8 f 5 9 3 7 e 1 1 3 7 e 2 5 3 7 e 5 9
第 1章
数据库基础知识
数据库案例教程编写组
学习目标
1掌握数据库系统概念 2了解数据库发展历史 3掌握关系数据库
1.1数据库概述
1.1.1基本概念 1.1.2数据库的发展 1.1.3常见的主流数据库
1.1.1基本概念
与数据库技术密切相关的基本概念有:
数据、数据库、数据库管理系统和数据
联系(Relationship)
实体之间的关系称为联系。如员工销售商品,
医生给病人治病,教师给学生授课,学生学 习课程等。 联系在E-R图中用菱形表示,菱形内写上联系 名,用无向边与实体相连,在无向边是标明 联系类别
联系
实体之间的联系可分为三种:一对一联系、 一对多联系、多对多联系。
作E-R图
通过实体联系图(E-R图)可以将实体以及实 体之间的联系刻画出来,为客观事物建立概念 模型。实体、属性、联系在E-R图中的表示方 法见上文。作E-R图大致分为一下几步: (1)确定实体和实体的属性 (2)确定实体之间的联系及联系的类型 (3)给实体和联系加上属性
【例1-2】分析高校学生与借书证之间的联系类别。
借书证号
将下图转化成关系模式。
学生
n
住
1
宿舍
姓名 学号 性别 班级
宿舍编号
人数
实体学生和宿舍转化为关系模式: 学生(学号,姓名,性别,班级) 宿舍(宿舍编号,人数) 联系转化为关系模式: 采用合并到关系模式的方法,将1端的主键加到n端关系模式上, 学生关系模式变为学生(学号,姓名,性别,班级,宿舍编号) 最终得到的关系模式: 学生(学号,姓名,性别,班级,宿舍编号) 宿舍(宿舍编号,人数)
T5 c b e c b e c b e
T5 c b e
A与B全连接 T1 T2 T3 T4 T5 1 2 c 1 c 2 8 f 5 b 5 NULL NULL 9 e 3 7 e NULL NULL
1.2.5 关系规范化
规范化的目的是消除关系模式中的数据冗余,消除数据定 义中不合理的部分,以解决数据插入、删除时发生异常的 现象。关系数据库的规范过程中为规范化程度要求设立的 不同标准称为范式(NF)。 目前关系数据库有六种范式:第一范式(1NF)、第二范 式(2NF)、第三范式(3NF)、第四范式(4NF)、第 五范式(5NF)和第六范式(6NF)。满足最低要求的范 式是第一范式(1NF)。在第一范式的基础上进一步满足 更多要求的称为第二范式(2NF),其余范式以次类推。 一般说来,数据库只需满足第三范式(3NF)就行了。下 面我们举例介绍第一范式(1NF)、第二范式(2NF)和 第三范式(3NF)。
实体是具有相同属性描述的对象(人、地点、 事物)的集合。如职工、学生、课程、商品 等都是实体。在E-R图中实体用矩形框表示, 矩形框内写上实体名。有时也将实体称为实 体集,实体集中的一个个体称为实体。
属性(Atribute)
属性是实体所具有的特征,通过属性可以对
一个实体进行描述。实体本身具有许多属性, 能够唯一标识实体的属性称为该实体的码。 在E-R图中实体的属性用椭圆表示,椭圆内 写上属性名
1.2.3 E-R图转化成关系数据模型
E-R图转化成关系数据模型,是将实体、实体的属性及联系转化成关系模 式。 转化过程遵循的原则如下: 1.实体的转化 一个实体转化成一个关系,实体的属性就是关系的属性,实体的码就是 关系的码。 2.联系的转化 联系的转化有两种方法: (1)一个联系转化成一个关系,关系的属性包含两部分:联系本身的属 性、 与联系有关的实体的主键。 (2)对于不同的联系,可以与其它关系模式合并。 1)1:1联系的转化 将任意一端的码和联系的属性合并到另一端的关系 模式。 2)1:n联系的转化 将1端关系的码和联系本身的属性加入到n端关系模 式中。 3)m:n联系的转化 转化方法同(1)
医生
m
治疗
n
病人
工号 性别 姓名 职称 科室
日期
挂号号码 姓名 诊疗卡号 年龄
性别
实体医生和病人转化成关系模式: 医生(工号,姓名,性别,职称, 科室) 病人(诊疗卡号,姓名,性别, 年龄) 联系转化为关系模式: 治疗(工号,诊疗卡号,日期, 挂号号码)
1.2.4 基本关系运算
关系的基本运算有两类:一类是传统的集合 运算(并、差、交等),另一类是专门的关 系运算(选择、投影、连接、除法等)。
姓名 性别 系 专业
学号 学生
1
班级
办理
1
办理日期
借书证
借书证号
【例1-3】分析宿舍与学生之间的联系类别,班级和学生的联系类别。
学生
n
住
1
宿舍
学生
n
属于
1
班级
【例1-4】分析医生和病人之间的联系类别,学生 和课程之间的联系类别。
医生
m
治疗
n
病人
学生
m
选修
n
课程
1.2.2关系数据模型
关系模型是用二维表结构表示实体及实体之间联系的
数据模型。关系模型以关系数学为理论基础,以二维
表来组织数据,具有概念单一、规范化的特点。 关系模型中有如下几个重要的概念。 1.关系 2.字段(属性)
3.记录(元组)
4.表的主键和外键 5.关系的完整性约束
关系是一张二维表,但是关系和二维表又不 能完全等同。关系必须满足以下条件:
(1)每一个关系仅有一种关系模式。
抽象 信息世界 (概念模型) 抽象 机器世界 (数据模型)
现实世界
实体 - 联系模型(简称 E-R 模型)是由 P.P.Chen
于1976年首先提出的。它提供不受任何 DBMS约
束的面向用户的表达方法,在数据库设计中被广泛
用作数据建模的工具。E-R模型由实体、属性和联 系构成。
1.实体(Entity)
(2)关系中的每个属性是不可分解的,即表 中不能有嵌套表。 (3)关系中不能有相同的列名。 (4)关系中不能出现完全相同的两行。
(5)一个关系中,数据行的位置无关紧要,
即交换任意两行的位置不影响数据的实际含义。 (6)在一个关系中,列的次序无关紧要,即 交换任意两列的位置不影响数据的实际含义。
字段(属性) 二维表的列称为字段或属性,每个字段都有一个字段名,且不能重名 记录(元组) 二维表中的每一行称为一个记录(元组),记录由若干个相关字段值 组成。 表的主键和外键 键(Key)又称关键字,由一个或几个属性组成,用来唯一标识关系 中的记录。 候选键(Candidate Key)是指如果在一个关系中存在多个属性(或 属性的组合)能用来标识该关系中的元组,这些属性(或属性的组合 )都称为该关系的候选键。 主键(Primary Key)是指用户选作元组标识的一个候选键。主键的 值唯一且不为空。 外键(Foreign Key)是指在一个关系A中,某个属性(或属性组合) 不是A的主键或只是主键的一部分,但这个属性是另外一个关系B的主 键,这个属性就称为关系B的外键。外键能将两个表建立联系。
库系统。
1.1.2数据库的发展
1.数据库系统的发展阶段
在数据库系统出现之前,数据库管理
技术经历了人工管理阶段和文件管理
阶段。
2.数据库系统的发展方向
1.1.3常见的主流数据库
目前的数据库产品有很多,大型的数据
库管理系统有微软公司的SQL Server、
甲 骨 文 公 司 的 Oracle 、 IBM 公 司 的
工号
姓名 张林 李丽芳
性别 男 女
职称 主任医师 主任医师
科室 儿科 外科
结果:
200101 200711
投影 投影运算是在关系中选择某些属性列形成一 个新关系。
【例1-12】若有医生表见表1-2。 若要在医生表中对医生的姓名和科室投影形成一个新表。
姓名 张林 科室 儿科
王春梅 妇产科 李丽芳 外科
连接 连接运算是对两个 表进行的操作,将 两个表中在共同数 据项上相互匹配的 那些行合并起来。
【例1-13】若已知A表和 B表,对A表和B表进行内 连接, 左外连接、右外连接、全 连接和交叉连接。
A T1 T2 1 2 2 8 3 7
T3 c f e
B T1 T4 1 1 2 5 5 9
T5 c b e
DB2等。
1.2关系数据库
1.2.1 E-R概念模型 1.2.2关系数据模型 1.2.3 E-R图转化成关系数据模型 1.2.4 基本关系运算 1.2.5 关系规范化
1.2.1 E-R概念模型
模型是现实世界特征的模拟和抽象。将现实世界转变为计算机能 够识别的形式,必须经过两次抽象,使用概念模型将现实世界 抽象为信息世界,再将概念模型转变为计算机上某一DBMS支 持的数据模型,即把信息世界转变为机器世界
关Βιβλιοθήκη Baidu的完整性约束
关系中的完整性约束是对关系的一些限制和
规定,通过这些限制和规定来保证数据库中
的数据正确性和一致性。关系的完整性约束
包括域完整性、实体完整性和参照完整性
域完整性 域完整性是用户对数据库中的数据内容所做的规定, 也称用户定义完整性约束。 实体完整性 实体完整性规定关系中主键的值不能为空值。 参照完整性规则 也称引用完整性规则,要求外键取值必须是客观存在 的, 不允许外键的取值在另一个被引用的关系中不存在。