刘红岩 清华大学 管理科学与工程系 liuhy@sem.tsinghua.edu.cn 第6章 ER模型向关系模型的转换 刘红岩 清华大学 管理科学与工程系 liuhy@sem.tsinghua.edu.cn.

Slides:



Advertisements
Similar presentations
7.2 数据模型 大学计算机基础. 7.2 数据模型 主要内容 数据模型简介 常用数据模型 常见数据库系统及开发工具.
Advertisements

金融一班 王亚飞 王亚飞 王浩浩 王浩浩 吴海玥 吴海玥 我 连云港 的 家 乡 连云港 连云港,位于东经118°24′~119°48′和北纬 34°~35°07′之间,古称郁洲、海州,民国时称 连云市,建国后称新海连市,别称“港城”。东 西长129公里,南北宽约132公里,水域面积 平方公里。连云港市也是我国于1984年.
第六章 数据库技术基础 本章要点  数据库系统概述 数据库系统概述  关系数据库 关系数据库  数据库设计 数据库设计.
配备计算机教室、多媒体教室、图书室、卫生室、 实验室、仪器室、音体美劳器材室、心理咨询室、少先 队活动室、教师集体备课室等专用教室。实验室、仪器 室全部按照省标准配备器材,演示实验开设率达 100% 。 学校现有图书 6050 册,生均 40 册。有一个 200 米环形跑 道的运动场地。 学校基本情况.
研究生院 Graduate School Of Beijing Normal University “ 十 · 五 ” 重点课题结题报告 课题名称: 硕士研究生课程改革与建设探索 负 责 人: 李建会 成 员: 李建会、李庆康、吴家国、马晓芸、展广、 翟东升、程学竹、王远、刘晓力、刘孝廷 完成单位:
103 年新北市環保知識擂台賽培育計畫 新北市政府環境保護局 大 綱 計畫緣起 計畫期程及內容 計畫分工及配合事項 討論 Q&A 2.
Chapter 3: SQL.
教学网站: 数据库及应用 授课教师:岳静 Tel: 教学网站:
長得像的圖形 設計者:嘉義縣興中國小 侯雪卿老師 分享者:高雄市中山國小 江民瑜老師 高雄市勝利國小 許嘉凌老師.
兵车行 杜甫 福州十一中语文组 林嵘臻.
课例评析—— 《回乡偶书》和《渔歌子》 评课人:冯琴.
就作文本身而言,题目堪称“眉目”,是作文的“眼睛”,从某种程度上说,它是作文材料和主题的浓缩或概括。
小猪.
文化创新的途径.
An Introduction to Database System An Introduction to Database System
An Introduction to Database System
与优秀的人在一起
综合实践活动 设计与实践案例 ——《感恩父母》主题班会.
第八章 影响消费心理的社会因素 第一节 消费习俗的影响 第二节 流行对消费行为的影响 第三节 消费习惯与消费心理 第四节 感性消费与消费心理
2009—2010学年第一学期 小学品德与社会课程教学监控情况分析 潘诗求 2010年3月
15世纪欧洲人绘制的世界地图.
第二组:栝蒌薤白白酒汤 讲解:何楠 资料收集:李哲豪 陶雪 PPT制作:周飘 李昕蓉 讲稿书写:邓楹君 黄丽.
新人教历史必修二 第二单元 资本主义世界市场的形成和发展.
An Introduction to Database System
第七章 数据库设计 7.1 数据库设计概述 7.2 需求分析 7.3 概念结构设计 7.4 逻辑结构设计 7.5 数据库的物理设计
Principle and Application of Database
本 章 导 航 数据模型 E-R数据模型 关系数据模型 其他数据模型.
千里之行, 始于规范 兴隆中学 八(1)班主题班会.
第五章 E-R模型 内容出处: 1.Abraham Silberschatz《数据库系统概念》第6章.
第7课 新航路的开辟 第7课 新航路的开辟.
股票、债券、和保险 投资理财的话题.
第二课 战国时期的 百家争鸣 呼伦贝尔学院附属中学:司顺英.
Access数据库基础 系列教学课件 安丘市职业中专 雷云龙.
案例总结 社会热点问题分析.
电阻 新疆兵团四师76团中学.
绪 论  珍惜大学生活 开拓新的境界.
油画《蒙娜丽莎》 哥伦布像 以上图片产生于哪两个 历史事件中?.
外貌和能力哪个更重要.
从此,我不在沉默寡言 那一刻 就在这一刻 世上还有爸爸好 我 长 大 了 张绅 4 文苑芬芳
从容行走,优雅为师 江苏省梁丰高级中学 任小文
网络游戏 对 大学生生活方式 影响 11影视动画2班 石天启组.
Database Principles & Applications
工作任务之: 1、“网上考试系统”数据库分析 2、“网上考试系统”数据库概要设计 3、“网上考试系统”数据库逻辑设计
觀察內容: 時間 作息 觀察內容 9:30~9:40 角落分享
第2章 关系数据库系统.
天气和气候.
请写出下列查询语句并给出结果 1、列出student表中所有记录的sname、sex和class列。
导入 21世纪教育网经纬社会思品工作室制作 我们可以通过哪些媒介(途径)获知这些消息?.
十二生肖的故事.
作业4讲评.
网络常用常用命令 课件制作人:谢希仁.
An Introduction to Database System
数据库设计是信息系统的核心组成部分 从现实世界到数据世界的转换的过程
数据库应用技术 SQL Server 2005.
分布式程序设计 姚斌 计算机科学与工程系 上海交通大学.
学习中苦多?乐多? ——高二(1)班主题班会.
1.1 数据库基本概念 1.2 数据模型 1.3 关系数据库 1.4 Access2010简介
An Introduction to Database System An Introduction to Database System
实体描述呈现方法的研究 实验评估 2019/5/1.
数据库原理及应用 《数据库原理及应用》课程组 荆楚理工学院.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
数据集的抽取式摘要 程龚, 徐丹云.
1.把下面的关系模式转化为E-R图 1)系(系号,系名,电话) 2)教师(工号,姓名,性别,年龄,系号)
第六章 数据模型转化为 关系数据库.
第二章 实体-联系模型 数据库设计过程 基本概念 映射约束 弱实体集 扩展ER特性 ER模型设计要点 概念数据库设计实例.
本节内容 结构体.
第13课 东汉的兴亡.
繁星推薦系統 楊曉婷 副理 教育的服務 是我們的責任.
店铺员工签订劳动合同注意事项 1. 签订地点为:上海 2. 身份证号码填写正确 3. 填写完整的家庭住址或身份证所在户籍地址
單元主題名: 大家都是好朋友 設計者:柯淑惠、林雨欣.
Presentation transcript:

