数据库的设计.pptVIP

  • 1
  • 0
  • 约1.78千字
  • 约 38页
  • 2021-11-09 发布于湖南
  • 举报
本章任务 学习设计数据库的步骤 绘制学生选课系统数据库的E-R图 把学生选课系统数据库的E-R图转化为表 用三大范式规范数据库设计 本章目标 如何标识实体对象 如何画E-R图 如何将E-R图转换为数据表 数据规范化设计—三大范式 数据库的设计 总结 学生选课系统 为什么需要数据库设计 复杂的数据库需要规范化设计。 什么是数据库设计 现实世界 信息世界 数据(电脑)世界 数据库设计的步骤 数据库设计第一步:标识实体 数据库中的数据对象,称为实体。 实体有一个或多个属性。 在需求分析阶段,需要知道要在数据库中存储哪些信息。 数据库设计的第一步:标识实体。 标识实体 标识学生选课系统中的实体对象 学生信息 教员信息 通知 课程信息 标识实体的属性 学生信息 学号、姓名、性别、年龄、班级 教员信息 工号、姓名、性别、年龄、教龄、职称 课程信息 课程号、名称、学时、学分 通知 标题、内容 实体之间的关系 大部分实体并不是孤立的,它们之间存在着各种关系。 丈夫与妻子之间一对一的关系 班级与学生之间一对多的关系 学生与课程之间多对多的关系 学生选课系统中各实体之间的关系 学生信息 教员信息 课程信息 一名学生可以选修多门课程 一门课程由一个或多名学生选修 一名教员讲授一至多门课程 一门课程只能由一名教员讲授 数据库设计第二步:绘制E-R图 E-R图(Entity Relationship Diagram),中文称为“实体-关系图”,提供了表示实体、属性和关系的图形符号。 实体名 属性名 关系名 实体表示 关系表示 属性表示 学生选课系统中的E-R图 E-R图如何表示实体之间的关系 E-R图如何表示实体之间的关系 学生选课系统完整的E-R图 课堂练习 画出仓库--商品的E-R图 提示:仓库的属性包括:地点、面积等;商品的属性包括:商品名称、价格等。 n 1 仓库 商品 存放 地点 面积 仓库号 商品号 价格 数量 商品名 数据库设计第三步:E-R模型转换为数据表 将E-R模型转换为数据表的基本原则: 将各实体转换为对应的表,将各属性转换为各表对应的列。 标识每个表的主键列,需要注意的是:没有主键的表要添加ID编号列,它没有实际含义,用于做主键。 例如:通知数据表中除了标题、内容外,还应加一个ID主键列,用以区分每条记录。 如果实体之间有某种关系,还要在表中添加外键。 学生选课系统中各实体转换为数据表 如何将E-R图中的关系转换为数据表 如果实体A和实体B之间存在一对一的关系,将E-R图转换为数据表有以下三种方法: 把A实体的主关键字加入到B实体转换后的数据表中作为外键,如果关系有属性也一并加入。 把B实体的主关键字加入到A实体转换后的数据表中作为外键,如果关系有属性也一并加入。 直接将关系转换为数据表,表中包含两个实体的主关键字,如果关系有属性也一并加入。 一对一的关系转换为数据表 丈夫(身份证号,姓名,职业,出生日期) 妻子(身份证号,姓名,职业,出生日期,丈夫身份证号,子女数,婚龄) 一对多的关系转换为数据表 如果实体A和实体B之间是一对多的关系,关系转换方法为: 可将“一方”实体的主关键字纳入“n方”实体转换后的数据表中作为“外部关键字”,同时把关系的属性也一并其中。 一对多中的关系转换为数据表 班级(班级编号、班级名称) 学生(学号、姓名、性别、年龄、班级编号) 多对多的关系转换为数据表 如果实体A和实体B之间是多对多的关系,必须按以下原则转换化数据表: 必须对“关系”单独建立一个数据表。 该数据表的属性中至少要包括实体A和实体B的主关键字作为外键,并且如果关系有属性,也要归入这个关系中。 多对多的关系转换为数据表 学生(学号、姓名、性别、年龄) 课程(课程号、名称、课时、学分) 选课(编号、学号、课程号) 学生选课系统的数据表 数据规范化 假设某建筑公司要设计一个数据库。公司的业务规则概括说明如下: 公司承担多个工程项目,每一项工程有:工程号、工程名称、施工人员等 公司有多名职工,每一名职工有:职工号、姓名、性别、职务等 公司按照工时和小时工资率支付工资,小时工资率由职工的职务决定 为什么要数据规范化 表中存在大量冗余信息 插入数据、更新数据、删除数据时都可能会引发异常

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档