数据库原理第5章
04735数据库系统原理(2021版)课后习题参考答案

04735数据库系统原理(2021版)课后习题参考答案答案仅供参考第一章数据库系统概述选择题B、B、A简答题1.请简述数据,数据库,数据库管理系统,数据库系统的概念。
P27数据是描绘事物的记录符号,是指用物理符号记录下来的,可以鉴别的信息。
数据库即存储数据的仓库,严格意义上是指长期存储在计算机中的有组织的、可共享的数据集合。
数据库管理系统是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。
数据库系统是指在计算机中引入数据库技术之后的系统,包括数据库、数据库管理系统及相关实用工具、应用程序、数据库管理员和用户。
2.请简述早数据库管理技术中,与人工管理、文件系统相比,数据库系统的优点。
数据共享性高数据冗余小易于保证数据一致性数据独立性高可以施行统一管理与控制减少了应用程序开发与维护的工作量3.请简述数据库系统的三级形式和两层映像的含义。
P31答:数据库的三级形式是指数据库系统是由形式、外形式和内形式三级工程的,对应了数据的三级抽象。
两层映像是指三级形式之间的映像关系,即外形式/形式映像和形式/内形式映像。
4.请简述关系模型与网状模型、层次模型的区别。
P35使用二维表构造表示实体及实体间的联络建立在严格的数学概念的根底上概念单一,统一用关系表示实体和实体之间的联络,数据构造简单明晰,用户易懂易用存取途径对用户透明,具有更高的数据独立性、更好的平安保密性。
第二章关系数据库选择题C、C、D简答题1.请简述关系数据库的根本特征。
P48答:关系数据库的根本特征是使用关系数据模型组织数据。
2.请简述什么是参照完好性约束。
P55答:参照完好性约束是指:假设属性或属性组F是根本关系R的外码,与根本关系S的主码K相对应,那么对于R中每个元组在F上的取值只允许有两种可能,要么是空值,要么与S中某个元组的主码值对应。
3.请简述关系标准化过程。
答:对于存在数据冗余、插入异常、删除异常问题的关系形式,应采取将一个关系形式分解为多个关系形式的方法进展处理。
数据库原理教程习题答案全

数据库原理教程习题答案全集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#0000000000第1章数据库系统概述习题参考答案税务局使用数据库存储纳税人(个人或公司)信息、纳税人缴纳税款信息等。
典型的数据处理包括纳税、退税处理、统计各类纳税人纳税情况等。
银行使用数据库存储客户基本信息、客户存贷款信息等。
典型的数据处理包括处理客户存取款等。
超市使用数据库存储商品的基本信息、会员客户基本信息、客户每次购物的详细清单。
典型的数据处理包括收银台记录客户每次购物的清单并计算应交货款。
DBMS是数据库管理系统的简称,是一种重要的程序设计系统。
它由一个相互关联的数据集合和一组访问这些数据的程序组成。
数据库是持久储存在计算机中、有组织的、可共享的大量数据的集合。
数据库中的数据按一定的数据模型组织、描述和存储,可以被各种用户共享,具有较小的冗余度、较高的数据独立性,并且易于扩展。
数据库系统由数据库、DBMS(及其开发工具)、应用系统和数据库管理员组成。
数据模型是一种形式机制,用于数据建模,描述数据、数据之间的联系、数据的语义、数据上的操作和数据的完整性约束条件。
数据库模式是数据库中使用数据模型对数据建模所产生设计结果。
对于关系数据库而言,数据库模式由一组关系模式构成。
数据字典是DBMS维护的一系列内部表,用来存放元数据。
所谓元数据是关于数据的数据。
DBMS提供如下功能:(1)数据定义:提供数据定义语言DDL,用于定义数据库中的数据对象和它们的结构。
(2)数据操纵:提供数据操纵语言DML,用于操纵数据,实现对数据库的基本操作(查询、插入、删除和修改)。
(3)事务管理和运行管理:统一管理数据、控制对数据的并发访问,保证数据的安全性、完整性,确保故障时数据库中数据不被破坏,并且能够恢复到一致状态。
(4)数据存储和查询处理:确定数据的物理组织和存取方式,提供数据的持久存储和有效访问;确定查询处理方法,优化查询处理过程。
数据库原理及应用课件:第5章 ACCESS 数据库—面向对象的程序设计语言(VBA)

