第1章 数据库的设计02_第1页
第1章 数据库的设计02_第2页
第1章 数据库的设计02_第3页
第1章 数据库的设计02_第4页
第1章 数据库的设计02_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 大外软件学院计算机教研室大外软件学院计算机教研室 授课教师:景雨授课教师:景雨SQL ServerSQL Server数据库应用数据库应用1.1 1.1 数据库基本概念数据库基本概念1.2 1.2 数据库设计数据库设计1.3 1.3 数据库应用系统数据库应用系统1.4 1.4 SQL Server 2005 SQL Server 2005环境环境一、为什么要进行数据库设计?一、为什么要进行数据库设计? 一个信息系统的各个部分能否紧密地结合在一个信息系统的各个部分能否紧密地结合在一起以及如何结合,关键在数据库。因此只有对一起以及如何结合,关键在数据库。因此只有对数据库进行合理地数据库进行合理地

2、逻辑设计逻辑设计和有效地和有效地物理设计物理设计才才能开发出完善而高效的信息系统。所以数据库设能开发出完善而高效的信息系统。所以数据库设计是信息系统开发和建设的重要组成部分。计是信息系统开发和建设的重要组成部分。 把信息系统中大量的数据按一定的模型组织把信息系统中大量的数据按一定的模型组织起来起来 提供存储、维护、检索数据的功能提供存储、维护、检索数据的功能 使信息系统可以方便、及时、准确地从数据使信息系统可以方便、及时、准确地从数据库中获得所需的信息库中获得所需的信息. .二、什么是数据库设计?二、什么是数据库设计? 数据库设计就是对于一个给定的应用环境数据库设计就是对于一个给定的应用环境n

