您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 纺织服装 > MySQL第四讲(逻辑结构设计)
数据库设计2数据库设计-逻辑设计•在需求分析的基础上按照ER图的方法把现实世界抽象为一个不依赖于任何机器的概念模型。逻辑结构设计的任务是将基本概念模型图转换为与选用的数据模型相符合的逻辑结构。3任务:逻辑设计•任务描述在项目例会上,XX绘制的学生成绩数据库ER图通过了项目小组的评审,并得到项目经理的充分肯定。项目经理又把更艰巨的任务交给XX,那就是数据库逻辑结构设计,项目经理说:“我需要详细的数据库逻辑设计文档——“数据字典”,你要从ER图概念模型导出学生数据库的逻辑结构,包括所有的数据表、每个表的所有列、主外键定义等,并且所有命名必须符合规范,我们下次例会进行评审。”4任务:逻辑设计•任务分析在数据库设计阶段,很重要的工作是编制数据字典,以便后期实施。我们首先要熟悉关系模型中的术语(如数据表、列、主键、外键等),掌握ER图转化为数据表的方法,并确定数据库中主要的数据表表名,定义数据表的列(包括列名、数据类型、长度、是否非空等),并标示各表的主外键,最后产生数据库的数据字典。5相关知识与技能•数据模型,关系数据模型•关系数据模型的相关术语•将ER图转换为数据表6相关知识与技能(逻辑)数据模型含义:是用户从数据库所看到的模型。用概念模型表示的数据必须转化为数据模型表示的数据,才能在DBMS中实现。类型(四种)关系数据模型(最常用)–MySQL采用的是关系数据模型。层次数据模型网状数据模型面向对象数据模型7相关知识与技能关系数据模型的含义用二维表格结构表示实体以及实体之间的联系的数据模型。完成信息世界到机器世界的第二次抽象。8相关知识与技能关系数据模型的二维表结构学生信息表说明:一个关系就是一张二维表,二维表的名称就是关系名。学号姓名性别年龄系编号03001马力刚男210103102王萍华女200203223王平男210303103张华男220403301李萍女19059相关知识与技能关系应具备的性质关系中每一个属性值都是不可分解的。关系中不允许出现相同的行。关系中不允许出现相同的列。关系中没有行序、没有列序。导师姓名专业研究生研究生1研究生2林知荣网络系统田园刘刚周银华数据库技术曲彩燕黎祥数据库技术邱罗耕方萍10相关知识与技能教学活动:通过查阅资料讨论回答下面提问:1.该表中有几个元组(记录)?2.该表中有多少个属性?第4个元组的属性值分别是多少?3.什么是域?年龄的域可以是多少?4.什么是主关键字?5.哪个属性可以作为外关键字(外码/外键)?学号姓名性别年龄系编号03001马力刚男210103102王萍华女200203223王平男210303103张华男220403301李萍女190511相关知识与技能元组:二维表中的行称为元组,每一行是一个元组。元组对应存储文件中的一个记录。属性和属性值•二维表的列称为属性,每一列有一个属性名,且各属性不能重名。属性值是属性的具体值。属性对应存储文件中的一个字段。域:属性的取值范围。主关键字/主码/主键:•能够唯一标识表中某一行数据的属性或属性组。非主属性/非码属性:在一个关系中,不组成主码的属性。外部关键字/外码/外键•一个关系的某个属性(或属性组合)虽不是该关系的主关键字或只是主关键字的一部分,但却是另一个关系的主关键字,则称这样的属性为该关系的外部关键字或外码。12相关知识与技能关系模式的含义对关系的信息结构及语义限制的描述。关系模式的表示方法用关系名和包含的属性名的集合表示。例如:学生(学号,姓名,性别,年龄,系编号)表的含义用二维表格表示的一个关系。13相关知识与技能关系模式与关系的区别关系模式是对关系结构的定义,是对关系“型”的描述。关系是二维表格,是对“值”的描述一般说来,关系模式是相对稳定、不随时间变化的。关系是随时间动态变化的,关系中的数据在不断更新。例如:在学生表中,由于学生的入学、退学和毕业等原因,学生关系是经常变化的,但其结构以及对数据的限制是不会改变的。说明:关系模式和关系往往统称为关系。14相关知识与技能-ER图转换成关系1.每个实体转换为一个关系。实体的属性就是关系的属性。实体的码作为关系的码。2.每个联系也转换成一个关系。与关系相连的,各个实体的码、联系的属性就是关系的属性。关系的码如下:对于1:1的联系,每个实体的码均是该联系关系的候选码对于1:N的联系,关系的码是N端实体的码。对于M:N的联系,关系的码是诸实体码的组合。3.有相同码的关系可以合并。15相关知识与技能-ER图转换成关系案例1:将下ER图转化为关系模式和表,并写出主关键字和外关键字。16相关知识与技能-ER图转换成关系解答:转化为关系模式教师(教师号,姓名,性别,职称,专业)•主关键字:教师号学生(学号,姓名,性别,年龄,专业)•主关键字:学号课程(课程号,课程名,学时数,学分,教材)•主关键字:课程号17相关知识与技能选课(学号,课程号,成绩)•主关键字:学号+课程号外关键字:学号、课程号授课(教师号,课程号)•主关键字:教师号+课程号外关键字:教师号、课程号指导(学号,教师号,时间,地点)•主关键字:学号外关键字:教师号解答:转化为表18相关知识与技能案例2:综合应用。某个企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘用期和工资。工厂的属性有工厂编号、厂名、地址,产品属性有产品编号、产品名、规格,职工的属性有职工号、姓名。根据上述语义画出ER图。将ER模型转换成关系模型,并指出每个关系模式的主键和外键。19相关知识与技能•建立ER图①确定实体类型及属性。•三个实体:工厂、产品、职工②确定联系类型。•“工厂-产品”的联系(M:N)——生产属性有:产品计划数量•“工厂-职工”的联系(1:N)——聘用属性有:聘用期、工资③把实体类型和联系类型组合成ER图。20相关知识与技能产品产品编号产品名规格职工职工号姓名工厂工厂编号地址厂名生产计划数量mn聘用聘期工资1n21相关知识与技能转换成关系模式本题中有3个实体,可得到3个关系模式。本题中有2个联系,也可得到2个关系模式①工厂(工厂编号,厂名,地址)•主键:工厂编号②产品(产品编号,产品名,规格)•主键:产品编号③职工(职工号,姓名)•主键:职工号22相关知识与技能④生产(工厂编号,产品编号,计划数量)•主键:工厂编号+产品编号•外键:工厂编号、产品编号⑤聘用(职工号,聘期,工资,工厂编号)•主键:职工号外键:工厂编号说明:由于“工厂-职工”的联系“聘用”是1:N,它对应的关系模式的码与职工实体的码相同,所以,这个关系模式与职工关系模式可以合并。23相关知识与技能合并同码的关系模式职工(职工号,姓名)聘用(职工号,聘期,工资,工厂编号)–职工(职工号,姓名,聘期,工资,工厂编号)思考:能否将联系“生产”与实体“工厂”或“产品”合并?说明:“工厂-产品”的联系“生产”是M:N,它所对应的关系模式的码是两个实体码的组合,它不能被合并。24作业•以小组为单位,将学生成绩管理系统的ER图转换成逻辑模型(MySQL中的关系模型),主键用红色下划线标出。并试着完成相关数据字典的建立。25数据字典范例序号字段名称字段说明数据类型长度默认值说明是否为空1TeacherID编号char6无主键否2LoginID登录号Varchar20无否3Loginpwd登录密码Varchar20无否4AdminName姓名Varchar50无否5Sex性别tinyint11男1,女0是6BirthDay生日Date系统默认无是教师表:Teacher26技能提高•将学生信息管理系统数据库的ER图转换为数据表
本文标题:MySQL第四讲(逻辑结构设计)
链接地址:https://www.777doc.com/doc-3904879 .html