13
2022/10/3
– 用户自定义型 所占字节数与元素个数有关,用 户可以使用Type语句定义任何数据类型。语法 如下:
– [Private/Public] Type 类型名
– 元素名 As 数据类型
–…
– End Type
例如:自定义一个教师的基本信息数据类型,其 中包括姓名、性别、年龄的信息。
4
2022/10/3
– 对象(Object)—是类的一个实例,是组成一个 系统的基本逻辑单元,是具有某些特征的具体的 事物的抽象。每个对象都具有属性和行为。
– 数据抽象(Data Abstraction)—指仅表现核心 的特性而不描述背景细节的行为。
– 继承(Inheritance)—是可以让某个类型的对象 获得另一个类型的对象的属性的方法。
24
2022/10/3
例:已知两个数x和y,比较它们的大小,使 得x大于y。
– 方法一:if x<y then
t=x
x=y
y=t
end if
– 方法二: if x<y then t=x:x=y:y=t
25
2022/10/3
– If …Then…Else语句(双分支结构)。此语句 也有两种形式:块结构和行结构。
– I说f…明T:hen语句(单分支结构)。有两种形
式1):表块达结式构一和般行为结关构系表达式、逻辑表达 块式0结为,构F也a形l可s式e以。:为If<算表术达表式达>式Th,e非n 0为True,
2)语句块可以语是句一块句或多句,若用行结 构来表示,则En只d 能If是一句语句,若多句, 行语结句构间形需式用:冒If号<表隔达开式,>而T且he必n须<语在句一>行上 书写。
自考《数据库原理》选择题总结(5-8章)