3、 构造最优的数据库模式;构造最优的数据库模式;n 建立高效的数据库以及应用系统;建立高效的数据库以及应用系统;n 能够有效地存储和管理数据;能够有效地存储和管理数据;n 满足用户的信息要求和处理要求;满足用户的信息要求和处理要求;n 能够广泛地被数据库管理系统接受;能够广泛地被数据库管理系统接受;(1 1) 关系模式的设计方法关系模式的设计方法(2 2) 新奥尔良(新奥尔良(New OrleansNew Orleans)设计方法设计方法(3 3) 基于基于E-RE-R模型的数据库设计方法模型的数据库设计方法(4 4) 基于基于3NF3NF的设计方法的设计方法(5 5) 基于抽象语法规范的设计方

4、法基于抽象语法规范的设计方法(6 6) 计算机辅助数据库设计方法计算机辅助数据库设计方法四、数据库设计的基本步骤:四、数据库设计的基本步骤:1. 系统规划阶段系统规划阶段2. 需求分析阶段需求分析阶段3. 概念结构设计阶段概念结构设计阶段4. 逻辑结构设计阶段逻辑结构设计阶段5. 物理结构设计阶段物理结构设计阶段6. 数据库实施阶段数据库实施阶段7. 数据库运行和维护阶段数据库运行和维护阶段系统规划的任务:系统规划的任务: 确定系统名称、范围确定系统名称、范围 确定系统开发目标功能和性能确定系统开发目标功能和性能 确定系统所需要的资源确定系统所需要的资源 确定系统开发成本确定系统开发成本 确定

5、系统实施计划和进度确定系统实施计划和进度 确定系统设计的原则和技术路线确定系统设计的原则和技术路线系统规划的成果:系统规划的成果:可行性分析报告可行性分析报告数据库应用系统规划书数据库应用系统规划书 一、需求分析定义与任务一、需求分析定义与任务1.需求分析就是分析用户的需要与要求需求分析就是分析用户的需要与要求需求分析是设计数据库的起点需求分析是设计数据库的起点需求分析的结果是否准确地反映了用户的实际要需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。到设计结果是否合理和实用。2.2. 需求分

6、析的重点是调查、收集与分析用户在数据管理需求分析的重点是调查、收集与分析用户在数据管理中的中的信息要求、处理要求、安全性与完整性要求信息要求、处理要求、安全性与完整性要求。 概念结构设计概念结构设计是整个数据库是整个数据库设计的关设计的关键键,其主要任务是在需求分析阶段产生,其主要任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方的需求说明书的基础上,按照特定的方法把它们抽象为一个不依赖于任何具体法把它们抽象为一个不依赖于任何具体机器的数据模型,即机器的数据模型,即概念模型概念模型 。 概念设计可以采用:概念设计可以采用: 自顶向下自顶向下 自底向上自底向上 逐步扩张逐步扩张 混合策略

7、混合策略 进行数据抽象进行数据抽象 设计局部概念结构(设计局部概念结构(ER图法)图法) 将局部概念结构合并成全局概念结构将局部概念结构合并成全局概念结构 全局概念结构的优化全局概念结构的优化 E-R模型是由模型是由 P. S. Chen(美籍华人陈平(美籍华人陈平山)于山)于1967年提出的实体年提出的实体联系方法(联系方法(Entity-Relationship Approach) E-RE-R图来描述现实世界的概念模型。图来描述现实世界的概念模型。 E-RE-R图提供了表示实体、属性和联系的方法图提供了表示实体、属性和联系的方法概念模型的概念模型的E-R图表示方法图表示方法 A. 实体实

8、体 (Entity):表示客观事物。表示客观事物。 B. 属性属性 (Attributes) : 表示客观事物的特征(属性)表示客观事物的特征(属性) C. 联系联系 (Relations) : 客观事物之间的联系客观事物之间的联系 (1)ER(1)ER模型中的三要素模型中的三要素(三个基本语义)(三个基本语义)(2) (2) 刻划工具:实体刻划工具:实体- -联系图联系图(ER(ER图)图)实体实体 用用矩形矩形表示,矩形框内写明实体名。表示,矩形框内写明实体名。 属性属性 用用椭圆椭圆表示,椭圆内写明属性名,用无表示,椭圆内写明属性名,用无向边将属性与实体连起来。向边将属性与实体连起来。联

9、系联系 用用菱形菱形表示,菱形框内写表示,菱形框内写明联系名,用无向边与有明联系名,用无向边与有关实体连接起来,同时在关实体连接起来,同时在无向边上注明联系类型(无向边上注明联系类型(1:1、1:n或或m:n)。)。 注意:联系也可以有属性注意:联系也可以有属性,如果一个联系具有属性,如果一个联系具有属性,则这些属性也要用无向,则这些属性也要用无向边与该联系连接起来。边与该联系连接起来。课程课程选修选修学生学生mn成绩成绩(3 3)联系的类型)联系的类型两个不同实体之间的联系有三种类型:两个不同实体之间的联系有三种类型: 一对一联系(一对一联系(1:1) 实例实例一个班级只有一个正班长一个班级

10、只有一个正班长一个班长只在一个班中任职一个班长只在一个班中任职 定义:定义: 如果对于实体集如果对于实体集A中的每一个实体,实中的每一个实体,实体集体集B中至多有一个(也可以没有)实中至多有一个(也可以没有)实体与之联系,反之亦然,体与之联系,反之亦然,则称实体集则称实体集A与实体集与实体集B具有一对一联系,具有一对一联系,记为记为1:1 观众与座位观众与座位国家与首都国家与首都病人与病床病人与病床学校与校长学校与校长灯泡与灯座灯泡与灯座例如例如: : 一对多联系(一对多联系(1:n) 实例实例一个班级中有若干名学生,一个班级中有若干名学生,每个学生只在一个班级中学习每个学生只在一个班级中学习

11、 定义:定义:如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中中有有n个实体(个实体(n0)与之联系,反之,对于实体)与之联系,反之,对于实体集集B中的每一个实体,实体集中的每一个实体,实体集A中至多只有一个中至多只有一个实体与之联系,则称实体与之联系,则称实体集实体集A与实体集与实体集B有一对有一对多联系,记为多联系,记为1:n城市与街道城市与街道宿舍与学生宿舍与学生父亲与子女父亲与子女学院与教师学院与教师例如例如: : 多对多联系(多对多联系(m:n) 实例实例课程与学生之间的联系:课程与学生之间的联系:一门课程同时有若干个学生选修一门课程同时有若干个学生选修

12、一个学生可以同时选修多门课程一个学生可以同时选修多门课程 定义:定义:如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中中有有n个实体(个实体(n0)与之联系,反之,对于实)与之联系,反之,对于实体集体集B中的每一个实体,实体集中的每一个实体,实体集A中也有中也有m个实个实体(体(m0)与之联系,则称实体集)与之联系,则称实体集A与实体与实体B具有多对多联系,记为具有多对多联系,记为m:n学生与课程学生与课程工厂与产品工厂与产品商店与顾客商店与顾客影片与观众影片与观众例如例如: :建立建立E-RE-R图的过程如下:图的过程如下: (a)(a)确定实体类型确定实体类型

13、 (b)(b)确定联系类型确定联系类型 (c)(c)把实体类型和联系类型组合成把实体类型和联系类型组合成E-RE-R图图 (d)(d)确定实体类型和联系类型的属性。确定实体类型和联系类型的属性。 (e)(e)确定实体类型的关键码,在属性名下划一横线。确定实体类型的关键码,在属性名下划一横线。 三三、采用采用E-R方法的数据库概念方法的数据库概念设计的步骤设计的步骤: A A、设计局部设计局部E-RE-R模型模型 B B、设计全局设计全局E-RE-R模型模型 C C、优化全局优化全局E-RE-R模型模型设计全局概念模型分两步实现:设计全局概念模型分两步实现:1)合并)合并 将局部概念模型整理将局

14、部概念模型整理合并合并成全局概念模型成全局概念模型2)解决冲突解决冲突 解决解决各种局部各种局部E-RE-R图之间的图之间的冲突冲突问题,生成问题,生成初步初步E-RE-R图。图。 (a)(a)属性冲突属性冲突, ,如属性值的类型、取值范围如属性值的类型、取值范围及取值单位,生日和年龄,及取值单位,生日和年龄,cmcm和和m m,学学生编号的方式;生编号的方式;(b)(b)结构冲突,如在某局部结构冲突,如在某局部ERER图中课程是图中课程是属性,而在另一局部属性,而在另一局部ERER图中课程是实图中课程是实体;体;(c)(c)命名命名(实体、属性、联系)(实体、属性、联系)冲突冲突, 同名异义

15、同名异义:教室和宿舍均称为房间;:教室和宿舍均称为房间; 异名同义异名同义:如教材和课本;:如教材和课本; 一个一个好好的全局的全局E-RE-R模型除能准确、模型除能准确、全面地反映用户功能外,还应满足下全面地反映用户功能外,还应满足下列条件列条件: 实体类型实体类型的个数尽可能的个数尽可能少少; 实体类型所含实体类型所含属性属性的个数尽可能的个数尽可能少少; 实体类型间实体类型间联系冗余最小联系冗余最小;优化目的和任务优化目的和任务:消除不必要的冗余,:消除不必要的冗余,使其保持最小冗余度。使其保持最小冗余度。1 1)实体类型的合并实体类型的合并,如系主任和系,如系主任和系2 2)冗余冗余属

