大学数据库教学课件第五章数据库设计
合集下载
第5章 关系数据库设计PPT教学课件
• 对于例5-1,分解为三个新的关系模式:
学生-系(学号,姓名,系名) 学生成绩(学号,课程号,成绩)
系-系主任(系名,系主任名)
2020/12/11
5
• 那么如何判断分解后的三个关系模式是否是 “好”模式呢?
• 这就需要从理论上来解决这个关系数据库的 逻辑设计问题。
• 这个理论就是关系规范化理论,通过分解关 系模式来消除其中不合适的数据依赖,以解 决插入异常、删除异常、更新异常和数据冗 余问题。
• 关系数据库设计需要找到一个“好”的 关系模式,避免数据冗余、避免数据更 新时的各种异常。
2020/12/11
2
5.1 关系数据库设计中出现的问题
【例5-1】试分析以下关系模式是否存在问题。
学生信息(学号,姓名,系名,系主任名, 课程号,成绩),
该关系模式包含如下语义:书71页
通过分析,确定主键为(学号,课程号),但 这是一个“不好”的关系模式。该关系模式主 要存在以下问题:
2020/12/11
14
5.3关系模式的规范化
1、第一范式 定义8 如果一个关系模式R的所有属性都是不
可分的基本数据项,则R∈1NF。
2020/12/11
15
2、第二范式
定义11 如果R∈1NF,且每一个非主属性完全 函数依赖于候选码,则R∈2NF。
• 由定义可以看出2NF在1NF基础上消除了非主 属性对候选码的部分函数依赖。
• 因此,关系模式学生-系不属于第三范式。将
其投影分解,将传递依赖的属性分离出来。分 解为:
学生(学号,姓名,系名)
系(系名,系主任名)
2020/12/11
19
5.4 数据库设计过程
• 数据库设计是软件工程的一个部分,主 要包括6个阶段:需求分析阶段、概念 结构设计阶段、逻辑结构设计阶段、数 据库物理设计阶段、数据库实施阶段、 数据库运行和维护阶段。
学生-系(学号,姓名,系名) 学生成绩(学号,课程号,成绩)
系-系主任(系名,系主任名)
2020/12/11
5
• 那么如何判断分解后的三个关系模式是否是 “好”模式呢?
• 这就需要从理论上来解决这个关系数据库的 逻辑设计问题。
• 这个理论就是关系规范化理论,通过分解关 系模式来消除其中不合适的数据依赖,以解 决插入异常、删除异常、更新异常和数据冗 余问题。
• 关系数据库设计需要找到一个“好”的 关系模式,避免数据冗余、避免数据更 新时的各种异常。
2020/12/11
2
5.1 关系数据库设计中出现的问题
【例5-1】试分析以下关系模式是否存在问题。
学生信息(学号,姓名,系名,系主任名, 课程号,成绩),
该关系模式包含如下语义:书71页
通过分析,确定主键为(学号,课程号),但 这是一个“不好”的关系模式。该关系模式主 要存在以下问题:
2020/12/11
14
5.3关系模式的规范化
1、第一范式 定义8 如果一个关系模式R的所有属性都是不
可分的基本数据项,则R∈1NF。
2020/12/11
15
2、第二范式
定义11 如果R∈1NF,且每一个非主属性完全 函数依赖于候选码,则R∈2NF。
• 由定义可以看出2NF在1NF基础上消除了非主 属性对候选码的部分函数依赖。
• 因此,关系模式学生-系不属于第三范式。将
其投影分解,将传递依赖的属性分离出来。分 解为:
学生(学号,姓名,系名)
系(系名,系主任名)
2020/12/11
19
5.4 数据库设计过程
• 数据库设计是软件工程的一个部分,主 要包括6个阶段:需求分析阶段、概念 结构设计阶段、逻辑结构设计阶段、数 据库物理设计阶段、数据库实施阶段、 数据库运行和维护阶段。
数据库设计课件
17
03 数据库概念设计
2024/1/27
18
概念设计的目标与任务
01
目标
02
确定组织或企业的数据和信息需求。
2024/1/27
03
建立一个反映这些需求的概念模型。
19
概念设计的目标与任务
为逻辑设计打下基础。
任务
进行需求收集和分析。
2024/1/27
20
概念设计的目标与任务
定义和描述应用领域涉及的数据对象。
灰盒测试
结合黑盒和白盒测试,对数据库进行全面测试
44
数据库的维护与管理
要点一
数据的备份与恢复
定期备份数据库,确保数据安全;在数据出现问题时,能 够及时恢复数据
要点二
数据库性能优化
通过对数据库性能进行监控和分析,找出性能瓶颈,进行 优化2024/1/2745数据库的维护与管理
• 数据库安全管理:加强对数据库的访问控制和安全审计,确保数据库安全
2024/1/27
测试数据库性能和稳定性
42
数据库的试运行与测试
2024/1/27
01
试运行的内容
02
对数据库进行各种操作,包括数据的增删改查等
03
模拟实际业务场景,进行压力测试和性能测试
43
数据库的试运行与测试
2024/1/27
黑盒测试
通过输入数据和预期结果,验证数据库功能的正确性
白盒测试
对数据库内部结构和代码进行测试,确保数据库的稳定性和性能
多对多联系
创建一个新的关系模式,将参与联系的实体的主 键作为新关系的属性,同时加入联系本身的属性
2024/1/27
30
数据模型的优化与调整
03 数据库概念设计
2024/1/27
18
概念设计的目标与任务
01
目标
02
确定组织或企业的数据和信息需求。
2024/1/27
03
建立一个反映这些需求的概念模型。
19
概念设计的目标与任务
为逻辑设计打下基础。
任务
进行需求收集和分析。
2024/1/27
20
概念设计的目标与任务
定义和描述应用领域涉及的数据对象。
灰盒测试
结合黑盒和白盒测试,对数据库进行全面测试
44
数据库的维护与管理
要点一
数据的备份与恢复
定期备份数据库,确保数据安全;在数据出现问题时,能 够及时恢复数据
要点二
数据库性能优化
通过对数据库性能进行监控和分析,找出性能瓶颈,进行 优化2024/1/2745数据库的维护与管理
• 数据库安全管理:加强对数据库的访问控制和安全审计,确保数据库安全
2024/1/27
测试数据库性能和稳定性
42
数据库的试运行与测试
2024/1/27
01
试运行的内容
02
对数据库进行各种操作,包括数据的增删改查等
03
模拟实际业务场景,进行压力测试和性能测试
43
数据库的试运行与测试
2024/1/27
黑盒测试
通过输入数据和预期结果,验证数据库功能的正确性
白盒测试
对数据库内部结构和代码进行测试,确保数据库的稳定性和性能
多对多联系
创建一个新的关系模式,将参与联系的实体的主 键作为新关系的属性,同时加入联系本身的属性
2024/1/27
30
数据模型的优化与调整
数据库设计ppt课件
– 教课信息:为本学期开课的所有课程保留一条信息
• 课程 • 开课教师 • 开课地点 • 选课学期
– 教室信息:教室号和座位数
学籍管理系统需求分析
• 数据完整性约束
– Id号唯一 – 注册的学生数目不能大于该课程的最大人数 – 在相同时间,不能为一个教员指派两门课程 – 相同的时间,一个教室不能有两门课程 – 若学生选修一门课程,若该课程有预备课程则学生
程序编码、 编译联结、 测试
Main( ) …… if…… then …… end
运 行 、 性能监测、转储/恢复
维护
数据库重组和重构
新旧系统转换、运行、维护(修正性、 适应性、改善性维护)
需求分析
• 需求分析就是分析用户的需要与要求
– 需求分析是设计数据库的起点 – 需求分析的结果是否准确地反映了用户的实际要求,
E-R集成冲突
• 两类命名冲突
– 同名异义:不同意义的对象在不同的局部应用中具 有相同的名字 例,局部应用A中将教室称为房间 局部应用B中将学生宿舍称为房间
– 异名同义(一义多名):同一意义的对象在不同的 局部应用中具有不同的名字 例,有的部门把教科书称为课本 有的部门则把教科书称为教材
E-R集成冲突
3. 概括(Generalization)(子类)
– 它抽象了类型之间的“is subset of”的语义 – 概括有一个很重要的性质:继承性。
ER集成的两种方式
• 一次集成
• 一次集成多个分E-R图 • 通常用于局部视图比较简单时
• 逐步累积式(P224图6.25(b))
• 首先集成两个局部视图(通常是比较关键 的两个局部视图)
• 混合策略
Байду номын сангаас
• 课程 • 开课教师 • 开课地点 • 选课学期
– 教室信息:教室号和座位数
学籍管理系统需求分析
• 数据完整性约束
– Id号唯一 – 注册的学生数目不能大于该课程的最大人数 – 在相同时间,不能为一个教员指派两门课程 – 相同的时间,一个教室不能有两门课程 – 若学生选修一门课程,若该课程有预备课程则学生
程序编码、 编译联结、 测试
Main( ) …… if…… then …… end
运 行 、 性能监测、转储/恢复
维护
数据库重组和重构
新旧系统转换、运行、维护(修正性、 适应性、改善性维护)
需求分析
• 需求分析就是分析用户的需要与要求
– 需求分析是设计数据库的起点 – 需求分析的结果是否准确地反映了用户的实际要求,
E-R集成冲突
• 两类命名冲突
– 同名异义:不同意义的对象在不同的局部应用中具 有相同的名字 例,局部应用A中将教室称为房间 局部应用B中将学生宿舍称为房间
– 异名同义(一义多名):同一意义的对象在不同的 局部应用中具有不同的名字 例,有的部门把教科书称为课本 有的部门则把教科书称为教材
E-R集成冲突
3. 概括(Generalization)(子类)
– 它抽象了类型之间的“is subset of”的语义 – 概括有一个很重要的性质:继承性。
ER集成的两种方式
• 一次集成
• 一次集成多个分E-R图 • 通常用于局部视图比较简单时
• 逐步累积式(P224图6.25(b))
• 首先集成两个局部视图(通常是比较关键 的两个局部视图)
• 混合策略
Байду номын сангаас
《数据库课程设计》课件
常见的物理设计工具包括Oracle SQL Developer等。
04
数据库实现与优化
数据建模工具与数据库创建
数据建模工具介绍
详细介绍常用的数据建模工具,如 ERD工具、数据库设计软件等,以及 它们在数据库设计中的重要性和应用 。
数据库创建流程
阐述如何使用数据建模工具进行数据 库的物理设计,包括创建表、视图、 索引等数据库对象,以及如何设置存 储过程和触发器等。
数据库设计概述
数据库设计定义
数据库设计是指根据需求分析结果,规划并建立数据库系统的过程 。
数据库设计目标
目标是建立一个高效、可靠、可维护的数据库系统,满足用户的需 求,并保证数据的一致性、完整性和安全性。
数据库设计步骤
包括需求分析、概念设计、逻辑设计、物理设计等阶段。
需求分析
需求分析定义
需求分析是数据库设计的第一步,主要任务 是收集、分析和整理用户需求,明确系统功 能和性能要求。
05
数据库课程设计案例分析
案例一:学生信息管理系统
总结词
简单实用、贴近实际
详细描述
学生信息管理系统是一个常见的数据库应用案例,主要用于管理学生信息,包括 学生基本信息、成绩、选课等内容。该系统采用关系型数据库,通过数据表的形 式存储和管理数据,实现对学生信息的增删改查等操作。
案例一:学生信息管理系统
需求分析方法
可以采用问卷调查、面谈、观察等方式进行需求收 集,并利用数据流图、数据字典等工具进行需求分 析和整理。
需求分析结果
需求分析的结果是形成数据字典和数据流图 ,为后续设计提供基础。
概念设计
01
概念设计定义
概念设计是根据需求分析结果, 使用概念模型(如实体-关系模 型)对系统进行高级设计的过程 。
04
数据库实现与优化
数据建模工具与数据库创建
数据建模工具介绍
详细介绍常用的数据建模工具,如 ERD工具、数据库设计软件等,以及 它们在数据库设计中的重要性和应用 。
数据库创建流程
阐述如何使用数据建模工具进行数据 库的物理设计,包括创建表、视图、 索引等数据库对象,以及如何设置存 储过程和触发器等。
数据库设计概述
数据库设计定义
数据库设计是指根据需求分析结果,规划并建立数据库系统的过程 。
数据库设计目标
目标是建立一个高效、可靠、可维护的数据库系统,满足用户的需 求,并保证数据的一致性、完整性和安全性。
数据库设计步骤
包括需求分析、概念设计、逻辑设计、物理设计等阶段。
需求分析
需求分析定义
需求分析是数据库设计的第一步,主要任务 是收集、分析和整理用户需求,明确系统功 能和性能要求。
05
数据库课程设计案例分析
案例一:学生信息管理系统
总结词
简单实用、贴近实际
详细描述
学生信息管理系统是一个常见的数据库应用案例,主要用于管理学生信息,包括 学生基本信息、成绩、选课等内容。该系统采用关系型数据库,通过数据表的形 式存储和管理数据,实现对学生信息的增删改查等操作。
案例一:学生信息管理系统
需求分析方法
可以采用问卷调查、面谈、观察等方式进行需求收 集,并利用数据流图、数据字典等工具进行需求分 析和整理。
需求分析结果
需求分析的结果是形成数据字典和数据流图 ,为后续设计提供基础。
概念设计
01
概念设计定义
概念设计是根据需求分析结果, 使用概念模型(如实体-关系模 型)对系统进行高级设计的过程 。
《数据库设计》ppt课件
数据库设计流程与步骤
步骤
1. 收集和分析用户需求,确定系统功能和性能要求。
2. 选择合适的数据模型,设计概念结构,形成概念模式。
数据库设计流程与步骤
02
03
04
01
数据库设计流程与步骤
3. 将概念模式转换为逻辑模式,进行逻辑优化。
4. 选择物理存储结构,设计物理模式,进行物理优化。
5. 用DDL定义数据库结构,组织数据入库,编制与调试应用程序。
《数据库设计》ppt课件
目录
数据库设计概述 需求分析 概念结构设计 逻辑结构设计 物理结构设计 数据库实施与维护 案例分析与实战演练
01
CHAPTER
数据库设计概述
数据库设计是指根据用户需求,运用数据库技术,设计数据库结构、建立数据库及其应用系统的过程。
定义
数据库设计是信息系统开发过程中的重要环节,直接影响系统的性能、可扩展性、可维护性等。
数据模型优化与规范化
外模式/内模式映射
定义用户子模式与逻辑模式之间的映射关系,实现数据的逻辑独立性和物理独立性。
安全性控制
在用户子模式设计中考虑数据的安全性控制,如访问权限、加密等。
视图设计
根据用户需求和安全控制要求,设计相应的视图来限制用户对数据的访问。
用户子模式设计
05
CHAPTER
物理结构设计
联系
用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1, 1:n, m:n)。
码
在属性下方加上下划线表示该属性为码属性。
视图集成
将多个用户的局部视图合并成一个全局视图的过程。包括合并各个局部视图的实体、属性和联系,生成全局视图。
数据库设计PPT课件
2、数据库设计方法 主要包括: • 计算机科学的基础知识; • 软件工程的原理和方法; • 程序设计的方法和技巧; • 数据库的基本知识; • 数据库设计技术; • 应用领域的知识。
新奥尔良(New Orleans)方法。该方法把数 据库设计分为若干阶段和步骤。并采用一些辅 助手段实现每一过程。它运用软件工程的思想, 按一定的设计规程用工程化方法设计数据库。 新奥尔良方法属于规范设计法。规范设计法从 本质上看仍然是手工设计方法,其基本思想是 过程迭代和逐步求精。
需求分析 概念结构设计 逻辑结构设计 物理设计 实施 运行维护
业务流程图,数据流程图 E-R图 功能模块说明,数据结构 存储方法说明 技术手册,用户手册
从严格意义上讲,后2步过程不属于 数据库设计。
在数据库设计开始之前,首先要选定参加设计 的人员,包括系统分析人员、数据库设计人员、系 统开发人员和部分用户代表。其中分析和设计人员 是数据库设计的核心人员,他们将自始至终参与数 据库设计,他们的水平一定程度上决定了数据库系 统的质量。
4、数据库设计各阶段的任务
需求分析 任务:明确用户的要求,提出新系统的处理方案。 文档:业务流程图,数据流程图,数据字典。
概念结构设计 任务:建立概念模型。 文档:E-R图。
逻辑结构设计 任务:建立数据模型。 文档:数据结构(表)。
物理结构设计 任务:确定存取策略。 文档轻重的,他们主 要参加需求分析和数据库的运行维护,他们的积极 参与(不仅仅是配合)不但能加速数据库设计,而 且也是决定数据库设计质量的重要因素。系统开发 人员(包括程序员和操作员)则在系统实施阶段参 与进来,分别负责建立数据库、编制程序和准备软 硬件环境。
在实际中,往往把数据库 设计的过程分为如下6步。
数据库设计(共38张PPT)
法为:
可将“一方”实体的主关键字纳入“n方”实体转换后
的数据表中作为“外部关键字”,同时把关系的属性也一并
其中。
一对多中的关系转换为数据表
学号
姓名
年龄
性别
N
学生
班级(班级编号、班级名称)
属于
学生(学号、姓名、性别、年龄、班级编 号)
班级
1
编号
名称
多对多的关系转换为数据表
如果实体A和实体B之间是多对多的关系,必须按以下 原则转换化数据表:
第二范式
第二范式是在第一范式的基础上,确保表中的每列都 和主键相关。即要求一个表只描述一件事情。
职工信息
工程信息
劳资信息
第二范式
工程信息
职工信息 劳资信息
第三范式
第三范式是在第二范式的基础上,确保表中每列都 和主键直接相关,而不是间接相关。间接相关又称 为传递依赖。
假设数据表中A、B、C三列,如果A->B,而B->C,则
1. 必须对“关系”单独建立一个数据表。
2. 该数据表的属性中至少要包括实体A和实体B的主关键字作为
外键,并且如果关系有属性,也要归入这个关系中。
多对多的关系转换为数据表
学号
姓名
年龄
性别
学生
学生(学号、姓名、性别、年龄)
N
选课
课程(课程号、名称、课时、学分)
N
选课(编号、学号、课程号)
课程
课程号
名称
ID编号列,它没有实际含义,用于做主键。 例如:通知数据表中除了标题、内容外,还应加一个ID主键列 ,用以区分每条记录。
3. 如果实体之间有某种关系,还要在表中添加外键。
学生选课系统中各实体转换为数 据表
可将“一方”实体的主关键字纳入“n方”实体转换后
的数据表中作为“外部关键字”,同时把关系的属性也一并
其中。
一对多中的关系转换为数据表
学号
姓名
年龄
性别
N
学生
班级(班级编号、班级名称)
属于
学生(学号、姓名、性别、年龄、班级编 号)
班级
1
编号
名称
多对多的关系转换为数据表
如果实体A和实体B之间是多对多的关系,必须按以下 原则转换化数据表:
第二范式
第二范式是在第一范式的基础上,确保表中的每列都 和主键相关。即要求一个表只描述一件事情。
职工信息
工程信息
劳资信息
第二范式
工程信息
职工信息 劳资信息
第三范式
第三范式是在第二范式的基础上,确保表中每列都 和主键直接相关,而不是间接相关。间接相关又称 为传递依赖。
假设数据表中A、B、C三列,如果A->B,而B->C,则
1. 必须对“关系”单独建立一个数据表。
2. 该数据表的属性中至少要包括实体A和实体B的主关键字作为
外键,并且如果关系有属性,也要归入这个关系中。
多对多的关系转换为数据表
学号
姓名
年龄
性别
学生
学生(学号、姓名、性别、年龄)
N
选课
课程(课程号、名称、课时、学分)
N
选课(编号、学号、课程号)
课程
课程号
名称
ID编号列,它没有实际含义,用于做主键。 例如:通知数据表中除了标题、内容外,还应加一个ID主键列 ,用以区分每条记录。
3. 如果实体之间有某种关系,还要在表中添加外键。
学生选课系统中各实体转换为数 据表
数据库的设计ppt课件PPT课件
提高数据存储效率
通过合理设计数据库结构,可以减少 数据冗余,提高数据存储效率。
保障数据安全性
数据库设计可以制定合理的数据访问 权限和控制策略,保障数据的安全性 。
支持业务应用
数据库是业务应用的基础,良好的数 据库设计可以支持业务应用的稳定运 行和扩展。
数据库设计目标与原则
满足用户需求
根据用户需求,设计符合业务逻辑和规则的数据库结构。
保障数据完整性
通过设定合理的约束条件,确保数据的完整性和准确性。
数据库设计目标与原则
• 提高系统性能:优化数据库性能,提高数据查询、插入、 更新等操作的速度和效率。
数据库设计目标与原则
一致性原则
保持数据库结构的一致性和标准化, 避免出现不一致或冲突的设计。
完整性原则
确保数据的完整性和准确性,设定必 要的约束条件和验证规则。
要点一
实时监控
要点二
历史数据分析
通过专业工具实时监控数据库性能指标,如响应时间、吞 吐量等。
对历史性能数据进行分析,找出性能瓶颈和优化方向。
数据库性能监控及调优措施
SQL优化
优化查询语句,提高查询效率。
VS
索引优化
合理创建和使用索引,减少数据库查询时 间。
数据库性能监控及调优措施
配置调整
调整数据库配置参数,如内存分配、连接池 大小等,以适应应用需求。
数据导入与导出策略
数据导入与导出策略
查询导出
根据特定条件查询并导出所需数据。
定期导出
设定定时任务,定期导出数据库中的数据。
格式转换
将数据转换为其他格式,如CSV、Excel等,以满足不同需求。
数据库备份与恢复方案
完全备份
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五章 数据库设计
数据库设计是开发数据库应用系统的 关键。简单地讲数据库设计就是创建数据 库系统的管理对象。 本章以学生信息管理系统为例 ,介绍数 据库设计的有关内容。
5.1 数据库设计概述
• 数据库设计步骤 打个比喻: 数据库的设计六个阶段: 需求分析 1. 需求分析 2. 概念结构设计阶段 概念结构设计阶段 3. 逻辑结构设计阶段 逻辑结构设计阶段 4. 物理结构设计阶段 5. 数据库实施 物理结构设计阶段 6. 数据库运行与维护
性别 姓名 学号 学生 出生年月 籍贯 教师编号
m
成绩 选课
m
姓名 教师 性别
n
n
课程
职务
课程编号
课程名
学时
学分
教师、学生与课程的E-R图
多对多关系实际上是某两个表 与第三个表的两个一对多关系,第 三个表的主键包含两个字段,分别 是前两个表的主键。
性别 姓名 学号 学生 出生年月 籍贯 教师编号
学生-选课(1:n) 字段名 学号 姓名 性别 出生年月 籍贯 班级编号 字段类型 字符型 字符型 字符型 日期/时间型 字符型 字符型 字段长度 6 6 2 短日期 50 8 小数点 索引类型 主索引
字段名 课程编号 课程名 学时 学分
字段类型 字符型 字符型 数值型 数值型
字段长度 5 12 短整型 短整型
小数点
索引类型 主索引
M
成绩 选课
姓名
M
教师 性别
n
课程
n
0
职务
课程编号
课程名
学时
学分
学生信息管理系统 (E-R概念模型)
5.4 逻辑结构设计
逻辑结构设计:将已设计好的概念模型 (E-R 图 ) 转换为与DBMS支持的数据模型相符的逻辑结构。
5.3 概念结构设计
概念设计的目标是产生反映需求信息的数据库 概念结构,它与具体的 DBMS 无关。概念设计用实 体-联系模型(简称E-R图) 表示。在E-R模型中,用于 描述数据的概念主要有实体、属性、实体集、关键 字及实体之间的联系等。
现实世界 概念模型
将现实世界客观存在的事物及其 相互间联系通过符号记录下来抽 象为信息世界。
1. 实体及相关概念 (1) 实体:客观存在并相互区别的事物。 实体可以是可触及的对象,如一个学生,一本 书,一辆汽车;也可以是抽象的事件,如一堂课, 一次比赛等。 (2) 属性:实体所具有的特征和性质。 如:学生实体有学号、姓名、年龄、性别等。
(3) 码:能够唯一的标识一个实体的属性称为这 个实体的关键字,即主键。 如:学生的学号。而学生的姓名可能有重名, 不能作为学生实体的关键字(码)。 (4) 实体集:具有相同属性的同一类事物,是 一个实体的集合。 如:所有的学生信息记录、所有的课程信息 记录等。
学院编号 学院名称
院长姓名 学院电话 学院地址
学院
学院实体集的E-R图
例如:教师与班级、学院与系和班级、学生 和课程实体集之间联系的E-R图。
教师 1 班主任 1 班级 学院 1 设置 n 系 1 设置 n 班级 学生 m 选课 n 课程
例如:学生、教师和课程三个实体共同参与了 一个选课联系,一般称这种由三类实体参与的联系 为三元联系。因为某教师选定一门课讲授,学生选 中同一门课要学习时,三者才会联系起来。
2. 联系与联系集
两个或两个以上的实体集间的关联关系的描述。 如:系与系主任、班级与班长(1:1关系) ;系与 教研室、班级与学生 (1:n 关系 ) ;学生与课程、教 师与课程(m:n关系) 。 实体集之间的联系分一对一 (1:1)、一对多(1:n) 、多对多(m:n)3种。
E-R图 E-R模型(概念模型的描述方法 ) ,是用实体 -联系 图(简称E-R图)来描述的,是通过图形来描述实体集、 实体属性和实体集之间的联系。 实体集—矩形框 属性—椭圆框 联系—菱形框 例如:
外键
字段长度 7 6 2 8 6
性别
小数点
索引类型 主索引
选课
字段名 学号 课程编号 字段类型 字符型 字符型 字符型 数值型 字段长度 6 5 7 单精度 2 小数点 索引类型 普通索引 普通索引 普通索引
外键
出生年月
教师编号 成绩
课程-选课(1:n)
籍贯 学生 教师编号
此图为 3 个 表 与 第 4 个表的 联系。
外键
选课
字段名 学号 课程编号
姓名
字段类型 字符型 字符型 字符型 数值型
字段长度 6 5 7 单精度
小数点
索引类型 普通索引 普通索引 普通索引
M
成绩 选课
M
教师 性别
教师编号 成绩
n
课程
n
2
职务
课程-选课(1:n)
课程编号
课程名
学时
学分
字段名 课程编号 课程名 学时 学分
字段类型 字符型 字符型 数值型 数值型
字段长度 5 12 短整型 短整型
小数点
索引类型 主索引
0
进一步扩展到 2 组多对多关系时, 第四个表的主键包含 3 个字段,分 别是前3个表的主键。
教师-选课(1:n)
字段名 教师编号 姓名 性别 职务 教研室编 号 字段类型 字符型 字符型 字符型 字符型 字符型
姓名 学号
学生-选课(1:n) 字段名 学号 姓名 性别 出生年月 籍贯 班级编号 字段类型 字符型 字符型 字符型 日期/时间型 字符型 字符型 字段长度 6 6 2 短日期 50 8 小数点 索引类型 主索引
数据库实施
数据库运行维护
建一个居民小区
开始调研—可行性分析 提出方案--小区规划 前期准备--图纸设计
开始实施--施工建造 业主入住 小区管理—物业维护
5.2 需求分析
需求分析是数据库设计的第一步。这一阶段主要是对数据 库应用系统所要处理的对象进行全面了解,包括了解用户需求, 收集信息,提出问题及解决问题的思路等。 例如:建立“学生信息管理系统”,目的是对学院、系、 班级、教研室等部门的信息进行管理,还要管理教师和学生 的基本信息,以及学生选课的情况。 信息要求:系统涉及到学院、系、教研室、教师、学生、 班级、课程、选课等各方面的信息。 处理要求:增加、删除、修改各数据对象中的数据,各 类查询、统计及报表打印等等。 安全性要求:只允许学院内部人员使用该系统,允许学 生查询成绩但不能修改,允许教师录入和修改学生成绩等。
概念模型
逻辑模型
E-R模型与关系模型的转换规则: ① 一个实体集转换为一个关系模式。实体的属 性就是关系的属性,实体的键就是关系的键。 例如:将学院实体转换为一个关系,其属性取原 来实体的属性,利用规则1,得到关系模式: 学院 ( 学院编号 ,学院名称 ,院长姓名 ,学院电话 , 学 院地址)
数据库设计是开发数据库应用系统的 关键。简单地讲数据库设计就是创建数据 库系统的管理对象。 本章以学生信息管理系统为例 ,介绍数 据库设计的有关内容。
5.1 数据库设计概述
• 数据库设计步骤 打个比喻: 数据库的设计六个阶段: 需求分析 1. 需求分析 2. 概念结构设计阶段 概念结构设计阶段 3. 逻辑结构设计阶段 逻辑结构设计阶段 4. 物理结构设计阶段 5. 数据库实施 物理结构设计阶段 6. 数据库运行与维护
性别 姓名 学号 学生 出生年月 籍贯 教师编号
m
成绩 选课
m
姓名 教师 性别
n
n
课程
职务
课程编号
课程名
学时
学分
教师、学生与课程的E-R图
多对多关系实际上是某两个表 与第三个表的两个一对多关系,第 三个表的主键包含两个字段,分别 是前两个表的主键。
性别 姓名 学号 学生 出生年月 籍贯 教师编号
学生-选课(1:n) 字段名 学号 姓名 性别 出生年月 籍贯 班级编号 字段类型 字符型 字符型 字符型 日期/时间型 字符型 字符型 字段长度 6 6 2 短日期 50 8 小数点 索引类型 主索引
字段名 课程编号 课程名 学时 学分
字段类型 字符型 字符型 数值型 数值型
字段长度 5 12 短整型 短整型
小数点
索引类型 主索引
M
成绩 选课
姓名
M
教师 性别
n
课程
n
0
职务
课程编号
课程名
学时
学分
学生信息管理系统 (E-R概念模型)
5.4 逻辑结构设计
逻辑结构设计:将已设计好的概念模型 (E-R 图 ) 转换为与DBMS支持的数据模型相符的逻辑结构。
5.3 概念结构设计
概念设计的目标是产生反映需求信息的数据库 概念结构,它与具体的 DBMS 无关。概念设计用实 体-联系模型(简称E-R图) 表示。在E-R模型中,用于 描述数据的概念主要有实体、属性、实体集、关键 字及实体之间的联系等。
现实世界 概念模型
将现实世界客观存在的事物及其 相互间联系通过符号记录下来抽 象为信息世界。
1. 实体及相关概念 (1) 实体:客观存在并相互区别的事物。 实体可以是可触及的对象,如一个学生,一本 书,一辆汽车;也可以是抽象的事件,如一堂课, 一次比赛等。 (2) 属性:实体所具有的特征和性质。 如:学生实体有学号、姓名、年龄、性别等。
(3) 码:能够唯一的标识一个实体的属性称为这 个实体的关键字,即主键。 如:学生的学号。而学生的姓名可能有重名, 不能作为学生实体的关键字(码)。 (4) 实体集:具有相同属性的同一类事物,是 一个实体的集合。 如:所有的学生信息记录、所有的课程信息 记录等。
学院编号 学院名称
院长姓名 学院电话 学院地址
学院
学院实体集的E-R图
例如:教师与班级、学院与系和班级、学生 和课程实体集之间联系的E-R图。
教师 1 班主任 1 班级 学院 1 设置 n 系 1 设置 n 班级 学生 m 选课 n 课程
例如:学生、教师和课程三个实体共同参与了 一个选课联系,一般称这种由三类实体参与的联系 为三元联系。因为某教师选定一门课讲授,学生选 中同一门课要学习时,三者才会联系起来。
2. 联系与联系集
两个或两个以上的实体集间的关联关系的描述。 如:系与系主任、班级与班长(1:1关系) ;系与 教研室、班级与学生 (1:n 关系 ) ;学生与课程、教 师与课程(m:n关系) 。 实体集之间的联系分一对一 (1:1)、一对多(1:n) 、多对多(m:n)3种。
E-R图 E-R模型(概念模型的描述方法 ) ,是用实体 -联系 图(简称E-R图)来描述的,是通过图形来描述实体集、 实体属性和实体集之间的联系。 实体集—矩形框 属性—椭圆框 联系—菱形框 例如:
外键
字段长度 7 6 2 8 6
性别
小数点
索引类型 主索引
选课
字段名 学号 课程编号 字段类型 字符型 字符型 字符型 数值型 字段长度 6 5 7 单精度 2 小数点 索引类型 普通索引 普通索引 普通索引
外键
出生年月
教师编号 成绩
课程-选课(1:n)
籍贯 学生 教师编号
此图为 3 个 表 与 第 4 个表的 联系。
外键
选课
字段名 学号 课程编号
姓名
字段类型 字符型 字符型 字符型 数值型
字段长度 6 5 7 单精度
小数点
索引类型 普通索引 普通索引 普通索引
M
成绩 选课
M
教师 性别
教师编号 成绩
n
课程
n
2
职务
课程-选课(1:n)
课程编号
课程名
学时
学分
字段名 课程编号 课程名 学时 学分
字段类型 字符型 字符型 数值型 数值型
字段长度 5 12 短整型 短整型
小数点
索引类型 主索引
0
进一步扩展到 2 组多对多关系时, 第四个表的主键包含 3 个字段,分 别是前3个表的主键。
教师-选课(1:n)
字段名 教师编号 姓名 性别 职务 教研室编 号 字段类型 字符型 字符型 字符型 字符型 字符型
姓名 学号
学生-选课(1:n) 字段名 学号 姓名 性别 出生年月 籍贯 班级编号 字段类型 字符型 字符型 字符型 日期/时间型 字符型 字符型 字段长度 6 6 2 短日期 50 8 小数点 索引类型 主索引
数据库实施
数据库运行维护
建一个居民小区
开始调研—可行性分析 提出方案--小区规划 前期准备--图纸设计
开始实施--施工建造 业主入住 小区管理—物业维护
5.2 需求分析
需求分析是数据库设计的第一步。这一阶段主要是对数据 库应用系统所要处理的对象进行全面了解,包括了解用户需求, 收集信息,提出问题及解决问题的思路等。 例如:建立“学生信息管理系统”,目的是对学院、系、 班级、教研室等部门的信息进行管理,还要管理教师和学生 的基本信息,以及学生选课的情况。 信息要求:系统涉及到学院、系、教研室、教师、学生、 班级、课程、选课等各方面的信息。 处理要求:增加、删除、修改各数据对象中的数据,各 类查询、统计及报表打印等等。 安全性要求:只允许学院内部人员使用该系统,允许学 生查询成绩但不能修改,允许教师录入和修改学生成绩等。
概念模型
逻辑模型
E-R模型与关系模型的转换规则: ① 一个实体集转换为一个关系模式。实体的属 性就是关系的属性,实体的键就是关系的键。 例如:将学院实体转换为一个关系,其属性取原 来实体的属性,利用规则1,得到关系模式: 学院 ( 学院编号 ,学院名称 ,院长姓名 ,学院电话 , 学 院地址)