数据库系统概论实验设计答案
数据库系统概论,习题答案详解
本章的知识点数据、数据库、数据库管理系统、数据库系统等概念数据管理技术的三个阶段(优缺点)数据结构化的含义及其方法数据独立性、物理独立性、逻辑独立性数据库系统特点数据描述、建模过程概念数据模型及其设计结构数据模型(逻辑模型)及其三要素:数据结构、数据操作、数据约束条件层次模型概念及其特点、网状模型概念及其特点关系模型概念及其特点模式的概念、数据库三级模式结构、两级映像客户/服务器结构(C/S)数据库系统组成需重点理解掌握的内容:数据结构化数据库系统特点数据独立性概念模型及其设计数据库三级模式结构关系模型作业参考答案:11、解题方法:1、识别实体型及其属性(下划线为实体码)系:系编号,系名,电话教研室:编号,地址教员:工号,姓名,性别,职称班级:班号学生:学号,姓名,性别,层次课程:课程号,课程名“学校”作为限定词不作为实体;“教授/副教授”作为“教员”特例不作为单独实体,必须加上“职称”属性;“研究生”作为“学生”特例不作为单独实体,必须加上“层次”属性。
2、确定实体间联系,包括联系名、类型及其联系属性系与教研室之间存在1:n的“设立”联系。
教研室与教员之间存在1:n的“管理”联系。
系与班级之间存在1:n的“拥有”联系。
班级与学生之间存在1:n的“组成”联系。
学生与课程之间存在m:n的“选修”联系,并有“成绩”属性。
教员与学生之间存在1:n的“指导”联系。
3、画出E-R图12、解题方法:1、识别实体型及其属性(下划线为实体码)产品:产品号,产品名零件:零件号,零件名材料:材料号,材料名,类别仓库:编号,地址“工厂”作为限定词不作为实体。
材料必须有属性“类别”。
2、确定实体间联系,包括联系名、类型及其联系属性产品与零件之间存在m:n的“组成”联系。
零件与材料之间存在m:n的“制造”联系。
仓库与材料之间存在1:n的“存放”联系,并有“库存量”属性。
零件与仓库之间存在m:n的“存储”联系,并有“库存量”属性。
《数据库系统概论》课程习题及参考答案
《数据库系统概论》课程习题及参考答案一、选择题1. 以下哪项不是数据库系统的组成部分?A. 数据库B. 数据库管理系统C. 数据字典D. 应用程序答案:C2. 数据库管理系统的核心是?A. 数据定义B. 数据操纵C. 数据控制D. 数据库语言答案:D3. 在数据库系统中,下列哪个不是数据模型的三要素?A. 数据结构B. 数据操作C. 数据约束D. 数据存储答案:D4. 以下哪个不是SQL语言的数据定义功能?A. CREATEB. DROPC. ALTERD. SELECT答案:D5. 在关系数据库中,下列哪个不是关系的基本操作?A. 插入B. 删除C. 更新D. 排序答案:D二、填空题1. 数据库系统由____、____、____和____组成。
答案:数据库、数据库管理系统、数据库管理员、应用程序2. 数据库管理系统的主要功能包括____、____、____和____。
答案:数据定义、数据操纵、数据控制、数据维护3. 数据模型分为____、____、____和____。
答案:层次模型、网状模型、关系模型、面向对象模型4. SQL语言的数据定义功能包括____、____和____。
答案:CREATE、DROP、ALTER5. 关系数据库的完整性约束包括____、____和____。
答案:实体完整性、参照完整性、用户定义的完整性三、简答题1. 简述数据库系统的特点。
答案:数据库系统的特点如下:(1)数据共享性高,冗余度低;(2)数据独立性高;(3)数据安全性好;(4)数据一致性;(5)支持事务处理。
2. 简述关系数据库的三大范式。
答案:关系数据库的三大范式如下:(1)第一范式(1NF):每个字段都是不可分割的最小数据单位,不存在重复的组;(2)第二范式(2NF):在1NF的基础上,表中的所有非主属性完全依赖于主键;(3)第三范式(3NF):在2NF的基础上,表中的所有字段之间不存在传递依赖。
3. 简述SQL语言的数据操纵功能。
《数据库系统概论》课后习题及参考标准答案
课后作业习题《数据库系统概论》课程部分习题及参考答案第一章绪论(教材 41页)1.试述数据、数据库、数据库系统、数据库管理系统的概念。
数据:描述事物的符号记录称为数据。
数据的种类有文字、图形、图象、声音、正文等等。
数据与其语义是不可分的。
数据库:数据库是长期储存在计算机内、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
数据库系统:数据库系统( DBS)是指在计算机系统中引入数据库后的系统构成。
数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
数据库管理系统:数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件。
用于科学地组织和存储数据、高效地获取和维护数据。
DBMS主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
2.使用数据库系统有什么好处?使用数据库系统的好处是由数据库管理系统的特点或优点决定的。
使用数据库系统的好处很多,例如可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担等。
为什么有这些好处,可以结合第 5题来回答。
使用数据库系统可以大大提高应用开发的效率。
因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由DBMS来完成。
此外,当应用逻辑改变,数据的逻辑结构需要改变时,由于数据库系统提供了数据与程序之间的独立性。
数据逻辑结构的改变是 DBA的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序。
从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。
使用数据库系统可以减轻数据库系统管理人员维护系统的负担。
因为DBMS在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、安全性,多用户并发控制,故障恢复等等都由DBMS执行。
第四版数据库系统概论课后答案全
第四版数据库系统概论课后答案(全)第3章关系数据库标准语言SQL1 .试述sQL 语言的特点。
答:(l)综合统一。
sQL 语言集数据定义语言DDL 、数据操纵语言DML 、数据控制语言DCL 的功能于一体。
(2)高度非过程化。
用sQL 语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及sQL 语句的操作过程由系统自动完成。
(3)面向集合的操作方式。
sQL 语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
(4)以同一种语法结构提供两种使用方式。
sQL 语言既是自含式语言,又是嵌入式语言。
作为自含式语言,它能够独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用。
(5)语言简捷,易学易用。
2 .试述sQL 的定义功能。
sQL 的数据定义功能包括定义表、定义视图和定义索引。
SQL 语言使用cREATE TABLE 语句建立基本表,ALTER TABLE 语句修改基本表定义,DROP TABLE 语句删除基本表;使用CREATE INDEX 语句建立索引,DROP INDEX 语句删除索引;使用CREATE VIEW 语句建立视图,DROP VIEW 语句删除视图。
3 .用sQL 语句建立第二章习题5 中的4 个表。
答:对于S 表:S ( SNO , SNAME , STATUS , CITY ) ; 建S 表:CREATE TABLE S ( Sno C(2) UNIQUE,Sname C(6) ,Status C(2),City C(4));对于P 表:P ( PNO , PNAME , COLOR , WEIGHT );建P 表:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2),WEIGHT INT);对于J 表:J ( JNO , JNAME , CITY);建J 表:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8),CITY C(4))对于sPJ 表:sPJ ( sNo , PNo , JNo , QTY);建SPJ 表:SPJ(SNO,PNO,JNO,QTY)CREATE TABLE SPJ(Sno C(2),PnoC(2),JNO C(2),QTY INT))4.针对上题中建立的 4 个表试用sQL 语言完成第二章习题 5 中的查询。
数据库系统概论实验设计答案
特点一:三分技术,七分管理,十二分基础数据。
特点二:结构(数据)设计和行为(处理)设计相结合。
实验二需求分析(二)——数据流程调查
一、实验目的:掌握需求分析的步骤和数据流程调查的方法;掌握应用VISIO绘制数据流程图(DFD),掌握数据流程图分层次的绘制方法。掌握编写数据字典的方法和步骤。
二、实验学时:8H(课内6H,课外2H)
4、为什么要视图集成?有哪些方法?
答:视图集成是消除各分E-R图中的冲突是合并分E-R图的主要工作与关键所在。
方法:
(1)多个分E-R图一次集成。
(2)逐步集成,用累加的方式一次集成两个分E-R图。
5、试述在PD中设计数据项并把数据项关联到某一实体的操作步骤
答:
6、试述在PD中设计域并把它关联到某一实体属性上的操作步骤
四、实验内容:根据该VCD连锁店的业务需求调查文字,利用PD绘制该VCD连锁店管理系统的BPM模型。
五、实验结果:
出售租借:根据购买人或租借人提供的VCD租借单,查阅库存,如果有,则办理销售或租借并登记销售或租借流水帐;如果没有相应的VCD,则可根据购买人或租借人的要求办理预约登记,当有VCD时,及时通知购买人或租借人。
接收信息,处理答复客户
答复
100条/次
表3-3数据存储的描述
数据存储
编号
数据存储
名称
简述
数据存储组成
相关联的处理
D1
VCD出租库
对vcd进行出租
购买人卡号、购买日期、VCD编码、数量、单价
P1
D2
Vcd归还数据库
对vcd进行归还
租借记录单号、租借人卡号、租借日期、VCD编码、数量、归还日期,经办员工号
数据库系统概论(第四版)答案
数据库系统概论(第四版)答案第2章关系数据库1 .试述关系模型的三个组成部分。
答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
2 .试述关系数据语言的特点和分类。
答:关系数据语言可以分为三类:关系代数语言。
关系演算语言:元组关系演算语言和域关系演算语言。
SQL:具有关系代数和关系演算双重特点的语言。
这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
4 .试述关系模型的完整性规则。
在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。
即属性F本身不是主属性,则可以取空值,否则不能取空值。
5.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:1)求供应工程J1零件的供应商号码SNO:πSn o(σSn o=…J1‟(SPJ))2)求供应工程J1零件P1的供应商号码SN O:πSno(σSno=…J1‟∧P no=…P1…(SP J))3)求供应工程J1零件为红色的供应商号码SNO:πSno(σPno=…P1…(σCO LOR=‟红… (P)∞SPJ))4)求没有使用天津供应商生产的红色零件的工程号JNO:πJ no(SP J)- πJNO(σcity=…天津‟∧Color=…红…(S∞SP J∞P))5)求至少用了供应商S1所供应的全部零件的工程号JNO:πJn o,Pno(SPJ)† πPn o(σSn o=…S1… (SP J))6.试述等值连接与自然连接的区别和联系。
数据库系统概论试验设计答案
数据库系统概论实验报告册姓名:momo学号:教师:实验一需求分析(一)——业务流程调查一、实验目的:掌握需求分析的步骤和业务流程调查的方法;掌握应用 Powerbuilder 绘制 BPM 模型二、学时: 6H (课内 4H ,课外 2H )三、实验软件平台: Windows 2k 或 Windows XP, Powerduilder9.5,Visio四、实验内容:根据该 VCD 连锁店的业务需求调查文字,利用 PD 绘制该 VCD 连锁店管理系统的 BPM 模型。
五、实验结果:出售租借:根据购买人或租借人提供的VCD 租借单,查阅库存,如果有,则办理销售或租借并登记销售或租借流水帐;如果没有相应的VCD ,则可根据购买人或租借人的要求办理预约登记,当有VCD 时,及时通知购买人或租借人。
归还:根据租借人提供的所还VCD ,检查VCD 是否完好,如果完好,则办理归还登记,如果有损坏的VCD ,办理赔偿登记。
并把赔偿通知单通知给租借人逾期罚款通知:查询逾期未还的VCD ,及时通知租借人,并进行相应的罚款登记。
六、思考题1、数据库设计为什么需要进行详细的需求分析?答:需求分析简单地说就是分析用户的要求。
需求分析是设计数据库的起点,需求分析的结果是不是准确的反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是不是合理使用情况。
2、需求分析的目标是什么?其调查步骤是什么?常用的调查方法有哪些?答: (1)需求分析的目标:1.通过详细调查现实世界要处理的对象,充分了解原系统 (手工系统或计算机系统) 工作概况,明确用户的各种需求。
2.在此基础上确定新系统的功能。
新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。
(2) 调查步骤 :1.了解组织机构。
2.调查部门的数据输入、处理、输出。
(调查重点之一)3.在熟悉业务活动的基础上,协助用户明确对新系统的各种要求。
(调查重点之二)4.确定新系统的边界(3)常用的调查方法:⑴跟班作业⑵开调查会⑶请专人介绍⑷询问⑸设计调查表请用户填写⑹查阅记录3、数据库设计的特点是什么?答: 特点一:三分技术,七分管理,十二分基础数据。
数据库系统概论实验指导书1-7章选择题解答
1—7章选择题解答二、选择题1.数据库系统的基本特征是A)数据的统一控制B)数据共享性和统一控制C)数据共享性、数据独立性和冗余度小D)数据共享性和数据独立性2.在数据库系统中,多种应用、多种语言互相覆盖地同时使用数据集合并且易于扩充,则称之为数据的A)安全性 B)独立性 C)完整性 D)共享性3. 在文件系统中,数据是面向A)机器 B)全组织 C)系统软件D)特定应用4. 在数据库系统的三级模式结构中,用___描述数据的全局逻辑结构A)子模式 B)用户模式C)模式 D)存储模式5.数据库的概念模型独立于A)具体的机器和DBMS B)E-R图C)信息世界 D)现实世界6. 下列不属于 DBMS 的主要功能是A)数据存取 B)数据库定义C)运行管理 D)报表书写7.要保证数据库的数据独立性,需要修改的是A)三层模式之间的两种映射B)模式与内模式C)模式与外模式D)三层模式8.在数据库技术中,为提高数据库的逻辑独立性和物理独立性,数据库的结构被划分成用户级、_________、和存储级三个层次。
A)管理员级 B)外部级C)概念级 D)内部级9.在三个模式中真正存储数据的是A)模式 B)内模式 C)外模式 D)上述三者10.数据库管理系统DBMS是。
A、数学软件B、应用软件C、计算机辅助设计D、系统软件第2章关系数据库一、单项选择题1.关系数据模型通常由三部分组成,它们是_______。
A)数据结构、数据通信、关系操作B) 数据结构、关系操作、完整性约束C) 数据通信、关系操作、完整性约束D)数据结构、数据通信、完整性约束2.关系模型实体完整性约束是指__________A)限制外键的属性值不能为空值B)限制主键的属性值不能为空值C)限制非主属性值不能为空值D)限制元组中任何属性值不能为空3.五种基本关系代数运算是_______。
A)∪,-,×,π和σB)∪,-,∞,π和σC)∪,∩,×,π和σD)∪,∩,∞,π和σ4.设关系R和S的结构相同,并且各有80个元组,假如这两个关系作交运算,其运算结果的元组个数为_________。
数据库系统概论(王珊第五版)实验4答案
数据库系统概论(王珊第五版)实验4答案实验4答案T-SQL 语句实现如下:1.使用T-SQL 语句向course和SC表中插入如下记录:INSERT INTO course VALUES('01','数据库','05',4)3.修改数据表信息1)修改student表,将将CS系姓名为“李咏”的学生姓名修改为“李勇”;update studentset sname='李咏'where Sdept='CS'and sname='李勇'2)将学号为“*********”的学生信息重新设置为“王丹丹、女、20、MA”;update studentset sname='王丹丹',ssex='女',sage=20,sdept='MA'where sno='200515010'3)修改course表,将“数据处理”的学分改为3学分;UPDATE Course SET Ccredit= 3where cname='数据处理'4)修改CS表,将选修课程“1”的同学成绩加5分;UPDATE sc SET Grade=Grade+5where Cno='01'5)删除数据表student中无专业的学生记录;Delete from studentwhere sdept is NULL6)删除数据表course中学分低于1学分的课程信息;Delete from coursewhere ccredit<14.使用T-SQL 语句查看数据表信息1)查看数据表Student所有记录Select*from student2)查看数据表Student中字段sno、sname的所有记录Select sno,sname from student3)按照“院系、学号、姓名、性别、年龄”的顺序显示学生信息表中前10个同学记录,要求在结果集中列标题按照上述内容显示;select top 10 sdept as院系,sno as学号,sname as姓名,ssex as 性别, sage as年龄from student4)按照“院系,学号,姓名,年龄”的顺序显示院系不明的所有学生记录;select sdept as院系,sno as学号,sname as姓名,sage as年龄from studentwhere sdept IS NULL5)显示学号最后一位为1或者2或者3的学生的学号、姓名、性别年龄及院系;select sno,sname,ssex,sage,sdept from studentwhere sno like'%[123]'6)显示没有先行课的课程号及课程名;select cno,cnamefrom coursewhere cpno IS NULL7)查询所有院系不是CS、IS的男同学信息。
《数据库系统概论》完整答案
第一章1.DBMS的主要功能有那些?答:DBMS是数据库管理系统。
其主要功能有:(1)数据定义有DDL翻译处理程序(包括外模式、模式、存储模式处理程序)、保密定义处理程序(如授权定义处理程序)、完整性约束定义处理程序等。
这些程序接收相应的定义,进行语法、语义检查,把它们翻译为内部格式存储在数据字典中。
DDL翻译程序还根据模式定义负责建立数据库的框架(即形成一个空库),等待装入数据。
(2)数据组织,数据存储和数据管理有文件读写与维护程序、存取路径(如索引)管理程序、缓冲区管理程序(包括缓冲区读、写、淘汰模块),这些程序负责维护数据库的数据和存取路径,提供有效的存取方法。
(3)数据操纵有DML处理程序、终端查询语言解释程序、数据存取程序、数据更新程序等。
DML处理程序或终端查询语言解释程序对用户数据操纵请求进行语法、语义检查,有数据存取或更新程序完成对数据库的存取操作。
(4)数据库的事务管理和运行管理数据库在建立,运用和维护是由数据库管理系统统一管理,统一控制,以保证数据的安全性,完整性,多用户对数据的并发使用及发生故障后的系统恢复。
(5)数据库的建立和维护功能数据库初始数据的输入,转换功能;数据库的存储,恢复功能;数据库的重组织功能和性能监视,分析功能等。
(6)其他功能:DBMS与网络中其他软件系统的通信功能;一个DBMS也另一个DBMS 或文件系统的数据转换功能;异构数据库之间的互访和互操作功能等。
2.叙述数据模型的三个要素。
答:(1)数据结构:数据结构描述数据库的组成对象以及对象之间的联系。
也就是说,数据结构描述的内容有两类:一类是与对象的类型,内容,性质有关的;一类是与数据之间联系有关的对象。
数据结构是刻画一个数据模型性质最重要的方面。
因此在数据库系统中,人们通常按照其数据结构的类型来命名数据模型。
总之,数据结构是所描述的对象类型的集合,是对系统静态特性的描述。
(2)数据操作:对数据库中对象的实例允许执行的操作集合,主要指检索和更新(插入、删除、修改)两类操作。
数据库系统概论(第三版)课后习题答案
第1章绪论习题参考答案1、试述数据、数据库、数据库管理系统、数据库系统的概念。
(3、4、5页)答:描述事物的符号记录称为数据;数据库是长期储存在计算机内的、有组织的、可共享的数据集合;数据库管理系统是位于用户与操作系统之间的一层数据管理软件; 数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。
2.使用数据库系统有什么好处?(12页)答:数据库系统使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的阶段,这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用率和相容性,提高了决策的可靠性。
3.试述文件系统与数据库系统的区别和联系。
(8、9、10页)答:1)数据结构化是数据库与文件系统的根本区别。
在文件系统中,相互独立的文件的记录内部是有结构的,管其记录内部已有了某些结构,但记录之间没有联系。
数据库系统实现整体数据的结构化,是数据库的主要特征之一。
2)在文件系统中,数据的最小存取单位是记录,粒度不能细到数据项。
而在数据库系统中,存取数据的方式也很灵活,可以存取数据库中的某一个数据项、一组数据项一个记录或或一组记录。
3)文件系统中的文件是为某一特定应用服务的,文件的逻辑结构对该应用程序来说是优化的,因此要想对现有的数据再增加一些新的应用会很困难,系统不容易扩充。
而在数据库系统中数据不再针对某一应用,而是面向全组织,具有整体的结构化。
5.试述数据库系统的特点。
(9、10、11页)答:数据结构化;数据的共享性高、冗余度低、易扩充;数据独立性高;数据由DBMS统一管理和控制。
6.数据库管理系统的主要功能有哪些? (4页)答:数据定义功能、数据操纵功能、数据库的运行管理、数据库的建立和维护功能。
7.试述数据模型的概念(13页)、数据模型的作用、数据模型的三个要素。
(14、15页)答:数据模型(Data Model)也是一种模型,它是现实世界数据特征的抽象。
数据库系统概论(第5版)实验指导与习题解析
数据库系统概论(第5版)实验指导与习题解析1.实验指导(1)设计及实现系统概念模型的实验实验的目的在于帮助学生掌握如何设计和实现数据库系统的概念模型,以及该模型为后续表示和实现提供必要的理论基础。
实验具体包括:(a)根据题目相关信息,分析和需求,定义需要的实体和实体的属性;(b)提出逻辑模型,包括实体间的代数关系和实体间的引用完整性约束;(c)设计抽象数据模型,定义实体、属性、关系及引用完整性约束;(d)实现模型,确定数据类型和索引,定义数据表,进行插入、更新、查询和删除操作;(e)实现联络通知,搭建应用程序与操作界面,具备账号登录验证及安全保护机制。
(2)对系统查询的实现的实验实验的目的是帮助学生了解如何使用数据库系统提供的查询和存取机制,以实现高效的代表性查询。
实验具体包括:(a)设计存取计划,检查数据库表的索引结构,提出优化查询的建议;(b)实现复杂查询,使用子查询、聚合函数、分组查询、嵌套查询等,分析数据库中的信息;(c)进行数据操纵和更新,使用insert、update、replace和truncate语句,对指定的数据库表操作;(d)实现视图联结和索引的应用,方便查询快速定位所需数据,提高查询效率;(e)设计存储过程,对常用操作进行定义和封装,简化查询,实现程序化处理。
2.习题解析(1)数据库中的实体之间的关系有哪些?数据库中实体之间的关系主要有一对一关系、一对多关系、多对多关系三种。
一对一关系指的是两个实体之间只有一种关系;一对多关系指的是一个实体可以与多个实体存在一种关系;多对多关系指的是多个实体可以彼此之间存在多种关系。
(2)为什么要在设计数据库时考虑数据完整性?考虑数据完整性的目的在于确保数据的准确性和完整性,以保证数据表中各个实体及其属性之间的准确关系,以及关系不被破坏。
通常,数据库完整性可以通过实体间的引用完整性约束来实现,从而确保存储在数据库中的数据不被破坏。
数据库系统基础概论第三版答案
实验1:定义Check约束Use Bcetcgocreate table check_table(id int,phone varchar(10),name varchar(10))alter table check_tableadd constraint CK_Phone Check(phone like ' [7-9][0-5][0-9]%')sp_helpconstraint check_tableinsert into check_table values (1,'119','火警')insert into check_table values (1,'82629800','瑞通培训')实验2 :创建默认值和规则1、输入并执行下面语句,创建表Object_tableUse Bcetcgocreate table object_table(id int, Phone varchar(10),name varchar(10))2、输入并执行下面语句,创建Default对象create default df_obj_id as 103、输入并执行下面语句,将Default对象绑定到object_table的id列上sp_bindefault df_obj_id ,'object_table.id'4、输入并执行下面语句,查看表Object _Table上的约束信息。
sp_helpconstraint Object _Table5、输入并执行下面的语句测试Default对象insert into object_table(phone,name) values ('82629800','约束对象')Select * from object_table6、输入并执行下面语句,将Default对象从object_table的id列上撤销。
《数据库系统概论》第四版---课后习题答案
第1章绪论1 .试述数据、数据库、数据库系统、数据库管理系统的概念。
答:( l )数据(Data ) :描述事物的符号记录称为数据。
数据的种类有数字、文字、图形、图像、声音、正文等。
数据与其语义是不可分的。
解析在现代计算机系统中数据的概念是广义的。
早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据。
现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。
数据与其语义是不可分的。
500 这个数字可以表示一件物品的价格是500 元,也可以表示一个学术会议参加的人数有500 人,还可以表示一袋奶粉重500 克。
( 2 )数据库(DataBase ,简称DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
( 3 )数据库系统(DataBas 。
Sytem ,简称DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
解析数据库系统和数据库是两个概念。
数据库系统是一个人一机系统,数据库是数据库系统的一个组成部分。
但是在日常工作中人们常常把数据库系统简称为数据库。
希望读者能够从人们讲话或文章的上下文中区分“数据库系统”和“数据库”,不要引起混淆。
( 4 )数据库管理系统(DataBase Management sytem ,简称DBMs ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。
DBMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
解析DBMS 是一个大型的复杂的软件系统,是计算机中的基础软件。
目前,专门研制DBMS 的厂商及其研制的DBMS 产品很多。
数据库系统概论(第5版)习题解析与实验指导
数据库系统概论(第5版)习题解析与实验指导一、习题解析1.简述数据库系统的主要特点(1) 数据独立性:数据库系统对用户提供的是一组描述数据的抽象,数据库系统处理的是数据的逻辑结构、而非实际的数据物理存储于计算机上的细节;(2) 数据全面性:数据库系统可以把多个应用程序共享的数据存储在一次中,并提供所有应用程序使用;(3) 集成性:在数据库中,一个属性及它的值可以被应用到多个不同的实体中,从而大大提高系统的效率,避免了重复的输入;(4) 高性能:数据库系统采用了专门的存储、安全、编程及检索等技术,大大提高了系统的性能;(5) 并发性:数据库系统可以容许多个用户的并发访问,允许每个用户在不影响其他用户完成他们请求的情况下进行操作;(6) 数据准确性:数据库系统可以采取不同的手段确保数据的准确、完整性及时效性;(7) 可移植性:由于数据库系统基于标准的数据模型和数据操作语言,数据的描述和程序的执行可以在多种不同计算机平台移植。
2.简述实体联系模型的特点(1)实体联系模型是基于关系模式的数据模型,它将实体和它们之间的联系以图的形式表示;(2)实体可以被称为实体集,它是由类似的实例组成,每个实例有一组属性;(3)联系是特定实体之间存在的关系,它们也可以被称为联系集;(4)实体及联系之间对于数据的有效管理;(5)实体联系模型的实例代表了随着时间及业务的变化而发生的变化。
3.简述数据库规范化的意义(1)降低数据冗余,节省空间:规范化可以降低数据的冗余,减少数据浪费的存储空间。
(2)提高系统的处理速度:数据库规范化可以更加有效地组织数据,使得数据检索及处理变得更加快捷。
(3)提高数据操作的安全性:规范化可以防止存在安全隐患的非标准化数据处理,从而为数据操作提供充足的安全保障。
(4)提高数据操作的灵活性:数据规范化可以使数据操作更加灵活,对于多变的业务场景可以更加方便地提供数据应用支持。
二、实验指导1.实验目的本实验旨在让学生熟悉数据库系统概论(第五版)书中讲解的内容,从而掌握实体联系模型及数据库规范化的一般原则。
《数据库系统概论》习题答案详解
了解关系数据库发展史掌握关系形式化定义掌握码的定义掌握关系模式掌握关系模式与关系的联系与区别理解关系数据库掌握实体完整性掌握参考完整性理解自定义完整性了解关系代数一般性知识复习理解传统集合运算掌握专门关系运算了解关系演算总结关系模型的特点需重点理解掌握的内容:关系形式化定义关系三种完整性关系代数运算尤其专门关系运算(选择、投影、连接)作业参考答案(其它方式亦可,不一一列出)5、字符常量的写法:’ ’;复合条件的表示: ∧(1)Πsno(σjno=’j1’(spj))(2) Πsno (σjno=’j1’∧pno=’p1’(spj))(σjno=’j1’∧color=’红’(3)Π(j)-Πjno (σcity=’天津’∧color=’红’()(4)Π(5)Πjno,pno (spj)Πpno (σsno=’s1’(spj))1、(略)2、设有三个关系S(S# , SNAME , AGE , SEX )SC(S# , C# , SCORE )C(C# , CNAME , TEACHER )试用关系代数表达式完成以下查询:(1)检索LIU老师所授课程的课程号。
Πc# (σteacher=’LIU’(C))(2)检索年龄小于20岁的女同学的学号和姓名。
Πs#, sname (σsex =’女’ ∧age<20 (C))(3)检索学号为S8同学所学课程的课程名与课程号。
Πc#,cname(σS#=’S8’(4)检索至少选修WANG老师所授课程中一门课的男同学姓名。
Πsname (σsex=’男’ ∧teacher =’LIU’(5)检索WANG同学不学课程的课程号与课程名。
Πc#,cname( C ) -Πc#,cname (σsname=’WANG’ ( ))(6)检索选修了LIU老师所授全部课程的学生学号。
Πs#,c# (SC)÷Πc# (σteacher=’LIU’(C))(7)检索全部学生都选修的课程号和课程名。
(完整版)数据库系统原理与设计(第2版)课后习题详细答案
数据库系统原理与设计习题集第一章绪论一、选择题1. DBS是采用了数据库技术的计算机系统,DBS是一个集合体,包含数据库、计算机硬件、软件和()。
A. 系统分析员B. 程序员C. 数据库管理员D. 操作员2. 数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是()。
A. DBS包括DB和DBMSB. DBMS包括DB和DBSC. DB包括DBS和DBMSD. DBS就是DB,也就是DBMS3. 下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是()。
I.人工管理阶段II.文件系统阶段III.数据库阶段A. I 和IIB. 只有IIC. II 和IIID. 只有I4. 下列四项中,不属于数据库系统特点的是()。
A. 数据共享B. 数据完整性C. 数据冗余度高D. 数据独立性高5. 数据库系统的数据独立性体现在()。
A.不会因为数据的变化而影响到应用程序B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C.不会因为存储策略的变化而影响存储结构D.不会因为某些存储结构的变化而影响其他的存储结构6. 描述数据库全体数据的全局逻辑结构和特性的是()。
A. 模式B. 内模式C. 外模式D. 用户模式7. 要保证数据库的数据独立性,需要修改的是()。
A. 模式与外模式B. 模式与内模式C. 三层之间的两种映射D. 三层模式8. 要保证数据库的逻辑数据独立性,需要修改的是()。
A. 模式与外模式的映射B. 模式与内模式之间的映射C. 模式D. 三层模式9. 用户或应用程序看到的那部分局部逻辑结构和特征的描述是(),它是模式的逻辑子集。
A.模式B. 物理模式C. 子模式D. 内模式10.下述()不是DBA数据库管理员的职责。
A.完整性约束说明B. 定义数据库模式C.数据库安全D. 数据库管理系统设计选择题答案:(1) C (2) A (3) D (4) C (5) B(6) A (7) C (8) A (9) C (10) D二、简答题1.试述数据、数据库、数据库系统、数据库管理系统的概念。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库系统概论实验设计答案数据库系统概论实验报告册姓名: momo学号:教师:实验一需求分析(一)——业务流程调查一、实验目的:掌握需求分析的步骤和业务流程调查的方法;掌握应用Powerbuilder绘制BPM模型二、学时:6H(课内4H,课外2H)三、实验软件平台:Windows 2k或Windows XP, Powerduilder9.5,Visio四、实验内容:根据该VCD连锁店的业务需求调查文字,利用PD绘制该VCD连锁店管理系统的BPM模型。
五、实验结果:出售租借:根据购买人或租借人提供的VCD租借单,查阅库存,如果有,则办理销售或租借并登记销售或租借流水帐;如果没有相应的VCD,则可根据购买人或租借人的要求办理预约登记,当有VCD时,及时通知购买人或租借人。
归还:根据租借人提供的所还VCD,检查VCD是否完好,如果完好,则办理归还登记,如果有损坏的VCD,办理赔偿登记。
并把赔偿通知单通知给租借人。
逾期罚款通知:查询逾期未还的VCD,及时通知租借人,并进行相应的罚款登记。
六、思考题1、数据库设计为什么需要进行详细的需求分析?答:需求分析简单地说就是分析用户的要求。
需求分析是设计数据库的起点,需求分析的结果是不是准确的反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是不是合理使用情况。
2、需求分析的目标是什么?其调查步骤是什么?常用的调查方法有哪些?答:(1)需求分析的目标:1.通过详细调查现实世界要处理的对象,充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求。
2.在此基础上确定新系统的功能。
新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。
(2) 调查步骤:1. 了解组织机构。
2. 调查部门的数据输入、处理、输出。
(调查重点之一)3. 在熟悉业务活动的基础上,协助用户明确对新系统的各种要求。
(调查重点之二)4. 确定新系统的边界(3)常用的调查方法:⑴跟班作业⑵开调查会⑶请专人介绍⑷询问⑸设计调查表请用户填写⑹查阅记录3、数据库设计的特点是什么?答:特点一:三分技术,七分管理,十二分基础数据。
特点二:结构(数据)设计和行为(处理)设计相结合。
实验二需求分析(二)——数据流程调查一、实验目的:掌握需求分析的步骤和数据流程调查的方法;掌握应用VISIO绘制数据流程图(DFD),掌握数据流程图分层次的绘制方法。
掌握编写数据字典的方法和步骤。
二、实验学时:8H(课内6H,课外2H)三、实验软件平台:Windows 2k或Windows XP, Visio四、实验内容:1、掌握数据流程调查和分析的方法;2、利用Visio绘制分层次的数据流程图并在绘制的过程中建立标准、统一的编码;3、根据该VCD连锁店的业务需求调查文字以及第一次作业所完成的内容,利用VISIO,绘制该连锁店管理系统的DFD模型。
4、编写详细正确的数据字典。
五、实验步骤1、数据流程图的层次绘制方法复习数据流程图分层次绘制模型:数据流程图是按照“自顶向下、逐层细化”的原则进行,在绘制整个数据流程图的过程中,一定要建立标准、统一的编码,并建立相应的数据字典。
数据流程图的详细绘制过程可参见上课过程中的PPT案例(陪送系统数据流程图)。
2、根据该VCD连锁店的业务需求调查文字以及第一次作业所完成的内容,利用VISIO,绘制该连锁店管理系统的DFD模型。
六、实验结果:1、绘制数据流程图说明:这是总的vcd租借系统。
说明:这是租售卡办理流程说明:vcd出租流程说明:这是预约流程说明:上图是归还流程说明:这是逾期还款流程2、编写相应的正确的数据字典表3-1 数据流的描述数据流编号数据流名称简述数据流来源数据流去向数据流组成数据流量高峰流量F1 租借申请对vcd的租借的一个申请客户客户身份审合购买人卡号、购买日期、VCD编码、数量、单价1000条/月1500条/月F2 赔偿记录对vcd损坏进行赔偿客户赔偿数据库租借人卡号、租借日期、VCD编码、数量、归还日期,经办员工号1000条/月1500条/月F3 VCD出租信息出租信息客户Vcd审合租借记录单号、租借人卡号、租借日期、VCD编码、数量、归还日期,经办员工号1000条/月1500条/月F4 VCD归还信息归还信息Vcd审合结果商店租借记录单号、租借人卡号、租借日期、VCD编码、数量、归还日期,经办员工1000条/月1500条/月号表3-2 处理逻辑的描述处理逻辑编号处理逻辑名称简述输入的数据流处理输出的数据流处理频率P1.3.2 查阅库存对库存进行查阅F1 接收查询信息,并作回复F11 100条/次P1.3.3 办理销售登记办理销售登记F11 接收信息,并且登记F13 100条/次P1.3.5 预约答复预约信息的答复F12,F15 接收信息,处理答复客户答复100条/次表3-3 数据存储的描述数据存储编号数据存储名称简述数据存储组成相关联的处理D1 VCD出租库对vcd进行出租购买人卡号、购买日期、VCD编码、数量、单价P1D2 Vcd归还数据库对vcd进行归还租借记录单号、租借人卡号、租借日期、VCD编码、数量、归还日期,经办员工号P2表3-4 外部实体的描述外部实体编号外部实体名称简述外部实体组成输入的数据流输出的数据流S1 客户Vcd租借用户客户没有租借请求S2 商店Vcd租借老板商店F4 事不是同意租借表4-5 数据项的定义数据项编号数据项名称简述类型及宽度取值范围I1 购买人卡号购买vcd的人的卡号字符型,8位“00000000”-“99999999”I2 租借记录单号租借了vcd后,所产生的租借单号字符型,8位“00000000”-“99999999”I3 租借人卡号已经租借了人的卡号字符型,8位“00000000”-“99999999”七、思考题1、数据流程图的特点有哪三方面?答:数据流程图是一个分层的概念模型,分为三个层次,分别是总体图、中层数据流图、细节图2、数据字典的内容和作用是什么?答:(1)数据字典的用途数据字典是系统中各类数据描述的集合。
(2)数据字典的内容数据项数据结构数据流数据存储处理过程实验三概念结构设计一、实验目的:掌握概念结构模型绘制的方法和步骤,掌握利用PD绘制和管理CDM的方法。
二、实验学时:6H(课内3H,课外3H)三、实验软件平台:Windows 2k或Windows XP, Powerduilder9.5,Visio四、实验内容:1、掌握概念结构设计的方法;2、利用PD绘制并管理CDM;3、根据该VCD连锁店的业务需求调查文字以及前两次作业所完成的内容,利用PD,设计该连锁店管理系统合理的CDM模型。
五、实验结果图例说明:实体属性联系说明:vc的总流程说明:vcd租借说明:vcd归还说明:vcd赔偿说明:逾期还款六、思考题1、什么是数据库的概念结构?式述其特点和设计策略。
答:(1)概念结构的特点1.能真实、充分地反映现实世界2.易于理解3.易于更改4.易于向关系、网状、层次等各种数据模型转换(2)概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定(3)设计策略:自顶向下、自底向上、逐步扩张、混合策略。
2、什么叫数据抽象?答:数据抽象是对实际的人、物、事、概念进行人为处理,抽取所关心的共同特性,策略飞本质的细节,并把这些特性用各种概念精确地加以描述。
3、数据库概念结构设计的重要性和设计步骤答:步骤: 一般先画出组织的局部E-R图,然后将其合并,在此基础进行优化和美化。
概念结构的重要性: 概念数据模型,主要在系统开发的数据库设计阶段使用,是按照用户的观点来对数据和信息进行建模,利用实体关系图来实现.它描述系统中的各个实体以及相关实体之间的关系,是系统特性和静态描述.数据字典也将是系统进一步开发的基础.4、为什么要视图集成?有哪些方法?答: 视图集成是消除各分E-R图中的冲突是合并分E-R 图的主要工作与关键所在。
方法:(1)多个分E-R图一次集成。
(2)逐步集成,用累加的方式一次集成两个分E-R图。
5、试述在PD中设计数据项并把数据项关联到某一实体的操作步骤答:6、试述在PD中设计域并把它关联到某一实体属性上的操作步骤实验四逻辑结构设计一、实验目的:掌握概念结构模型向逻辑模型转换的规则方法;掌握在PD环境中把CDM正确转换为PDM,并对PDM进行必要的管理和修改。
二、实验学时:6H(课内3H,课外3H)三、实验软件平台:Windows 2k或Windows XP, Powerduilder9.5,Visio四、实验内容:1、掌握概念结构模型向逻辑模型转换的规则方法;2、掌握在PD环境中把CDM正确转换为PDM,并对PDM进行必要的管理和修改;3、掌握利用创建PDM的四种方法;4、根据该VCD连锁店的业务需求调查文字以及前三次实验所完成的内容,利用PD,设计该连锁店管理系统合理的PDM模型。
五、实验结果实验五数据库的物理设计与实施一、实验目的:掌握PD中利用PDM生成物理数据库的操作步骤;掌握在PD环境中把PDM正确转换为数据库文件和生成数据库文件的SQL脚本。
二、实验学时:4H(课内2H,课外2H)三、实验软件平台:Windows 2k或Windows XP, Powerduilder9.5,MS SQL Server 2000或Anywhere四、实验内容:1、掌握PD中利用PDM生成物理数据库的操作步骤;2、掌握在PD环境中把PDM正确转换为数据库文件和生成数据库文件的SQL脚本。
3、根据第四次实验所得到的PDM模型,完成该VCD 连锁店管理系统数据库的物理设计,保留生成数据库的SQL脚本和数据库文件。
五、实验结果/*==============================================================*//* DBMS name: mohaoying *//* Created on: 2012/4/25 12:53:44 *//*==============================================================*/if exists(select 1 from sys.sysforeignkey where role='FK_ASSOCIAT_ASSOCIATI_商店管理员') thenalter table Association_4delete foreign key FK_ASSOCIAT_ASSOCIATI_商店管理员end if;if exists(select 1 from sys.sysforeignkey where role='FK_ASSOCIAT_ASSOCIATI_逾期罚款通知') thenalter table Association_4delete foreign key FK_ASSOCIAT_ASSOCIATI_逾期罚款通知end if;if exists(select 1 from sys.sysforeignkey where role='FK_同意租借_同意租借_商店管理员') thenalter table 同意租借delete foreign key FK_同意租借_同意租借_商店管理员end if;if exists(select 1 from sys.sysforeignkey where role='FK_同意租借_同意租借2_租借流水帐') thenalter table 同意租借delete foreign key FK_同意租借_同意租借2_租借流水帐end if;if exists(select 1 from sys.sysforeignkey where role='FK_没有库存_没有库存_商店管理员') thenalter table 没有库存delete foreign key FK_没有库存_没有库存_商店管理员end if;if exists(select 1 from sys.sysforeignkey where role='FK_没有库存_没有库存2_预约登记') thenalter table 没有库存delete foreign key FK_没有库存_没有库存2_预约登记end if;if exists(select 1 from sys.sysforeignkey where role='FK_登记_登记_商店管理员') thendelete foreign key FK_登记_登记_商店管理员end if;if exists(select 1 from sys.sysforeignkey where role='FK_登记_登记2_归还登记') then alter table 登记delete foreign key FK_登记_登记2_归还登记end if;if exists(select 1 from sys.sysforeignkey where role='FK_租借_租借_客户') thenalter table 租借delete foreign key FK_租借_租借_客户end if;if exists(select 1 from sys.sysforeignkey where role='FK_租借_租借2_商店管理员') then alter table 租借delete foreign key FK_租借_租借2_商店管理员end if;if exists(select 1 from sys.sysindex i, sys.systable twhere i.table_id=t.table_idand i.index_name='Association_5_FK'and t.table_name='Association_4') thendrop index Association_4.Association_5_FKend if;if exists(select 1 from sys.sysindex i, sys.systable twhere i.table_id=t.table_idand i.index_name='Association_4_FK'and t.table_name='Association_4') thendrop index Association_4.Association_4_FKend if;if exists(select 1 from sys.sysindex i, sys.systable twhere i.table_id=t.table_idand i.index_name='Association_4_PK'and t.table_name='Association_4') thendrop index Association_4.Association_4_PKend if;select 1 from sys.systablewhere table_name='Association_4'and table_type in ('BASE', 'GBL TEMP')) thendrop table Association_4end if;if exists(select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_idand i.index_name='同意租借2_FK'and t.table_name='同意租借') thendrop index 同意租借.同意租借2_FKend if;if exists(select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_idand i.index_name='同意租借_FK'and t.table_name='同意租借') thendrop index 同意租借.同意租借_FKend if;if exists(select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_idand i.index_name='同意租借_PK'and t.table_name='同意租借') thendrop index 同意租借.同意租借_PKend if;if exists(select 1 from sys.systablewhere table_name='同意租借'and table_type in ('BASE', 'GBL TEMP')) thendrop table 同意租借end if;if exists(select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_idand t.table_name='商店管理员') thendrop index 商店管理员.商店管理员_PKend if;if exists(select 1 from sys.systablewhere table_name='商店管理员'and table_type in ('BASE', 'GBL TEMP')) thendrop table 商店管理员end if;if exists(select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_idand i.index_name='客户_PK'and t.table_name='客户') thendrop index 客户.客户_PKend if;if exists(select 1 from sys.systablewhere table_name='客户'and table_type in ('BASE', 'GBL TEMP')) thendrop table 客户end if;if exists(select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_idand i.index_name='归还登记_PK'and t.table_name='归还登记') thendrop index 归还登记.归还登记_PKend if;if exists(select 1 from sys.systablewhere table_name='归还登记'and table_type in ('BASE', 'GBL TEMP')) thendrop table 归还登记if exists(select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_idand i.index_name='没有库存2_FK'and t.table_name='没有库存') thendrop index 没有库存.没有库存2_FKend if;if exists(select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_idand i.index_name='没有库存_FK'and t.table_name='没有库存') thendrop index 没有库存.没有库存_FKend if;if exists(select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_idand i.index_name='没有库存_PK'and t.table_name='没有库存') thendrop index 没有库存.没有库存_PKend if;if exists(select 1 from sys.systablewhere table_name='没有库存'and table_type in ('BASE', 'GBL TEMP')) thendrop table 没有库存end if;if exists(select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_idand i.index_name='登记2_FK'and t.table_name='登记') thendrop index 登记.登记2_FKend if;select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_idand i.index_name='登记_FK'and t.table_name='登记') thendrop index 登记.登记_FKend if;if exists(select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_idand i.index_name='登记_PK'and t.table_name='登记') thendrop index 登记.登记_PKend if;if exists(select 1 from sys.systablewhere table_name='登记'and table_type in ('BASE', 'GBL TEMP')) thendrop table 登记end if;if exists(select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_idand i.index_name='租借2_FK'and t.table_name='租借') thendrop index 租借.租借2_FKend if;if exists(select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_idand i.index_name='租借_FK'and t.table_name='租借') thendrop index 租借.租借_FKend if;if exists(select 1 from sys.sysindex i, sys.systable tand i.index_name='租借_PK'and t.table_name='租借') thendrop index 租借.租借_PKend if;if exists(select 1 from sys.systablewhere table_name='租借'and table_type in ('BASE', 'GBL TEMP')) thendrop table 租借end if;if exists(select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_idand i.index_name='租借流水帐_PK'and t.table_name='租借流水帐') thendrop index 租借流水帐.租借流水帐_PKend if;if exists(select 1 from sys.systablewhere table_name='租借流水帐'and table_type in ('BASE', 'GBL TEMP')) thendrop table 租借流水帐end if;if exists(select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_idand i.index_name='逾期罚款通知_PK'and t.table_name='逾期罚款通知') thendrop index 逾期罚款通知.逾期罚款通知_PKend if;if exists(select 1 from sys.systablewhere table_name='逾期罚款通知'and table_type in ('BASE', 'GBL TEMP')) thenend if;if exists(select 1 from sys.sysindex i, sys.systable twhere i.table_id=t.table_idand i.index_name='预约登记_PK'and t.table_name='预约登记') thendrop index 预约登记.预约登记_PKend if;if exists(select 1 from sys.systablewhere table_name='预约登记'and table_type in ('BASE', 'GBL TEMP')) thendrop table 预约登记end if;/*==============================================================*//* Table: Association_4 *//*==============================================================*/create table Association_4(工号 tinyint not null,记录罚款单号 char(20) not null, 罚款日期 date null,、经办员工号 char(256) null,Attribute_30 char(10) null,constraint PK_ASSOCIATION_4 primary key clustered (工号, 记录罚款单号) );/*==============================================================*//* Index: Association_4_PK *//*==============================================================*/create unique clustered index Association_4_PK on Association_4 (工号 ASC,记录罚款单号 ASC);/*==============================================================*//* Index: Association_4_FK *//*==============================================================*/create index Association_4_FK on Association_4 (工号 ASC/*==============================================================*//* Index: Association_5_FK *//*==============================================================*/ create index Association_5_FK on Association_4 (记录罚款单号 ASC);/*==============================================================*//* Table: 同意租借 */ /*==============================================================*/ create table 同意租借(工号 tinyint not null,租借记录单号 char(20) not null, 数量 tinyint null,constraint PK_同意租借 primary key clustered (工号, 租借记录单号) );/*==============================================================*//* Index: 同意租借_PK */ /*==============================================================*/ create unique clustered index 同意租借_PK on 同意租借 (工号 ASC,租借记录单号 ASC);/*==============================================================*//* Index: 同意租借_FK */ /*==============================================================*/ create index 同意租借_FK on 同意租借 (工号 ASC);/*==============================================================*//* Index: 同意租借2_FK */ /*==============================================================*/ create index 同意租借2_FK on 同意租借 (租借记录单号 ASC);/*==============================================================*//* Table: 商店管理员 */ /*==============================================================*/ create table 商店管理员姓名 char(20) null,性别 char(4) null,工号 tinyint not null,年龄 tinyint null,政治面貌 char(10) null,constraint PK_商店管理员 primary key (工号));/*==============================================================*//* Index: 商店管理员_PK */ /*==============================================================*/ create unique index 商店管理员_PK on 商店管理员 (工号 ASC);/*==============================================================*//* Table: 客户 *//*==============================================================*/ create table 客户(购买人卡号 char(20) not null, constraint PK_客户 primary key (购买人卡号));/*==============================================================*//* Index: 客户_PK *//*==============================================================*/ create unique index 客户_PK on 客户 (购买人卡号 ASC);/*==============================================================*//* Table: 归还登记 */ /*==============================================================*/ create table 归还登记(归还单号 char(20) not null, 租借人卡号 char(20) null,归还日期 time null,VCD编码 char(20) null,constraint PK_归还登记 primary key (归还单号));/*==============================================================*//* Index: 归还登记_PK */ /*==============================================================*/create unique index 归还登记_PK on 归还登记 (归还单号 ASC);/*==============================================================*//* Table: 没有库存 */ /*==============================================================*/ create table 没有库存(工号 tinyint not null,预约登记单号 tinyint not null, VCD编号 tinyint null,constraint PK_没有库存 primary key clustered (工号, 预约登记单号) );/*==============================================================*//* Index: 没有库存_PK */ /*==============================================================*/ create unique clustered index 没有库存_PK on 没有库存 (工号 ASC,预约登记单号 ASC);/*==============================================================*//* Index: 没有库存_FK */ /*==============================================================*/ create index 没有库存_FK on 没有库存 (工号 ASC);/*==============================================================*//* Index: 没有库存2_FK */ /*==============================================================*/ create index 没有库存2_FK on 没有库存 (预约登记单号 ASC);/*==============================================================*//* Table: 登记 *//*==============================================================*/ create table 登记(工号 tinyint not null,归还单号 char(20) not null, 归还日期 time null,constraint PK_登记 primary key clustered (工号, 归还单号));/*==============================================================*//* Index: 登记_PK */ /*==============================================================*/ create unique clustered index 登记_PK on 登记 (工号 ASC,归还单号 ASC);/*==============================================================*//* Index: 登记_FK */ /*==============================================================*/ create index 登记_FK on 登记 (工号 ASC);/*==============================================================*//* Index: 登记2_FK */ /*==============================================================*/ create index 登记2_FK on 登记 (归还单号 ASC);/*==============================================================*//* Table: 租借 */ /*==============================================================*/ create table 租借(购买人卡号 char(20) not null, 工号 tinyint not null,VCD编号 tinyint null,constraint PK_租借 primary key clustered (购买人卡号, 工号));/*==============================================================*//* Index: 租借_PK */ /*==============================================================*/ create unique clustered index 租借_PK on 租借 (购买人卡号 ASC,工号 ASC);/*==============================================================*//* Index: 租借_FK */ /*==============================================================*/ create index 租借_FK on 租借 (购买人卡号 ASC);/*==============================================================*//* Index: 租借2_FK *//*==============================================================*/ create index 租借2_FK on 租借 (工号 ASC);/*==============================================================*//* Table: 租借流水帐 */ /*==============================================================*/ create table 租借流水帐(租借记录单号 char(20) not null, 数量 tinyint null,归还日期 time null,经办员工号 char(10) null,租借人卡号 char(20) null,VCD编码 char(20) null,constraint PK_租借流水帐 primary key (租借记录单号));/*==============================================================*//* Index: 租借流水帐_PK */ /*==============================================================*/ create unique index 租借流水帐_PK on 租借流水帐 (租借记录单号 ASC);/*==============================================================*//* Table: 逾期罚款通知 */ /*==============================================================*/ create table 逾期罚款通知(罚款金额 numeric(8,2) null,记录罚款单号 char(20) not null, constraint PK_逾期罚款通知 primary key (记录罚款单号));/*==============================================================*//* Index: 逾期罚款通知_PK */ /*==============================================================*/ create unique index 逾期罚款通知_PK on 逾期罚款通知 (记录罚款单号 ASC);/*==============================================================*//* Table: 预约登记 *//*==============================================================*/create table 预约登记(预约登记单号 tinyint not null,租借卡卡号 char(20) null,VCD编码 char(20) null, 数量 tinyint null,经办员工号 char(10) null,constraint PK_预约登记 primary key (预约登记单号));/*==============================================================*//* Index: 预约登记_PK *//*==============================================================*/create unique index 预约登记_PK on 预约登记 (预约登记单号 ASC);alter table Association_4add constraint FK_ASSOCIAT_ASSOCIATI_商店管理员 foreign key (工号)references 商店管理员 (工号)on update restricton delete restrict;alter table Association_4add constraint FK_ASSOCIAT_ASSOCIATI_逾期罚款通知 foreign key (记录罚款单号) references 逾期罚款通知 (记录罚款单号)on update restricton delete restrict;alter table 同意租借add constraint FK_同意租借_同意租借_商店管理员 foreign key (工号)references 商店管理员 (工号)on update restricton delete restrict;alter table 同意租借add constraint FK_同意租借_同意租借2_租借流水帐 foreign key (租借记录单号) references 租借流水帐 (租借记录单号)on update restricton delete restrict;alter table 没有库存add constraint FK_没有库存_没有库存_商店管理员 foreign key (工号)references 商店管理员 (工号)on update restricton delete restrict;alter table 没有库存add constraint FK_没有库存_没有库存2_预约登记 foreign key (预约登记单号)references 预约登记 (预约登记单号)on update restricton delete restrict;alter table 登记add constraint FK_登记_登记_商店管理员 foreign key (工号)references 商店管理员 (工号)on update restricton delete restrict;alter table 登记add constraint FK_登记_登记2_归还登记 foreign key (归还单号)references 归还登记 (归还单号)on update restricton delete restrict;alter table 租借add constraint FK_租借_租借_客户 foreign key (购买人卡号)references 客户 (购买人卡号)on update restricton delete restrict;alter table 租借add constraint FK_租借_租借2_商店管理员 foreign key (工号)references 商店管理员 (工号)on update restricton delete restrict;六、思考题1、试述数据库物理设计的内容和步骤答:为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计,分两步:A、确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构.B、对物理结构进行评价,评价的重点是时间和空间效率。