关系数据库与SQL语言课后作业
第2课 构造学生信息管理系统数据库 1. 给出下列术语的定义,并加以理解:
函数依赖、完全函数依赖、传递函数依赖、1NF、2NF、3NF。 答:
函数依赖:设R(U)是属性集U上的关系模式,X,Y是U的子集。如果对于R的所有关系r 都存在:对于X的每一个具体值,Y都只有一个具体值与之对应,则称属性Y函数依赖于属性X。或者说,属性X函数决定属性Y,记作X→Y。 完全函数依赖:在关系模式R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有 X’?? Y,则称Y完全函数依赖于X,记作XY。
传递函数依赖:在关系模式R(U)中,如果X→Y,Y→Z,且YX,Y?? X,则称Z传递函数依赖于X,记作XY。 1NF:每一个分量必须是不可分的数据项。满足了这个条件的关系模式就属于第一范式(1NF),记作关系R1NF。
2NF:若关系模式R满足第一范式,即R1NF,并且每个非主属性都完全函数依赖于R的码(即不存在部分函数依赖),则R满足第二范式,记为R2NF。
3NF:若关系模式R∈2NF,且它的每一个非主属性都不传递函数依赖于码,则R满足第三范式,记作R∈3NF。 2. 试述数据库设计方法和基本过程。 答:
数据库常用的设计方法有: 1)直观设计法(手工试凑法) 2)规范设计法,常用的有如下: ①新奥尔良法
②基于E-R模型的数据库设计方法。 ③基于3NF的数据库设计方法。 ④基于视图的数据库设计方法 3)计算机辅助设计法 4)自动化设计法
数据库设计的一般过程:
需求分析→概念结构设计→逻辑结构设计→物理结构设计→数据库实施→数据库运行和维护。 3. 什么是E-R图?构成E-R图的基本要素是什么? 答:
E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。 构成E-R图的基本要素是:
矩形。用来表示实体,矩形框内写上实体名。
椭圆。用来表示实体的属性,椭圆框内写上属性名,并用无向线把实体与属性连接起来。
菱形。用来表示实体与实体的联系,菱形框内写上联系名,用无向线把菱形与有关实体连接起来,并在无向线旁标注联系的类型。
无向线。用于实体与属性、实体与联系之间的连接。 4. 试述E-R图转换为关系模式的转换规则。 答:
将E-R图转换为关系模型实际上就是将实体、属性和联系转换成关系模式。在转换中要遵循以下原则: 1)实体的转换规则
将E-R图中的每一个常规实体转换为一个关系,实体的属性就是关系的属性,实体的码就是关系的码。 2)实体间联系的转换规则
①一个1:1可以转换为一个独立的关系模式,也可以与任意一端所对应的关系模式合并。如果转换为一个独立的关系模式,则与联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。 如果将联系与任意一端实体所对应的关系模式合并,则需要在被合并的关系中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体的码。
②一个1:n联系可以转换为一个独立的关系模式,也可以与n端所对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
如果与n端所对应的关系合并,则在n端实体中增加新属性,新属性由联系对应的1端实体的码和联系自身的属性构成,新增属性后原关系的码不变。
③一个m:n联系转换为一个关系模式。转换的方法为与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合。 5. 现有一个局部应用,包括两个实体:“出版社”和“作者”,这两个实体是多对多的联系,请设计适当的属性,画出E-R图,再将其转换为关系模式。
答:
E-R图如下: 关系模式:
出版社(名称,地址,电话,网址) 作者(证件号,名称,性别,年龄) 出版(出版社名称,作者证件号)
6. 请设计一个图书馆数据库,此数据库中对每个借阅者保存的记录包括:读者号,姓名,地址,性别,年龄,单位。对每本书保存有:书号,书名,作者,出版社。对每本被借出的书保存有读者号、借出日期和应还日期。要求:给出该图书馆数据库的E-R图,再将其转换为关系模式。 答:
关系模式:
读者(读者号,姓名,地址,性别,年龄,单位)
图书(书号,书名,作者,出版社,读者号,借出日期,应还日期) 借阅(读者号,书号,借出日期,应还日期) E-R图如下:
7. 图1是一个销售业务管理的E-R图,请把它转换成关系模式。
答:
工厂(厂名,厂长,地址) 产品(编号,型号,单价) 用户(姓名,地址,电话) 工厂-产品(厂名,编号) 工厂-用户(厂名,姓名) 产品-用户(编号,姓名)
8. 现在要建立关于系、学生、班级、学会诸信息的一个关系数据库。规定:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一个宿舍区,每个学生可参加若干学会,每个学会有若干学生。 描述学生的属性有:学号、姓名、出生日期、系号、班号、宿舍区; 描述班级的属性有:班号、专业名、系号、人数、入校年份; 描述系的属性有:系号、系名、系办地点、人数;
描述学会的属性有:学会名、成立年份、地点、人数、学生参加某会有一个入会年份。 ① 请写出关系模式。
② 写出每个关系模式的函数依赖集,指出是否存在传递依赖。在函数依赖的决定因素是多属性的情况下,讨论函数依赖是完全依赖,还是部分函数依赖。 ③ 指出各个关系模式的关键字。 答:
①关系模式
学生(学号,姓名,出生日期,系号,班号,宿舍区) 班级(班号,专业名,系号,人数,入校年份) 系(系号,系名,系办地点,人数)
学会(学会名,成立年份,地点,人数) 会员(学号,学会名,入会年份)。
②写出每个关系模式的函数依赖集,指出是否存在传递依赖。在函数依赖的决定因素是多属性的情况下,讨论函数依赖是完全依赖,还是部分函数依赖。 学生:
主键:学号;外键:班号,系号。
最小函数依赖集:学号→姓名,学号→出生日期,学号→班号,班号→系号,系号→宿舍区。 存在传递函数依赖:学号→系号(学号→班号,班号→系号),学号→宿舍区(班号→系号,系号→宿舍区)。 班级:
最小函数依赖集:班号→专业名,班号→系号,班号→人数,班号→入校年份 主键:班号;外键:系号。
存在传递函数依赖:班号→系号(班号→专业名,专业名→系号) 系:
最小函数依赖集:系号→系名,系号→系办地点,系号→人数 主键:系号;外键:无 不存在传递函数依赖。 学会:
最小函数依赖集:学会名→成立年份,学会名→地点,学会名→人数 主键:学会名;外键:无 不存在传递函数依赖。 会员:
最小函数依赖集:(学号,学会名)→入会年份 主键:(学号,学会名);外键:学号,学会名。 不存在传递函数依赖和部分函数依赖。 ③ 指出各个关系模式的关键字
学生 主键:学号;外键:班号,系号。 班级 主键:班号;外键:系号。 系 主键:系号;外键:无。 学会 主键:学会名;外键:无 会员 主键:(学号,学会名);外键:学号,学会名。 9. 设一个仓库管理系统的局部应用有如下三个实体: 仓库:仓库号、仓库名称、地点、面积 职工:职工号、职工姓名、性别、年龄 货物:货物号、货物名、价格
其中,仓库和职工是一对多的关系,仓库和货物是多对多的关系。画出该局部应用的E-R模型,并将其转换为关系模式。 答:
仓库和职工局部E-R图:
仓库和货物局部E-R图: 关系模式:
职工(职工号,仓库号,职工姓名,性别,年龄) 仓库(仓库号,仓库名称,地点,面积) 货物(货物号,货物名,价格) 存储(仓库号,货物号)
10. 关系规范化的作用是什么?第一范式至第三范式,每种范式的特点是什么 答:
一个低一级范式的关系模式,通过模式分解转化为若干个高一级范式的关系模式的集合,这种分解过程叫作关系模式的规范化(Normalization)。规范化的目的就是使结构合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更
新。
第一范式要求关系中属性必须是原子项,即不可再分的基本类型,集合、数组和结构不能作为某一属性出现,严禁出现“表中有表”的情况。
2NF就是不允许关系模式的属性之间有这样的函数依赖X→Y,其中X是码的真子集,Y是非主属性。 一个关系模式R满足不存在部分函数依赖和传递函数依赖,则R满足3NF。
第3课 初识SQL Server
1. 安装SQL Server 2000对硬件有什么需求? 答:
计算机的芯片、内存、硬盘空间等配备需要满足最低的硬件配置要求: 处理器 Pentium 2 或更高
内存 至少64MB,建议128MB 或更多
硬盘空间 需要约250MB的程序空间,以及预留200M的数据空间 显示器 需要设置成至少800*600模式,才能使用其图形分析工具 2. SQL Server 2000提供了哪些主要组件,其功能是什么? 答:
查询分析器:提供图形化的查询分析工具。
导入和导出数据:提供SQL Server 与其他数据源之间的数据库服务。 客户端网络实用工具:用于管理客户端网络连接配置。
联机丛书:为用户提供Microsoft SQL Server 联机文档资料,它具有索引和全文搜索能力,可根据关键字来快速查找用户所需资料。
企业管理器:SQL Server 企业管理器,它是一个具有界面的综合管理工具,可完成如下工作:
管理SQL Server 服务器和表、视图、存储过程、触发器、索引、规则、默认等数据库对象,以及用户定义数据库类型; 管理SQL Server 登陆标识和用户; 设置数据库对象的访问权限; 管理备份设备和数据库;
备份数据库和事务日志、恢复数据库; 实现数据转换服务;
创建全文索引、数据库图表和数据库维护计划; 执行数据库Web 出版和复制操作。
事件探查器:SQL Server 事件探查器,它能实时地捕获服务器活动记录,监视SQL Server 所产生的事件,并可将监视结果输出到文件、表或屏幕上。
服务管理器:SQL Server 服务管理器,用来启动、暂停、继续和停止MS SQL Server、SQLServerAgent、Microsoft Search等服务。
3. 下面的硬件设备,哪一个不是SQL Server 2000系统必备的? A. CPU B. RAM C.显示器 D.打印机 答:D
4. SQL Server 2000数据库系统不能运行在哪个平台上? A. Windows 2000 Server B. Windows NT Server
C. Windows 98 D. Windows 2000 Professional 答:C
5. 企业管理器的用途是什么?使用它可以完成哪些操作? 答:
用途 :SQL Server企业管理器是一个集成化的操作环境,几乎所有的操作都可以在该工具中完成。 操作:创建数据库、执行数据库备份、执行各种向导工具、服务配置、数据复制等。 6. 查询分析器可以进行的操作有哪些? 答:
在命令语句编辑窗口中,创建查询和其他SQL脚本,并针对SQL Server 数据库来分析和执行它们,执行结果在结果窗格中以文本或表格形式显示,还允许用户将执行的结果保存到报表文件中或导出到指定文件中; 利用模板功能,可以借助预定义脚本来快速创建数据库和数据库对象; 利用对象浏览器脚本功能,快速复制现有数据库对象; 在参数未知的情况下执行存储过程;
调式查询性能问题,包括显示执行计划、显示服务器跟踪、显示客户统计、索引优化向导等; 在树型对象浏览窗格中,可以定位数据库对象或查看和使用对象; 在“打开表”窗口中,可快速插入、更新或删除表中的行。 7. 可以使用SQL Server提供的哪种工具来执行T-SQL语句? 答:
可以使用SQL Server 查询分析器。
8. 使用什么工具可启动SQL Server的服务? 答:
1)利用服务管理器; 2)利用DOS命令启动。
9. 如何以net命令来启动SQL Server 的服务?
答: 在DOS命令运行方式下输入net start mssqlserver 即可启动。 第4课 创建和管理学生信息管理系统数据库
1. SQL Server 系统数据库有哪些,它们各自的功能是什么? 答:
系统数据库有四个,分别是:master ,tempdb ,model ,msdb
master数据库记录了所有系统信息,所有的注册帐户和密码,所有的系统设置信息。Master数据库还记录了所有用户定义数据库的存储位置和初始化信息。
Tempdb数据库记录了所有的临时表格,临时数据和临时创建的存储过程。 Model数据库是创建所有用户数据库和tempdb数据库的模板。
Msdb数据库供SQL Server代理程序调度警报和作业以及记录操作员时使用。 2.SQL Server 系统表有何作用? 答:
SQL Server2000中的每个数据库都包含系统表,是在创建数据库时自动产生的。这些表用来记录SQL Server组件所需的数据。每个数据库中的系统表,为每个数据库存储数据库级系统信息。SQL Server的操作能否成功,取决于系统表信息的完整性。
3.什么是SQL Server 系统存储过程?有何作用? 答:
系统存储过程是预先经过编译的SQL语句的集合,所有系统存储过程的名字都以sp为前缀,下划线后是这个系统存储过程的功能简介。使用系统存储过程可以方便地查看有关数据库和数据库对象的相关信息。 4.SQL Server2000的数据库对象有哪些? 答:
对象有系统数据库,系统表,系统存储过程,实例数据库。