《建立关系数据模型.ppt》由会员分享,可在线阅读,更多相关《建立关系数据模型.ppt(20页珍藏版)》请在三一办公上搜索。
1、2.2 建立关系数据模型,将实体联系图转换为关系数据模型理解层次和网状数据模型的基本概念,把E模型转换成关系数据模型,为什么要把E-R模型转换成关系数据模型?,ER图,概念模型,数据模型,描绘机器中数据存储结构的逻辑模型就是数据模型。,什么是关系?如何表示关系数据模型?,关 系,概念模型转换成若干二维表,从E-R模型到关系数据模型的转换需要解决哪些主要问题?,一是把实体转换为二维表二是把联系转换为二维表,如何把实体转换为二维表?,列出实体属性和唯一标识实体的关键字,并定义二维表的名字。,参赛选手,选手编号,姓名,性别,学段,电子邮箱,参赛选手表,“选手编号”作为”参赛选手表”的关键字,备注,如
2、何把实体转换为二维表?,参赛学校实体集,参赛学校表,参赛选手实体集,参赛选手表,参赛作品实体集,参赛作品表,“学校名称”作为“参赛学校表”的关键字,“选手编号”作为“参赛选手表”的关键字,“作品编号”作为“参赛作品表”的关键字,E-R图中“联系”的作用是什么?,通过联系,可以从一个实体集出发寻找到或关联到相连的其他实体,例如,“参赛选手”这个实体通过“参赛”这个联系可以查询到不仅“参赛选手”本身的属性,还可以查询到“参赛作品”相应的属性和“参赛”本身的“作品得分”和“获奖等级”属性。,如何把联系转换为二维表?,把联系本身转换为一个独立的二维表,该表除了包含联系本身的属性外,同时还包含相联实体中
3、的关键字属性,通过它们把这些实体关联起来。,n,1,1,所在,参赛,n,作品得分,获奖等级,参赛选手,选手编号,姓名,性别,学段,电子邮箱,参赛作品,作品链接,作品大小,作品编号,作品名称,作品类别,参赛学校,直接转换有何问题?,如果把所有联系都直接转换为一个新的二维表格,会出现表格比较多的情况,数据查询等操作起来就不够方便,有些表格是可以通过合并到实体的二维表格中来精简表格数目的。,把联系转换为二维表的第二种方法,备注,电子邮箱,联系电话,地址,学校名称,参赛学校表,参赛选手表,参赛作品表,学校名称,性别,姓名,选手编号,另一表的关键字,“参赛”联系本身的属性,选手编号,作品得分,获奖等级,
4、是否所有联系都可以合并到实体的二维表格(关系模式)中?哪些可以?哪些不可以?,1:1联系:1:1联系两端的实体,任意选择一端,把另一端实体的关键字添加到这一端实体的二维表格中,如果联系本身有属性,再把联系的属性也添加进去。1:n联系 在n端实体的二维表格中添加1端实体的关键字,如果联系本身有属性,再把联系的属性也添加进去。,是否所有联系都可以合并到实体的二维表格(关系模式)中?哪些可以?哪些不可以?,学校(校名,地址,电话,校长名,任职年月),校长(姓名,性别,年龄,职称),学校(校名,校址,校长),教师(教工号,姓名,专长,职称,校名,年薪),是否所有联系都可以合并到实体的二维表格(关系模式
5、)中?哪些可以?哪些不可以?,对于m:n联系,就不可以合并到实体的二维表格中,否则会出现大量的数据冗余。只能把联系转换为一个新的二维表格,其属性为两端实体类型的关键字加上联系类型的属性,而新的二维表格本身的关键字为两端实体关键字的组合。,学生(学号,姓名,年龄,性别),选课(学号,课程号,成绩),课程(课程号,课程名,教师名),能否总结出E-R图到关系数据模型的转换规则?其核心思想是什么?,其核心思想是把实体集以及把实体间的联系都存储并体现在二维表格中。,实践,将“历史知识”数据库的图,转换为相应的关系数据模型。,2.数据模型,层次模型 用树型结构来表示实体之间联系的模型称为层次模型网状模型 用网状结构来表示实体之间联系的数据模型称为网状模型关系模型 主要特征是用二维表格表示实体集。,层次模型,学校,教务处,学生处,教师,学生,。只有一个结点没有父结点,此结点为树的根。根结点以外的其他结点有且仅有一个父结点。,网状模型,医生,病人,病房,1.允许一个以上的结点没有父结点2.允许结点有多于一个的父结点,任务,回忆上个学期学的access数据库的操作方法,结合课本28-34页内容创建一个“中小学信息技术”大赛的数据库。小组内可以互相讨论下具体的创建方式。,