第五章 1. 在数据库设计中,将ER图转换成关系数据模型的过程属于()(2001年10⽉全国卷) A. 需求分析阶段 B. 逻辑设计阶段 C. 概念设计阶段 D. 物理设计阶段 2.在数据库设计中,表⽰⽤户业务流程的常⽤⽅法是()(2003年1⽉全国卷) A.DFD B.ER图 C.程序流程图 D.数据结构图 3.把ER模型转换成关系模型的过程,属于数据库的()(2002年10⽉全国卷) A.需求分析 B.概念设计 C.逻辑设计 D.物理设计 4.在ER模型中,如果有6个不同实体集,有9个不同的⼆元联系,其中3个1∶N联系,3个1∶1联系,3个M∶N联系,根据ER 模型转换成关系模型的规则,转换成关系的数⽬是()(2002年10⽉全国卷) A.6 B.9 C.12 D.15 5.数据库设计属于()。
A、程序设计范畴 B、管理科学范畴 C、系统⼯程范畴 D、软件⼯程范畴 6.设计数据流程图(DFD)属于数据库设计的() A、可⾏性分析阶段的任务 B、需求分析阶段的任务 C、概念设计阶段的任务 D、逻辑设计阶段的任务 7.在数据库的概念设计中,最常⽤的模型是() A、实体联系模型 B、数学模型 C、逻辑模型 D、物理模型 8.数据库设计中,概念模型是() A、依赖于DBMS和硬件 B、依赖于DBMS独⽴于硬件 C、独⽴于DBMS依赖于硬件 D、独⽴于DBMS和硬件 9.ER图是数据库设计的⼯具之⼀,它适⽤于建⽴数据库的()。
A、需求模型 B、概念模型 C、逻辑模型 D、物理模型 10.ER⽅法中⽤属性描述事物的特征,属性在ER图中表⽰为() A、椭圆形 B、矩形 C、菱形 D、有向边 11.在关系数据库设计中,设计关系模式的任务属于() A、需求设计 B、概念设计 C、逻辑设计 D、物理设计 12.设计⼦模式属于数据库设计的() A、需求设计 B、概念设计 C、逻辑设计 D、物理设计 13.设计DB的存储结构属于数据库设计的() A、需求设计 B、概念设计 C、逻辑设计 D、物理设计 14.数据库设计中,外模型是指() A、⽤户使⽤的数据模型 B、DB以外的数据模型 C、系统外⾯的模型 D、磁盘上数据的组织 15.概念结构设计的⽬标是产⽣数据库的概念结构,这结构主要反映() A、组织机构的信息需求 B、应⽤程序员的编程需求 C、DBA的管理信息需求 D、DBS的维护需求 16.在DB的概念设计和逻辑设计之间起桥梁作⽤的是() A、数据结构图 B、功能模块图 C、ER图 D、DFD 17.在DB的需求分析和概念设计之间起桥梁作⽤的是() A、DFD B、ER图 C、数据结构图 D、功能模块图 18.ER模型转换成关系模型时,⼀个M:N联系转换为⼀个关系模式,该关系模型的关键字是() A、M端实体的关键字 B、N端实体的关键字 C、M端实体的关键字和N端实体的关键字的组合 D、重新选取的其他属性 19.在⼀个ER图中,如果共有20个不同实体类型,在这些实体类型之间存在着9个不同的⼆元联系(⼆元联系是指两个实体之间的联系)其中3个是1:N联系,6个是M:N联系,还存在1个M:N的三元联系,那么根据ER模型转换成关系模型的规则,这个ER结构转换成的关系模型个数为() A、24 B、27 C、29 D、30 20.在数据库设计中,弱实体是指() A、属性只有⼀个的实体 B、不存在关键码的实体 C、只能短时期存在的实体 D、以其他实体存在为先决条件的实体 21.关于ER图,下列说法中错误的是() A、现实世界的事物表⽰为实体,事物的性质表⽰为属性 B、事物之间的⾃然联系表⽰为实体之间的联系 C、在ER图中,实体和属性的划分是绝对的、⼀成不变的 D、在ER图中,实体之间可以有联系,属性和实体之间不能有联系 22.在ER模型转换成关系模型的过程中,下列叙述不正确的是() A、每个实体类型转换成⼀个关系模型 B、每个联系类型转换成⼀个关系模式 C、每个M:N联系转换成⼀个关系模式 D、在1:N联系中,“1”端实体的主键作为外键放在“N”端实体类型转换成的关系模式中 23.在数据库设计中,超类实体与⼦类实体的关系是() A、前者继承后者的所有属性 B、后者继承前者的所有属性 C、前者只继承后者的主键 D、后者只继承前者的主键 24.综合局部ER图⽣成总体ER图过程中,下列说法错误的是() A、不同局部ER图中出现的相同实体,在总体ER图中只能出现⼀次。
《数据库原理及应用》第五章SQL查询