16、性属性的消除的消除,如,如生日和年龄生日和年龄3 3)冗余冗余联系联系的消除的消除系系系主任系主任担任担任11系系系名办公地点联系电话系主任名实体类型的合并实体类型的合并 商店与商品之间存在商店与商品之间存在“销售销售”关系,每个商店可销关系,每个商店可销售多种商品,每种商品也可放多个商店销售,每个售多种商品,每种商品也可放多个商店销售,每个商店每销售一种商品,有月销售量;商店与职工之商店每销售一种商品,有月销售量;商店与职工之间存在着间存在着“聘用聘用”关系,每个商店有许多职工,每关系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘用个职工只能在一个商店工作,商店聘用职工有

17、聘用期和工资。期和工资。 商店的属性商店的属性有商店编号、商店名、地址等;有商店编号、商店名、地址等;商品商品的属性的属性有商品名、商品号、规格、单价等;有商品名、商品号、规格、单价等;职工的职工的属性属性有职工编号、姓名、性别、业绩等。有职工编号、姓名、性别、业绩等。 根据需求画出根据需求画出E-R图。在图。在E-R图中需注明实体的属性、图中需注明实体的属性、联系的类型以及实体的码。联系的类型以及实体的码。用用E-R图表示某个工厂物资管理的概念模型图表示某个工厂物资管理的概念模型 物资管理涉及的物资管理涉及的实体实体及其及其属性属性: 仓库:仓库: 仓库号、面积、电话号码仓库号、面积、电话号

