《关系数据库与SQL Server 2005》习题参考答案 下载本文

内容发布更新时间 : 2024/6/27 3:25:01星期一 下面是文章的全部内容请认真阅读。

关系数据库与SQL Server 2005

习题参考答案

第1章 关系数据库原理

1.数据是数据库中存储的基本对象。数据库是长期存储在计算机内、有组织的、可共享的数据集合。数据库管理系统是位于用户与操作系统之间的一层数据管理软件。数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及开发工具)、应用系统、数据库管理员和用户构成。

2.数据库系统的特点有:数据结构化、数据的共享性高,冗余度低,易扩充、数据独立性高、数据由DBMS统一管理和控制。

3.数据库管理系统的主要功能有:数据定义功能、数据操纵功能、数据库的运行管理、数据库的建立和维护功能。

4.

班级

1班级--班长1班长 1:1的E-R图

班级

1组成m学生 1:m的E-R图

课程m选修n学生 m:n的E-R图 5.

编号名称名称代码学号姓名性别年龄系n拥有1学校1拥有编号n班级1属于nn学生n选修m教研室名称门牌号1属于n1指导校名校址校代码教师号教师专业姓名性别n年龄指导职称m课程号课程课程名学分教材 6.

公司(公司代码,公司名,地址) 部门(部门代码,部门名)

员工(员工代码,姓名,性别,年龄,职务) 商品(商品代码,商品名,单价,数量) 厂家(厂家代码,厂家名,地址) 拥有(公司代码,部门代码) 属于(部门代码,员工代码)

销售(员工代码,商品代码,销售量) 供货(商品代码,厂家代码)

7.条件连接是把两个表中的行按照给定的条件进行拼接而形成的新表,结果列为参与

连接的两个表的所有列。自然连接要求两个表有共同属性(列)。自然连接的结果表是参与操作的两个表的共同属性上进行等值条件连接后,再去除重复的属性后得到的新表。

8. 1) A B C D E 1 2 3 3 1 4 5 6 6 2 2) A B C B C D 1 2 3 2 3 9 4 5 6 5 6 0 3) A B C D 1 2 3 9 4 5 6 0 4)空 5) A 1 4 7 B C 2 3 5 6 D 9 0 3 D 9 0 8 9 null null 2 7 全外连接 A B C 1 2 3 4 5 6 左外连接 A 1 4 7 8 9 null B C D 2 3 9 5 6 0 null 2 7 3 右外连接

9.关系的完整性规则包括实体完整性、域完整性和参照完整性三个方面。实体完整性用于保证数据库表中的每一个元组都是惟一的,要求在任何关系的任何一个元组中,主键的值不能为空值、也不能取重复的值。域完整性用于保证给定字段中数据的有效性,即保证数据的取值在有效的范围内,要求由用户根据实际情况,定义表中属性的取值范围。参照完整性用于确保相关联的表间的数据保持一致,要求“不引用不存在的实体”,即:不允许在一个关系中引用另一个关系中不存在的元组。

例如:主表:学生(学号,姓名,性别,专业号,年龄)

从表:专业(专业号,专业名) 主表的“专业号(外键)”的取值只能为两种情况:若取非空值,则它必须是从表中存在的值;取空值(null),表明尚未给学生分配专业,null不等于0或空字符串。

10.在关系数据库的设计过程中,对于同一个问题,选用不同的关系模式,其性能的优劣是大不相同的,为了区分关系模式的优劣,人们常常把关系模式分为各种不同等级的范式。一个低一级范式的关系模式,通过分解可以转换为若干个高一级范式的关系模式,这种过程称为关系的规范化。

关系的规范化主要目的是解决数据库中数据冗余、插入异常、删除异常和更新异常等数据存储问题。

关系规范化的基本方法是逐步消除关系模式中不合适的数据依赖,使模式达到某种程度的分离,也就是说,不要将若干事物混在一起,而要彼此分开,用一个关系表示一事或一物。

从第一范式到第二范式,消除了非主属性对码的部分函数依赖;从第二范式到第三范式,消除了非主属性对码的传递函数依赖;从第三范式到BCNF,消除了关系中冗余的码。

习题2

1.微软公司为用户提供了5种版本的SQL Server 2005:简易版、工作组版、标准版、企业版、开发人员版。

2.SQL Server 2005的新特性:企业级数据管理的增强功能、提高开发者能力的新技术、查询通知、多活动结果集、依据镜像的透明故障转移、商务智能。

3.SQL Server 2005的配置工具包括:Notification Services命令提示、Reporting Services配置、SQL Server Configuration Manager、SQL Server错误和使用情况报告、SQL Server外围应用配置器。

4.SQL Server 2005安装完成后,包括以下的系统数据库:Master数据库、Model数据库、Msdb数据库、Tempdb数据库、Resource数据库。

习题3

一、填空题

1.Master数据库 Model数据库 Msdb数据库 Tempdb数据库 Resource数据库 2.主数据文件 次数据文件 事务日志文件

3.可恢复所有未完成的事务,保证数据库操作的一致性和完整性 4.CREATE DATABASE 5.ALTER DATABASE 6.DROP DATABASE 7.sp_helpdb 8.数据 数据 9.为空 删除文件组中的文件 10.主 二、简答题

1.分离数据库时,如果有用户与数据库连接,在“状态”列显示“未就绪”,此时分离数据库会操作失败。所以要分离数据库先要结束那些正在使用数据库的进程。

2.备份数据库有4种类型:完整备份、差异备份、事务日志备份、文件和文件组备份。 三、上机题

create database testdb on primary

( name=td1, filename=‘e:\\sql\\td1.mdf', size=5, maxsize=20, filegrowth=10% ), ( name=td2, filename=‘e:\\sql\\td2.ndf', size=10, maxsize=30, filegrowth=2 ), filegroup user1

( name=td3, filename=‘e:\\sql\\td3.ndf',

size=5, maxsize=unlimited, filegrowth=2 ) log on

( name=tlog, filename=' e:\\sql\\tlog.ldf',

size=4, maxsize=unlimited, filegrowth=20% )

习题4

一、填空题

1.主键约束 唯一性约束 外键约束 检查约束 空值约束 默认值约束 2.单个列定义 所有列定义 修改该表的方式 3.一 多 空 非空 4.相应的约束 5.外键 T2 二、上机题 1.

alter table 学生表

add constraint pk_xh primary key (学号), constraint uq_email unique (EMAIL), constraint df_xb default ‘男’ for 性别

alter table 学生表

alter column 姓名 char(8) not null 2.

alter table 成绩表

add constraint pk_xh_kcm primary key (学号, 课程名),

constraint fk_xh foreign key (学号) references 学生表(学号), constraint ck_cj check (成绩>=0 and 成绩<=100)

alter table 成绩表

alter column 课程名 char(20) not null 3.

insert 学生表(学号, 姓名, 性别, 电话, EMAIL)

values (‘020107’, ‘田芳’, ‘女’, ‘65926699’, ‘tianfang@qq.com’) go

insert 成绩表(学号, 课程名, 成绩) values (‘020107’, ‘数据库基础’, 85) 4.

alter table 学生表