SQL语言
SQL功能 命令动词
数据查询
数据定义 数据操纵
SELECT
CREATE、DROP、ALTER INSERT、UPDATE、DELETE
数据控制
GRANT、REVOKE
SQL语言
SQL语言的优点在于SQL不是面向过程的 语言,使用SQL语言只需描述做什么,而 不需要描述如何做,为使用者带来极大的 方便。本章将以讨论SQL的数据查询语言 为主,同时介绍数据定义语言和数据操纵 语言。本章中大部分例题使用“学生管理” 数据库,并假定数据库在Access的当前目录 下。
简单查询----选择记录
WHERE子句通过指定查询条件,可以在表中找出满足条件 的记录。查询条件可以是任意复杂的逻辑表达式。 当WHERE子句需要指定一个以上的查询条件时,要使用逻 辑运算符AND、OR和NOT将其连接成复合的逻辑表达式。 其优先级由高到低为:NOT、AND、OR,可以使用括号改 变优先级。 条件查询还可以使用LIKE或NOT LIKE进行部分匹配查询。* 表示任意长度的字符串;?表示任意单个字符。 在查询中还可以使用查询谓词,查询谓词IN 和NOT IN用于 检索属于(IN)或不属于(NOT IN)指定集合的记录。 例10 查询成绩在60分以下(不包括60分)、90分以上(含 90分)学生的学号。
连接查询(多表查询)
例13 查询会计系学生选修课程及成绩,要求查询结果中含 属性学号、姓名、课程名称和成绩。 SELECT student.学号,姓名,课程名称,成绩 FROM student,course,grade WHERE 所属院系='会计学院' and student.学号=grade. 学号 and grade.课程编号=course.课程编号 这个查询涉及到两个表,查询所要求的结果来自两个表,查 询的条件也涉及到两个表,所以有“FROM student,grade”; 这两个表之间是有联系的,这种联系是通过父表的主关键字 (student中的学号)和子表的外部关键字(grade表的学号) 建立的,所以有命令子句WHERE中的筛选条件“student. 学号=grade.学号”。 由于student表和grade表都有学号属性,因此在SELECT子 句中要用前缀的形式“student.学号”指明取自哪个表中的 学号;此例中用“grade.学号”的形式,查询结果是一样的。
第5章_总体设计 数据库原理