刘红岩 清华大学 管理科学与工程系 liuhy@sem.tsinghua.edu.cn 第6章 ER模型向关系模型的转换 刘红岩 清华大学 管理科学与工程系 liuhy@sem.tsinghua.edu.cn

主要内容 基本ER数据模型的转换 增强ER数据模型的转化 实体 联系 属性 特殊化/概括 聚集 Hongyan Liu @ Tsinghua University

ER图 案例 部门 部门号{PK} 部门名 电话[1..2] 供应商 编号{PK} 供应商名称 城市 1..1 组成 包含 1..* 1..* 1..* 0..* 0..* 职工 职工号{PK} 姓名 性别 生日 工程 工程号{PK} 开始日期 完成日期 零件 零件号{PK} 零件名 重量 颜色 1..* 工作于 0..* 供应 0..* 1 1 1..1 0..1 主管 拥有 1..1 拥有 1..* 家属 姓名 年龄 关系 Hongyan Liu @ Tsinghua University

ER图向关系模型的转换 ①一个实体转换为一个关系模式,实体的属性就是关系的属性,对于非原子属性,进行横向(如电话)或纵向(如地址)展开。对于弱实体,其主键由其所依赖的实体的键和本身的某些属性共同组成。 部门(部门号,部门名,联系电话)一个部门只有一个联系电话 职工(部门号,职工号,职工姓名,性别,年龄) 家属(职工号,家属姓名,年龄,关系) Hongyan Liu @ Tsinghua University

ER图向关系模型的转换 问题:实体的主键一定是关系的主键吗?如:部门的联系电话若有多个时,主键? 部门号 部门名 联系电话 B1 部门1 62789999 62789998 B2 部门2 62782333 Hongyan Liu @ Tsinghua University

ER图向关系模型的转换 ②一个联系转换为一个关系模式,与该联系相连的各实体的键及联系本身的属性作为关系模式的属性,一般情况下,其主键有三种情况: a.1:1: 每个实体的主键都可作为关系的主键。 b.1:*: 多端实体的主键。 c.*:*:两个实体的主键组合起来。 如部门和职工之间的包含联系: 部门号 部门名 联系电话 B1 部门1 62789999 62789998 B2 部门2 62782333 部门号 职工号 B1 94238 87993 B2 59083 职工号 姓名 性别 年龄 94238 张三 … 87993 王二 59083 李四 Hongyan Liu @ Tsinghua University

