第4章 数据库设计
数据库原理与应用第四章
说明:
函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。 函数依赖是语义范畴的概念。只能根据数据的语义来确定函数依赖。 例如“姓名→年龄”这个函数依赖只有在不允许有同名人的条件下成立 数据库设计者可以对现实世界作强制的规定。例如规定不允许同名人出现,函数依赖“姓名→年龄”成立。所插入的元组必须满足规定的函数依赖,若发现有同名人存在, 则拒绝装入该元组。
四、关系模式的简化表示
关系模式R(U, D, DOM, F) 简化为一个三元组: R(U, F) 当且仅当U上的一个关系r 满足F时,r称为关系模式 R(U, F)的一个关系
五、数据依赖对关系模式的影响
例:描述学校的数据库:
学生的学号(Sno)、所在系(Sdept) 系主任姓名(Mname)、课程名(Cname) 成绩(Grade) 单一的关系模式 : Student <U、F> U ={ Sno, Sdept, Mname, Cname, Grade }
汇报时间:12月20日
Annual Work Summary Report
一、概念回顾
关系:描述实体、属性、实体间的联系。 从形式上看,它是一张二维表,是所涉及属性的笛卡尔积的一个子集。 关系模式:用来定义关系。 关系数据库:基于关系模型的数据库,利用关系来描述现实世界。 从形式上看,它由一组关系组成。 关系数据库的模式:定义这组关系的关系模式的全体。
4.2.2 码
定义5.4 设K为关系模式R<U,F>中的属性或属性组合。若K f U,则K称为R的一个侯选码(Candidate Key)。若关系模式R有多个候选码,则选定其中的一个做为主码(Primary key)。 主属性与非主属性 ALL KEY
第四章 数据库设计基础——关系运算
3. 交(Intersection) )
R和S
具有相同的目n 相应的属性取自同一个域
R∩S
仍为n目关系,由既属于R又属于S的元组组成 R∩S = { t|t ∈ R∧t ∈S } R∩S = R –(R-S)
An Introduction to Database System
交 (续) 续
An Introduction to Database System
(c)
An Introduction to Database System
1. 选择(Selection) 选择( )
1) 选择又称为限制(Restriction) 2) 选择运算符的含义 在关系R中选择满足给定条件的诸元组 σF(R) = {t|t∈R∧F(t)= '真'} F:选择条件,是一个逻辑表达式,基本形式为:
学生-课程数据库: 学生关系Student、课程关系Course和选修关系SC
Student
学号 Sno 200215121 200215122 200215123 200215125 姓名 Sname 李勇 刘晨 王敏 张立 性别 Ssex 男 女 女 男 (a) 年龄 Sage 20 19 18 19 所在系 Sdept CS IS MA IS
An Introduction to Database System
(b)
专门的关系运算(续 专门的关系运算 续)
SC
学号 Sno 200215121 200215121 200215121 200215122 200215122 课程号 Cno 1 2 3 2 3 成绩 Grade 92 85 88 90 80
200215121 200215121 200215122 200215122
第4篇关系数据库设计理论
注意:如果R的候选关键字均为单属性,或R的全体 属性均为主属性,则R∈2NF。
4.2.6 第三范式
1.第三范式的定义 定义4.8 如果关系模式R∈2NF,R(U,F)中所有
非主属性对任何候选关键字都不存在传递函数依赖, 则称R是属于第三范式(Third Normal Form),简称 3NF,记作R∈3NF。 第三范式具有如下性质: (1)如果R∈3NF,则R也是2NF。 (2)如果R∈2NF,则R不一定是3NF。
4.2.1 函数依赖
(2)扩张性 若 X→Y 且 W→Z , 则 ( X , W ) → ( Y , Z ) 。 例 如 ,
SNO→(SN,AGE),DEPT→MN,则有(SNO,DEPT)→ (SN,AGE,MN)。
说明:扩张性实现了两函数依赖决定因素与被决定 因素的分别合并作用。
(3) 合并性 若X→Y且X→Z则必有X→(Y,Z)。例如,在关系 SDC 中 , SNO→ ( SN , AGE ) , SNO→DEPT , 则 有 SNO→ (SN,AGE,DEPT)。 说明:决定因素相同的两函数依赖被决定因素的可 以合并。
4.2.2 码
已知关系模式R(U,F),如何来找出R的所有候 选键呢?方法的步骤为: 1、查看函数依赖集F中的每个形如Xi→Yi的(i=1,……,n) 函数依赖关系。看哪些属性在所有Yi(i=1,……,n) 中 没 有 出 现 过 , 设 没 出 现 过 的 属 性 集 为 P ( P=U-Y1Y2……-Yn ) 。 则 当 P=φ ( 表 示 空 集 ) 时 , 转 4 ; 当 P≠φ时,转2。
数据库原理与SQL Sever2000第四章 数据库设计
管理01
4.2数据库逻辑设计
描述内部数据:一般从输入端向输出端推进。当经过 使数据流的组成或数值发生变化的地方,用一个“加 工”将其连接起来。要求: 1)不能把相互无关的数据画成一个数据流
2)不能 把作为一个处理单位的数据画成两个数据流。
如“图书管理系统”的内部数据流动图4-6表示:
管理01
4.2数据库逻辑设计
物理设计大部分工作都是由DBMS完成,只有少量的工作 可由用户选择或者干预。
管理01
4.4应用程序与系统的运行和维护
4.4.1应用程序设计
1、应用程序设计以数据库逻辑设计为基础 2、设计方法:
建立工作界面 程序按功能模块化 通过控制模块统一调度各功能模块 追求程序可读性
3、程序编码 4、程序调试
管理01
管理01
4.6信息系统开发
4.6.5系统维护评价阶段(P82)
1.
系统维护的目标
系统能正常运行、系统资源能有效利用;系统不断 完善;系统功能得以扩充;系统效率得到提高
2.
系统维护的任务
维护任务包括:程序、数据文件、代码、机器与设 备等。
3.
系统评价的内容
管理01
4.7小结
系统的开发过程 数据库的设计过程
明确用户要求,是数据库设计的关键。分析用户 要求分四个步骤: 分析用户活动 确定系统范围 分析用户活动所涉及的数据 分析系统数据
管理01
4.2数据库逻辑设计
[例4-1]某图书馆要求数据库支持以下数据处理:办理借 书证、查询馆藏图书、查询逾期读者、丢失图书罚款。 1、分析用户活动
管理01
4.2数据库逻辑设计
图书(编号、书名、作者、出版社、单价、库存量) 可以分解为: 科技图书(编号、书名、作者、出版社、单价、库存量) 文艺图书(编号、书名、作者、出版社、单价、库存量) 外文图书(编号、书名、作者、出版社、单价、库存量) 这样减少了单个数据表中的记录,因此每次操作只需要使 用其中一个表,就可以达到减少单位时间内访问的逻辑 记录的个数。
数据库原理及应用第4章课后习题答案
习题61、说明数据库设计的特点。
1)三分技术,七分管理,十二分基础数据2)综合性3)结构(数据)设计和行为(处理)设计相结合2、试述数据库设计的过程3、试述数据库设计过程的各个阶段设计内容。
1)需求分析阶段需求分析是对用户提出的各种要求加以分析,对各种原始数据加以综合、整理,是形成最终设计目标的首要阶段。
需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。
2)概念结构设计阶段概念结构设计是对用户需求进行进一步抽象、归纳,并形成独立于DBMS和有关软、硬件的概念数据模型的设计过程。
3)逻辑结构设计阶段逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化的设计过程。
4)物理设计阶段数据库物理设计阶段,是将逻辑结构设计阶段所产生的逻辑数据模型,转换为某种计算机系统所支持的数据库物理结构的实现过程。
5)数据库实施阶段数据库实施阶段,即数据库调试、试运行阶段。
一旦数据库的物理结构形成,就可以用已选定的DBMS来定义、描述相应的数据库结构,装入数据库数据库,以生成完整的数据库,编制有关应用程序,进行联机调试并转入试运行,同时进行时间、空间等性能分析。
6)数据库运行和维护阶段数据库实施阶段结束,标志着数据库系统投入正常运行工作的开始。
在数据库系统运行过程中必须不断地对其进行评价、调整与修改。
4、需求分析中发现事实的方法有哪些?1)跟班作业。
通过亲身参加业务工作来观察和了解业务活动的情况。
2)开调查会。
通过与用户座谈来了解业务活动的情况及用户需求。
3)检查文档。
通过检查与当前系统有关的文档、表格、报告和文件等,进一步理解原系统,并有利于提供与原系统问题相关的业务信息。
4)问卷调查。
5、需求分析阶段的设计目标是什么?调查的内容是什么?需求分析阶段的目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,确定企业的组织目标,明确用户的各种需求,进而确定新系统的功能,并把这些要求写成用户和数据库设计者都能够接受的文档。
数据库课件第4章关系数据库(RDB)规范化设计理论
3. 完全函数依赖与部分函数依赖
完全函数依赖: 在关系模式R(U)中,如果X→Y,并且对于X的任何一 个真子集X′,都有X′ Y,则称Y完全函数依赖于X, 记作X f Y。 部分函数依赖: 若X→Y,但Y不完全函数依赖于X,则称Y部分函数依 p Y。 赖于X,记作X
例8: 学生(学号,姓名,所在系,系主任姓名,课程号,成绩) 学生关系模式存在的部分函数依赖: p (学号,课程号) 姓名 p 所在系 (学号,课程号) p (学号,课程号) 系主任姓名
教师姓 名
李林 78号
住址
课程号
C1
课程名
N1
李林
李林 汪佳 吴仪
78号
78号 59号 79号
C2
C3 C4 C5
N2
N3 N4 N5
师帆
76号
C6
N6
⑷当执行数据插入时,DB中的数据不能产生插入 异常现象 所谓“插入异常”是指希望插入的信息由于不 能满足数据完整性的某种要求而不能正常地被 插入到DB中的异常问题。 比如:上例中插入一个尚未安排授课的新进教师 信息. 原因: 因多种信息混合放在一个表中,可能造成因一 种信息被捆绑在其他信息上而产生的信息之间 相互依附存储的问题,使得信息不能独立插入。
第4章
关系数据库(RDB)规范化理论
4.1 关系模式规范化的必要性 4.2 数值依赖 4.3 范式与规范化 、关系分解原则
RDB规范化理论的目的是要设计“好的”RDB模式。要设计 好的关系模式,必须是关系满足一定的约束条件,此约束 形成了规范。 范式(Normal Form):衡量DB规范的层次或深度,DB规范化 层次由范式来决定。简记作NF. 根据关系模式满足的不同性质和规范化的程度,将关系模 式分为第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、 BC范式、第四范式(4NF)、第五范式(5NF),范式越高规范 化程度越高。 规范化:低级关系模式通过模式分解转换为若干高级范式 的关系模式集合的过程。 规范化是在RDB中减少数据冗余的过程。
第四章+数据库
5. 数据库设计器的打开 命令格式: 命令格式 MODIFY DATABASE [<数据库名 ] 数据库名>] 数据库名 功能:在数据库打开的状态下,使用MODIFY 功能:在数据库打开的状态下,使用 DATABASE命令可以打开数据库设计器. 命令可以打开数据库设计器. 命令可以打开数据库设计器 若当前没有打开数据库,使用MODIFY 若当前没有打开数据库,使用 DATABASE <数据库名 可以打开数据库设计器 数据库名>可以打开数据库设计器 数据库名 可以打开数据库设计器; 若缺省数据库名,系统弹出"打开"对话框, 若缺省数据库名,系统弹出"打开"对话框,用 户可选择要打开的数据库. 户可选择要打开的数据库. 4.1.3 数据库表的基本操作
Page 10
(2)打开表的同时指定工作区的命令 ) 格式:USE <表名 IN <工作区 [ALIAS <别名 ] 表名> 工作区> 别名>] 格式 表名 工作区 别名 功能:在指定的工作区打开表,但不改变当前工作区, 功能 在指定的工作区打开表,但不改变当前工作区,若要改变工作 在指定的工作区打开表 区还需使用SELECT命令. 命令. 区还需使用 命令
一个数据表只能属于一个数据库, 一个数据表只能属于一个数据库,若想将表添加到其他 数据库中,必须先从当前数据库中移去该表. 数据库中,必须先从当前数据库中移去该表.
Page 7
4.2 多工作区操作 4.2.1 工 作 区 1. 基本概念 (1)工作区号 ) 工作区就是用来存放表的内存空间. 工作区就是用来存放表的内存空间.Visual FoxPro 6.0提供了 提供了32767个工作区,编号从 到 个工作区, 提供了 个工作区 编号从1到 32767. . 一个工作区同一时刻只可以打开一个表. 一个工作区同一时刻只可以打开一个表. 同一时刻一个表只能在一个工作区被打开 .
数据库原理与设计-第四章
练习:
1、在关系R(R#,RN,S#)和S(S#,SN,SD)中,R的主键
是R#,S的主键是S#,则S#在R中称为 外键
。
2、用户选作元组元组标识的一个侯选键称为 主键
。
3、关系模式的任何属性( A )。
A、不可再分
B、可再分
C、命名在该关系模式中可以不惟一 D、以上都不是
4、一个关系数据库文件中的各条记录( B )
练习:
1、分别建立表dept1和emp1,并在二者之间定义关联。
表名
列名
数据约束
约束
DEPT1
Dno NAME
Decimal(3) VARCAHR(10)
PRIMARY KEY
LOC
VARCHAR(20)
表名 EMP1
列名 数据类型
Eno
Decimal(4)
NAME VARCHAR(10)
Salary Decimal(6,2)
Dno
Decimal(3)
约束
UNIQUE
FOREIGN KEY 级联删除
2、增加约束
(1)值唯一; (2)可有一个且仅有一个空值。
唯一约束既可以在列级定义,也可以在表 级定义。
【例4-4】示例。
(1)建立employee表,在employee表中定义一个phone字段, 并为phone字段定义指定名称的唯一约束。
CREATE TABLE employee ( empno DECIMAL(2) PRIMARY KEY, name VARCHAR(8), age DECIMAL(3), phone VARCHAR(12), deptno DECIMAL(2), CONSTRAINT emp_phone UNIQUE(phone) );
第4章数据库设计
D,一个1:1联系可以转换为一个独立的关 系模式,也可以与任意一端对应的关系模 式合并.
转换为一个独立的关系模式:
关系的属性:与该联系相连的各实体的码以及联系
本身的属性
关系的候选码:每个实体的码均是该关系的候选码
与某一端对应的关系模式合并:
合并后关系的属性:加入对应关系的码和联系本身
的属性
合并后关系的码:不变
2.转换原则
A,一个实体型转换为一个关系模式.
关系的属性:实体型的属性 关系的码:实体型的码
例:学生实体可以转换为如下关系模式: 学生(学号,姓名,出生日期,所在系, 年级,平均成绩) 性别,宿舍,班级,档案材料,教师,课程, 教室,教科书都分别转换为一个关系模式.
B,一个m:n联系转换为一个关系模式.
例:"管理"联系为1:1联系,可以有三种转换方 法: (1)转换为一个独立的关系模式:
或 管理(职工号,班级号) 管理(职工号,班级号)
(2)"管理"联系与班级关系模式合并,则只需 在班级关系中加入教师关系的码,即职工号: 班级:(班级号,学生人数,职工号)
( 3)"管理"联系与教师关系模式合并, 则只需在教师关系中加入班级关系的码, 即班级号: 教师:(职工号,姓名,性别,职称,班 级号,是否为优秀班主任)
P58图4.3
4.2 需求分析
需求分析就是分析用户的需要与要求
需求分析是设计数据库的起点 需求分析的结果是否准确地反映用户的实际 要求,将直接影响到后面各个阶段的设计, 并影响到设计结果是否合理和实用
1.需求分析的任务
通过详细调查现实世界要处理的对象 (组织,部门,企业等),充分了解原系 统(手工系统或计算机系统)工作概况, 明确用户的各种需求 在此基础上确定新系统的功能.新系统 必须充分考虑今后可能的扩充和改变,不 能仅仅按当前应用需求来设计数据库
数据库第四章关系数据库设计理论习题
第四章关系数据库设计理论一、单项选择题1.关系数据库中的关系必须满足:每个属性都是 B 。
A.长度不变的B.不可分解的C.互相关联的D.互不相关的2.若关系模式R(A,B,C,D,E)及其上的FD集F={A→D,B→C,E→A},则R的候选码为 B 。
A.AB B.BE C.CD D.DE3.2NF的关系模式 B 。
A.可能是1NF B.一定是1NF C.一定是3NF D.一定是BCNF 4.若关系模式R的属性全是主属性,则R的至少应属于 C 。
A.1NF B.2NF C.3NF D.BCNF5.消除了部分函数依赖的1NF关系模式必定是___B___。
A.1NF B.2NF C.3NF D.BCNF6.关系模式的候选码可以有一个或多个,而主码__C____。
A.可以有多个B.可能没有C.只能有一个D.可以有一个或多个7.候选码中的属性可以有 D 。
A.0个或多个B.0个C.1个D.1个或多个8.设关系模式R(A,B,C)的分解ρ={AB, AC},当R上的FD集F= C 时,ρ为无损分解。
A.{ B→C } B.{ C→B } C.{ A→C } D.{C→A }9.设关系模式R(A,B,C)的分解ρ={AB, AC},当R上的FD集F= A时,ρ为无损分解且保持函数依赖。
A.{ A→B } B.{ A→B, B→C } C.{ B→A } D.{C→B, B→A } 10.设有关系模式R(S, D, M),其函数依赖集为F={S→D,D→M}, 则R最高属于 B 。
A.1NF B.2NF C.3NF D.BCNF 11.设有关系模式R(A, B, C, D),其函数依赖集为F={AB→C, C→D}, 则R最高属于B 。
A.1NF B.2NF C.3NF D.BCNF 12.当 B 成立时,称X→Y为平凡函数依赖。
A.X⊆Y B.Y⊆X C.X∩Y=φD.X∩Y≠φ13.在关系模式R中,函数依赖X→Y的语义是 B 。
关系数据库的模式设计
• 范式级别有高下之分,级别越高,规范化 程序越高,关系模式越严谨、越好。
Cp
C#
Cname Area
Ma
Cp(C#,Cname,Area,Ma)
Sp
综合示例
根据描述可得到属性组U上旳一组函数依赖集F: F={C# → Cname, C# → Area, C# → Ma,
Area → Ma,(C#,P#) → Price}
Cname
C#
P#
Price
Area
Ma
存在旳问题
• 异常:对某些关系模式,变化其中旳数据可能造 成某些不希望旳成果;
• 数据冗余异常:客户与商品信息成对出现,挥霍 大量旳存储空间;
所谓“规范化”,通俗来讲就是把问题关系 转化成两个或多种没有问题旳关系旳过程,同步 检验关系合乎需要和正确是否。
4.1 函数依赖
关系数据库规范化理论旳中心问题是数 据依赖问题,数据依赖反应旳是实体旳属性 值之间相互联络和相互制约旳关系。
数据依赖分为两类:函数依赖和多值依 赖。我们先来了解有关函数依赖旳概念。
• 数据更新异常:某地域主管发生变动,则该地域 全部客户统计都需要修改,维护代价大;
• 数据插入异常:客户与企业建立联络,但未购置 商品,则无法将客户资料和地域主管信息插入;
• 数据删除异常:若删除某商品信息,则连带把客 户旳资料都删除了;
成果分析
• 结论:存在上述4个“毛病”,CS旳设计显然是 一种失败旳关系模式;
数据库原理与应用教程第二版答案
数据库原理与应用教程第二版答案对于《数据库原理与应用教程第二版》,提供了一些基本的答案和解析:第一章:数据库系统概述1. 数据库是什么?数据库是一个长期存储在计算机内的、有组织的、可共享的大量数据的集合,它具有较小的冗余度、高质量和可靠性、易扩展和维护的特点。
2. 计算机处理数据的基本方式:输入、处理和输出。
3. 数据管理的三个基本概念:数据、数据库、数据库管理系统(DBMS)。
4. 数据的基本概念:实体、属性、码、关系。
5. 数据库系统的结构:外模式、模式、内模式。
6. 数据模型的作用:描述数据组织和关系、实现数据的逻辑表示、支持数据操作和查询。
第二章:关系数据库基础1. 实体和实体集的概念:实体是对现实世界中一个独立的数据项的描述,实体集是具有相同或相似特征的实体的集合。
2. 关系数据库的概念:关系数据库是一种以关系为基础的数据库,关系是指一个具有特定名称的二维表。
3. 关系之间的联系:主键、外键、参照完整性。
4. 关系数据库的完整性约束:实体完整性、参照完整性、用户定义的完整性约束。
5. SQL语言:数据定义语言(DDL)、数据操作语言(DML)。
6. 数据库的范式:第一范式、第二范式、第三范式。
第三章:关系数据库管理系统1. DBMS的角色和功能:数据定义、数据操作、数据控制、数据完整性、并发控制、故障恢复、安全性。
2. 数据库管理员的职责:数据库的设计、安装和配置、备份和恢复、维护和优化、安全和权限管理。
3. DBMS的体系结构:单层体系结构、两层体系结构、三层体系结构。
第四章:数据库设计1. 数据库设计的步骤:需求分析、概念设计、逻辑设计、物理设计。
第五章:查询语言基础1. SQL语言的概念:结构化查询语言,是一种用于管理关系型数据库的语言。
2. SQL的基本语句:CREATE、SELECT、INSERT、UPDATE、DELETE。
3. 查询的基本结构:FROM子句、WHERE子句、SELECT子句、ORDER BY子句。
mysql数据库设计 习题
第4章数据库设计习题一、选择题1.在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的()阶段。
A.需求分析B.概念设计C.逻辑设计D.物理设计2.在关系数据库设计中,设计关系模式是()的任务。
A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段3.数据库物理设计完成后,进入数据库实施阶段,下列各项中不属于实施阶段的工作是()。
A.建立数据库B.扩充功能C.加载数据D.系统调试4.在数据库的概念设计中,最常用的数据模型是()。
A.形象模型B.物理模型C.逻辑模型D.实体联系模型5.从E-R模型关系向关系模型转换时,一个M∶N联系转换为关系模型时,该关系模式的关键字是()。
A.M端实体的关键字B.N端实体的关键字C.M端实体关键字与N端实体关键字组合D.重新选取其他属性6.当局部E-R图合并成全局E-R图时可能出现冲突,不属于合并冲突的是()。
A.属性冲突B.语法冲突C.结构冲突D.命名冲突7.概念模型独立于()。
A.E-R模型B.硬件设备和DBMS C.操作系统和DBMS D.DBMS二、填空题1.数据库设计的几个步骤依次是()、()、()、()、()、()。
2.“为哪些表,在哪些字段上,建立什么样的索引”这一设计内容应该属于数据库()阶段。
3.在设计分E-R图时,由于各个子系统分别有不同的应用,而且往往是由不同的设计人员设计的,所以各个分E-R图之间难免有不一致的地方,这些冲突主要有()、()和()三类。
三、问答题1.按照数据库设计六个阶段的先后顺序,简述各阶段的主要任务。
2.什么是数据库的概念结构?简述数据库概念结构设计的步骤。
3.什么是数据库的逻辑结构?试述数据库逻辑结构设计的步骤。
4.试述数据库物理设计的内容和步骤。
四、设计题1.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。
这些零件由不同的原材料制成,不同零件所用的材料可以相同。
vf第4章
A
第四章 数据库设计基础
06年4月 3、数据库DB、数据库系统DBS、数据库管理系统DBMS之间的 关系是 A)DB包含DBS和DBMS B)DBMS包含DB和DBS C)DBS包含DB和DBMS C D)没有任何关系 4、在关系模型中,把数据看成是二维表,每一个二维表称为一 关系 个 ___________ 5、数据独立性分为逻辑独立性与物理独立性。当数据的存储 结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的 物理独立性 应用程序不必修改,称为___________
结
束!
D
第四章 数据库设计基础
05年4月 2、用树形结构表示实体之间联系的模型是 A)关系模型 B)网状模型 C)层次模型 D)以上三个都是
C
3、在关系数据库中,把数据表示成二维表,每一个二维表称 关系 为_______。
第四章 数据库设计基础
05年9月 1、数据库设计的根本目标是要解决 A)数据共享问题 B)数据安全问题 C)大量数据存储问题 D)简化数据维护
4、关系模型
1)关系操纵 数据查询 数据删除 数据插入 数据修改 2)关系中的数据约束 完整性:指数据的正确性与相容性 实体完整性约束: 参照完整性约束 用户自定义完整性约束
5、关系代数
交、差、并、选择、投影、连接的运算方法
第四章 数据库设计基础 历年真题
05年4月 1、数据独立性是数据库技术的重要特点之一。所谓数据独立 性是指 A)数据与程序独立存放 B)不同的数据被存放在不同的文件中 C)不同的数据只能被对应的应用程序所使用 D)以上5年9月 2、设有如下关系表: R S A B C A B C 1 1 2 3 1 3 2 2 3 2 2 3 则下列操作中正确的是 A)T=R∩S B)T=R∪S C)T=R×S D)T=R/S
第4章 数据库的设计与管理
【例4-3】使用SQL Server Management
Studio修改数据库Test的选项,使该数据库 变成只读数据库。 数据库选项用来控制一个数据库的默认行为。 这些设置是从模型数据库继承而来的。通常 情况下,只需改变数据库的修复设置,或使 对数据库的访问仅限于执行管理任务或创建 只读用户数据库等,其他的设置很少修改。
(1)启动SQL Server Management Studio,选择服 务器和数据库。 (2)右击鼠标,然后选择“任务/备份”。打开 “备 份数据库”窗口。 (3)填写适当的参数,单击“确定”按钮。
【例4-12】使用SQL Server Management Studio 向导还原Test数据 库。 实训过程:
4.1 数据库设计概述 4.2 创建数据库 4.3 修改数据库 4.4 删除数据库 4.5 备份和还原数据库
4.1数据库设计概述
数据库设计的方法是一种自顶向下的方法。 这顶向下方法去标识 属性和可能的其他实体和关系。这种自顶向 下的方法被认为是设计简单和复杂数据库都 合适的策略,也是数据库方法学中使用的方 法的基础。
【例4-2】使用T-SQL创建一个名为“Test1”的数 据库,数据库的参数如下表。
4.3修改数据库
在实际的数据库开发过程中,数据库往往 需要改变,通常是改变数据库大小、删除 文件、创建文件组、修改文件组属性、修 改日志文件等。修改数据库有两种方法: 通过SQL Server Management Studio中的 数据库属性对话框进行修改 通过T-SQL中的ALTER DATABASE命令进 行修改。
需求分析阶段 设计一个有效的数据库必须要用系统工程的观点考虑问题。 这一阶段系统分析员和用户双方共同收集数据库所需要的信 息内容和用户对处理的要求。 在需求分析调研中,首先必须了解正在设计中的数据库所管 理的数据将覆盖哪些部门,每个部门的数据来自何处,它们 是依照何种原则处理数据,处理完毕后将输出信息到其他部 门。然后,须和用户经过充分的讨论,确定数据库所要进行 的数据处理的范围,确定哪些工作由人工完成,确定人机接 口的界面。 这一阶段的工作是否能准确反映实际系统的信息流程情况和 用户对系统的要求,影响到以后各阶段的工作,以及数据库 系统将来运行的效率,因此,需求分析阶段的工作是整个数 据库设计的基础。
数据库设计基础题
第四章数据库设计基础习题部分一、选择题(1) 数据库系统的核心是______。
( ) 课后练习题A. 数据模型B. 数据库管理系统C. 软件工具D. 数据库(2) 下列叙述中正确的是______。
( )A. 数据库是一个独立的系统,不需要操作系统的支持B. 数据库设计是指设计数据库管理系统C. 数据库技术的根本目标是要解决数据共享的问题D. 数据库系统中,数据的物理结构必须与逻辑结构一致(3) 下述关于数据库系统的叙述中正确的是______。
( ) 课后练习题A. 数据库系统减少了数据冗余B. 数据库系统避免了一切冗余C. 数据库系统中数据的一致性是指数据类型的一致D. 数据库系统比文件系统能管理更多的数据(4) 数据库、数据库系统和数据库管理系统之间的关系是______。
( )A)数据库包括数据库系统和数据库管理系统B)数据库系统包括数据库和数据库管理系统C)数据库管理系统包括数据库和数据库系统D)三者没有明显的包含关系(5) 下列有关数据库的描述,正确的是______。
( )A. 数据库是一个DBF文件B. 数据库是一个关系C. 数据库是一个结构化的数据集合D. 数据库是一组文件(6) 应用数据库的主要目的是______。
( )A)解决数据保密问题B)解决数据完整性问题C)解决数据共享问题D)解决数据完整性问题(7) 数据库的故障恢复一般是由______。
( )A)数据流图完成的B)数据字典完成的C)DBA完成的D)PAD图完成的(8) 在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
其中数据独立性最高的阶段是______。
( ) 课后练习题A. 数据库系统B. 文件系统C. 人工管理D. 数据项管理(9) 在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有______。
( )A. 数据无冗余B. 数据可共享C. 专门的数据管理软件D. 特定的数据模型(10) 相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和______。
数据库 第4章 查询设计_习题
第4章查询设计_习题一、选择题1.以下关于查询的叙述,正确的是()。
CA.只能根据数据表创建查询 B.只能根据已建查询创建查询C.可以根据数据表和已建查询创建查询 D.不能根据已建查询创建查询2.若用“学生”表中的“出生日期”字段计算每个学生的年龄(取整〉,那么正确的计算公式为()。
AA.Year(Date())-Year([出生日期]) B.(Date()-[出生日期])/365C.Date()-[出生日期]/365 D.Year([出生日期])/365 3.如果在“学生”表中查找姓“李”学生的记录,则查询条件是()。
C A.Not "李*" B.Like "李" C.Like "李*" D."李××"4.查询设计视图窗口中通过设置()行,可以让某个字段只用于设定条件,而不出现在查询结果中。
BA.排序B.显示C.字段 D.条件5.若统计“学生”表中各专业学生人数,应在查询设计视图中,将“学号”字段“总计”单元格设置为()。
BA.Sum B.Count C.Where D.Total6.在Access查询中,()能够减少源数据表的数据。
DA.选择查询 B.生成表查询 C.追加查询 D.删除查询7.在查询设计视图中,如果要使表中所有记录的“价格”字段的值增加10%,应使用()表达式。
CA.[价格]+10% B.[价格]*10/100C.[价格]*(1+10/100) D.[价格]*(1+10%)8.在查询设计视图中()。
AA.可以添加表,也可以添加查询 B.只能添加表C.只能添加查询 D.表和查询都不能添加9.在Access中,删除查询操作中被删除的记录属于()。
BA.逻辑删除 B.物理删除 C.可恢复删除D.临时删除10.如果用户希望根据某个可以临时变化的值来查找记录,则最好使用的查询是()。
CA.选择查询B.交叉表查询C.参数查询 D.操作查询二、填空题1.若要查找最近20天之内参加工作的职工记录,查询条件为。
数据库 第4章数据库概念模型
数据库第4章数据库概念模型在数据库的世界里,概念模型就像是一张描绘数据蓝图的地图,为我们理解和构建数据库提供了重要的基础。
在这一章中,我们将深入探讨数据库概念模型的相关知识。
首先,让我们来理解一下什么是数据库概念模型。
简单来说,它是对现实世界中数据的一种抽象描述,旨在帮助我们清晰地理解数据之间的关系和结构,而不涉及具体的数据库实现细节。
数据库概念模型通常使用一些特定的工具和技术来进行构建,其中最常见的就是实体联系模型(ER 模型)。
ER 模型由实体、属性和联系这三个主要元素组成。
实体,是指具有独立存在意义的事物或对象。
比如说,在一个学校的数据库中,“学生”、“教师”、“课程”都可以被看作是实体。
每个实体都有自己的一组属性来描述其特征。
以“学生”为例,可能的属性包括“学号”、“姓名”、“年龄”、“性别”等等。
联系则反映了实体之间的关系。
这种关系可以是一对一、一对多或者多对多。
例如,一个学生可以选修多门课程,一门课程也可以被多个学生选修,这就是多对多的关系。
而一个班级只有一个班主任,这就是一对多的关系。
构建数据库概念模型的过程就像是在搭建一座房子。
首先,我们要确定房子的主体结构,也就是那些重要的实体。
然后,我们要为这些实体添加“砖块”,也就是它们的属性,让实体变得更加丰富和具体。
最后,我们要建立实体之间的“桥梁”,也就是联系,让整个数据结构更加紧密和合理。
那么,为什么数据库概念模型如此重要呢?它主要有以下几个方面的作用。
第一,帮助我们更好地理解业务需求。
在设计数据库之前,我们需要对业务流程和数据需求有清晰的认识。
通过构建概念模型,我们可以将复杂的业务逻辑转化为直观的数据结构,从而更容易发现潜在的问题和需求。
第二,为数据库设计提供指导。
概念模型是数据库设计的基础,它确定了数据的组织方式和关系,为后续的逻辑模型和物理模型的设计提供了重要的参考。
第三,促进团队沟通和协作。
一个清晰的概念模型可以让开发团队中的不同成员,包括数据库管理员、开发人员、业务分析师等,都能够基于相同的理解进行工作,减少沟通障碍和误解。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一个属性,表明一个学生属于哪个系;而在另一种环境中,由于需 要考虑一个系的系主任、教师人数、学生人数、办公地点等,这时 它就需要作为实体了。
E-R模型的设计
用实体集还是属性
• 一般原则
属性不能再具有需要描述的性质。即属性必须是不可分的数据项 ,不能再由另一些属性组成。 属性不能与其他实体具有联系。联系只发生在实体之间。
集成局部E-R图的步骤
• 1. 合并 • 2. 修改与重构
各分E-R图存在冲突
• 各个局部应用所面向的问题不同 由不同的设计人员进行设计
各个分E-R图之间必定会存在许多不一致的地方(冲突) • 合并分E-R图的主要工作与关键所在:合理消除各分E-R 图的冲突
冲突的种类
• 属性冲突 • 命名冲突 • 结构冲突
解决方法:根据应用语义对实体联系的类型进行 综合或调整。
结构冲突(续)
例:零件与产品之间存在多对多的联系——“构成”,产品 、零件与供应商三者之间存在多对多的联系——“供应” 。
产品 产品 数量 供应商
n
构成
p
n
供应 数量
m
零件 (E—R)1 产品
m
零件 (E—R)2
供应商
p
n
供应
n
数量2 构成 数量1
特点
• 世界是由一组称作实体的基本对象和这些对象之间的联系构成的 • 概念建模 • 语义模型
2.1 E-R模型的基本概念
E-R图模型给出了一组概念,用这组概念可以描述信息世界
• 实体 • 属性 • 联系
2.1 E-R模型的基本概念
实体
实体:客观存在并可相互区分的事物 实体有类(实体)和个体(实体的实例)的概念
第四章 数据库设计
目录
1 设计过程概述 2 实体-联系模型 3 转换为关系模式 4 数据库设计实例
什么是数据库设计?
为什么要进行数据库设计?
数据库设计过程
---- 数据库设计中的抽象
现实世界==>(抽象为)信息世界==> (转换为)计算机世界 现实(客观存在) ==> 认识与抽象(概念) ==> 计算机中(用计算机实现)
同意义对象不相同名称。“项目”和“课题”
结构冲突
三类结构冲突
(1)同一对象在不同应用中具有不同的抽象 例,“课程”在某一局部应用中被当作实体 在另一局部应用中则被当作属性 解决方法:通常是把属性变换为实体或把实体变 换为属性,使同一对象具有相同的抽象。变换时 要遵循两个准则。
结构冲突(续)
(2)同一实体在不同局部视图中所包含的属性不完 全相同,或者属性的排列次序不完全相同。 产生原因:不同的局部应用关心的是该实体的不 同侧面。
解决方法:使该实体的属性取各分E-R图中属性 的并集,再适当设计属性的次序。
结构冲突(续)
例: 学生 姓名 平均成绩
学生 政治面貌 学号
学号
姓名 性别
确定实体之间的联系类型
例:学籍管理局部应用中主要涉及的实体包括学生、 宿舍、 档案材料、班级、班主任。 实体之间的联系:
• 由于一个宿舍可以住多个学生,而一个学生只能住在某一个宿舍中 ,因此宿舍与学生之间是1:n的联系。 • 由于一个班级往往有若干名学生,而一个学生只能属于一个班级, 因此班级与学生之间也是1:n的联系。 • 由于班主任同时还要教课,因此班主任与学生之间存在指导联系, 一个班主任要教多名学生,而一个学生只对应一个班主任,因此班 主任与学生之间也是1:n的联系。 • 而学生和他自己的档案材料之间,班级与班主任之间都是1:1的联系 。
图书(书号,书名,出版日期,出版社) 读者(借书证号,姓名,年龄,性别,家庭住址) 书架(书架号,房间号)
复合属性:将每个分量属性作为复合属性所在实体的属性
学生(学号,姓名,年,月,日)
多值属性:将多值属性与所在实体的码一起组成一个新的从
属实体
学生(学号,姓名) 选课(学号,所选课程号)
2.2 E-R模型的图示化方法
或者采用:
直线旁标1:由联系指向1端
直线旁标m或n:由联系指向多端
直线旁标1..1, 0..1, 1..m, 0..m:完全参与联系还是部分参与联系, 1开始
的,为完全联系,即该端实例至少有一个参与到联系中;0开始的,为 部分参与联系,即该端实例可以不参与联系
将单方参与实体的码作为多方参与实体的属性
来确定。
消除不必要的冗余后的初步E-R图称为基本E-R图。
2.消除冗余的方法
分析方法
例,教师工资单中包括该教师的基本工资、各种补贴、
应扣除的房租水电费以及实发工资。 由于实发工资可以由前面各项推算出来,因此可以去掉 ,在需要查询实发工资时根据基本工资、各种补贴、应扣除 的房租水电费数据临时生成。
• 符合上述两条特性的事物一般作为属性对待。 • 为了简化E-R图的处置,现实世界中的事物凡能 够作为属性对待的,应尽量作为属性。
E-R模型的设计
用实体集还是属性
举例 • 例1:“学生”由学号、姓名等属性进一步描述 ,根据准则1,“学生”只能作为实体,不能作 为属性。 • 例2:职称通常作为教师实体的属性,但在涉及 住房分配时,由于分房与职称有关,也就是说职 称与住房实体之间有联系,根据准则2,这时把 职称作为实体来处理会更合适些.
---- 数据模型与概念模型
数据模型是一组相互关联且已严格定义的概念集合,是用于刻画或描述 现实世界、信息世界或计算机世界的模型 数据模型分不同的层次:描述计算机世界的称数据模型;描述信息世界 或现实世界的称概念数据模型,简称概念模型
现实世 界
认识 抽象
现实世界 概念模型 数据库设计人员完成
2.1 E-R模型的基本概念
单值属性和多值属性
• 多值属性示例: 电话号码,一个人可能有多个电话号码 • 在关系模型中,多值属性一定要转化为单值属性(关系的第1范式)
可空值属性和非空值属性:每个实例的该属性值可以是或不
能是空值
导出属性
• 由其他属性计算而得 • 例如由“出生年份” 可以得出“年龄”
2.1 E-R模型的基本概念
实体之间是有联系的 联系,是指一个实体中的实例和其他实体中实例之间所可能发生的联系 例如,哪位《读者》借阅了哪本《图书》,哪本《图书》放在哪个《书
架》上
2.1 E-R模型的基本概念
参与发生联系的实体的数目,称为联系的度或元。 联系有一元联系、二元联系和多元联系。 现实世界中大多数联系是二元的,即两个不同实体之间的联系
2.1 E-R模型的基本概念
实体用属性来描述 属性,实体所具有的某一方面特性
2.1 E-R模型的基本概念
实体中的每一实例如何区分?关键的属性:关键字 关键字/码,实体中能够用其值唯一区分每一实例的属性或
属性组合
2.1 E-R模型的基本概念
简单属性和复合属性
• 复合属性示例: 家庭住址:省份, 详细住址 • 在关系模型中,复合属性一定要转化为单一属性(关系的第1范式)
一对一联系:
• 若联系双方均部分参与(0..1),则将联系定义为一个新的关系,属性 为参与双方的码 职工(职工号,…) 配偶(丈夫职工号,妻子职工号)
•
若联系一方全部参与(1..1) ,则将联系另一方的码作为全部参与一 方的属性
职工(职工号, …) 部门(部门号, 部门名, 职工号)
一对多联系:
2.1 E-R模型的基本概念
2.1 E-R模型的基本概念
2.1 E-R模型的基本概念
联系的特性也可以用属性来刻画 例如,下图二元联系的属性可以有: “借阅时间”“归还时间”等
2.1 E-R模型的基本概念
再如,下图三元联系的属性可以有:“供货数量”、“供货
日期”等
2.1 E-R模型的基本概念
(b)在局部应用B中 学生
(a)在局部应用A中
姓名 学号 出生日期所在系 年级 (c)在局部应用C中
结构冲突(续)
学生
学号 姓名 出生 政治 所在系 年级 性别 平均 日期 面貌 成绩 (d)合并后
结构冲突(续) (3)实体之间的联系在不同局部视图中呈现 不同的类型
例1, 实体E1与E2在局部应用A中是多对多联系, 而在局部应用B中是一对多联系 例2, 在局部应用X中E1与E2发生联系,而在局部 应用Y中E1、E2、E3三者之间有联系。
合并、修改与重构 关键:消除各分E-R图的冲突
对需求分析阶段收集到的数据进行分类、组织(聚
集),形成
实体 实体的属性,标识实体的码 确定实体之间的联系类型(1:1,1:n,m:n)
E-R模型的设计
用实体集还是属性
实体与属性是相对而言的。同一事物,在一种应用 环境中作为“属性”,在另一种应用环境中就必 须作为“实体”。
实体之间的联系有很多种类 我们首先要清楚二元联系的:一对一、一对多和多对多联系
一对一联系(1:1)
一个“经理”只管理一个“商店” ,一个“商店”只能有一个“经 理”
一对多联系(1:m和m:1)
一个“画家”可以绘制多幅“作品”,一幅“作品”只能由一个“ 画家”来完成
多对多联系(m:n)
一位同学可以选学多门课程,一门课程可由多个人来选学
消除冗余的方法(续)
如果是为了提高效率,人为地保留了一些冗
余数据,则应把数据字典中数据关联的说明 作为完整性约束条件。
一种更好的方法是把冗余数据定义在视图中
目录
1 设计过程概述 2 实体-联系模型 3 转换为关系模式 4 数据库设计实例
E-R模型中的实体转换为关系 E-R模型中的实体的属性转换为关系的属性