第一部分 历年名校考研真题
在SQL Server 2000中,常用的数据库备份方法有完全备份、差异备份和日志备份。为保证某数据库的可靠性,需要综合采用这三种方法对该数据库进行备份。下列说法正确的是( )。
A.这三种备份操作的周期都必须一样,并且都必须备份在同一个备份设备上 B.这三种备份操作的周期都必须一样,但可以备份在不同的备份设备上 C.这三种备份操作的周期可以不一样,但必须备份在同一个备份设备上 D.这三种备份操作的周期可以不一样,并且可以备份在不同的备份设备上
【答案】D查看答案
【解析】为同时兼顾数据库的可靠性和成本,应综合采用完全备份、差异
备份和日志备份三种方法对该数据库进行备份,这三种备份操作的周期可以不一样,并且可以备份在不同的备份设备上。
47对于联机事务处理系统和数据仓库系统中的数据,下列说法正确的是( )。 A.一般情况下,联机事务处理系统中的数据不能被修改,数据仓库系统中的数据可被修改
B.联机事务处理系统中的数据库规模一般大于数据仓库系统中的数据规模 C.联机事务处理系统中的数据一般按面向业务应用的方式组织,数据仓库系统中的数据一般按面向分析主题的方式组织
D.一般情况下,在安全性和一致性要求上,对数据仓库系统中数据的要求要高于对联机事务处理系统中数据的要求
【答案】C查看答案
【解析】联机事务处理系统一般没有复杂的查询和分析处理,按面向业务
应用的方式组织数据,数据仓库系统的特征在于面向主题、集成性、稳定性和时变性,一般按面向分析主题的方式组织数据。
48关于分布式数据库,下列说法错误的是( )。
A.在分布式数据库系统中,分片透明性主要是指数据分片的分配位置对用户是透明的,用户无需关注每个分片被分配的场地
B.对于用户而言,一个分布式数据库系统从逻辑上看如同一个集中式数据库,用户可在任何一个场地执行全局应用和局部应用
C.分布式数据库的查询处理代价既包括CPU和I/O代价,也需要考虑场地间传输数据所需的通信代价
D.在分布式数据库查询中,导致场地间数据传输量大的主要原因是数据间的连接操作和并操作
【答案】A查看答案
【解析】分布式数据库中,每台计算机都有DBMS的一份完整拷贝,具有
自己的局部数据库,放在单独的地方,通过网络相互连接,形成大型的全局数据库。A项,分片透明性层次最高,即用户或应用程序只对全局关系进行操作而不考虑数据的分片。位置透明性是指用户或应用程序应当了解分片情况,但不必了解片段的存储结构,位置透明性位于分片视图与分配视图之间。
49查询优化是提高数据库应用系统性能的重要手段,下列给出的查询优化方法,一般情况下无效的是( )。
A.对经常需要进行排序或分组的列建立索引
B.对经常出现在查询条件中的列建立索引
C.对涉及连接的查询,尽量用左外连接或右外连接代替内连接 D.采用提前计算方法,将频繁访问的视图转为物化视图
【答案】C查看答案
【解析】左连接或右连接包含与NULL数据匹配的数据,非常消耗资源。
多使用内连接可以减少资源消耗有助于优化查询。 50关于UML建模机制,下列说法错误的是( )。 A.用例模型可以把满足用户需求的功能表示出来 B.包图是表明包与包之间关系的类图
C.协作图包含一组对象,并在图中展示这些对象之间的联系以及对象间发送和接收的消息
D.顺序图主要用于描述系统、用例和程序模块中逻辑流程的先后执行次序或并行次序
【答案】D查看答案
【解析】UML是面向对象开发中一种通用的图形化建模语言。其中活动图
主要用于描述系统、用例和程序模块中逻辑流程的先后执行、并行次序。顺序图主要用于描述系统内对象之间的消息发送和接收序列。D项混淆了两种图。 51在明确了数据库应用系统的任务目标和系统范围之后,需要进行项目的可行性分析,关于可行性分析,下列说法错误的是( )。
A.经济可行性分析是指对项目进行成本效益分析,其中项目成本一般包括开发费用、软硬件购置费用、安装调试及维护费用
B.技术可行性分析一般以系统的性能要求为主要依据,对系统的软件、硬件和技术方案作出评估和选择建议
C.操作可行性分析的主要目的在于论证系统开发是否具备所需要的人员、软件、硬件和工作环境等条件
D.开发方案选择的目的在于提出并评价实现系统的各种开发方案,并从中选择出合理的方案
【答案】A查看答案
【解析】经济可行性:它研究的是对项目进行成本效益分析,估算项目开
发成本,评估项目经济效益、社会效益和利润,在项目成本和收益间进行合理权衡,并分析项目对其产品或利润的影响,项目成本一般包括开发费用、软硬件购置费用、安装调试、维护费用以及人员培训费用。
52在SQL Server 2000中,某数据库中有角色R1和用户U1,U1是R1角色的成员,且只属于该角色。先对T表给R1仅授予SELECT和DELETE权限,并授予U1对T表具有SELECT、UPDATE和DENY DELETE权限,则用户U1对T表可以执行的操作是( )。 A.查询、删除和更改数据 B.查询和更改数据 C.查询和删除数据 D.查询和更改表结构
【答案】B查看答案
【解析】用户U1是R1角色的成员,所以U1具有R1角色的所有权限:
查询和删除数据。对于T表,用户U1具有SELECT、UPDATE和DENY DELETE权限,所以U1对T表可以执行的操作是查询、更改以及撤销删除。 53对于关系的主码必须满足的条件,有下列说法:
Ⅰ.一个关系中的主码属性或属性组能函数决定该关系中的所有其他属性 Ⅱ.一个关系中的主码属性不能与其他关系中的主码属性重名
Ⅲ.在一个关系中,一个主码属性的任一真子集都不能函数决定其他属性 Ⅳ.在一个关系中,从主码属性集中去掉某个属性仍能唯一标识一个元组 以上说法正确的是( )。 A.Ⅰ和Ⅱ B.Ⅰ和Ⅲ C.Ⅱ和Ⅱ D.Ⅱ和Ⅳ
【答案】B查看答案
【解析】在一个关系中,主码是指用户选作元组标识的一个候选码,从主
码属性集中去掉某个属性后就不能唯一标识一个元组,主码是指用户选作元组标识的一个候选码。两个关系中的主码属性是可以重名的。
54在SQL Server 2000中,有教师表(教师号,姓名,职称,工资)。现要根据教师的职称来添加教师的工资,增加规则为:“教授”增加400,“副教授”增加300,“讲师”增加200。下列语句中正确的是( )。
A.
B.
C.
D.
【答案】A查看答案
【解析】“UPDATE表名SET”可以用来更改表中某个字段的值,如果出
现分支选择情况,可以使用“CASE…WHEN…THEN”语句。
55在SQL Server 2000中,有商品表(商品号,商品名,单价)和销售表(商品号,销售时间,销售价格)。现要限制“销售价格”的取值必须在此商品“单价”的0.6到1.5倍范围之内,实现这个约束的正确代码是( )。 A.CHECK(销售价格BETWEEN单价*0.6 AND单价*1.5)
B.CHECK(销售价格BETWEEN商品表.单价*0.6 AND商品表.单价*1.5)
C.
D.
【答案】D查看答案
【解析】FOR是后触发型触发器,在成功执行引发的SQL语句中指定的操
作,并且成功完成所有的约束检查后,才执行此触发器。INSTEAD OF是前触发型触发器,指定执行触发器而不执行引发触发器执行的SQL语句,从而完成替代触发语句的操作。
56关于数据库系统中的日志文件,有下列说法: Ⅰ.事务故障恢复和系统故障恢复时都必须使用日志文件
Ⅱ.在动态转储过程中,对数据库所做的修改都被记录在日志文件中
Ⅲ.数据库管理系统进行数据修改操作时,一般是先写数据库,然后再写日志文件 Ⅳ.建立检查点的主要目的是通过减小日志文件的总体数据规模,从而提高数据恢复效率
Ⅴ.日志文件有利于对用户使用数据库系统的违规操作开展核查审计工作 以上说法正确的是( )。 A.仅Ⅰ、Ⅱ和Ⅴ B.仅Ⅰ和Ⅱ
C.仅Ⅰ、Ⅲ和Ⅴ D.仅Ⅱ、Ⅲ、Ⅳ和Ⅴ
【答案】A查看答案
【解析】日志文件是用来记录对数据库的操作信息,数据库有问题的时候
可以通过日志文件进行分析。日志文件的具体作用为:①事务故障恢复和系统故障恢复必须使用日志文件;②在动态转储方式中必须建立日志文件;③在静态转储方式中,也可以建立日志文件。为保证数据库是可恢复的,登记日志文件必须遵循两条原则:①登记的次序严格按并行事务执行的时间次序;②必须先写日志文件,后写数据库。
57数据库系统可能出现下列故障: Ⅰ.事务执行过程中发生运算溢出 Ⅱ.某并发事务因发生死锁而被撤销 Ⅲ.磁盘物理损坏 Ⅳ.系统突然发生停电事务
Ⅴ.操作系统因被病毒攻击而突然重启
以上故障属于系统故障(软故障)的是( )。 A.Ⅰ、Ⅱ、Ⅳ和Ⅴ B.Ⅳ和Ⅴ
C.Ⅰ、Ⅲ、Ⅳ和Ⅴ D.Ⅲ和Ⅳ
【答案】B查看答案
【解析】系统故障又称软故障,是操作故障,对机器或系统无损害,指数
据库在运行过程中,由于硬件故障、数据库软件及操作系统的漏洞、突然停电等情况,导致系统停止运转,所有正在运行的事务以非正常方式终止,需要重新启动系统的一类故障。这类故障不破坏数据库,但影响正在运行的所有事务;事务执行过程中发生运算溢出和某并发事务因发生死锁而被撤销属于事务内部故障;磁盘物理损坏造成的数据库信息丢失不是软故障。 58设用户对某商场数据库应用系统有下列活动
Ⅰ.在该数据库应用系统运行前建立数据库,并建立初始的商品清单和销售人员数据等基础数据
Ⅱ.根据商场销售业务开展情况,调整数据库中的商品清单和价格 Ⅲ.为了应对商场业务增长过快带来的数据库数据增长迅速而扩展硬盘空间 Ⅳ.为了安全考虑,定期对数据库系统中的数据进行转储
Ⅴ.国庆期间,在应用系统中增加一条规则“节日期间所有商品打八折” Ⅵ.在系统中模拟生成大规模销售数据,并开启所有收银台终端,在所有终端启动自动批量收银程序,测试系统的性能
以上活动属于商场数据库应用系统实施活动的是( )。 A.Ⅰ、Ⅱ和Ⅲ B.Ⅱ和Ⅴ C.Ⅲ、Ⅳ和Ⅵ D.Ⅰ和Ⅵ
【答案】D查看答案
【解析】数据库的实施指根据数据库的逻辑结构设计Ⅰ和物理结构设计Ⅵ
结果,在计算机系统上建立实际的数据库结构,导入数据并进行程序调试。 59对于大型企业业务支持数据库应用系统的存储空间规划问题,在进行存储空间规划时,下列说法一般情况下错误的是( )。
A.数据库应用系统需要支撑的企业核心业务的发生频率是重要的输入参数 B.粗粒度级统计分析数据所需占用的存储空间是需要考虑的主要因素 C.企业核心业务数据的保存期要求是需要考虑的主要因素 D.数据安全性、业务稳定性和容灾能力要求是重要的考虑因素
【答案】B查看答案
【解析】在面对大型企业业务支持数据库应用系统的存储空间规划问题时,
要考虑数据安全性、业务稳定性及容灾能力要求,主要因素是企业核心业务数据的保存期。
60RAID是指廉价冗余磁盘阵列,它是由多块磁盘构成的一个整体。关于RAID机制和技术,下列说法错误的是( )。 A.RAID系统内部可以包含多个磁盘驱动器
B.RAID 5盘阵列中的一块磁盘损坏时,利用其他磁盘上的信息,可以恢复出这块磁盘上的信息
C.RAID采用校验冗余技术所需用的磁盘空间要比采用镜像冗余技术所需用的磁盘空间多
D.RAID系统一般都具有设备虚拟化技术
【答案】C查看答案
【解析】校验冗余技术比镜像冗余技术实现稍显复杂,但它所需用的磁盘
空间比镜像冗余技术少很多。 二、填空题
1设某数据库中有作者表(作者号,城市)和出版商表(出版商号,城市),请补全如下查询语句,使该查询语句能查询作者和出版商所在的全部不重复的城市。 SELECT城市FROM作者表_____ SELECT城市FROM出版商表;
【答案】EXCEPT查看答案
【解析】EXCEPT语句的作用是查询两个数据表中除“公共”数据以外的数
据信息,即查询两个数据表中的“除外”数据信息。使用EXCEPT运算符可以实现集合差操作,从左查询中返回右查询没有找到的所有非重复值。
2设某数据库中有商品表(商品号,商品名,商品类别,价格)。现要创建一个视图,该视图包含全部商品类别及每类商品的平均价格。请补全如下语句: CREATE VIEW V1(商品类别,平均价格) AS
SELECT商品类别,_____FROM商品表GROUP BY商品类别;
【答案】AVG(价格)查看答案
【解析】SQL中,AVG(字段名)函数用来计算一组记录中某个字段值的
平均值。
3在VB 6.0中,已经用Adobel连接到数据库,并已绑定到数据库中的某个关系表,现要通过此控件向表中插入数据,需要用到Adobel.Recordset的_____方法和
Update方法,使用Adobel.Recordset的_____方法可以使当前行指针在结果集中向前移动一行。
【答案】AddNew;MovePrevious查看答案
【解析】Recordset对象中的AddNew方法可以用来在结果集里添加一个
新记录。MovePrevious方法用来将当前行记录指针向前移动一行。
4设在SQL Server 2000环境下,对“销售数据库”进行的备份操作序列如下图所示。
①出现故障后,为尽可能减少数据丢失,需要利用备份数据进行恢复。首先应该进行的恢复操作是恢复_____,第二个应该进行的恢复操作是恢复_____。
②假设这些备份操作均是在BK设备上完成的,并且该备份设备只用于这些备份操作,请补全下述恢复数据库完全备份的语句 RESTORE_____FROM BK WITH FILE=1,_____;
【答案】完全备份1;差异备份2;DATABASE销售数据库;RECOVERY
查看答案
【解析】数据库恢复的顺序为:①恢复最近的完全数据库备份。②恢复完
全备份之后的最近的差异数据库备份(如果有的话)。③按日志备份的先后顺序恢复自最近的完全或差异数据库备份之后的所有日志备份。 用来实现恢复数据库的RESTORE语句其基本语法格式为: RESTORE DATABASE数据库名FROM备份设备名
[WITH FILE=文件号[,]NORECOVERY[,]RECOVERY];
5在SQL Server 2000中,数据页的大小是8KB。某数据库表有1000行数据,每行需要5000字节空间,则此数据库表需要占用的数据页数为_____页。
【答案】1000查看答案
【解析】一个数据页的存储空间是8×1024字节,最多能存放8000多个
字节,而SQL Server 2000中不允许跨页存储一行数据,每行需要5000字节的空间,于是每个数据页最多只能存放一行数据,所以1000行数据需要的数据页数是1000页。
6在SQL Server 2000中,新建了一个SQL Server身份验证模式的登录账户LOG,现希望LOG在数据库服务器上具有全部的操作权限,下述语句是为LOG授权的语句,请补全该语句。
EXEC sp_addsrvrolemember‘LOG’,_____;
【答案】dbowner查看答案
【解析】在SQL Server中,dbonwer具有数据库服务器上的全部权限。
7在SQL Server 2000中,某数据库用户User在此数据库中具有对T表数据的查询和更改权限。现要收回User对T表的数据更改权,下述是实现该功能的语句,请补全语句。
_____UPDATE ON T FROM User;
【答案】REVOKE查看答案
【解析】在SQL Server中,收回权限用REVOKE来实现。
8某事务从账户A转出资金并向账户B转入资金,此操作要么全做,要么全不做,为了保证该操作的完整,需要利用到事务性质中的_____性。
【答案】原子查看答案
【解析】由事务的原子性可知,它对数据所做的修改操作要么全部执行,
要么全部不执行。
9某在SQL Server 2000数据库中有两张表:商品表(商品号,商品名,商品类别,成本价)和销售表(商品号,销售时间,销售数量,销售单价)。用户需统计指定年份每类商品的销售总数量和销售总利润,要求只列出销售总利润最多的前三类商品的商品类别、销售总数量和销售总利润。为了完成该统计操作,请按要求将下面的存储过程补充完整。
【答案】TOP3;SUM((销售单价-成本价)*销售数量);DESC查看
答案
【解析】用TOPn来查询前n条记录,用SUM函数来计算销售总利润等
于每类商品销售单价与成本价的差额与销售数量的乘积的累加和。用DESC按销售总利润降序排列查询最多的前几条记录。 三、简答题
1有如下2个关系表:
Emp(eid,ename,age,did,salary),其各列含义为:职工号,姓名,年龄,部门号,工资
Dept(did,dname,mgr_id),其各列含义为:部门号,部门名称,部门经理职工号
写出一条SQL语句,查询工资高于10000,且与他所在部门的经理年龄相同的职工姓名。
答:select a.*from Emp a,Dept b,Emp c where a.did=b.did and b.mgr_id=c.eid and a.salary>10000 and a.age=c.age;
【解析】select和where的语法为:SELECT 列名称 FROM 表名称
WHERE 列运算符值;
2有学生表(学号,姓名,年龄,性别,系名,专业名,班号),设一个系可有多个专业,每个专业可有多个班,各班班号不重复,一个学生只在一个班学习。现经常需要按“系名”和“班号”进行查询,为提高查询效率,需要为“系名”和“班号”两个列建立一个非聚集索引,建立此索引有下列两种方法: 方法1:索引列顺序为(系名,班号)。 方法2:索引列顺序为(班号,系名)。 ①这两种方法哪个更合理?请简要说明原因。
②针对你认为合理的方法,写出创建该索引的SQL语句。
答:①方法1更加合理,理由如下:更加有利于减少索引层次,提高查询效率;更加符合使用习惯;更加便于(系、班)进行统计。 ②create index index_1 on学生表(系名,班号);
【解析】SQL Server在创建主键或其它索引时自动将字段的顺序设置为升
序排列,这样做的目的是为了保持与 SQL Server早期版本的兼容性。创建索引时索引列的顺序应该按照常用查询中的排序方式排序。
3考虑定义在事务集(T1,T2,T3)上的调度S1和S2,S1与S2是否是冲突等价的?为什么?
答:不是等价冲突,因为T1的write(Q)和T2的 write(Q)是冲突的,不可交换。
【解析】不同事务的一对中的一组操作,有些是冲突的,有些是不冲突的。
不冲突操作的次序可以互相调换,不致不会影响执行的结果。冲突等价调度是指一个调度S,通过调换S中的不冲突操作次序所得到的新调度称为S的冲突等价调度。不冲突操作有两类:一是对同一数据均为读操作,即Ri(x),Rj(x);二是对不同数据对象的一组操作中可以有写的操作,即Ri(x),Wj(y)或Wi(x)Wj(y)。因为T1和T2对数据对象Q进行了相同的写操作,所以是冲突的,所以S1和S2不是冲突等价的。 四、设计与应用题
1某汽车维修公司需建立一个汽车维修数据库,该数据库中需要存储和管理下列信息:
车辆信息:车牌号,车型,发动机号,行驶里程,车辆所有人,联系电话 维修项目:项目号,项目名称,维修费
汽车备件:备件号,备件名称,备件单价,库存数量
以上数据之间存在下列约束:
可以对一个车辆进行多个维修项目,每个维修项目可用于多个车辆,维修项目完成后要在数据库中记录维修时间;
一种备件可用于多个维修项目,每个维修项目最多只使用一种备件,但每种备件的数量可以是多个。
①根据以上需求构建该数据库的概念模型(画E-R图)。 ②假设车辆信息有如下约束:
车牌号:标识属性,取值形式为:第1个字符是“京”,第2个字符为“A”到“Z”的字母,第3到第7个字符均是“0”到“9”的数字。此列采用普通编码定长字符型,非空;
车型:普通编码定长字符型,长度为6,默认值为“轿车”; 发动机号:普遍编码定长字符型:长度为6,非空; 行驶里程:整型,取值大于或等于0;
车辆所有人:普通编码定长字符型,长度为8,非空; 联系电话:普通编码定长字符型,长度为13,取值唯一。 写出创建满足上述要求的车辆信息表的SQL语句。
(注:表名和列名均用题中给出的中文名,SQL语句中大、小写字母均可。) 答:概念模型如下:
②
【解析】①根据题意可知,一个车辆可以进行多个项目的维修,一个维修
可以用于多个车辆,所以实体车辆信息与维修项目之间是多对多的关系;一种配件可用于多个维修项目,但一个维修项目最多只能用一种配件,所以配件与维修项目是一对多的关系。
②SQL语句中车牌号的取值形式限定可用CHECK约束来表示。 2现有关系模式:
教师授课(教师号,姓名,职称,课程号,课程名,学分,教科书名)其函数依赖集为:
{教师号→姓名,教师号→职称,课程号→课程名,课程号→学分,课程号→教科书名}
①指出这个关系模式的主码。
②这个关系模式是第几范式,为什么?
③将其分解为满足3NF要求的关系模式(分解后的关系模式名自定) 答:①主码为:(教师号、课程号) ②第1范式,因为存在部分依赖。 ③分解方法为:
教师表(教师号,姓名,职称)
课程表(课程号,课程名,学分,教科书名) 教师授课表(教师号,课程号)
【解析】①外码的数据项需参照主码的数据项来操作,主码和外码是用来
实现参照完整性的。
②第一范式:(1NF)无重复的列;第二范式:(2NF)属性完全依赖于主键;第三范式:(3NF)属性不依赖于其它非主属性。
3为在某种程度上保证某数据库系统可靠地运行,在SQL Server 2000环境中,对其制定有下列三种备份策略。假设对此数据库进行一次完全备份需要4小时,差异备份需要2小时,日志备份需要1小时。设所有备份都是从凌晨1:00开始。 策略1:每周周日进行一次完全备份,每周周一至周六每天进行一次日志备份; 策略2:每周周日进行一次完全备份,每周周一至周六每天进行一次差异备份; 策略3:每天进行一次完全备份。
①假设需要保留一年的备份数据,比较三种备份策略所占用的空间。 ②比较每种备份策略的备份和恢复速度。
答:①占用空间量从大到小排序为:策略3,策略2,策略1;②备份速度从快到慢排序为:策略1,策略2,策略3;恢复速度从快到慢排序为:策略3,策略2,策略1。
【解析】完全备份不考虑文件的存档属性,备份全部选中的文件夹,所以
占用空间最大,但是速度最快;
差异备份备份上一次完全备份后发生变化的所有文件,是针对于完全备份的,恢复时需要完全数据备份和最近的差异备份;
日志备份需要有完全数据备份,备份自上次backup log语句到当前日志尾之间的所有数据库修改;日志备份的数据量少,只备份上次备份到现在的修改,恢复时需要完全数据库备份和所有的日志备份,占用空间最小,但恢复时间最慢。 4有两张关系表:
Students(SID,SName,Sex,Dept) Prizing(SID,PName,Type,PDate)
Students表描述的是学生基本信息,Prizing表描述的是学生获奖信息。 ①若在应用程序中经常使用如下查询语句:
SELECT S.SID,SName,PName,Type FROM Students AS S JOIN Prizing AS P ON S.SID=P.SID;
请问能否使用聚集文件提高此查询的性能?并给出原因。
②为了提高查询性能,数据库管理员在Students表的SName列上建立了一个非聚集索引SName_ind。如果应用程序使用如下语句查询数据: SELECT*FROM Students WHERE SName like‘%华’;
请问SName_ind索引是否能够提高语句的查询速度,并给出原因。
答:①可以用聚集文件提高查询性能。因为聚集文件将不同关系表中有关联关系的记录存储在一起,减少了系统的物理I/O操作次数,提高了查询性能。
②此索引不能提高该语句的查询速度。因为该索引是建立在SNAME上的非聚集索引,以SNAME首字母排序,而查询语句查询的名字是最后一个“华”的SNAME,所以仍然需要全部扫描students表,因此不能提高该语句的查询速度。
【解析】聚集文件本身存储不同类型表的联系,能够减少表间的连接操作,
提高查询性能。而非聚集索引对于以SNAME首字母排序时有效。 5某公司需建立产品信息数据库,经调查其业务要求如下:
Ⅰ.一种产品可以使用多个不同种类的部件,也可以使用多个不同种类的零件;一种部件至少被用在一种产品中;一种部件可以由多个不同种类的零件组成;一种零件至少被用在一种产品或一种部件中;
Ⅱ.对于一种具体的部件,要记录这种部件使用的各种零件的数量;
Ⅲ.对于一种具体的产品,要记录这种产品使用的各种部件数量和各种零件数量,但部件所使用的零件数量不计入该种产品的零件数量;
Ⅳ.一个供应商可供应多种零件,但一种零件只能由一个供应商供应。根据以上业务要求,某建模人员构建了如下E-R图:
此E-R图中的实体的属性完整,但实体、联系的设计存在不合理之处。 ①请重新构建合理的E-R图,使之符合业务要求,且信息完整。
②根据重构的E-R图给出符合3NF的关系模式,并标出每个关系模式的主码和外码。 答:①重新构建后的E-R图如下:
②符合3NF的关系模式:(带下划线的为主码属性)产品(产品号(PK),产品名称,型号,装配图号)部件(部件号(PK),部件名称) 零件(零件号(PK),零件名称,供应商号(FK) 产品_部件(产品号(FK),部件号(FK),部件数量) 产品_零件(产品号(FK),零件号(FK),零件数量) 部件_零件(部件号(FK),零件号(FK),零件数量) 供应商(供应商号(PK),供应商名称,联系电话)
【解析】题中实体设计中存在明显的不合理之处,比如供应商应该是一个
独立的实体。此外,没有准确的表现产品和零件之间直接的联系。一种产品可以使用多个不同种类的部件,也可以使用多个不同种类的零件,说明产品与零件是有直接关系的,所以需要一个能表示它们之间的关系的实体,否则,设计出来的关系模式就会存在大量的数据冗余。
6在SQL Server 2000中,有教师表Teachers(TeaeherID,Name,LeaderID,其中TeacherID是主码,类型是长度为4的普通编码定长字符串,且每位是0~9
的数字字符;Name的类型是长度为10的普通编码可变长字符串;LeaderID是每个教师的领导的TeacherID。
①写出创建Teachers表的SQL语句,要求语句中包含所有的约束。
②现要查询TeaeherID为“1234”的教师的领导的上级领导的TeacherID,请给出相应的SQL语句,要求只使用一条SQL语句实现,且此语句中不允许包含子查询。 答:①
②
【解析】应使用CREATE语句创建表格;可以通过对该表进行自我连接查
询领导的信息,“1234”的条件约束可以通过WHERE子句来实现。
因篇幅问题不能全部显示,请点此查看更多更全内容