ER图向关系模型的转换 为了减少关系模式的个数: 对于1:1的两个实体 双方都是全参与, 什么语义? 如教师与房间(1人1房间) 把其中任一个实体的主键及联系本身属性加入到另一个之中 teacher(tno,tname,…,rno) room(rno, rdirection) teacher(tno,tname,…) room(rno, rdirection, tno) 联系本身属性可以是什么? Hongyan Liu @ Tsinghua University

ER图向关系模型的转换 工作证号 姓名 性别 年龄 房间号 94238 张三 … 201 87993 王二 203 59083 李四 204 朝向 201 南 203 北 204 工作证号 姓名 性别 年龄 94238 张三 … 87993 王二 59083 李四 房间号 朝向 工作证号 201 南 94238 203 北 87993 204 59083 Hongyan Liu @ Tsinghua University

ER图向关系模型的转换 一方是全参与,另一方是部分参与:为了避免取NULL值,将部分参与方的实体主键加入另一方中 例1:设教师是全参与: 语义? t(tno,tname,…, rno) r(rno, rdirection) 否则,若为:t(tno,tname,…) r(rno, rdirection, tno) Hongyan Liu @ Tsinghua University

ER图向关系模型的转换 例2:职工与工程之间的主管关系:ER 图案例 房间号 朝向 201 南 203 204 北 205 工作证号 姓名 性别 年龄 房间号 94238 张三 … 201 87993 王二 203 59083 李四 204 房间号 朝向 工作证号 201 南 94238 203 87993 204 北 59083 205 工作证号 姓名 性别 年龄 94238 张三 … 87993 王二 59083 李四 例2:职工与工程之间的主管关系:ER 图案例 Hongyan Liu @ Tsinghua University

ER图向关系模型的转换 双方都是部分参与: 联系单独作为一个关系模式,其属性由双方各自主键和联系本身的属性共同构成 t(tno,tname,…) r(rno, rdirection) teacherRoom(rno, tno, begindate) 否则:t(tno,tname,…,rno,begindate) r(rno, rdirection) 或 t(tno,tname,…) r(rno, rdirection, tno, begindate) 会有什么问题? Hongyan Liu @ Tsinghua University

ER图向关系模型的转换 工作证号 姓名 性别 年龄 94238 张三 … 87993 王二 59083 李四 房间号 工作证号 日期 201 97-8-1 203 87993 96-3-10 房间号 朝向 201 南 203 北 204 房间号 朝向 201 南 203 北 204 工作证号 姓名 性别 年龄 房间号 94238 张三 … 201 87993 王二 203 59083 李四 房间号 朝向 工作证号 201 南 94238 203 北 87993 204 工作证号 姓名 性别 年龄 94238 张三 … 87993 王二 59083 李四 Hongyan Liu @ Tsinghua University

ER图向关系模型的转换 对于1对多的联系,只需将1端实体的主键及联系本身的属性加入到多端实体中即可。 系,班级之间的联系体现在多端实体中: 系(系名,系主任,电话) 班级(系名,班名,人数) Hongyan Liu @ Tsinghua University

ER图向关系模型的转换 若有的班级不属于任何一个系,则为了避免系名取空值,可将联系单独作为一个关系模式 若多端实体是部分参与,可将联系单独作为一个关系模式。 若有的班级不属于任何一个系,则为了避免系名取空值,可将联系单独作为一个关系模式 系(系名,系主任,电话), 班级(班名,人数), 系籍(系名,班名) 部门与职工之间的联系:ER 图案例 Hongyan Liu @ Tsinghua University

ER图向关系模型的转换 例子:职工:工程;零件:零件 多对多联系:联系单独作为一个关系模式,除联系本身属性外,将相连实体的主键加入。 零件号 零件(零件号,零件名,重量,颜色) 零件构成(零件号,子零件号,数目) 零件号 零件名 重量 颜色 P1 零件1 … P2 零件2 P3 零件3 P4 零件4 零件号 子零件号 数目 P3 p1 2 p2 4 P4 5 Hongyan Liu @ Tsinghua University

ER图向关系模型的转换 多元联系 一般需要将联系单独作为一个关系模式,将各个相关的关系模式的主键组合起来加上联系的属性构成它的属性 例子:工程、供应商和零件之间的联系 供应(工程号, 供应商编号, 零件号, 数量) 工程号 供应商编号 零件号 数量 J1 S1 P1 300 S2 P2 200 J2 400 S3 P3 100 Hongyan Liu @ Tsinghua University

