数据库—02(关系模型)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
从ER图导出关系模型数据结构
一、两实体集间1:N联系
学校名 校址 学 校 1 聘 任 校长 学校(学校名,校址,校长) 年薪
N 教 师 教工号 姓名 专长
教师(教工号,姓名,学校名,专长,年薪) 外键
从ER图导出关系模型数据结构
二、两实体集间M:N联系
学号 姓名 学生 M 选修 N 课程 课程号 课程名 学分 性别 学生(学号,姓名,性别) 成绩 选修(学号,课程号,成绩) 课程(课程号,课程名,学分)
关系的定义和基本术语
键(Key) 学号 课程号 成绩 关键词简称键,也称码。由一个或几个属性组成。 超键(Super Key) R 一个关系中能唯一标识元组的属性组合。 兼职 姓名 性别 本职 候选键(Candidate Key) 王一 男 工程师 教 师 课程号 课程名 不含多余属性的超键。 赵二 男 会 计 打字员 主键(Primary Key) S 李三 女 秘 书 推销员 用户选做元组唯一标识的那个候选键。 外键(Foreign Key) 关系R的某个属性或属性组合不是R的候选键,而是 另一个关系S的候选键。
零件名
单价
厂名
厂址
某建筑公司业务管理涉及以下实体: 仓库:属性有仓库号,面积,地点 材料:属性有材料号,材料名,规格,单价 供应商:属性有供应商号,经理,地址,电话,账号 工程:属性有工程号,工程名,预算,开工日期,完工日期 职工:属性有工号,姓名,年龄,工种,职务 实体联系如下: 1.供应商、工程、材料之间具有多对多联系,通过供应量描 述某供应商向某工程供应某种材料的多少。 2.仓库与材料之间具有多对多联系。用库存描述。 3.一个仓库有多个职员,一个职工只能在一个仓库工作。 4.职工内部有领导与被领导关系,一个仓库主任领导多个职 员。
085 085 088 088 088 …
063 066 063 066 069 …
从ER图导出关系模型数据结构
六、多个实体集间M:N联系
工程号 工程名 工程进度 工程项目 工程项目(工程号,工程名,工程进度) 数量 需求(工程号,厂名,零件名,数量)
M
需 求
N
零 件
S
厂 家 厂家(厂名,厂址) 零件(零件名,单价)
76 83 91 65
学 生 成 绩 关 系
学号 姓名 性别 男 201 乔丹 男 202 布什 203 克林顿 男 204 布兰妮 女
新关系的学号值应相等
学号 课程号 成绩 201 76 3126 201 83 3128 202 91 3126 202 65 3128 205 88 3126
关系内模式
CHECK (min_lvl >= 10) CHECK (pub_id IN ('1389', '0736', '0877', '1622', '1756') OR pub_id LIKE '99[0-9][0-9]') CONSTRAINT CK_emp_id CHECK (emp_id LIKE '[A-Z][A-Z][1-9][0-9][0-9][0-9][FM]‘ OR emp_id LIKE '[A-Z]-[1-9][0-9][0-9][0-9][FM]')
用于确定数据的存放方式及索引方法。
关系模型的三类完整性约束
实体完整性约束 关系中所有的元组,组成主键的属性上不允许区空值。 引用完整性约束 不能引用不存在的实体。
学校(学校名,校址,校长)
教师(教工号,姓名,学校名,专长,年薪)
用户自定义的完整性约束规则
关系模型的三类完整性约束
用户自定义的完整性约束规则
笛卡尔积(Cartesian product)
D1×D2 × …Dn= {(d1,d2…dn)|di Di,I=1,2,..n }
(d1,d2…,dn)称为元组 元组个数称为笛卡尔积的基数 元组中的di称为元组的分量 n表示参与笛卡尔积的域的个数,称为元数或度
关系的定义和基本术语
关系(Relation) 在关系模式框架下填入数据就是一个具体的关系。
一地都被组织成关系(二维表格)的形式。
二、关系模型提供了完备的DML,以及支持对数据
库的各种数据操作。 三、为了防止错误数据的出现,维护数据与现实世 界的一致性,关系模型包含三类完整性约束规
则。
从ER图导出关系模型数据结构
三、两实体集间1:1联系
姓名 性别 校长 1 管理 1 学校 学校名 校址 年龄 方案一 校长(姓名,性别,年龄) 学校(学校名,校址,类别,姓名)
方案二 学校(学校名,校址,类别)
校长(姓名,性别,年龄,学校名)
类别
从ER图导出关系模型数据结构
四、同一实体集内各实体间1:N联系
课程号课程名 学分
课程 M
预修
课程(课程号,课程名,学分)
N
预修(课程号,预修课程号)
从ER图导出关系模型数据结构
五、同一实体集内各实体间M:N联系
课程号 课程名 学 分 课程号 预修课程号
063 066 069 085 088 …
程序设计 数据结构 离散数学 操作系统 数据库技术
…
4 4 4 4 4 …
关系的性质
关系中每个属性值都是不可分解的 关系中不允许出现相同的元组 定义元组时,可随意指定属性的顺序 任意交换元组的顺序不会改变关系的意义 关系模式相对稳定,关系不断发生变化
课程名 实验时数 学时数 讲课时数 课程名 讲课时数 实验时数 课程名 实72 验 32课 80 24 72 24 数据库技术 讲 操作系统 操作系统 72 24 操作系统 24 72 32 80 32 操作系统 数据库技术 数据库技术 80 32 数据库技术 80 80 32 数据库技术
笛卡尔积(Cartesian product)
D1
王一 王一 赵二 赵二 李三 李三
数学上把诸集合中各元素间一切可能的组合称为“笛卡尔积”
D2
男 女 男 女 男 女
D1
王一 赵二 李三
D2
男 男 女
D1×D2 × …Dn= {(d1,d2…dn)|di Di,I=1,2,..n }
关系的定义和基本术语
关系数据语言
关系数据描述语言(DDL)
问答式 语言描述式 关系数据操作语言(DML)
操作对象与结果都是关系 非过程性强 严密的数学工具
标准数据库语言(SQL) 不同版本之间有小差别 常见版本:J-SQL,T-SQL,PL/SQL
关系模型的形式定义
一、数据库中的全部数据以及数据间的相互联系统
二、关系外模式
关系外模式是概念模式的逻辑子集。
学号 201 202 203 姓名 安南 安娜 乔丹 性别 男 女 男 学号 201 202 姓名 安南 安娜
从学生关系中导出的新关系
关系外模式
学号 姓名 课程号 成绩
201 201 202 202
乔丹 乔丹 布什 布什
3126 3128 3126 3128
关系模型术语 二维表格术语 数据库技术术语 属性(域) 列 数据项/字段
姓名 性别 本职 王一 男 工程师 赵二 男 会 计 李三 女 秘 书
兼职
教 师 打字员 推销员
关系模式
二维表框架
记录类型 记录1 记录2 文件 记录3
数据项值
元组1 行1 元组1 关系 行2 二维表 元组1 行3
属性值 单元值
工号 姓名 职工 1 领导 N 民意评价 工资 另一实体的主键 职工(工号,姓名,工资,领导者工号,民意评价)
工号 1 2 3 4
姓名 张三 李四 王五 赵六
工资 850 850 1000 1200
领导者工号 3 3 4 5
民意评价 称职 不称职 称职 称职
从ER图导出关系模型数据结构
五、同一实体集内各实体间M:N联系
1)设计E-R图
2)转换成关系模式
关系模型的体系结构
一、关系概念模式 关系概念模式是由若干个关系模式组成的集合 反映关系数据库中全部数据的整体逻辑结构。 关系概念模式例子 学生关系模式 课程关系模式 选修关系模式 学生(学号,姓名,性别) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩)
关系模型的体系结构
关系数据库理论基础
关系模型的基本概念
关系运算 关系模式设计 注意:重点掌握各种结论,不用 Leabharlann Baidu握证明过程
学习目标
关系数据库的基本概念
从E-R模型导出关系模式 关系模式的规范化
关系的定义和基本术语
域(Domain) 域是值的集合。{0,1},{A,B,C}
D1={王一,赵二,李三} D2={男,女} D1,D2是域名;域中数据的个数称为域的基数。