18、码 零件零件 :零件号、名称、规格、单价、描述零件号、名称、规格、单价、描述 供应商:供应商:供应商号、姓名、地址、电话号码、帐号供应商号、姓名、地址、电话号码、帐号 项目:项目:项目号、预算、开工日期项目号、预算、开工日期 职工:职工:职工号、姓名、年龄、职称职工号、姓名、年龄、职称 实体之间的联系如下:实体之间的联系如下: (1)一个仓库可以存放多种零件,一种零件可以存放在多个仓一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。库中。仓库和零件具有多对多的联系仓库和零件具有多对多的联系。用。用库存量库存量来表示某来表示某种零件在某个仓库中的数量。种零件在某个仓库中的数量。(2)一个仓

19、库有多个职工当仓库保管员,一个职工只能在一个一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,仓库工作,仓库和职工之间是一对多的联系仓库和职工之间是一对多的联系。职工实体型职工实体型中具有一对多的联系中具有一对多的联系 (3)职工之间具有领导职工之间具有领导-被领导关系被领导关系。即仓库主任领导若干保管。即仓库主任领导若干保管员。员。(4)供应商、项目和零件三者之间具有多对多供应商、项目和零件三者之间具有多对多的联系的联系由于由于DBMSDBMS一般采用关系数据模型,因此数据库的一般采用关系数据模型,因此数据库的逻辑结构设计逻辑结构设计,就是将概念结构设计中所得到的,就是将概念结构设

20、计中所得到的E-RE-R图转换成等价的关系模式图转换成等价的关系模式。概念结构设计概念结构设计是对客观世界的描述,与实现无关;是对客观世界的描述,与实现无关;而而逻辑结构设计逻辑结构设计依赖于实现的基础依赖于实现的基础DBMSDBMS。逻辑结构设计的过程逻辑结构设计的过程 1.1. 问题一:转换的原则是什么?问题一:转换的原则是什么?2.2. 问题二:关系模式是随便转化的么?问题二:关系模式是随便转化的么?3.3. 问题三:如何把转换后的关系模式变得优化?问题三:如何把转换后的关系模式变得优化?关系数据库的逻辑结构由一组关系模式组成关系数据库的逻辑结构由一组关系模式组成, ,因因而,从概念结构

21、到关系数据库逻辑结构的转换而,从概念结构到关系数据库逻辑结构的转换就是从就是从E-RE-R图转换为关系模式。具体转换方法是:图转换为关系模式。具体转换方法是:原则原则1: 一个一个实体类型实体类型转换为一个关系模式,实体的转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的属性就是关系的属性,实体的码就是关系的码。码。课程课程课程号课程号 学分学分课程名课程名学生学生 学学号号 年龄年龄 姓名姓名 性别性别例例: :将学生实体和课程实体分别转换成两个关系模式。将学生实体和课程实体分别转换成两个关系模式。学生关系模式学生关系模式( (学号学号, ,姓名姓名, ,性别性别, ,年龄年龄

22、) )课程关系模式课程关系模式( (课程号课程号, ,课程名称课程名称, ,学分学分) )原则原则2 2m m:n n的联系的联系 一个一个m m:n n联系转换为一个独立的关系模式联系转换为一个独立的关系模式,与该联系相连的各实体的码以及联系本身的与该联系相连的各实体的码以及联系本身的属性均转为新关系的属性,属性均转为新关系的属性,而新关系的码是而新关系的码是各实体码的组合。各实体码的组合。 教师表教师表(教师号,教师名,职称) 课程表课程表(课程号,课程名,学分) 授课表授课表(教师号,课程号,授课时数)nm课程课程教师教师授课授课教师名教师名教师号教师号课程号课程号课程名课程名学分学分职