ER图 案例 部门 部门号{PK} 部门名 电话[1..2] 供应商 编号{PK} 供应商名称 城市 1..1 组成 包含 1..* 1..* 1..* 0..* 0..* 职工 职工号{PK} 姓名 性别 生日 工程 工程号{PK} 开始日期 完成日期 零件 零件号{PK} 零件名 重量 颜色 1..* 工作于 0..* 供应 0..* 1 1 1..1 0..1 主管 拥有 1..1 拥有 1..* 家属 姓名 年龄 关系 Hongyan Liu @ Tsinghua University

ER图向关系模型的转换 部门(部门号,部门名,联系电话) 职工(部门号,职工号,职工姓名,年龄) 家属(职工号,家属姓名,性别,关系) 工程(工程号,名称,起始日期,终止日期,主管职工号) 工作于(职工号,工程号,期限) 供应商(供应商编号, 供应商名称, 城市) 零件(零件号,零件名,重量,颜色) 供应(工程号, 供应商编号, 零件号, 数量) 零件构成(零件号,子零件号,数目) Hongyan Liu @ Tsinghua University

EER数据模型向关系模型的转换

特殊化/概括:方案1 S(sno, sname, sex, birthdate, province) U(sno, 高考分数,省状元) Student Graduate Undergraduate {Mandatory, Or} Doctor S(sno, sname, sex, birthdate, province) U(sno, 高考分数,省状元) G(sno, type, 录取方式) D(sno,married,parttime) sno 高考分数 省状元 990011 660 N 990012 680 Y sno sname sex birthdate province 990011 张珊 F 80-3-2 河北 990012 李四 M 81-5-6 河南 990211 王二 75-8-29 山东 990300 赵娜 73-9-3 山西 方案2:不相交和全特殊化:倘若是相交特殊化,则会有冗余,若是部分特殊化,则有些学生遗失。 Sno type 录取方式 990211 直硕 免试 Sno married parttime 990300 N Hongyan Liu @ Tsinghua University

方案2:不相交、全特殊化 U(sno, sname, sex, birthdate, province,高考分数,省状元) G(sno, sname, sex, birthdate, province ,type, 录取方式) D(sno, sname, sex, birthdate, province, married, parttime) sno sname sex birthdate province 高考 分数 省 状元 990011 张珊 F 80-3-2 河北 660 N 990012 李四 M 81-5-6 河南 680 Y Student Graduate Undergraduate {Mandatory, Or} Doctor sno sname sex birthdate province type 录取 方式 990211 王二 M 75-8-29 山东 直硕 免试 方案2:不相交和全特殊化:倘若是相交特殊化,则会有冗余,若是部分特殊化,则有些学生遗失。 若相交会有何问题?部分特殊化呢? sno sname sex birthdate province married parttime 990300 赵娜 F 73-9-3 山西 N Hongyan Liu @ Tsinghua University

方案3:不相交特殊化{.., or} Student Graduate Undergraduate {Mandatory, Or} Doctor S(sno, sname, sex, birthdate, province, 高考分数,省状元,type, 录取方式, married, parttime, T) T=i:表示实体属于实体集i. T=0:不属于任何一个子实体集 sno sname sex birthdate province 高考分数 省状元 type 录取方式 married parttime T 990011 张珊 F 80-3-2 河北 660 N 1 990012 李四 M 81-5-6 河南 680 Y 990211 王二 75-8-29 山东 直硕 免试 2 990300 赵娜 73-9-3 山西 3 Hongyan Liu @ Tsinghua University

方案4:重叠特殊化{.., and} Student Staff Person {Optional, And} Person(pID, name, sex, birthdate, empID, deptno, studNo, classNo, T1, T2) pID sname sex birthdate empID deptNo studNo classNo T1 T2 110105750801666 张珊 F 80-3-2 990011 j01 1 … 李四 M 81-5-6 990012 j02 王二 75-8-29 95234 mse 990211 j03 赵娜 73-9-3 89455 Hongyan Liu @ Tsinghua University

聚集的转换 聚集:作为联系转换 在转换聚集参与的联系时,将聚集看作一个实体集看待,其属性包括参与联系的各实体的主键以及联系本身的属性组成。 时间 时间编号{PK} 学期 星期 节 先修于 聚集:作为联系转换 在转换聚集参与的联系时,将聚集看作一个实体集看待,其属性包括参与联系的各实体的主键以及联系本身的属性组成。 讲授(教室工作证号,课号,时间编号,楼号,教室号) 选修(教室工作证号,课号,时间编号,学号,成绩) 1..* 0..* 0..* 教师 工作证号{PK} 姓名 性别 职称 课程 课号{PK} 课名 学分 学时 1..* 1..1 讲授 楼名 教室号 0..* 成绩 选修 1..* 学生 学号{PK} 姓名 性别 生日 Hongyan Liu @ Tsinghua University