第一章
1. 试说明数据、数据库、数据库管理系统和数据库系统的概念。
答:数据是数据库中存储的基本对象,数据库是存放数据的场所,数据库管理系统是管理数据库数据以及其功能的系统软件,数据库系统是由数据库、数据库管理系统、数据库管理员和数据库应用程序共同构成的系统。
5. 比较用文件管理和用数据库管理数据的主要区别。
答:文件系统不能提供数据的独立性,也不能提供数据共享、安全性等功能,这些需要客户端编程实现,而数据库管理系统很方便的实现这些功能。
6. 在数据库管理方式中,应用程序是否需要关心数据的存储位置和存储结构?为什 么?
答:不需要,这些都由数据库管理系统来维护。
7. 在数据库系统中,数据库的作用是什么?
答:是存储数据的仓库,用来存储数据。
8. 在数据库系统中,应用程序可以不通过数据库管理系统而直接访问数据文件吗?
答:不可以。
10. 数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么?
答:包括3部分:数据库、数据库管理系统和应用程序。数据库是数据的汇集,以一定的组织形式保存在存储介质上;数据库管理系统是管理数据库的系统软件,可以实现数据库的各种功能;应用程序专指以数据库数据为基础的程序。
第二章
3. 实体之间的联系有几种?分别是哪些?请为每一种联系举出一个例子。
答:三种:1:1;1:n;m:n;示例:老板和公司,公司和员工,经理和员工。
5. 指明下列实体间联系的种类:
(1)教研室和教师(··一个教师只属于一个教研室, 一个教研室可有多名教师)。 答:一对多
(2)商店和顾客。答:多对多
(3)国家和首都。答:一对一
6. 解释关系模型中的主码、外码、主属性、非主属性的概念,并说明主码、外码的作用。
答:主码是用于唯一确定表中一个元组的一个属性或最小的属性组。用于实现实体完整性。
外码用于实现数据之间的关联关系。
主属性:候选键所包含的属性。
非属性:主属性之外的其他属性。
7. 指出下列关系模式的主码:
(1)考试情况(课程号,考试性质,考试日期,考试地点)。假设一门课程在不同的日期可以有多次考试,但在同一天只能考一次。多门不同的课程可以同时进行考试。
答:课程号和考试日期
(2) 教师授课(教师号,课程号,授课时数,学年,学期)。假设一名教师在同一个学年和 学期可以讲授多门课程,也可以在不同学年和学期多次讲授同一门课程,对每门课程的讲授 都有一个授课时数。
答:教师号、课程号、学年
(3) 图书借阅(书号,读者号,借书日期,还书日期)。假设一个读者可以在不同的日期多 次借阅同一本书, 一个读者可以同时借阅多本不同的图书, 一本书可以在不同的时间借给不 同的读者。但一个读者不能在同一天对同一本书借阅多次。
答:书号、读者、借书日期
- 设有如下两个关系模式,试指出每个关系模式的主码、外码,并说明外码的引用关系。 产品表(产品号,产品名称,产品价格,生产日期),其中产品名称有重复。销售表(产品号,销售时间,销售数量),假设可同时销售多种产品,但同一产品在 同一时间只销售一次。
答:产品的主码:产品号,无外码。销售的主码:产品号和销售时间,产品号为外码。
9. 关系模型的数据完整性包含哪些内容?分别说明每一种完整性的作用。
答:实体完整性、参照完整性和用户定义完整性。
实体完整性:保证表中的不存储相同的数据,也不存储无意义的数据。
参照完整性:用于描述实体之间的联系。
用户定义完整性:限定属性的取值范围,保证数据库中存储的值与现实世界相符。
10. 数据库系统包含哪三级模式?试分别说明每一级模式的作用?
答:外模式、模式、内模式。
外模式是对现实系统中用户感兴趣的整体数据结构的局部描述,用于满足不同用户对数据的需求。
模式是数据库中全体数据的逻辑结构和特征的描述,满足所有用户对数据的需求。
内模式:对整个数据库的底层表示,描述了数据的存储位置和存储方式。
11. 数据库系统的两级映像的功能是什么?它带来了哪些好处?
答:外模式/模式映射和模式/内模式映像。前者保证了当前模式发生变化时可以保证外模式不变,从而时用户的应用程序不需要修改。后者保证了当内模式发生变化,比如存储位置或存储文件名改变,可以保证模式不变,从而使用户不需要知道这些变化。
12. 数据库三级模式划分的优点是什么?它能带来哪些数据独立性?
答:使用户可以在逻辑层处理数据, 不需要关心具体的物理细节,同时当内模式或模式发生变化时,可以通过模式之间的映像关系,保持外模式不变,从而避免了修改应用程序,带来了数据的逻辑独立性和物理独立性。
第三章
10写出创建如下三张表的SQL 语句,要求在定义表的同时定义数据的完整性约束。
答:
create table 图书表{
书号 nchar(6) primary key, 书名 nvarchar(30) not null,
第一作者 char(10) not null, 出版日期 smalldatetime,
价格 numeric(4, 1)
}
Create table 书店表{
书店编号 nchar(6) primary key, 店名 nvarchar(30) not null,
电话 char(8) check (电话 like`[0-9][0-9][0-9][0-9][0-9][0-9][0-9]
地址 varchar(40),
邮政编码 char(6)
}
Create table 图书销售表{
书名 nchar(6) not null,
书店编号 nchar(6) not null,
销售日期 smalldatetime not null;
销售数量 smalldatetime check(销售数量 >= 1);
}
11为“图书表”添加“印刷数量”列,类型为整数,同时添加约束,要求此列的取值 要大于等于1000。
答:Alter table 图书表
Add 印刷数量 int check(印刷数量 >= 1000)
12删除“书店表”中的“邮政编码”列。
答:alter table 书店名
Drop column 邮政编码
- 将“图书销售表”中的“销售数量”列的数据类型改为整型。
答:alter table 图书销售表
Alter column 销售数量 int
标签:存储,前三章,数据库,模式,完整性,原理,数据库系统,数据 From: https://www.cnblogs.com/litianyu1969/p/18248707