23、称职称授课时数授课时数原则原则3 31 1:n n的联系的联系一个一个1 1:n n联系可以转换为一个独立的关系联系可以转换为一个独立的关系模式,模式,则与该联系相连的各实体的码以及则与该联系相连的各实体的码以及联系本身的属性均转换为新关系的属性,联系本身的属性均转换为新关系的属性,而新关系的而新关系的码为码为n n端实体的码端实体的码。也可以与也可以与n n端对应的关系模式合并。端对应的关系模式合并。只需只需要将联系本身的属性和要将联系本身的属性和1 1端实体的键加入端实体的键加入到到n n端对应的关系模式中。端对应的关系模式中。与与n端合并:端合并: 部门表部门表(部门号,部门名) 职工表

24、职工表(职工号,部门号,职工名,工资) 或者:产生独立的关系模式:产生独立的关系模式: 部门表部门表(部门号,部门名) 职工表职工表(职工号,职工名,工资) 工作表工作表(职工号,部门号)n1职工职工部门部门工工作作部门名部门名部门号部门号职工号职工号职工名职工名工资工资一个一个1:1联系可以转换为一个独立的关联系可以转换为一个独立的关系模式系模式,则与该联系相连的实体的码以,则与该联系相连的实体的码以及联系本身的属性均转换为关系的属性,及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码,每个实体的码均是该关系的候选码,也可以与任意一端对应的关系模式合并也可以与任意一端对应的关

25、系模式合并。则需要在该关系模式的属性中加入另一则需要在该关系模式的属性中加入另一关系模式的码和联系本身的属性。关系模式的码和联系本身的属性。原则原则4 41 1:1 1的联系的联系 部门表部门表(部门号,部门名,经理号) 经理表经理表(经理号,经理名,电话)或者:或者: 部门表部门表(部门号,部门名) 经理表经理表(经理号,部门号,经理名,电话)11经理经理部门部门管理管理部门名部门名部门号部门号经理号经理号经理名经理名电话电话原则原则5 5三个或三个以上实体三个或三个以上实体间的一个多元联系间的一个多元联系转换为一个关系模式。与该多元联系相连的各实转换为一个关系模式。与该多元联系相连的各实体

26、的码以及联系本身的属性均转换为关系的属性。体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。而关系的码为各实体码的组合。原则原则6 6同一实体集同一实体集的实体间的联系,即自联系,的实体间的联系,即自联系,也可按上述也可按上述1:11:1、1:n1:n和和m:nm:n三种情况分别处理。三种情况分别处理。原则原则7 7具有相同码的关系模式具有相同码的关系模式可合并可合并。原则原则5 5三个或三个以上实体三个或三个以上实体间的一个多元联系转换间的一个多元联系转换为一个关系模式。与该多元联系相连的各实体的码以为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为

27、关系的属性。而关系的码及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。为各实体码的组合。原则原则6 6同一实体集同一实体集的实体间的联系,即自联系,的实体间的联系,即自联系,也可按上述也可按上述1:11:1、1:n1:n和和m:nm:n三种情况分别处理。三种情况分别处理。原则原则7 7具有相同码的关系模式具有相同码的关系模式可合并可合并。例如:例如: 每个工厂生产多种产品,且每种产品可以在多个每个工厂生产多种产品,且每种产品可以在多个工厂中生产,工厂中生产,每个工厂按照固定的计划数量生产产品每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每个职工只能在一个工厂每个工

28、厂聘用多名职工,且每个职工只能在一个工厂工作,工作,工厂聘用职工有聘用期和工资工厂聘用职工有聘用期和工资。 工厂的属性工厂的属性有工厂编号、厂名、地址,有工厂编号、厂名、地址,产品的属产品的属性性有产品编号、产品名、规格,有产品编号、产品名、规格,职工的属性职工的属性有职工号、有职工号、姓名。姓名。 (1 1)根据需求画出)根据需求画出E-RE-R图,并在图,并在E-RE-R图中注明实体的属图中注明实体的属性、联系的类型以及实体标识符。性、联系的类型以及实体标识符。 (2 2)将)将E-RE-R图转换成关系模式,并用下画线标出每个图转换成关系模式,并用下画线标出每个关系模式的主码。关系模式的主码。(1 1)E-RE-R图图 (2 2)关系模式)关系模式 工厂(工厂(工厂编号工厂编号,厂名,地址),厂名

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论