版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章 习题参考答案1名词解释:数据、数据库、数据库管理系统、数据库系统、关系数据库管理系统。数据:用来记录或者标识事物本质特征的符号。具体包括文本、图形、图像、音频、视频、动画等数据。数据库:长期储存在计算机内的有组织的、统一的、共享的、结构化的、通用化的、综合性的数据的集合。数据库管理系统:位于用户与操作系统之间,提供给用户实现数据库的定义、操纵和运行管理的数据管理软件,从而科学地组织和存储数据、高效地获取和维护数据。数据库系统:在计算机系统中引入数据库后,由数据库、数据库管理系统、数据库应用系统、数据库设计员、数据库管理员和用户等构成的完整的计算机系统。DBS的核心是数据库管理系统,DB
2、MS是用户与数据库的接口关系数据库系统:支持关系数据库技术的数据库系统。2简述数据库管理系统的功能。数据定义DDL;数据操纵DML;数据控制DCL(安全性、完整性、并发控制和数据恢复);数据接口;数据组织和存储;事务和运行管理等。从而确保数据的安全、完整、并发和恢复。3简述数据库系统的组成和特点。组成:DBS硬件(计算机硬件、数据库硬件和网络硬件等)、DBS软件(操作系统、DBMS、程序设计主语言、数据库专用开发工具和数据库应用系统等)和人员(数据库设计员、数据库分析员、数据库管理员、数据库程序员和用户)等组成。特点:数据结构化组织、永久储存和统一管理;数据共享;冗余度小;独立性高;容易扩展等
3、。4常用的数据模型有哪些?简述数据模型的三个要素。类型:层次模型(最早);网状模型;关系模型(目前流行);面向对象模型(20世纪80年代引入OOP)。要素:数据结构;数据操作;完整性约束。5简述DBA的职责。决定数据库的信息内容和结构;决定数据库的存储结构和存取策略;定义数据的安全性和完整性;监控数据库的使用和运行;数据库的改进和重组重构。6简述数据库技术发展的三个基本阶段。人工管理;文件系统;数据库系统7试述文件系统与数据库系统的区别。文件系统:数据以文件方式存储,使用专门文件管理系统对数据文件进行统一组织、存储和管理,从而加快了数据处理速度,提高了数据处理准确性。特点如下:1)数据结构:数
4、据实现了记录格式的结构化处理,没有实现整体数据的结构化存储。2)数据存储:计算机硬件系统的存储性能得到提高,大量的数据处理可以永久保存。3)数据管理:提供文件管理系统,程序和数据之间可以使用文件系统进行统一管理。4)数据共享:数据之间不能共享。5)数据冗余:存在大量冗余数据,浪费存储空间。6)数据独立:数据和程序不具有相互独立性。数据库系统:把所有的数据文件组织起来,按照指定的数据结构构成多个数据库,然后对所有的数据进行有组织的统一结构化管理。特点如下:1)数据结构:数据使用统一结构化的存储模式进行组织、存储和管理。2)数据存储:提供功能完善的快速存储设备,数据可以永久保存。3)数据管理:提供
5、功能完善的DBMS进行统一管理及其安全性保护、完整性约束、并发控制和数据恢复等数据保护机制。4)数据共享:程序和数据具有较高的共享性,使得数据可以共享。5)数据冗余:数据冗余度小,节省存储空间。6)数据独立:具有较高的数据和程序独立性。如果DB的逻辑结构或者物理结构发生变化,应用程序可以不作修改,或者少量调整,从而减轻系统设计工作量,容易扩充。8试述常用的RDBMS。Oracle、SQL Server、DB2、My SQL、Informix、Visual FoxPro等9解释概念模型,简述概念模型的三要素。概念模型:利用具有较强语义表达能力,且能够方便、直接地表达应用中的各种语义知识的专用描述
6、工具,按照统一的语法格式和描述方法,对实际问题进行抽象后,而建立的简单、整洁、清晰、易于理解的独立于DBMS的模型结构。要素:属性、实体和联系。10解释实体之间的常用联系,简述E-R模型的表示方法。常用联系:一对一、一对多和多对多。表示方法:(1)长方形用来表示实体型。(2)菱型和长方形之间的连线表示联系,并且将联系类型标注在连线附近,在长方形和菱形内分别写上实体型名称和联系名称。(3)椭圆表示实体型和联系的属性,将其与所描述的相应实体型或者联系用线连接,在椭圆内写上属性的名称。11简述数据库系统的模式结构。模式结构:由外模式、模式和内模式三级模式以及外模式/模式和模式/内模式二级映像构成的结
7、构。1)外模式(用户模式,子模式):面向用户的数据库局部逻辑结构和特征的描述,是数据库用户的数据视图,体现了数据库的局部特征。一个数据库可以有多个外模式。2)模式(逻辑模式,结构模式):数据库中全部数据的整体逻辑结构和特征的描述,是所有用户的公共数据视图,体现了数据库的总体特征。一个数据库只能有一个模式。3)内模式(物理模式,存储模式):对数据库物理结构和存储方式的描述,是数据在数据库内部的组织存储方式。一个数据库只能有一个内模式。4)外模式/模式映像:保证数据的逻辑独立性。5)内模式/模式映像:保证数据的物理独立性。12简述数据独立性。数据独立性具体包括哪两种独立性?说明数据库系统的模式结构
8、与数据独立性的关系。数据独立性:在数据库技术中,应用程序和数据之间相互独立,互相不受影响。种类:数据的物理独立性和数据的逻辑独立性。关系:1)数据的物理独立性:如果数据库的内模式需要修改,即数据库的存储结构和存取方法有所变化,那么通过模式/内模式映象的相应修改,使模式尽可能保持不变。亦即对内模式的修改尽量不影响模式、外模式和应用程序。 2)数据的逻辑独立性:如果数据库的模式需要修改,即增加记录类型或者增加数据项,那么通过外模式/模式映象的相应修改,使外模式尽可能保持不变。亦即对模式的修改尽量不影响外模式和应用程序。数据的物理独立性和逻辑独立性合称为数据独立性。第二章 习题参考答案1解释SQL和
9、ODBC,简述SQL、ODBC与SQL Server 2005之间的关系。SQL:结构化查询语言,Structured Query Language的缩写,是数据库管理系统的国际标准。ODBC:开放数据库互连,Open Database Connectivity的缩写,是数据库管理系统的接口,提供DBMS与OS和高级语言的接口。SQL Server:是微软研发的符合国际SQL标准的专业级数据库管理系统,并提供了ODBC接口,其管理功能相当完善,由于通过它简单的操作就可以非常安全稳定的进行数据库管理,从而使得它拥有了很高的市场占有率。目前SQL Server已经成为数据库领域的主流数据库管理工具
10、,其最新产品是SQL Server 2008。2简述SQL Server 2005的特点。综合统一、语法简单、易学易用、面向集合操作、高度非过程化、一语两用等。3简述数据库设计的基本方法。手工试凑法和规范设计法等。常用规范设计法:新奥尔良法;E-R图法;3NF法;ODL法。4如何实现表Student中学号为2008010101和2008010102两个记录的性别的互换。-声明两个长度为2的字符型变量DECLARE VarSex1 CHAR(2), VarSex2 CHAR(2)-把学号为2008010101的元组的性别的值赋值给VarSex1SELECT VarSex1 = SSex FROM
11、 Student WHERE SNo=2008010101-把学号为2008010102的元组的性别的值赋值给VarSex2SELECT VarSex2 = SSex FROM Student WHERE SNo=2008010102-使用VarSex2的值修改学号为2008010101的元组的性别的值UPDATE Student SET SSex= VarSex2 WHERE SNo=2008010101-使用VarSex1的值修改学号为2008010102的元组的性别的值UPDATE Student SET SSex= VarSex1 WHERE SNo=20080101025简述数据库备
12、份和还原的方法。备份StudentDB:在查询分析器中,使用BACKUP DATABASE 完成,即:BACKUP DATABASE StudentDB TO DISK=C:StudentDBBackup1.bak,DISK=D:StudentDBbackup2.bak还原StudentDB:在查询分析器中,使用RESTORE DATABASE完成,即:RESTORE DATABASE StudentDB FROM DISK=C:StudentDBBackup1.bak WITH REPLACE6简述数据库分离和附加的方法。分离数据库:在SSMS中展开数据库,在需要分离的数据库上右击,然后选择
13、“任务(T)”“分离(D),在分离数据库窗口中,选择相应的分离选项,然后单击“确定”完成分离。附加数据库:在SSMS中,右击“数据库”,然后选择“附加(A)”,在附加数据库窗口中,选择需要附加的数据库,然后单击“确定”完成附加。7简述数据库维护的意义和方法。意义:数据库在使用过程中,通常会发生违约操作或者故障,为了确保数据库的完整性和一致性等,定期的对数据库进行指定方式的维护工作是十分必要的。方法:使用维护计划向导创建维护计划。即:方法1:在SSMS中展开“管理”,右击“维护计划”,选择“维护计划向导(W)”单击“下一步”,在选择目标服务器窗口中,输入计划名称、选择服务器和登录方式后单击“下一
14、步”,勾选需要执行的维护任务,单击“下一步”,然后按照向导选择需要维护的数据库,并进行相应的设置,最后单击“完成(F)”完成维护计划。方法2:右击“维护计划”,选择“新建维护计划(N)”实现。8简述视图与表的关系。区别:1)概念不同。表是使用DBMS的DDL定义的,拥有真实数据的,以独立文件的形式存储在计算机外存上的具有固定模式结构和相应元组数据的关系表;视图是利用带有查询语句的视图定义,从数据表或视图中导出的虚表。2)数据有效期不同。表是拥有数据的实表,而视图是只有视图定义的虚表。3)数据存储不同。表永久存储在外存,而视图只有执行时创建临时表,用后释放。4)更新方式不同。表一般可以任意更新,
15、而视图一般不能任意更新。5)创建方法不同。表使用CREATE TABLE,而视图使用CREATE VIEW。联系:视图最终定义在表之上,视图数据最终来自表;表是创建视图的基础,并为视图提供数据,若表结构发生了改变,或者删除了表,则其相应的视图会失去意义,需要修改或者删除视图。对于最终用户,视图与表基本相同,用户可以按照表的用法来使用视图。9给数据库StudentDB创建一个数据库用户HappyMary,其登录身份是Windows的合法登录HappyMary;同时创建一个数据库用户HappySmith,其登录身份是SQL Server 2005的合法登录HappySmith。CREATE USE
16、R HappyMary FOR LOGIN ZJSU-HAPPYYOUHappyMary CREATE USER HappySmith FOR LOGIN HappySmith10给数据库StudentDB创建一个数据库角色Mary,其数据库用户是HappyMary;同时创建一个数据库角色Smith,其数据库用户是数据库StudentDB的拥有者DBO;然后再删除数据库角色Mary和Smith。CREATE ROLE Mary AUTHORIZATION HappyMaryCREATE ROLE SmithDROP USER MaryDROP USER Smith11简述GRANT、DENY和
17、REVOKE的用法,并举例说明。GRANT , ON TO ,WITH GRANT OPTION例如:把对表Student的读取权限授权给角色Tom。GRANT SELECT ON Student TO TomDENY , ON TO ,例如:把表Student的读取权限授权给所有用户,然后阻止用户HappyTomer的读取权限。GRANT SELECT ON Student TO PUBLIC DENY SELECT ON Student TO HappyTomerREVOKE , ON FROM ,例如:收回用户HappyTomer对表Student的数据项SName、SSex、Sage的
18、修改权限。REVOKE UPDATE ON Student(SName,SSex,Sage) FROM HappyTomer12在西京大学教务管理系统中,如果需要添加教师信息,而且在安排教师讲授课程时,需要给出教学效果(一般、中等、良好、优秀)。那么应该如何重新设计该数据库。参考E-R图如下:教师学生Student课程授课选课课程名课程号学分学时工号姓名性别年龄职称学号姓名性别年龄籍贯教学效果成绩指导专业专业时间案地点教材13已知蓝天电器需要设计产品销售数据库,数据要求包括:连锁店的基本信息(店号、店名、店址和电话等)和商品的基本信息(品号、品称和单价等)。连锁店销售商品时,需要记录销售数量和
19、销售日期。请设计满足上述要求的数据库,并分别使用对象资源管理器和查询分析器建立该数据库,数据库的数据根据需要自定。销售数据库ComInfo及其商店表、商品表和销售表设计如下:(1)商店表店号:字符型,6位,主键,非空,取值=0,9,S,S字母开头,其它为数字。店名:字符型,22位,非空。店址:字符型,36位。电话:字符型,12位,取值=0,9。(2)商品表品号:字符型,6位,主键,非空,取值=0,9,P,P字母开头,其它为数字。品名:字符型,22位,非空。厂商:字符型,22位,非空。厂址:字符型36,非空。单价:实数,9位(2位小数)。数量:整型,6位。(3)联系属性销售额:实数,12位(2位
20、小数)。职务补:实数,9位(2位小数)。聘期:实数,3位(1位小数)。工资:实数,9位(2位小数)。经理:字符型,6位,非空,取值=0,9,A,Z,大写字母开头,其它为数字。(4)商品销售ER图如图3.2所示。商品商店销售店名店号电话店址品号品名厂商厂地单价销售额数量图32 商店销售E-R图(5)商品销售的关系模型如下:商品(品号,品名,厂商,厂址,单价,数量)商店(店号,店名,店址,电话)职工(工号,姓名,性别,年龄,电话,店号,工资,聘期,职务补,经理)销售(店号,品号,销售额)(6)利用SSMS的对象资源管理器创建数据库1)使用对象资源管理器编辑数据库在如图1所示的界面中,右击:“数据库
21、”(如图2所示),然后选择:“新建数据库(N)”(如图3所示)。 图1 SQL Server 管理工作室 图2 对象资源管理器建立数据库在“数据库名称(N):”右侧输入数据库的名称:ComInfo,则在“数据库文件(F):”的下方给出了数据库文件和相应日志文件的逻辑名称依次:ComInfo.MDF和ComInfo_log.LDF,其默认存储位置为:C:Program FilesMicrosoft SQL Server MSSQL10. MSSQLSERVERMSSQLDATA;如果需要指定数据库的存储位置,可以单击“路径”右侧的“”进行选择。其它属性,也可以根据需要进行设置。最后单击“确定”。
22、在如图1所示的SSMS界面中,右击需要编辑的数据库(例如:ComInfo),然后选择“重命名”、“删除”、“刷新”和“属性”等进行相应的编辑。具体用法如下: 选择“重命名”:修改数据库的名称。选择“属性”:查看数据库的基本属性。 选择“删除”:可以删除数据库,方法是在弹出的窗口中单击“确定”。 选择“刷新”:可以刷新SSMS,即在SSMS上重新刷新对数据库和数据表的修改。图3 新建数据库2)使用对象资源管理器编辑数据表结构 在如图1所示的SSMS中,展开数据库ComInfo,右击:“表”(如图4所示),然后选择:“新建表(N)”(如图5所示)。 图4 管理工作室的新建数据表GUI 图5 新建表
23、如图5所示,在“表-dbo.Table_1”标签的下方依次输入设计好的数据项的名称以及相应属性。具体输入方法如下: 列名下方:输入数据项的名称。如:工号,姓名,性别,年龄。 数据类型下方:选择相应的数据类型。如:Char(6),int等。对于字符型数据,还需要数据的宽度;对于decimal(18,0)类型数据,还需要数据的宽度和小数位数,其它类型的数据,只需按照相同的方法处理即可。 允许空下方:选择该数据是否允许为空值。 在任意行上,右击(如图3.27所示),选择“插入列(M)”,可以插入一个新数据项及其相应属性。选择“删除列(N)”,可以删除一个新数据项及其相应属性。 在任意行上,右击(如图
24、5所示),选择“设置主键”,可以把该属性设置为主键;如果需要把多个数据项设置成组合主键,则只需先选择多行,然后做同样处理;如果取消主键,只需在设置主键的行上,右击(参考图5),选择“移去主键(Y)”。 选择“CHECK约束(O)”,可以设置该属性的自定义约束(如图3.28所示)。单击“添加(A)”或者“删除(D)”,添加默认自定义约束或者删除已定义约束;在“表达式”右侧直接填写自定义约束表达式,或者单击右侧的“.”,则弹出的窗口中(如图7所示)填写自定义约束表达式,然后单击“确定”,在图6中单击“关闭”。 图6 设置CHECK约束 图7 填写CHECK约束表达式如图5所示,单击工具栏的保存按钮
25、,在弹出的“选择名称”窗口中输入:职工(如图8所示),单击“确定”。图8 保存数据表使用同样的方法创建数据表:商店、商品和销售。在创建职工的过程中,参照约束和外键的创建方法如下:在如图5所示的SSMS中,选择“关系”(如图9所示),单击“添加(A)”或者“删除(D)”,添加或者删除参照关系。本例单击“添加(A)”添加一个默认参照关系,然后选择“表和列规范”,并单击右侧“.”(如图10)。在图10中,设置职工的外键店号及其对应的主键表商店和参照主键店号。具体方法:在“主键表(P):”下选择“商店”,并在商店的下方选择参照主键店号;然后在“外键表:”下方“职工”的下方选择外键“店号”(参照图10)
26、;单击确定。在图10中,设置职工的自参照外键店号及其对应的主键表职工和参照主键工号。具体方法:在“主键表(P):”下选择“职工”,并在职工的下方选择参照主键工号;然后在“外键表:”下方“职工”的下方选择外键“经理”(参照图3.32);单击确定。建立结果如图9所示,最后单击关闭。同理建立销售表中店号和品号两个外键的参照键束。 图9 设置外键关系 图10 设置外键属性在SSMS中,依次展开数据库和相应的数据表,在需要编辑的数据表上右击(如图11所示),然后选择“设计”、“重命名”和“删除”等对数据表进行相应的编辑。具体用法如下:选择“设计”:可以修改数据表的数据项的属性,方法同上。选择“重命名”:
27、可以修改数据表的名称。选择“删除”:可以删除数据表,方法是在弹出的窗口中单击“确定”。3)使用对象资源管理器编辑数据表记录在如图11所示的SSMS中,依次展开数据库和相应的数据表,在需要编辑的数据表上右击,然后选择“编辑前200行(E)”(如图12所示),编辑表记录的方法如下: 图11 编辑数据表 图12 编辑数据表记录修改数据表内容:在数据表设计器中,可以直接对表的内容进行修改。向数据表添加新内容:在数据表设计器中,当编辑最后一个元组的数据时,生成器会在其下方自动添加一个新元组行,因此可以通过该新行添加新元组及其内容。删除数据表的元组:在要删除元组的所在行上,右击,然后选择“删除”,在弹出的
28、对话窗口中选择“是(Y)”进行删除,或者“否(N)”取消删除。(7)利用SSMS的查询编辑器创建数据库在SSMS界面中,单击工具栏的“新建查询(N)”,启动查询编辑器如图13所示,然后直接使用Transact-SQL语句创建数据库、数据表和视图等。具体方法如下:图13 查询编辑器编辑GUI在查询编辑器的编辑器页面SQLQuery1.sql中,直接输入SQL语句。单击分析按钮“”,检查分析SQL语句是否正确。单击调试按钮“”,对SQL的程序模块或者存储过程进行调试。单击执行按钮“!执行(X)”,运行查询编辑器中的语句序列。1)使用查询编辑器编辑数据库。建立数据库 - 建立默认环境数据库ComIn
29、fo CREATE DATABASE ComInfo - 建立指定环境数据库ComInfo,首先需要建立目录D:Data CREATE DATABASE ComInfo ON (NAME=ComInfoDbf,FILENAME=D:DataComInfo.mdf) LOG ON (NAME=ComInfoLog,FILENAME=D:DataComInfo.ldf)提示:“-”开头的为注释语句。打开数据库:在使用数据库之前,必须先打开数据库。 USE ComInfo删除数据库:在删除数据库之前,必须先关闭数据库,方法是打开一个新数据库;在删除数据库之后,会删除数据库的所有数据表。 DROP D
30、ATABASE ComInfo技巧:如果在建立数据库时,希望删除已经存在的同名数据库,可以使用如下语句: IF DB_ID (ComInfo) IS NOT NULL BEGIN USE MASTER DROP DATABASE ComInfo END2)使用查询编辑器编辑数据表结构。建立数据表结构 -建立商店数据表 CREATE TABLE 商店( 店号 CHAR(6) PRIMARY KEY CHECK (店号 LIKE S0-90-90-90-90-9), 店名 CHAR(22) NOT NULL,店址 CHAR(36) NOT NULL, 电话 CHAR(12) UNIQUE CHEC
31、K (电话 LIKE 0-90-90-90-90-90-90-90-90-90-90-90-9) -建立商品数据表 CREATE TABLE 商品( 品号 CHAR(6) PRIMARY KEY CHECK (品号 LIKE P0-90-90-90-90-9), 品名 CHAR(22) NOT NULL,厂名 CHAR(22) NOT NULL, 厂址 CHAR(36) NOT NULL,单价 DECIMAL(9,2),数量 INT) -建立职工数据表 CREATE TABLE 职工(工号 CHAR(6) PRIMARY KEY CHECK (工号 LIKE A-Z0-90-90-90-90-
32、9), 姓名 CHAR(8) NOT NULL, 性别 CHAR(2) NOT NULL CHECK (性别=男 OR 性别=女), 年龄 INT NOT NULL CONSTRAINT SAge16_96 CHECK (年龄=16 AND 年龄=96), 电话 CHAR(12) NOT NULL CHECK (电话 LIKE 0-90-90-90-90-90-90-90-90-90-90-90-9), 职务补 FLOAT,工资 REAL,聘期 DECIMAL(3,1) DEFAULT 6, 经理 CHAR(6) CHECK (经理 LIKE A-Z0-90-90-90-90-9) REFER
33、ENCES 职工(工号), 店号 CHAR(6) CHECK (店号 LIKE S0-90-90-90-90-9) REFERENCES 商店(店号) -建立销售数据表 CREATE TABLE 销售( 店号 CHAR(6) CHECK (店号 LIKE S0-90-90-90-90-9), 品号 CHAR(6) CHECK (品号 LIKE P0-90-90-90-90-9), 销售额 DECIMAL(12,2), PRIMARY KEY (店号,品号), FOREIGN KEY (店号) REFERENCES 商店(店号) ON DELETE CASCADE ON UPDATE CASCA
34、DE, FOREIGN KEY (品号) REFERENCES 商品(品号) ON DELETE CASCADE ON UPDATE CASCADE)修改数据表结构 -给职工添加“工作日期”数据项,数据类型为日期型。 ALTER TABLE 职工 ADD 工作日期 DATE -在职工中,给电话增加唯一性约束 ALTER TABLE 职工 ADD CONSTRAINT Un_Phone UNIQUE(电话) 或者 ALTER TABLE 职工 ADD UNIQUE(电话) -在职工中,删除电话的唯一性约束。 ALTER TABLE 职工 DROP CONSTRAINT Un_Phone -在职工
35、中,修改职工工作日期的数据类型为DATETIME ALTER TABLE 职工 ALTER COLUMN 工作日期 DATETIME -在职工中,删除数据项“工作日期” ALTER TABLE 职工 DROP COLUMN 工作日期思考:给职工添加“工作日期”数据项,数据类型为日期型,默认值为当前日期。提示:ALTER TABLE 职工 ADD 工作时间 DATE DEFAULT GETDATE()。删除数据库 DROP TABLE 职工技巧:如果在建立数据表时,希望删除已经存在的同名数据表,可以使用如下语句: IF DB_ID (ComInfo) IS NOT NULL BEGIN USE
36、ComInfo IF OBJECT_ID(职工) IS NOT NULL DROP TABLE 职工 END3)使用查询编辑器编辑数据表内容。 -给商店添加纪录 INSERT INTO 商店 VALUES( S00001,华润超市文一店,杭州市文一路66 INSERT INTO 商店 VALUES( S00002,华润超市文二店,杭州市文二路66 INSERT INTO 商店 VALUES( S00003,华润超市文三店,杭州市文三路66 -给商品添加纪录 INSERT INTO 商品 VALUES( P00001,SONY电视机,SONY公司,杭州市下沙学正街号,11000,66) INSE
37、RT INTO 商品 VALUES( P00002,DELL计算机,DELL公司,杭州市下沙学正街号,10000,99) -给职工添加纪录 INSERT INTO 职工 VALUES( INSERT INTO 职工 VALUES( INSERT INTO 职工 VALUES( INSERT INTO 职工 VALUES( INSERT INTO 职工 VALUES( A00005,马七 -给销售添加纪录 INSERT INTO 销售 VALUES(S00001,P00001,100000) INSERT INTO 销售 VALUES(S00001,P00002,200000) INSERT I
38、NTO 销售 VALUES(S00002,P00001,160000) INSERT INTO 销售 VALUES(S00002,P00002,260000) INSERT INTO 销售 VALUES(S00003,P00001,110000) -在职工中,把工号为A00001的姓名改为张娟。 UPDATE 职工 SET 姓名= 张娟 WHERE 工号=A00001 -在职工中,将所有职工的年龄增加1岁。 UPDATE 职工 SET 年龄=年龄 + 1 -在销售中,删除店号为S00002的销售记录。 DELETE FROM 销售 WHERE 店号=S00001 -在销售中,删除所有销售记录。
39、 DELETE FROM 销售补充习题:1建立数据库的语句:创建数据库的语句格式:CREATE DATABASE 。创建数据库StudentDB的语句:CREATE DATABASE StudentDB。删除数据库的语句格式:DROP DATABASE ,删除数据库StudentDB的语句:DROP DATABASE StudentDB。提示:查询分析器中的语句序列,可以保存为查询文件(*.sql),以备后用。2建立数据表的语句:-打开数据库StudentDB;在使用数据库之前,需要先打开数据库。USE StudentDBCREATE TABLE Student( SNo CHAR(10) P
40、RIMARY KEY NOT NULL, SName CHAR(20) NOT NULL, SSex CHAR(2) CHECK (SSex=男 OR SSex=女), SAge TINYINT CHECK (SAge1 AND SAge100), Coll CHAR(40) CREATE TABLE Course( CNo CHAR(6) PRIMARY KEY NOT NULL, CName CHAR(40) NOT NULL, CPNo CHAR(6), Credit INT, FOREIGN KEY (CPNo) REFERENCES Course(CNo)CREATE TABLE S
41、tudentCourse( SNo CHAR(10) NOT NULL, CNo CHAR(6) NOT NULL, Grade FLOAT, PRIMARY KEY (SNo, CNo), FOREIGN KEY (SNo) REFERENCES Student(SNo), FOREIGN KEY (CNo) REFERENCES Course(CNo)修改表:1)向表添加新数据项ALTER TABLE ADD 完整性约束 例如:向Student增加“注册时间”属性,其数据类型为日期型。ALTER TABLE Student ADD SEnrollment DATETIME例如:向Stude
42、nt的SName增加唯一性约束。ALTER TABLE Student ADD UNIQUE(SName) 或者ALTER TABLE Student ADD CONSTRAINT Un_SName UNIQUE(SName)2)修改表的数据项ALTER TABLE ALTER COLUMN 例如:修改Student的SAge的类型为SMALLINT。ALTER TABLE Student ALTER COLUMN Sage SMALLINT3)删除表的数据项及其约束条件ALTER TABLE DROP COLUMN | CONSTRAINT 例如:删除Student的数据项Senrollme
43、nt。ALTER TABLE Student DROP COLUMN Senrollment例如:删除Student的SName的唯一性约束。ALTER TABLE Student DROP CONSTRAINT Un_SName4)删除表:DROP TABLE 。例如:删除Student。DROP TABLE Student修改记录:(1)添加记录INSERT INTO (, ) VALUES ( , )例如:向表Student中添加新学生记录如下:学号:2008010109;姓名:武松;性别:男;年龄:20;学院:信息学院INSERT INTO Student VALUES (200801
44、0109,武松,男,20,信息学院)例如:向表StudentCourse中添加新学生记录如下:学号:2008010109;课程号:020101INSERT INTO StudentCourse(Sno,Cno) VALUES (2008010109 ,020101)提示:添加查询结果(多个元组)可以使用:INSERT INTO (, ) SELECT 语句(2)修改表记录UPDATE SET =,=, WHERE 例如:在表Student中,把学号为2008010101的姓名改为王五。UPDATE Student SET SName= 王五 WHERE SNo=2008010101例如:在表S
45、tudent中,将所有学生的年龄增加1岁。UPDATE Student SET SAge= SAge +1(3)查询表记录SELECT *| , FROM WHERE 例如:查询表Student中学号为2008010101的学生姓名和年龄。SELECT SName, Sage FROM Student WHERE SNo=2008010101例如:查询表StudentCourse的所有选课记录SELECT * FROM StudentCourse。(4)删除表记录DELETE FROM WHERE 例如:在表Student中,删除学号为2008010101的学生。DELETE FROM Stu
46、dent WHERE SNo=2008010101例如:在表StudentCourse中,删除所有选课。DELETE FROM StudentCourse3建立视图CREATE VIEW AS SELECT 语句例如:利用数据库StudentDB,创建包含学号、姓名、课程名、成绩、性别和学院等信息的视图StuGrade。CREATE VIEW StuGrade AS SELECT Student.SNo, SName, CName, Grade, SSex, Coll FROM Student, Course, StudentCourse WHERE Student.Sno=StudentCo
47、urse.SNo AND Course.CNo=StudentCourse.CNo第三章 习题参考答案1、试述关系模型的三个组成部分。答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。2、试述关系数据语言的特点和分类。答:关系数据语言可以分为三类: = 1 * GB2 关系代数语言 = 2 * GB2 关系演算语言,包括元组关系演算语言和域关系演算语言 = 3 * GB2 具有关系代数和关系演算双重特点的语言这些关系数据语言的表达能力在安全限制下是相互等价的,其共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强大且能够嵌入高级语言中使用。3、定义并理解下列术
48、语,说明它们之间的联系与区别: = 1 * GB2 域,笛卡尔积,关系,元组,属性;答:域:域是一组具有相同数据类型的值的集合。笛卡尔积:给定一组域D1,D2,Dn,且它们可以相同。这组域的笛卡尔积定义 XE 笛卡尔积 为:D1D2Dn=(d1,d2,dn) | diDi,i=l,2,n,其中的每一个元素(d1,d2,dn)叫做一个n元组(n-tuple)或简称元组,元素中每个di叫做第i个分量。关系:在域D1,D2,Dn上笛卡尔积D1D2Dn的任意一个子集称为关系,表示为 R(D1,D2, ,Dn)元组:关系中的每个元素是称为关系中的一个元组。属性:关系等价于一张二维表,表的每一行对应一个元
49、组,每一列对应一个域,且将这个域称为关系的一个属性。由于域可以相同,为了区分他们,必须给每列起一个名字,称为属性名。 = 2 * GB2 候选键,主码,外码,超码;答:候选键:若关系中的某一属性组的值能惟一地标识出一个元组,则称该属性组为候选键。主码:若一个关系有多个候选键,则选定其中的一个作为主吗。外码:在某个关系R中可能有这样一组属性A,它不是关系R的主码,但它是另一个关系S的主码,则属性组A称为关系R的外码。超码:在关系中能唯一标识元组的属性集称为关系的超码。 = 3 * GB2 关系模式,关系,关系数据库,属性,域,关系模型。关系模式:对一类实体特征的结构性描述,即对关系的静态结构性描
50、述,该描述一般包括关系名、属性名、属性域的类型和长度,属性之间固有的依赖联系等。若U=A1, A2, , An 为关系R的属性集,则关系模式常简记为R(U)或R(A1, A2, , An)。其中R为关系名,U为组成该关系的属性名集合。关系模式的完整描述可以形式化地表示为 R(U,D,dom,F)其中D为属性组U中属性所来自的域,dom为属性向域的映像集合,F为属性间数据依赖的集合。关系数据库:关系的集合。关系数据库的型称为关系数据库模式,是对关系数据库的结构描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一个时刻对应的关系的集合。关系模型:关系数据结构
51、、关系操作集合和关系完整性约束统称为关系模型。关系,属性和域:与 = 1 * GB2 同。4己知零件供应数据库包括:供应商S(SNo(供应商代码),SName (供应商名),City(城市)零件P(PNo(零件代码),PName(零件名称),Color(颜色),Weight(重量)零件供应关系SP(SNo,PNo,Qty(供应数量)试用关系代数和关系演算完成下列操作:(1)找出能提供零件号为P3的供应商。关系代数: Sno(Pno=P3(P)(2)找出能提供供应商S1所提供的所有零件的供应商关系代数: Jno,Pno(SPJ) Pno(Sno=S1(SPJ)(3)找出不提供零件P1和P2的供应
52、商。(4)找出同时提供零件P1和P2的供应商。(5) 找出同供应商S1在同一城市的供应商所提供的所有零件。T是S的备份S重命名为T(6)找出供应红色的P1零件的供应商,且其供应量大于1000。5试述等值连接与自然连接的区别和联系。答:连接运算中有两种最为重要也最为常用的连接,一种是等值连接,另一种是自然连接。A .BR S=R.A= S.B(RS)R.A=S.B当连接条件中的算术比较符为“=”时的连接运算称为等值连接,记作:它是从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组。即等值连接为 自然连接 XE 自然连接 是一种特殊的等值连接,它要求两个关系中进行比较的属性列必须是相同的属性组
53、,并且在结果关系中把重复的属性列去掉。即若R和S具有相同的属性组A,令B=U1U2 则自然连接可记作:R S=B(R.A=S.A(RS)6关系代数的基本运算有那些?如何用这些基本运算来表示其他运算?答:在关系代数的八种运算中,并、差、笛卡儿积、投影和选择五种运算为基本运算。其他三种运算,即交、连接和除,均可以用五种基本运算来表达。交运算:RS=R-(R-S)A .BR S=R.A S.B(RS)R.AS.B连接运算:除运算:R(X,Y)S(Y,Z)=X(R)- X(X(R)Y(S)-R)X、Y、Z为属性组,R中的Y和S中的Y可以有不同的属性名,但必须出自相同的域。7试述关系模型的完整性规则。在
54、参照完整性中,为什么外键属性的值可以为空,举例说明什么情况下才可以为空。答:关系模式的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束规则:实体完整性,参照完整性和用户定义的完整性。其中实体完整性规则和参照完整性规则是关系模型必须满足的完整性条件,被称做是关系的两个不变性,应该由关系系统自动支持。 = 1 * GB2 实体完整性 XE 实体完整性 规则:对关系中的每一个元组,其主键属性对应的各个分量不能为空值。 = 2 * GB2 参照完整性 XE 参照完整性 规则:设属性组A是关系R的外键且A与关系S的主键对应,则对于R中的每一个元组在属性A上的值必须为:或者为空值(A中每个
55、属性值都为空值)或者等于S中某一元组的主键值。参照完整性规则给出了关系之间建立联系的约束规则。 = 3 * GB2 用户定义的完整性 XE 用户定义的完整性 规则:这是针对某一具体应用对数据约束条件,由应用环境决定。用户定义的完整性具体应用涉及到数据必须满足的语义要求。系统提供定义和检验这类完整性的统一处理方法,不再由应用程序承担这项工作。现在的商品化RDBMS都提供了定义和检查这类完整性约束的机制。在参照完整性中,外键属性的值可以为空,它表示该属性的值尚未确定,但前提条件是该外部码属性不是其所在关系的主属性。例如,下面“学生”表中的“专业号”是一个外键,但它不是学生表的主属性,可以为空,其语
56、义是,该学生的专业尚未确定。学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)而在下面的“选修”表中的“课程号”虽然也是一个外键属性,但它又是“课程”表的主属性,所以不能为空,因为关系模型必须满足实体完整性。课程(课程号,课程名,学分)选修(学号,课程号,成绩)第四章 习题参考答案4.1 试述SQL语言的特点。答:SQL语言集数据查询(Data Query)、数据操纵(Data Manipulation)、数据定义(Data Definition)和数据控制(Data Control)功能于一体,主要特点包括: = 1 * GB2 综合统一:SQL语言将数据定义语言DDL、数据操纵语
57、言DML、数据控制语言DCL的功能集于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动。 = 2 * GB2 高度非过程化:用SQL语言进行数据操作只要提出“做什么”,而无需指明“怎么做”。 = 3 * GB2 面向集合操作:SQL语言操作的对象和操作的结果都是集合关系。 = 4 * GB2 一种语法,两种使用方式:SQL语言既是自含式语言,又是嵌入式语言。 = 5 * GB2 语言简捷,易学易用:完成核心功能只用9个动词,SQL语言接近英语句子。 = 6 * GB2 支持三级模式结构:外模式对应于视图(View),模式对应于基本表,内模式对应于存储文件。4.2 试述SQL的定义功能
58、。答:SQL的数据定义功能包括定义表、定义视图和定义索引。SQL语言使用CREATE TABLE语句建立基本表,ALTER TABLE语句修改基本表定义,DROP TABLE语句删除基本表;使用CREATE INDEX语句建立索引,DROP INDEX语句删除索引;使用CREATE VIEW语句建立视图,DROP VIEW语句删除视图。4.3 用SQL语句建立习题3.4中的3个表。即: = 1 * GB2 供应商表:S(Sno(供应商代码),Sname (供应商名),Status(供应状态),City(供应商所在城市); = 2 * GB2 零件表:P(Pno(零件代码),Pname(零件名)
59、,Color(颜色),Weight(重量); = 3 * GB2 零件供应情况表:SP(Sno(供应商代码),Pno(零件代码),Qty(供应数量),答: = 1 * GB2 对于供应商表:S(Sno,Sname,Status,City)建对应的S表,其命令如下:CREATE TABLE S (Sno CHAR(4),Sname CHAR(10),Status CHAR(4),City CHAR(20)) = 2 * GB2 对于零件表:P(Pno,Pname,Color,Weight)建对应的P表,其命令如下:CREATE TABLE P (Pno CHAR(4),Pname CHAR(20
60、),Color CHAR(4),Weight INT) = 3 * GB2 对于零件供应情况表:SPJ(Sno,Pno,Jno,QTY) 建对应的SPJ表,其命令如下:。CREATE TABLE SP (Sno CHAR(4) References S(SNo), Pno CHAR(4) References P(PNo), Qty INT)4.4 针对习题4.3中建立的3个表,试用SQL语言完成习题3.4中的查询。(1)找出能提供零件号为P3的供应商。SELECT SNo FROM SP WHERE PNo=P3(2)找出能提供供应商S1所提供的所有零件的供应商SELECT SNo FROM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- CN119960065A 利用电阻率异常反演碳酸盐岩油气藏检测方法及系统
- 2026年跨境电子商务物流合同
- 冠脉支架术后无再流护理精要
- 矿山开采安全监测预警措施
- 教育事业公平与资源分配制度
- 全国中医药院校推拿学试题库考试及答案
- 橡皮批发供货合同
- 婴幼儿行为观察与指导(第二版)教案 模块七 0~3岁婴幼儿社会交往行为的观察与指导
- 护理学立法与护理职业发展
- 生殖科护理注射室质量控制标准
- 2025年卫生高级职称考试(中医全科·副高)历年参考题库含答案详解(5卷)
- 医院总务后勤岗前培训
- 电解铝项目可行性研究报告(立项申请报告)模板
- 金融企业贷款减免管理办法
- 2025北京高考英语答题卡A4版可以编辑版本1
- 代垫运费合同样本
- 保险转账委托书模板
- 云南省公路工程试验检测费用指导价
- 期中测试卷(试题)-2023-2024学年六年级下册数学苏教版
- 2024年赣州市国投集团招聘笔试参考题库附带答案详解
- 护士培训课程 药物计算和药物剂量调整技能
评论
0/150
提交评论