数据库复习

  • 格式:doc
  • 大小:117.00 KB
  • 文档页数:7

1、 数据管理技术的发展(三个阶段) 2、 数据库系统的组成 用户、应用程序、数据库管理系统、数据库,其中数据库管理系统是数据库系统的核心。 3、 数据库(DB)、数据库管理系统(DBMS)、数据库系统(DBS)的概念 数据库(Database,DB)数据库是统一管理并长期储存在计算机内有结构的大量共享的 数据集合。

数据库管理系统(Database Managements System,DBMS)数据库管理系统是位于用户

与操作之间的一层数据管理软件。数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制。目前,商品化的数据库管理系统以关系模型为主.

数据库系统(Database System DBS)数据库系统是指在计算机系统中引入数据库 之后的系统构成,一般由数据库、数据库管理系统、应用程序和用户构成。 4、 数据库的三级模式和二级映射的作用是什么? 5、 关系模式、关系的候选建、外键 6、 关系模型的数据完整性:实体完整性、参照完整性、自定义完整性 7、 关系代数:并、交、差、笛卡尔积、选择、连接、投影 8、 用关系代数表示查询。解题步骤: (1)根据题意确定要输出的列以及这些列所在的表,由此确定被操作的表名称,可能有多个。 (2)根据题意,确定选择条件以及选择条件中用到的列在哪个表中,这里又确定一些被操作的表名称。 (3)根据1、2两步确定的表名称形成所有要操作的表名集。 (4)若表名集中只有一个表,则如果要输出的列是这个表的全部列,就只用选择运算; 否则先用选择,后用投影选取要输出的(属性)列。 (5)如表名集中有两个或多个表,则一般用自然连接将它们连接起来,如果发现不存在公共列,即几个表不能进行自然连接,则要在表名集中加入一个或多个中间表,中间表中含有能进行自然连接的公共列,从而使得表名集中全部表可以进行自然连接;将选择条件作用于自然连接后产生的新表上,之后一般用投影操作选取要输出的列。 9、 关系代数实例 [例]设教学数据库中有3个关系: 学生关系 S(SNO,SNAME,AGE,SEX) 学习关系 SC(SNO,CNO,GRADE) 课程关系 C(CNO,CNAME,TEACHER) (1) 检索学习课程号为C2的学生学号与成绩; (2)检索学习课程号为C2的学生学号与姓名; (3)检索张华同学选修的课程号; (4)检索选修课程名为MATHS的学生学号与姓名。 (5)检索选修课程号为C2或C4的学生学号。 10、 规范化(重点及难点) (1)关系规范化中,插入异常、删除异常、数据冗余与更新异常的理解 (2)函数依赖 函数依赖、部分函数依赖、完全函数依赖、传递函数依赖 候选键的定义 (3)1NF、2NF、3NF必须理解 定义6.6:如果一个关系R的所有属性都是不可再分的基本数据项,则称关系R属于第一范式,记作R 1NF。 定义6.7:如果关系R ∈1NF,并且关系R的每一个非主属性不部分依赖于候选键,则R属于第二范式,记作:R∈2NF。 将1NF分解成2NF的方法: (1)用组成候选键的属性集合的每一个非空子集作为主键构成一个新关系; (2)对于每个新关系,将完全依赖或传递依赖于此主键的属性放置到此关系中。 定义6.8:如果关系R∈2NF,且每一个非主属性都不传递依赖于候选键,则R属于第三范式,记作R∈3NF。 将2NF分解成3NF的方法: (1)对于不是候选键的每个决定因子,从原关系中删去依赖于它的所有属性; (2)对原关系中不是候选键的每个决定因子,新建一个关系,新关系中包含依赖该决定因子的属性; (3)将该决定因子加入新关系并作为新关系的主键。 (4)规范化的例题

②设有一个反映工程及其所使用相关材料信息的关系模式: R(工程号,工程名,工程地址,开工日期,完工日期,材料号,材料名称,使用数量) 如果规定: 每个工程的地址、开工日期、完工日期惟一;不同工程的地址、开工和完工日期可能相同; 工程名与材料名称均有重名; 每个工程使用若干种材料,每种材料可应用于若干工程中。 (1)根据上述规定,写出模式R的基本FD和关键码。 (2)R最高达到第几范式,并说明理由。 (3)将R规范到3NF。

③设有一个反映教师参加科研项目的关系模式:

R(教师号,项目名称,科研工作量,项目类别,项目金额,负责人) 如果规定:每个项目可有多人参加,每名教师每参加一个项目有一个科研工作量;每个项目只属于一种类别,只有一名负责人。 (1)根据上述规定,写出模式R的基本FD和关键码。 (2)说明R不是2NF的理由。 (3)将R规范到3NF。 11、 数据库设计中各个阶段的任务 (1)理解概念设计阶段的任务 (2)E-R模型:反映现实世界中实体及实体间联系的信息模型 (3)二元联系的三种联系类型 ①一对一联系(1:1):若对于实体A中的每一个实例,实体B中至多有一个实例与之联系;反之亦然,则称实体A与实体B具有一对一联系,记为1:1 ②一对多联系(1:n):若对于实体A中的每一个实例,实体B中有n(n≥0)个实例与之联系;而对于实体B中的每一个实例,实体A中至多有一个实例与之联系,则称实体A与实体B具有一对多联系,记为1:n ③多对多联系(m:n):若对于实体A中的每一个实例,实体B中有n(n≥0)个实例与之联系;而对于实体B中的每一个实例,实体A中有m(m ≥0 )个实例与之联系,则称实体A与实体B具有多对多联系,记为m:n (4)各种联系转换成关系模式的规则 5.2.1实体的转换 一个实体转换为一个关系,实体的属性就是关系的属性,实体的标识符就是关系的主键。 在关系模式中,用下划线来表示主键,关系名极其属性名可用对应实体的实体名和属性名。 5.2.2 联系的转换 1.二元联系的转换  1:1联系的转换方法 可以与任意一端对应的关系模式合并,合并后的关 系模式属性为:实体A属性+联系属性+实体B的标识符。 实体B的标识符在关系模式B中为主键,在关系模式 A中为外键。  1:n联系的转换方法 与n端对应的关系模式合并,合并后的关系中加入一端实体的主键和联系本身的属性,主键不变。  M:n联系的转换方法 一个m:n联系转换为一个关系模式,在该关系中加入两端实体的主键,这个关系模式的属性为:实体A的标识符+实体B的标识符+联系本身的属性,主键为两个主键的组合。 (5)例题 ①某旅行社管理系统涉及的部分信息如下: 1) 景点:景点编号,景点名称,地点,景点描述 2) 线路:线路编号,线路名称,线路描述 3) 导游:工号,姓名,等级 4) 团队:团队编号,人数,开始日期,截至日期 其中:每条线路由多个景点组成,不同线路的景 点存在交叉;每条线路有多名导游,但一名导游 只负责一条线路;每条线路可同时存在多个旅游团队,但每个团队只旅游一条线路。 1) 建立一个反映上述局部应用的ER模型,要求标注联系类型(可省略实体属性)。 2) 根据转换规则,将ER模型转换为关系模型,要求标注每个关系模型的主键和外键(如果存在)。 ②某科技管理部门欲开发一个科研项目申报与评审系统,涉及的部分信息如下: (1)项目:编号,名称,申请者,期限,金额,项目描述。 (2)项目类别:类别编号,类别名称。 (3)专家:专家编号,姓名,职称,单位。 其中:根据项目类别,每个申报项目需由对应领域的多位专家进行评审;每位专家只参与一类项目的评审,评审时要记录评审日期和评审意见。 (1) 建立一个反映上述局部应用的ER模型,要求标注联系类型(可省略实体属性)。 (2) 将ER模型转换为关系模型,要求标注每个关系模型的主键和外键(如果存在)。

③为体育部门建立数据库,其中包含如下信息: (1)运动队:队名、主教练,其中队名惟一标识运动队。 (2)运动员:运动员编号、姓名、性别、年龄。 (3)运动项目:项目编号、项目名、所属类别。 其中:每个运动队有多名运动员,每名运动员只属于一个运动队;每名运动员可以参加 多个项目,每个项目可以有多个运动员参加。系统记录每名运动员参加每个项目所得名次和成绩以及比赛日期。 (1)根据以上叙述,建立ER模型,要求标注联系类型。(实体的属性可以省略) (2)根据转换规则,将ER模型转换成关系模型,要求标明每个关系模式的主键和外键(如果存在)。

④已知某个工厂中有多个工段,每个工段有多个车间,每个车 间只在一个工段中,每个车间生产多种产品,而每种产品可 由多个车间生产。 工段的属性有:工段名,工段号; 车间的属性有:车间号,车间名,车间领导; 产品的属性有:产品号,产品名称,型号规格,生产 日期。 问题: (1) 根据上述语义设计E-R模型。 (2)将E-R模型转换成关系数据模型,并指出每一个关系的主键。

12、 Transact-SQL语言主要组成部分 ① 数据定义语言(DDL,Data Definition Language) Create 、DROP、ALTER语句 ② 数据操纵语言(DML,Data Manipularion Language) SELECT、INSERT、DELETE、UPDATE ③ 数据控制语言(DCL,Data Control Language) GRANT、REVOKE ④ 系统存储过程(System Stored Procedure)

13、 常见约束 a) NULL/NOT NULL(空值约束/非空值约束) b) DEFAULT (默认值约束) :为某列设置默认值 c) UNIQUE(惟一值约束)