第2章数据库设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

确定数据表的结构和 物理存储位置
2012-6-6
8
任务一 Student数据库的需求分析
需求分析的任务
就是对现实世界要处理的对象(组织、部门、 企业等)详细调查和分析;收集支持系统目标的 基础数据和处理方法;明确用户对数据库的具体 要求。在此基础上确定数据库系统的功能。
常用的需求调查方法
跟班作业、开调查会、请专人介绍、询问、设 计调查表请用户填写、查阅记录。
2012-6-6
32
1. 理解设计问题
Scope Condition Level Pay StudentN scholarshi From Assessme p o nt (获奖条件) (来源 (奖励范围) (等级 (金额 ) (评审) (学号) (名称) ) ) 0401150101 励志奖学金 政府 5000 ……. 全国高校 家庭经济困难学生勤奋 1 学习 0406150108 励志奖学金 政府 5000 ……. 全国高校 家庭经济困难学生勤奋 1 学习 0401150303 学习进步奖 学校 3 100 ……. 本校 本学年成绩进步明显
班级
班级名称 班级编码 学期 班主任 人数 备注
专业
专业编码 专业名称 专业负责人 成立时间 简介
备注 2012-6-6
20
标识对象之间的关系(Relationship)
学院和教师有主从关系。 学院和专业、专业和班级、班级和学生等有主从关系。 学生和奖学金有主从关系。 学生和选修、选修与课程有主从关系。
0401140105 金蝶奖学金 企业
1 2 3 4
2012-6-6
信息管理专 成绩优秀 业
2
500
…….
信息重复 更新异常 插入异常 删除异常
33
2.数据规范化
仅有好的RDBMS并不足以避免数据冗余,必 须在数据库的设计中创建好的表结构 Dr E.F.codd 最初定义了规范化的三个级别, 范式是具有最小冗余的表结构。这些范式是: 第一范式(1NF) 第二范式(2NF) 第三范式(3NF)
标识数据库要管理的关键对象或实体
实体一般是名词: 教师:包括所有教师信息。 学生:包括所有学生信息,包括:毕业生、在校生、退学生等。 二级学院、专业、班级信息。 课程信息:学校全部课程信息。 奖学金管理:学生获得的奖学金信息。
2012-6-6
19
标识每个实体的属性(Attribute)
学生
登录号 登录密码 学号 姓名 性别 身份证号 学生状态(在读、休 学、退学、毕业等) 所属专业编号 高中毕业学校 联系电话 地址 邮编 就业意向城市 就业意向岗位 EMAIL QQ号 入学时间 生日
No (编号) Course (课程) Book (书名) Press (出版社 ) Author (作者) 刘志成 郑小玲 曾海 Pages (页数) 256 300 128 Price (定价) 25.0 28.0 15.0
04011501 数据库应用技 Sql Sever数据库技术与 1 术 实训 04011502 信息处理 04011401 数据结构 Excel在信息管理中的应 1 用 3 数据结构(C语言)
n
专业
1
组成 职称
EMAIL
1
政治 面貌
组成
n
教师
学历
电话
简介
n
性别
性质 出生 年月 班级 职务 编号 名称
登录 号 编号
密码
名称
姓名
类别
考核 方式
1 班主任
组成
简介
学期
人数
课程
入学 时间
学分
学时 分配
1 总学分
考试
开设 学期
学籍异 动情况
宿舍 号
宿舍电 话
家庭 地址
n
家庭 电话
邮政 编码
班上 任职
1:1联系
2012-6-6
1:n联系
一对一联系
如果对于实体集A中的每一个实体,实体集B中至多有一
个实体与之联系,反之亦然,则称实体集A与实体集B具 有一对一联系。记为1:1。
班级
1
任职
实例
班级与班长之间的联系: 一个班级只有一个正班长 一个正班长只在一个班中任职
2012-6-6
1 班长
15
主键
出版社名称 中国铁道出版社 清华出版社 人民用电出版社
2012-6-6 机械工业出版社
出版社号 1 2 3 4
27
2.将E-R图转换为关系模型
将各实体转换为对应的表,将各属性转换为各表对应的列
标识每个表的主键列
1:1联系转换为关系模型。只要将两个实体的关系各自增加一个外 部关键字即可。 1:n联系转换为关系模型。只需为n方的关系增加一个外部关键字 (对方的关键字)属性。 m:n联系转换为关系模型。必须成立一个新的关系模式,关系的主 键属性由双方的主关键字组合构成,再加上关系自身的属性。
2012-6-6
30
银行号
地址
日期 m 金额
账号 经办人 n
姓名
余额
银行
存取款
储户
银行(银行号,地址) 储户(账号,姓名,余额)
存取款(银行号,账号,日期,金额,经办人)
2012-6-6
31
任务四 用三范式规范数据库设计
任务描述:
数据库设计是否达到三范式?
任务分析:
数据表设计应符合第三范式的规则。 1.了解不遵循三范式的数据库设计带来的问题 2.掌握范式理论和判断过程 3.了解范式与性能的关系。
2012-6-6
12
1. 实体-关系模型
E-R(Entity-Relationship)实体关系 图
符合 含义
实体,一般是名词 属性,一般是名词
关系,一般是动词
2012-6-6
13
实体型A 1 联系名 1 实体型B
实体型A 1 联系名 n 实体型B
实体型A m 联系名 n 实体型B m:n联系
14
2012-6-6
学生
16
多对多联系(m:n)
如果对于实体集A中的每一个实体,实体集B中有n 个实体(n≥0)与之联系,反之,对于实体集B中的 每一个实体,实体集A中也有m个实体(m≥0)与之 联系,则称实体集A与实体B具有多对多联系。记为 m:n 课程
实例
课程与学生之间的联系: 一门课程同时有若干个学生选修 一个学生可以同时选修多门课程
第2章 数据库设计
2012-6-6
主讲人:李翠琳
源自文库
本章目标 了解设计数据库的主要步骤; 掌握绘制数据库的E-R图
理解数据库设计的规范化
2012-6-6
2
本章任务 学生信息( Student )数据库的设计
任务一 任务二 任务三 任务四 Student数据库的需求分析 绘制Student数据库的E-R图 将Student数据库的E-R图转化为数据表 用三范式规范Student数据库的设计
任务分析:
1.熟悉关系模型中的术语(如数据表、列、主键、外键等) 2.掌握将E-R图转化为数据表的方法 3.确定数据库中主要的数据表表名,定义数据表的列(包括列名、数据类型、 长度、是否非空等),并标示各表的主外键 4. 编制数据库的数据字典。
2012-6-6
25
1 熟悉关系模型
• 关系模型指的是用二维表格来表示数据间联系的模型 • 主键:指表中的某一列或多列,其值能标识一行数据. 字段(属性) 列
糟糕的数据库设计: 数据冗余、存储空间浪费 内存空间浪费 数据更新和插入的异常
2012-6-6
6
2. 数据库设计的步骤
现实世界
信息世界 数据库世界 模型转换
建模
数 据 库
规范化
数 据 库
2012-6-6
7
分析客户的业务和数据需求 绘制数据库的E-R图
将E-R图转换为二维表,确认各表的 主外键,并规范化
2012-6-6
21
绘制局部E-R图1
Student (学生)
N
1
组成
class (班级)
学号
姓名
……
班级号
班级名
……
2012-6-6
22
绘制局部E-R图2
n
m
课程
选修
学生
课程编号
课程名
学分
学号
姓名
电话
成绩
2012-6-6
23
合并E-R图
编号 名称 领导
简介
编号
名称
负责人
简介
成立 时间
学院
1
管理
2012-6-6
9
Student数据库的需求分析 收集信息:
与该系统有关人员进行交流、坐谈,充分理解数据库需要 完成的任务 Student数据库的功能需求:
用户登录,用户包括:教师、学生和管理员,后台数据库需要存放学生 信息、教师信息和管理信息。 学籍管理,后台数据库需要存放学生名册及学生的学籍状况。 机构管理,后台数据库需要存放学校的机构信息,包括二级学院、专业、 班级信息等。 课程管理,后台数据库需要存放课程的相关信息,包括课程类别、课程 性质、课程编码、课程名称、学分、学时分配、总学时、开设学期、考 核方式等。 成绩管理,成绩管理主要是针对学生成绩进行管理, 包括学生、课程、期 末成绩、平时成绩、总评成绩等。
2012-6-6
3
本章新单词 E-R(Entity-Relationship)
2012-6-6
4
1.为什么需要设计数据库
修建茅屋需要设计吗?
修建大厦需要设计吗?
结论:当数据库比较复杂时我们需要设计数据库
2012-6-6 5
为什么需要设计数据库
良好的数据库设计 节省数据的存储空间 能够保证数据的完整性 方便进行数据库应用系统的开发
2012-6-6
10
数据需求 教师信息:登录号+姓名+职称+学历+电话号码· · · 学生:学号+姓名+联系电话+出生年月+家庭住 址· · · 专业信息:编号+名称+负责人+简介 班级信息:编号+名称+班主任+简介+人数 课程信息:课程号+课程名+类别+学分+考核方式
2012-6-6
2012-6-6
34
第一范式 (1st NF)
选课 s-name subject-no 周丽 1 s-ID
20030501
一对多联系
如果对于实体集A中的每一个实体,实体集B中有n 个实体(n≥0)与之联系,反之,对于实体集B中的 每一个实体,实体集A中至多只有一个实体与之联系, 则称实体集A与实体集B有一对多联系
记为1:n
班级 1 组成 n
实例
班级与学生之间的联系: 一个班级中有若干名学生, 每个学生只在一个班级中学习
2012-6-6
28
身份证号
姓名
性别
年龄 任期
厂号
厂名
地址
厂长
1
1
管理
工厂
厂长(身份证号,姓名,性别,年龄,厂号,任期) 工厂(厂号,厂名,地址,身份证号)
2012-6-6
29
仓库号
地点
面积 数量 1
商品号
商品名
价格
n
仓库
存放
商品
仓库(仓库号,地点,面积) 商品(商品号,商品名,价格,仓库号,数量)
11
任务二 绘制Student数据库的E-R图 (数据库概念结构设计阶段)
任务描述:
“建筑行业有施工图,数据库概念结构设计要有E-R图”,我们需要依 据E-R图与教务秘书、老师、学生等沟通,讨论数据库概要设计是否满足 客户需求。
任务分析:
E-R图是数据库概念结构设计的图形化表达方式,要绘制E-R图,首先要了解 为什么需要规范的数据库设计,然后掌握数据库概念结构设计的步骤,最 后要掌握E-R图的各要素及绘制方法,标示出实体以及实体之间的联系。
2012-6-6
m
选修
n 学生
17
任务实施
1、设计局部概念模型 (1)确定数据库所需的实体 (2)确定各实体的属性以及实体的联系,画出局 部的E-R图。 2、合并E-R图 首先将两个重要的局部E-R图合并,然后依次 将一个新局部E-R图合并进去,最终合并成一个 全局E-R图。
2012-6-6
18
概念结构设计步骤1——设计局部概念模型 标识对象(实体-Entity)
出生 年月
黄线框内可 替换为 局部ER图2
n
成绩
n
总评 成绩
QQ
取得
1
密码
学生
期末 成绩
平时成 绩
学号
姓名
1
性别
状态
联系 电话
身份 证号
取得
n
奖学金
名称
来源
2012-6-6
奖励范 围
获奖 条件
等级
金额
获奖 时间
评审 方法
24
任务三 将E-R图转化为数据表 (数据库逻辑结构设计阶段)
任务描述:
项目经理: “我需要详细的数据库逻辑设计文档《数据字典》,你要从 E-R图概念模型导出学生数据库的逻辑结构,包括所有的数据表、每个表 的所有列、主外键定义等,并且所有命名必须符合规范,我们下次例会进 行评审”
主键
2012-6-6
行(记录/ 元组)
26
外键
• 外键: 指一个表中的某个字段在另外一个表中为主键
外键
Press Author Pages Price (出版社 (作者) (页数) (定价 ) ) 04011501 数据库应用技 Sql Sever数据库技术 1 25.0 刘志成 256 术 与实训 04011502 信息处理 28.0 Excel在信息管理中的 1 郑小玲 300 应用 04011401 数据结构 128 15.0 数据结构(C语言) 3 曾海 No (编号) Course (课程) Book (书名)
相关文档
最新文档