第七章——数据库设计
文章目录
- 数据库设计
- 先上图!!
- 数据库设计概述
- 特点
- 数据库设计阶段
- 概念结构设计(☆)
- 定义:
- 概念模型的特点
- 描述概念模型的工具
- E-R模型基本概念
- 两个实体型之间的联系
- ER图
- 逻辑结构设计(☆)
- E-R图向关系模型的转换
- 转换原则
- 具有相同码的关系模式可合并
数据库设计
先上图!!
数据库设计概述
特点
- 数据库建设的基本规律
- 结构(数据)设计和行为(处理)设计相结合
数据库设计阶段
- 需求分析
- 概念结构设计
- 逻辑结构设计
- 物理结构设计
- 数据库实施
- 数据库运行和维护
需求分析和概念设计独立于任何数据库管理系统
概念结构设计(☆)
定义:
- 需求分析阶段描述的用户需求是现实世界的具体需求
- 将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程就是概念结构设计
- 概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定
- 概念结构设计是整个数据库设计的关键
概念模型的特点
- 能真实、充分地反映现实世界
- 易于理解
- 易于更改
- 易于向关系、网状、层次等各种数据模型转换
描述概念模型的工具
E-R模型(ER图)
E-R模型基本概念
实体(Entity)
- 客观存在并可相互区别的事物称为实体
- 可以是具体的人、事、物或抽象的概念
属性(Attribute)
- 实体所具有的某一特性称为属性
- 一个实体可以由若干个属性来刻画
- 例如:(李明,男,1972,江苏,计算机系,1990)
码(Key)
- 唯一标识实体的属性集称为码
联系(Relationship)
- 现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系
两个实体型之间的联系
(1)一对一联系(1:1)
定义:如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1
(2)一对多(1:n)
定义: 如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:n
(3)多对多(m:n)
定义:如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体集B具有多对多联系,记为m:n
ER图
E-R 图提供了表示实体型、属性和联系的方法:
- 实体型:用矩形表示,矩形框内写明实体名
- 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来
联系: 用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n 或m:n)
联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来
根据描述画出学校管理的E-R图
涉及的实体型有:
学生:属性有学号、姓名、性别、专业、出生日期
课程:属性有课程号、课程名、课程类别、学分
学院:属性有学院编号、学院名称、办公室电话
教职工:属性有教职工编号、姓名、职称、参加工作日期
这些实体之间的联系如下:
一个学生可以选修多门课程,一门课程可以由多个学生选修
一个学生只能属于一个学院,一个学院包括若干学生
一个教职工只能属于一个学院,一个学院包括若干教职工
一个学院只有一个正院长,一个正院长只能在一个学院任正院长职务
有若干种期刊,每种期刊属性:期刊号、期刊名、期刊类型、期刊目录属性
每种期刊有若干篇论文,每篇论文只能在一种期刊上发表,论文属性:编号、题目
一篇论文可能有多个作者,且一位作者可能写过多篇论文,作者属性:身份证号、姓名、单位、地址
请画出ER图,要求画出属性和注明联系类型
某公司拥有多个大型连锁商场,公司需要构建一个数据库系统便于管理其业务,请根据描述构建E-R图
商场需要记录商场编号(不能重复)、商场名称、商场地址、联系电话
每个商场包含很多不同部门,部门需要记录部门的编号、部门名称、位置分布、联系电话
每个部门雇佣了很多员工,每个员工只属于一个部门。员工需要记录员工编号、员工姓名、岗位、电话号码
每个部门有一个经理,每个经理只管理一个部门,经理需要记录入职时间
逻辑结构设计(☆)
逻辑结构设计的任务
- 把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构
逻辑结构设计的步骤
- 将概念结构转化为一般的关系、网状、层次模型
- 将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换
- 对数据模型进行优化
E-R图向关系模型的转换
E-R图向关系模型的转换要解决的问题
- 如何将实体型和实体间的联系转换为关系模式
- 如何确定这些关系模式的属性和码
转换内容
- E-R图由实体型、实体的属性和实体型之间的联系三个要素组成
- 关系模型的逻辑结构是一组关系模式的集合
- 将E-R图转换为关系模型:将实体型、实体的属性和实体型之间的联系转化为关系模式
转换原则
一个实体型转换为一个关系模式
- 关系的属性:实体型的属性
- 关系的码:实体型的码
一个m:n联系转换为一个关系模式
关系的属性:与该联系相连的各实体的码以及联系本身的属性
关系的码:各实体码的组合
选课(学号,课程号,成绩)
一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并
(1)转换为一个独立的关系模式
- 关系的属性:与该联系相连的各实体的码以及联系本身的属性
- 关系的码:n端实体的码
学院学生(学院编号,学号)
学院教职工(学院编号,教职工编号)
(2)与n端对应的关系模式合并
- 合并后关系的属性:在n端关系中加入1端关系的码和联系本身的属性
- 合并后关系的码:不变
可以减少系统中的关系个数,一般情况下更倾向于采用这种方法
学生(学号,姓名,性别,专业,出生日期,学院编号)
课程(课程编号,课程名称,课程类别,学分)
学院(学院编号,学院名称,办公室电话,院长教职工编号)
教职工(教职工编号,姓名,参加工作时间,职称,学院编号)
选课(学号,课程号,成绩)
一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并
转换为一个独立的关系模式
- 关系的属性:与该联系相连的各实体的码以及联系本身的属性
- 关系的候选码:每个实体的码均是该关系的候选码
与某一端的关系模式合并
- 合并后关系的属性:加入另一端关系的码和联系本身的属性
- 合并后关系的码:不变
“管理”联系为1:1联系
(1)转换为独立的关系模式
- 管理(职工号,班级号)或 管理(职工号,班级号)
(2)“管理”与“班级”关系模式合并
- 班级(班级号,学生人数,职工号)
(3)“管理”与“教师”关系模式合并
- 教师(职工号,姓名,性别,职称,班级号)
具有相同码的关系模式可合并
目的:减少系统中的关系个数
合并方法:将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性的次序
系(系名,系址,系主任姓名,办公电话)
教师(工号,教师名,出生日期,党派,系名)
学生(学号,姓名,出生日期、性别、指导教师工号)
课程(课程号,课程名,先修课号,任课教师工号)
选修(学号,课程号,成绩)
下图中显示一张交通违章处罚通知书,根据这张通知书所提供的信息,设计一个E-R模型,并将这个E-R模型转换成关系数据模型,要求标注主码和外码。注:驾驶执照号和机动车牌照号是不同的
(1)根据以上描述画出E-R图,要求画出属性和注明联系类型
(2)将E-R图转换为一组关系模式(表尽可能少),并给出每个关系模式的主键和外键(如果存在)
处罚(处罚方式)
被处罚人(驾驶执照号,姓名,地址,邮编,电话)
机动车(机动车牌照号,型号,制造厂,生产日期)
交通违章通知书(编号,驾驶执照号,机动车牌照号,处罚方式,警察编号,警察签字,被处罚人签字)
第七章——数据库设计相关推荐
- 数据库系统概念总结:第七章 数据库设计和E-R模型
周末无事水文章,期末备考的总结资料 第七章 数据库设计和E-R模型 7.1 设计过程概览 7.1.1 设计阶段 需要完整地刻画未来数据库用户的数据需求 选择数据模型,并采用所选数据模型的概念将这些需求 ...
- (数据库系统概论|王珊)第七章数据库设计-第一节:数据库设计概述
注意:此部分内容和软件工程的知识点重合较多,更多请点击[免费分享]软件工程核心知识点 本章较分散,各节导航如下 (数据库系统概论|王珊)第七章数据库设计-第二节:需求分析 (数据库系统概论|王珊)第七 ...
- 数据库系统概论:第七章 数据库设计
7.1 数据库设计概述 数据库设计,广义上讲,是数据库及其应用系统的设计,即设计整个数据库应用系统:狭义上讲,是设计数据库本身,即设计数据库的各级模式并建立数据库,这是数据库应用系统设计的一部分. 数 ...
- (数据库系统概论|王珊)第七章数据库设计-第二节:需求分析
文章目录 一:需求分析的任务 二:需求分析的步骤和方法 (1)步骤 (2)方法 三:数据字典 (1)定义 (2)组成 ①:数据项 ②:数据结构 ③:数据流 ④:数据存储 ⑤:处理过程 注意 更多可参照 ...
- 数据库系统概论 第七章 数据库设计(1)特点,概述,设计方法,规范设计方法,新奥尔良方法,用户和数据库管理员,模式,外模式,概念模式,逻辑模式,内模式,需求分析,数据项,数据流,数据存储,处理过程
关注公众号凡花花的小窝,收获更多的考研计算机专业编程相关的资料 7.1数据库设计概述 广义的讲,是数据库及其应用系统的设计,即设计整个数据库应用系统 狭义的将,是设计数据库本身,即设计数据库的各级模式 ...
- 第七章 数据库设计 E-R模型
本章重点放在E-R模型和E-R图,这是这一章节最常用且非常重要的一个知识点,本章的目的就是讲述一个E-R图是怎么画出来的. 什么是E-R模型? E-R模型是有P.P.S.Chen提出的一个用E-R图描 ...
- 数据库系统:第七章数据库设计
7.1 数据库设计概述 数据库设计: 广义地讲,设计整个数据库应用系统. 侠义地讲,是指设计数据库本身. 一般性定义:数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构, ...
- (数据库系统概论|王珊)第七章数据库设计:习题
名词解释 数据库设计(database design):数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满 ...
- (数据库系统概论|王珊)第七章数据库设计-第三节:概念结构设计
pdf下载:密码7281 专栏目录首页:[专栏必读](考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解 文章目录 一:E-R模型 (1)两个实体之间的联系 ①:一对一联系( ...
最新文章
- WIKI与BLOG殊途同归(转)
- https的基本原理,看完你的程序员女朋友再也不和你提分手了
- Android应用程序的五大基本组件
- php 多个数组乘积_VLOOKUP参数使用数组
- qhfl-4 注册-登录-认证
- .NET 5 自身就是一个 .NET Standard
- Java多线程(学习总结,持续更新)
- LeetCode——最小栈
- 2018美赛b题论文翻译
- 新书上市 | 学校没有教的科学写作指南
- 开发者故事|朝九晚六大小周,我就是快乐的技术人
- 一件虚拟连衣裙价值9500美元?然而这只是数字服装的开始……
- php 联合查询,多表联合查询
- 找不到NC系统VO以及方法的解决方法
- Swoole进阶——02 内存之Table
- SegmentFault 思否发布开源问答社区软件 Answer
- C语言拼图游戏——Windows下基于EasyX且支持鼠标与键盘操作
- 12:C语言之小球自由落体运动
- 关闭不断输出的batch acquisition of 0 triggers
- 天地飞9设置Pixhawk/PX4六段开关