Contents
5.1 设计过程 5.2 设计原理 5.3 启发规则 5.4 描绘软件结构的图形工具 5.5 面向数据流的设计方法
闽南科技学院计算机系
软件设计宣言:Mitch Kapor • “什么是设计?设计是你站在两个世界——技 术世界和人类的目标世界——而你尝试将这两 个世界结合在一起……”。 罗马建筑批评家Vitruvius提出的观念: • “设计良好的建筑应该展示出坚固、适用和令 人赏心悦目”。
• 耦合衡量不同模块彼此间互相依赖(连接)的紧密
程度。耦合要低,即每个模块和其他模块之间的 关系要简单;
• 内聚衡量一个模块内部各个元素彼此结合的紧密
程度。内聚要高,每个模块完成一个相对独立的 特定子功能。
闽南科技学院计算机系
1. 耦合
• 耦合:是对一个软件结构内不同模块之间互连程 • • •
度的度量。 要求:在软件设计中应该追求尽可能松散耦合的 系统。 可以研究、测试或维护任何一个模块,而不需要 对系统的其他模块有很多了解; 模块间联系简单,发生在一处的错误传播到整个 系统的可能性就很小; 模块间的耦合程度强烈影响系统的可理解性、可 测试性、可靠性和可维护性。
A Flag B Flag
f1
f2
„
fn
闽南科技学院计算机系
• • • • • • • • • • • • • • • • • • • • • • • •
#include <stdio.h> static bool Signal; void AdultOrNot(int age) { if (age > 18) { Signal = 1; } else { Signal = 0; } } void WineOrNot() { if (Signal == 1) { printf("%s\n", "您已到达法定饮酒年龄!"); } else { printf("%s\n","您未到达法定饮酒年龄!"); } }
《MySQL数据库原理、设计与应用》第5章课后习题答案
第五章一、填空题1.逗号或,2. 33.FLOOR(3+RAND()*(11-3+1))或FLOOR(3+RAND()*9)4.NULL5.ON DUPLICATE KEY二、判断题1.错2.对3.错4.对5.对三、选择题1. D2. B3. D4. A5. C四、简答题1.请简述DELETE与TRUNCA TE的区别。
答:①实现方式不同:TRUNCATE本质上先执行删除(DROP)数据表的操作,然后再根据有效的表结构文件(.frm)重新创建数据表的方式来实现数据清空操作。
而DELETE语句则是逐条的删除数据表中保存的记录。
②执行效率不同:在针对大型数据表(如千万级的数据记录)时,TRUNCATE清空数据的实现方式,决定了它比DELETE语句删除数据的方式执行效率更高。
③对AUTO_INCREMENT的字段影响不同,TRUNCATE清空数据后,再次向表中添加数据,自动增长字段会从默认的初始值重新开始,而使用DELETE语句删除表中的记录时,则不影响自动增长值。
④删除数据的范围不同:TRUNCATE语句只能用于清空表中的所有记录,而DELETE语句可通过WHERE指定删除满足条件的部分记录。
⑤返回值含义不同:TRUNCATE操作的返回值一般是无意义的,而DELETE语句则会返回符合条件被删除的记录数。
⑥所属SQL语言的不同组成部分:DELETE语句属于DML数据操作语句,而TRUNCA TE通常被认为是DDL数据定义语句。
2.请简述WHERE与HA VING之间的区别。
1答:①WHERE操作是从数据表中获取数据,用于将数据从磁盘存储到内存中,而HA VING是对已存放到内存中的数据进行操作。
②HA VING位于GROUP BY子句后,而WHERE位于GROUP BY 子句之前。
③HA VING关键字后可以跟聚合函数,而WHERE则不可以。
通常情况下,HA VING关键字与GROUPBY一起使用,对分组后的结果进行过滤。
《数据库系统原理》PPT电子课件教案-第五章 数据库保护
四、用户定义的安全性措施 除了系统级的安全性措施外,Oracle还允许用户用数 据库触发器定义特殊的更复杂的用户级安全性措施。例 如,规定只能在工作时间内更新Student表,可以定义如 下触发器,其中sysdate为系统当前时间: CREATE OR REPLACE TRIGGER secure student BEFORE INSERT OR UPDATE OR DELETE ON Student BEGIN IF(TO_CHAR(sysdate,’DY’) IN(‘SAT’,’SUN’)) OR(TO_NUMBER(sysdate HH24') NOT BETWEEN 8 AND l7) THEN
常用的方法:
1)用一个用户名或者用户标识号来标明用户身份, 系统鉴别此用户是否是合法用户。 2)口令(Password)。为进一步核实用户,系统要求 用户输入口令 3)系统提供一个随机数,用户根据预先约定好的某 一过程或函数进行计算,系统根据计算结果是否正 确进一步鉴定用户身份。
2. 存取控制
(2)行级安全性 Oracle行级安全性由视图实现。用视图定义表的水 平子集,限定用户在视图上的操作,就为表的行级提供 了保护。视图上的授权与回收与表级完全相同。 例如,只允许用户U2查看Student表中信息系学生的 数据,则首先创建信息系学生视图S_ IS,然后将该视图 的SELECT权限授予U2用户。 (3)列级安全性 Oracle列级安全性可以由视图实现,也可以直接在基 本表上定义。 用视图定义表的垂直子集就可以实现列级安全性,方 法与上面类似。
Oracle对数据库对象的权限采用分散控制方式, 允许具有WITH GRANTOPTION的用户把相应权限或 其子集传递授予其他用户,但不允许循环授权,即被 授权者不能把权限再授回给授权者或其祖先, U1 U2 U3 U4 × 循环授权 Oracle把所有权限信息记录在数据字典中。当用 户进行数据库操作时,Oracle首先根据数据字典中的 权限信息,检查操作的合法性。在Oracle中,安全性 检查是任何数据库操作的第一步。
《数据库系统原理》04735课后习题答案(2018版)
答案仅供参考第一章数据库系统概述选择题B、B、A简答题1.请简述数据,数据库,数据库管理系统,数据库系统的概念。
P27数据是描述事物的记录符号,是指用物理符号记录下来的,可以鉴别的信息。
数据库即存储数据的仓库,严格意义上是指长期存储在计算机中的有组织的、可共享的数据集合。
数据库管理系统是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。
数据库系统是指在计算机中引入数据库技术之后的系统,包括数据库、数据库管理系统及相关实用工具、应用程序、数据库管理员和用户。
2.请简述早数据库管理技术中,与人工管理、文件系统相比,数据库系统的优点。
数据共享性高数据冗余小易于保证数据一致性数据独立性高可以实施统一管理与控制减少了应用程序开发与维护的工作量3.请简述数据库系统的三级模式和两层映像的含义。
P31答:数据库的三级模式是指数据库系统是由模式、外模式和内模式三级工程的,对应了数据的三级抽象。
两层映像是指三级模式之间的映像关系,即外模式/模式映像和模式/内模式映像。
4.请简述关系模型与网状模型、层次模型的区别。
P35使用二维表结构表示实体及实体间的联系建立在严格的数学概念的基础上概念单一,统一用关系表示实体和实体之间的联系,数据结构简单清晰,用户易懂易用存取路径对用户透明,具有更高的数据独立性、更好的安全保密性。
第二章关系数据库选择题C、C、D简答题1.请简述关系数据库的基本特征。
P48答:关系数据库的基本特征是使用关系数据模型组织数据。
2.请简述什么是参照完整性约束。
P55答:参照完整性约束是指:若属性或属性组F是基本关系R的外码,与基本关系S的主码K 相对应,则对于R中每个元组在F上的取值只允许有两种可能,要么是空值,要么与S中某个元组的主码值对应。
3.请简述关系规范化过程。
答:对于存在数据冗余、插入异常、删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进行处理。
一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式,这就是所谓的规范化过程。
(完整版)数据库原理第五版习题答案
答:
实体:客观存在并可以相互区分的事物叫实体。实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。实体集:同型实体的集合称为实体集。属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。码:惟一标识实体的属性集称为码。实体联系图(E一R图):提供了表示实体型、属性和联系的方法:·实体型:用矩形表示,矩形框内写明实体名;·属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;·联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1 , 1 : n或m : n)。
( 4)数据库管理系统(DataBase Management sytem,简称DBMs ):数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。DBMS的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。解析DBMS是一个大型的复杂的软件系统,是计算机中的基础软件。目前,专门研制DBMS的厂商及其研制的DBMS产品很多。著名的有美国IBM公司的DBZ关系数据库管理系统和IMS层次数据库管理系统、美国Oracle公司的orade关系数据库管理系统、s油ase公司的s油ase关系数据库管理系统、美国微软公司的SQL Serve,关系数据库管理系统等。
11.试给出一个实际部门的E一R图,要求有三个实体型,而且3个实体型之间有多对多联系。3个实体型之间的多对多联系和三个实体型两两之间的三个多对多联系等价吗?为什么?
答:
3个实体型之间的多对多联系和3个实体型两两之间的3个多对多联系是不等价,因为它们拥有不同的语义。3个实体型两两之间的三个多对多联系如下图所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
23
5.3概念设计
概念设计的目标是设计出反映某个组织部门信 息需求的数据库系统概念模式。概念结构设计 的重点在于信息结构的设计,它是整个数据库 系统设计的关键。
数据库原理与应用
24
5.3概念设计
概念模式的主要特点是: 1.能真实、充分地反映现实世界,包括事物 和事物之间的联系,能满足用户对数据的处理 要求,是对现实世界建立的一个真实模型; 2.易于理解,从而可以用它和不熟悉计算机 的用户交换意见,用户的积极参与是数据库设 计成功的关键; 3.易于更改,当系统应用环境和应用要求改 变时,容易对概念模型进行修改和扩充; 4.易于向关系、网状、层次等各种数据模型 转换。
“is member of”
学生
实体
学生
张英 李明 王宏 赵强
属性
学号
姓名
专业
班级
图5-4 分类
图5-5 聚集
数据库原理与应用
30
5.3概念设计
3)概括(generalization)
定义类型之间的一种子集联系。它抽象了类型之间的“is subset of” 的语义。例如学生是一个实体型,本科生、研究生也是实体型,本科 生、研究生均是学生的子集。则把学生称为超类(super-class)。本 科生、研究生称为学生的子类(subclass ),如图5-6所示。
数据库原理与应用
9
5.1数据库应用设计步骤
6.数据库运行和维护阶段 数据库应用系统经过试运行后即可投人正式 运行。在数据库系统运行过程中必须不断地对 其进行评价、调整与修改。
数据库原理与应用
10
5.2用户需求描述与分析
需求分析简单地说就是分析用户的需要与要求。 需求分析是设计数据库的起点,需求分析的结 果是否准确反映了用户的实际要求,将直接影 响到后面各个阶段的设计,并影响到设计结果 是否合理和实用。
2)聚集(aggregation)
定义某一类型的组成成分。它抽象了对象内部类型和成员 之间“is part of”的语义。在E-R模型中若干属性的聚集 组成了实体型,就是这种抽象。例如:学号、姓名、专业、 年级等属性的聚集组成了学生这个实体型,如图5-5所示。 29
数据库原理与应用
5.3概念设计
物理设计阶段
物理实施 数据库实施阶段 试运行 不满意 数据库运行和维护 运行、维护阶段 运行、维护阶段
4
5.1数据库应用设计步骤
1.需求分析阶段 在这个阶段,数据库设计人员需要全面了解 用户的实际需求。需求分析做的是否充分与准 确,决定了构建数据库系统的速度与质量。
数据库原理与应用
5
5.1数据库应用设计步骤
图5-8 E-R图示例
数据库原理与应用
34
5.3概念设计
【例5-1】某单位人事管理子系统分E-R图设计。 某单位要开发信息系统。经过可行性分析和 详细调查,决定先开发人事管理子系统。为其 成立了开发小组。开发小组的成员经过需求调 查、信息流程分析和数据收集,明确了该子系 统的功能是:统计各部门人员需求,生成招聘 需求信息;查询面试者信息,对初选合格者进 行面试;根据面试记录,对面试合格者建立职 工记录;建立工作安排表,查询职工排班情况; 建立职工出勤记录;生成职工出勤统计表,作 为发放奖金的依据。
15
数据库原理与应用
5.2用户需求描述与分析
5.2.3用户需求描述与分析 调查了解了用户的需求以后,还需要进一步分 析和表达用户的需求。分析和表达用户需求常 采用的方法是自上而下的结构化分析方法 (structured analysis,SA)。该方法从最上 层的系统组织机构入手,采用逐层分解的方式 分析系统,并用数据流图和数据字典描述系统。
25
数据库原理与应用
5.3概念设计
5.3.1概念设计的方法与步骤 设计概念通常有4类方法。 1.自顶向下:即首先定义全局概念结构的框架, 然后逐步细化。 2.自底向上:即首先定义各局部应用的概念结 构,然后将它们集成起来,得到全局概念结构。
数据库原理与应用
26
5.3概念设计
2.概念结构设计阶段 概念结构设计即设计数据库的概念结构。概 念结构设计是整个数据库设计的关键,它通过 对用户需求进行综合、归纳与抽象,形成一个 独立于具体DBMS的概念模型。最常用的概念 结构设计的方法是E-R图。
数据库原理与应用
6
5.1数据库应用设计步骤
3.逻辑结构设计阶段 逻辑结构设计的任务是将抽象的概念结构转 换成所选用的DBMS支持的逻辑数据模型,并 对其进行优化。主要是考虑如何将E-R图转化 为关系模型。
17
5.2用户需求描述与分析
5.2.3用户需求描述与分析 1. 数据流图(data flow diagram,DFD)
数据存储
数据存储
数据来源 处理 数据输出
数据存储
数据源点 或终点
数据处理
数据流
图5-1 系统高层数据流图
图5-2 数据流图使用符号
数据库原理与应用
18
5.2用户需求描述与分析
数据库原理与应用
20
5.2用户需求描述与分析
5.2.3用户需求描述与分析 2. 数据字典(data dictionary,DD) 1)数据项,是不可再分的数据单位,包括数据项名、 数据项含义说明、别名、类型、长度、取值范围、与 其他数据项的逻辑关系等。其中“取值范围”和“与 其他数据的逻辑关系”(如该数据项等于另外几个数 据项之和,该数据项值与其他数据项值的关系等)定 义了数据的完整性约束条件,是设计数据检验功能的 依据。 数据项描述={数据项名,数据项含义说明,别名, 数据类型,长度,取值范围,取值含义,与其他数据 项的逻辑关系}
学生
超类 “is subset of” 子类 本科生
研究生
图5-6 概况
数据库原理与应用
31
5.3概念设计
2.局部视图设计 概念结构设计的第一步就是利用上面介绍的抽 象机制对需求分析阶段收集到的数据进行分类、 组织(聚集),形成实体、实体的属性,标识 实体的码,确定实体之间的联系类型(1:1, 1 :N,N: M),设计局部视图(也称分E-R 图),具体做法如下。
数据库原理与应用
12
5.2用户需求描述与分析
需求分析的过程是对现实世界深入了解的过程, 数据库系统能否正确的反映现实世界,主要取 决于需求分析。需求分析人员既要对数据库技 术有一定的了解,又要对组织部门的情况比较 熟悉,一般由数据库系统设计人员和本组织部 门的有关工作人员合作进行。需求分析的结果 整理成需求分析说明书,这是数据库技术人员 与应用组织部门的工作人员取得共识的基础, 必须得到有关组织部门人员的确认。
供应商 信息
图5-3给出了一个数据流图的示例。
采购员
确定供 应商
签订进 货合同
供应商
商品参 考价格
订货合同 记录
图5-3 系统数据流图示例
数据库原理与应用
19
5.2用户需求描述与分析
5.2.3用户需求描述与分析 2. 数据字典(data dictionary,DD) 数据字典通常包括数据项、数据结构、数据流、 数据存储和处理过程5个部分。其中数据项是 数据的最小组成单位,若干个数据项可以组成 一个数据结构,数据字典通过对数据项和数据 结构的定义来描述数据流、数据存储的逻辑内 容。每部分内容说明如下。
5.3.1概念设计的方法与步骤 设计概念通常有4类方法。 3.逐步扩充:首先定义最重要的核心概念结构, 然后向外扩充,以滚雪球的方式逐步生成其他 概念结构,直至总体概念结构。 4.混合策略:即将上述三种方法与实际情况结 合起来使用。
数据库原理与应用
27
5.3概念设计
5.3.2数据抽象与局部E-R图设计 1. 数据抽象 所谓抽象是对实际的人、物、事和概念进行人 为处理,抽取所关心的共同特性,忽略非本质 的细节,并把这些特征用各种概念精确的加以 描述。一般有3类抽象:
数据库原理与应用
22
5.2用户需求描述与分析
4)数据存储 数据存储描述={数据存储名,说明,编号,流 入的数据流,流出的数据流,组成:{数据结 构},数据量,存取方式} 5)处理过程 处理过程描述={处理过程名,说明,输人: {数据流},输出:{数据流},处理:{简要说 明}}
数据库原理与应用
数据库原理与应用
11
5.2用户需求描述与分析
5.2.1需求分析的任务 需求分析的任务是给出应用域中数据项、数据 项之间的关系和数据操作任务的详细定义,为 数据库系统的概念设计、逻辑设计和物理设计 奠定基础,为优化数据库系统的逻辑结构和物 理结构提供可靠依据。设计人员应与用户密切 合作,用户则应积极参与,从而使设计人员对 用户需求有全面、准确的理解。
21
数据库原理与应用
5.2用户需求描述与分析
2)数据结构,包括数据结构名、含义说明、 组成(数据项名)等。 数据结构描述={数据结构名,含义说明,组成: {数据项或数据结构}} 3)数据流 数据流描述={数据流名,说明,数据流来源, 数据流去向,组成:{数据结构},平均流量, 高峰期流量}
数据库原理与应用
28
5.3概念设计
1)分类(classification)
定义某一类概念作为现实世界中一组对象的类型。这些 对象具有某些共同的特性和行为。它抽象了对象值和型之 间的“is member of”的语义。在E-R模型中,实体型就 是这种抽象。例如在学校环境中,张英是学生,表示张英 是学生中的一员,具有学生们共同的特性和行为,如在某 个班学习某种专业,选修某些课程,如图5-4所示。