数据库原理与应用复习题
一、选择题
1、SQLserver数据库文件有三类,其中主数据文件的后缀为():
A、.ndf B、.ldf C、.mdf D、.idf 2、下面标志符不合法的是:()。
A、[mydelete] B、_mybase C、$money D、trigger1
3、下面字符串能与通配符表达式[ABC]%a进行匹配的是:()。 A、BCDEF B、A_BCD C、ABC_a D、A%a 4、下列说法正确的是_______。
A、视图是观察数据的一种方法,只能基于基本表建立。 B、视图是虚表,观察到的数据是实际基本表中的数据。 C、索引查找法一定比表扫描法查询速度快。 D、索引的创建只和数据的存储有关系。
5、下列途径哪个不是实现值域完整性_______。 A、rule(规则)B、primarykeyC、notnullD、default 6、SQL Server 2008是一个()的数据库系统。
(A) 网状型(B)层次型(C)关系型(D)以上都不是 7、SQL Server 2008采用的身份验证模式有()。
(A)仅Windows身份验证模式 (B)仅SQL Server身份验证模式 (C)仅混合模式 (D)Windows身份验证模式和混合模式
8、在SQL Server 2008中,当数据表被修改时,系统自动执行的数据库对象是()。 (A) 存储过程(B)触发器(C)视图(D)其他数据库对象 9、SQL Server的字符型系统数据类型主要包括()。 A.Int、money、char B.char、varchar、text C.datetime、binary、int D.char、varchar、int
10、在SQL Server 2000中,索引的顺序和数据表的物理顺序相同的索引是()。 (A)聚集索引(B)非聚集索引(C)主键索引(D)唯一索引
11、要查询book表中所有书名中包含“计算机”的书籍情况,可用()语句。 (A)SELECT * FROM book WHERE book_name LIKE ‘计算机*’ (B)SELECT * FROM book WHERE book_name LIKE ‘计算机%’ (C)SELECT * FROM book WHERE book_name=‘计算机*’ (D)SELECT * FROM book WHERE book_name=‘计算机%’ 12、SELECT语句中与HAVING子句通常同时使用的是()子句。 A.ORDERBY B.WHERE C.GROUP BY D.无需配合
13、要删除mytable表中的myindex索引,可以使用()语句。 (A)DROP myindex (B)DROP mytable.myindex
(C)DROP INDEX myindex(D)DROP INDEX mytable.myindex
14、下列选项都是系统提供的存储过程,其中可以进行视图信息的查询是()。 (A) sp_helptext(B)sp_helpindex(C)sp_bindrule(D)sp_rename 15、SQLServer提供的单行注释语句是使用()开始的一行内容。 A.“/*” B.“--” C.“{” D.“/” 16、以下运算符中优先级最低的是()。
(A)+(加) (B)=(等于) (C)like (D)=(赋值)
17、根据关系数据基于的数据模型——关系模型的特征判断下列正确的一项:() A、只存在一对多的实体关系,以图形方式来表示。
B、以二维表格结构来保存数据,在关系表中不允许有重复行存在。 C、能体现一对多、多对多的关系,但不能体现一对一的关系。 D、关系模型数据库是数据库发展的最初阶段。
18.SQL语言按照用途可以分为三类,下面选项中哪一种不是:() (A)DML (B)DCL (C)DQL (D)DDL
19.在SELECT语句的WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是()
(A)* (B)% (C)- (D)?
20.以下那种类型作为变量的数据类型()。 (A)text (B)ntext (C)table (D)image 21.下面不属于数据定义功能的SQL语句是:()
A.CREATE TABLE B.CREATE CURSOR C.UPDATE D.ALTER TABLE 22.在SQL SERVER中局部变量前面的字符为:() (A)* (B)# (C)@@ (D)@ 23.对视图的描述错误的是:() (A)是一张虚拟的表
(B)在存储视图时存储的是视图的定义 (C)在存储视图时存储的是视图中的数据 (D)可以像查询表一样来查询视图
24.在T-SQL语言中,若要修改某张表的结构,应该使用的修改关键字是()。 (A)ALTER (B)UPDATE (C)UPDAET (D)ALLTER 25、有如下代码,当代码中_[关键字]_分别为break、continue、return时,最后的print@n输出的值为什么? declare@nint set@n=3 while@n〉0 begin
set@n=@n-1 if@n=1_[关键字]_
end
print @n(
A:1,0,不输出 B:1,1,1 C:0,0,0 D:0,1,2 26、数据库系统由数据库、硬件和什么等组成?()
A:操作系统 B:文件系统 C:编译系统 D:数据库管理系统 27、所谓概念模型,指的是什么?( ) A:客观存在的事物及其相互联系 B:将信息世界中的信息数据化
C:实体模型在计算机中的数据化表示
D:现实世界到机器世界的一个中间层次,即信息世界
28、数据库系统不仅包括数据库本身,还要包括相应的硬件,软件和什么?( ) A:数据库管理系统 B:数据库应用系统 C:相关的计算机系统 D:各类相关人员
29、数据库系统软件包括DBMS和什么?( )
A:数据库 B:高级语言 C:OS D:数据库应用系统和开发工具 30、下列四项中,不正确的提法是什么?( ) A:SQL语言是关系数据库的国际标准语言
B:SQL语言具有数据定义,查询,操纵和控制功能 C:SQL语言可以自动实现关系数据库的规范化 D:SQL语言称为结构查询语言
31、以下关于外码和相应的主码之间的关系,正确的是哪个?( ) A:外码并不一定要与相应的主码同名 B:外码一定要与相应的主码同名
C:外码一定要与相应的主码同名而且唯一
D:外码一定要与相应的主码同名,但并不一定唯一
32、公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是什么?( ) A:多对多 B:一对一 C:多对一 D:一对多
33、数据库是在计算机系统中按照一定的数据模型组织、结构化的什么?( ) A:文件的集合 B:数据的集合 C:命令的集合 D:程序的集合 34、数据库设计的几个步骤是什么?()
A:需求分析,概念结构设计,逻辑结构设计,物理结构设计,数据库实施,数据库运行和维护 B:需求分析,逻辑结构设计,物理结构设计.概念结构设计,数据库实施,数据库运行和维护
C:需求分析,逻辑结构设计,概念结构设计.物理结构设计,数据库实施,数据库运行和维护
D:需求分析,概念结构设计,物理结构设计,逻辑结构设计,数据库实施,数据库运行和维
护
35、数据库系统是在什么的基础上发展起来的?()
A:操作系统 B:文件系统 C:编译系统 D:数据库管理系统 36、SQL语言是什么语言?()
A:层次数据库 B:网络数据库 C:关系数据库 D:非数据库 37、SQL中,聚合函数COUNT(列名)用于?() A:计算元组个数 B:计算属性的个数
C:对一列中的非空值计算个数 D:对一列中的非空值和空值计算个数 38、什么是长期存储在计算机内的有组织,可共享的数据集合?() A:数据库管理系统 B:数据库系统 C:数据库 D:文件组织 39、在关系数据模型中,通常可以把什么称为关系模式?() A:记录 B:记录类型 C:元组 D:元组集 40、设计数据库时,首先应该设计: A.数据库应用系统结构 B.DBMS结构 * C.数据库的概念结构 D.数据库的控制结构 41、SQL语言称为()。
A、结构化定义语言B、结构化控制语言 C、结构化查询语言D、结构化操纵语言。 42.下列聚合函数中不忽略空值(null)的是[ ]
A.SUM(列名) B.MAX(列名) C.COUNT(*) D.AVG(列名)
43.在数据库设计中,将ER图转换成关系数据模型的过程属于[ ]
.A.需求分析阶段 B.逻辑设计阶段 C.概念设计阶段 D.物理设计阶段 44.SQL中,下列涉及空值的操作,不正确的是[ ] A.AGE IS NULL B.AGE IS NOT NULL C.AGE=NULL D.NOT(AGE IS NULL)
45、SQL语言中,条件“年龄BETWEEN 20 AND 30”表示年龄在20至30之间,且: A.包括20岁和30岁 B.不包括20岁和30岁
C.包括20岁但不包括30岁 D.包括30岁但不包括20岁
46、为了使索引键的值在基本表中唯一,在建立索引的语句中应使用保留字: A.UNIQUE B.COUNT C.DISTINCT D.UNION
47、把ER模型转换成关系模型的过程,属于数据库的: A.需求分析 B.概念设计 C.逻辑设计D.物理设计
48.在数据库系统中,保证数据及语义正确和有效的功能是: A.并发控制 B.存取控制 C.安全控制 D.完整性控制 49.在SQL语言中,属于DML的操作命令是: A.CREATE B.GRANT C.UPDATE D.DROP
50.一辆汽车由多个零部件组成,且相同的零部件可适用于不同型号的汽车,则汽车实
体集与零部件实体集之间的联系是:
A.1:1 B.1:M C.M:1 D.M:N
51.概念设计的主要目标是产生数据库概念结构,该结构主要反映: A.DBA管理信息的需求 B.数据库的维护需求 C.应用程序开发的需求 D.企业的信息需求 52.用下面的SQL语句建立一个基本表:CREATE TABLE Student(Sno CHAR(4) NOT NULL,Sname CHAR(8) NOT NULL,Sex CHAR(2),Age smallint),可以插入到表中的元组是: A.'5021','刘样',男,21 B.NULL,'刘祥',NULL,21 C.'5021',NUlL,男,21 D.'5021','刘祥',NULL,NULL 53.下列四项中说法不正确的是( ) A.数据库减少了数据冗余 B.数据库中的数据可以共享
C.数据库避免了一切数据的重复 D.数据库具有较高的数据独立性 54.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是( )
A.多对多 B.一对一 C.多对一 D.一对多 55.在视图上不能完成的操作是( )
A.更新视图 B.查询 C.在视图上定义新的基本表 D.在视图上定义新视图 56.有关数据和信息的概念,下列叙述正确的是: A.数据是信息的载体B.数据是信息的内涵
C.数据和信息互为载体D.数据和信息相互独立 57.实体只用于表示:
A.实际存在的事物B.概念性的事物
C.事物与事物之间的联系 D.选项A、B、C都不对
58.从“实体一联系“模型到数据模型实际上经历了三个领域的演变过程,即: A.信息世界一现实世界一数据世界B.数据世界一信息世界一现实世界 C.现实世界一数据世界一信息世界D.现实世界一信息世界一数据世界· 59.一个班级有多个学生,每个学生只能属于一个班级,班级与学生之间是[] A.一对一的联系B.一对多的联系C.多对一的联系D.多对多的联系
60.每个教师可以教授多门课程,每门课程至少有两名教师任课,从课程到教师之间的联系类型是
A.多对多 B.一对一 C.多对一 D.一对多 61.英文缩写DBA代表
A. 数据库管理员 B.数据库管理系统 C.数据定义语言 D.数据操纵语言
62.若在实体R的诸属性中,属性A不是R的主键,却是另一个实体S的主键,则称A为R的
A.候选键 B.外部键 C.非主属性 D.主属性 63.如果要修改表的结构,应该使用SQL语言的命令
A.UPDATE TABLE B.MODIFY TABLE C.ALTER TABLE D.CHANGE TABLE [ ] 64.SQL语言中,删除一个表的命令是( ) A DELETE B DROP C CLEAR D REMORE
65.设有一个关系:DEPT(DNO,DNAME),如果要找出倒数第三个字母为W,并且至少包含4个字母的DNAME,则查询条件子句应写成WHERE DNAME LIKE A ?_ _ W _ %? B ?_ % W _ _? C ?_ W _ _? D ?_ W _ %? 66.有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于( )
A 实体完整性约束 B 参照完整性约束
C 用户自定义完整性约束 D 关键字完整性约束 67.DBMS指的是【 】
A.数据库管理系统 B.数据库系统 C.数据库应用系统 D.数据库服务系统
68.E-R图所表示的实体及其联系,实际上是【 】。 A.信息模型 B.数据模型 C.关系模型 D.实体模型 69.实体之间的联系方式有【 】种。 A.1 B.3 C.4D.2
70.在文件系统中,一张二维表称为一个【 】,表头行称为记录型,表中其它各行称为【 】,而每一列中的各元素称为一个【 】。
A.记录,文件,数据项 B.文件,记录,数据项 C.记录,数据项,文件
二、应用题
1.需要将学校中的专业系、教员、课程以及他们之间的关系组织到数据库中,对于每个专业系(D)存储的信息有:专业系号(DNO)、专业系名(DNAME)、专业系主任(DEAN);对每个教员(PROF)需要存储的信息有:职工号(PNO)、姓名(PNAME)、专长(SPEC);对每门课程(COURSE)需要存储的信息有:课程号(CNO)、课程名(CNAME)、学分(CREDIT)。有关的联系是:每个专业系有若干名教员、开设若干门课程,每位教员只在一个专业系工作,每门课程只由一个专业系开设;每位教员可讲授多门课程,每门课程可由多位教员讲授;课程之间有先修联系,每门课程可由多门其他课程作为它的直接先修课,每门课程也作为多门其他课程的直接先修课。 (1).画出E-R图;
(2).把E-R图转换为关系模型(写出各关系模式);
1.专业系(系号(DNO)、专业系名(DNAME)、专业系主任(DEAN)) 主键:系号
2.职工(职工号(PNO)、姓名(PNAME)、专长(SPEC)、系号) 主键:职工号外键:系号
3.课程(课程号(CNO)、课程名(CNAME)、学分(CREDIT),职工号) 主健:课程号外键:职工员
2.工厂有若干仓库,每个仓库中有若干职工在其中工作,每个仓库有一名职工做为管理员, 每个仓库存放若干零件,每种零件可存放在不同仓库中, 每种零件由其他若干种零件构成, 每种零件可构成其他不同的零件,每位职工都有一名职工作为他的领导.仓库有仓库号, 仓库地址, 仓库容量;职工有职工号, 职工名,工种; 零件有零件号, 零件名, 零件重量. 要求:(1)画出E-R图. (2)转换为关系模型,写出关系模式,并指出每个关系的主码及外码.
3、某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名。 (1)根据上述语义画出ER图,在ER图中需注明实体的属性、联系的类型及实体的标识符。 (2)将ER模型转换成关系模型,并指出每个关系模式的主键和外键。
工厂(工厂编号、厂名、地址),PK=工厂编号;
产品(产品编号、产品名、规格、计划数量、工厂编号),PK=产品编号;FK=工厂编号 职工(职工号、姓名、聘期、工资、工厂编号),PK=职工编号,FK=工厂编号;
4、一个图书借阅管理数据库要求提供下述服务:(1)可随时查询书库现有书籍的品种、数量、存放位置,所有各类书籍均可由书号唯一标识。(2)可随时查询书籍借还情况,包括借书人单位、姓名、借书日期、应还日期。约定:任何人可借多种书,任何一种书为多个人所借,借书证号具有唯一性。(3)当需要时,可通过数据库中保存的出版社的电报、电话、邮编及地址等信息向有关书籍的出版社订购有关书籍。约定一个出版社可以出版多种图书,同一本书仅为一个出版社出版,出版社名具有唯一性。根据以上假设,试作如下设计: (1)构造满足需求的E-R图。
(2)将E-R图转换为等价的关系模型。
4、在采购管理系统中,需要存储和管理订单数据,一个订单的格式如下:
在这份订单中,包含如下信息:供货方信息、需货方信息、商品信息及订货信息。 (1)请分析订单中包含的实体及其联系,用E-R图表示出来。
分析:在订货业务中,涉及供货商、需货方、商品三个实体。同一个供货商可以供应多种商品,同一种商品可以由多个供货商供应。同时,一个需货方可以从多家供货商那里订货,一个供货商可以为多个需货方供货。 E-R图为: (2)将E-R图转换为等价的关系模型。
5. 在工厂生产中,一个车间可以生产多种产品,一种产品由多个零件组成。同一种零件可以用来组装多个产品,同一种产品可以由多个车间组装。已知车间的属性有车间编号、名称、车间主任,产品的属性有产品编号、产品名称、规格型号、价格,零件的属性有零件编号、零件名称、规格型号。根据以上假设,试作如下设计: (1)画出E-R图。
(2)将E-R图转换为等价的关系模型,并指出每个关系模式的主键和外键。 根据从E-R图到关系模型的转换原则,可以得到如下关系: 车间(车间编号,名称,车间主任)KEY=
车间主任
6.某教学管理系统对教师、学生及课程情况进行管理。系统要求记录学生的学号、姓名、性别、出生日期、专业、照片;教师的编号、姓名、性别、年龄、职称、专业;课程的编号、课程名、学时、类别,另外还要记录学生选课的成绩以及教师授课的效果。一个学生可以选修多门课程,同一编号的课程可以由多个教师讲授,一个教师可以同时承担多门课程的教学。请根据以上描述用E-R图表示出该系统的概念模型,转换为等价的关系模型,并指出每个关系模式的主键和外键。
教师(教师号,姓名,性别,年龄,职称,专业) PK=教师号 课程(课程号,课程名,学时,类别) PK=课程号
学生(学号,姓名,性别,出生日期,专业,照片) PK=学号 授课(教师号,课程号,评价) FK1=教师号,FK2=课程号 选修(学号,课程号,分数) FK1=学号,FK2=课程号
16、有一个“学生-课程”数据库,数据库中包括三个表: (1) “学生”表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所
在系(Sdept)五个属性组成,可记为: Student(Sno,Sname,Ssex,Sage,Sdept) Sno 为关键字。 (2) “课程”表Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,可记为: Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。 (3) “学生选课”表SC由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,可记为: SC(Sno,Cno,Grade) (SNO, CNO) 为关键字。 完成下列操作: (1)写出创建Student数据库的命令,该数据库的主数据文件逻辑名称为Student_data,物理文件名为Student.mdf,初始大小为1MB,最大尺寸为2MB,增长速度为1mb;数据库的日志文件逻辑名称为Student_log,物理文件名为Student.ldf,初始大小为1MB,最大尺寸为3MB,增长速度为10%。 Create DataBase student ON
(name=student_data,filename=\size=1MB,maxsize=2MB,filegrowth=1MB ) LOG ON
(name=student_log,filename=\ , size=1MB, maxsize=3MB ,fielgrowth=10% )
(2)写出创建 “学生”表Student的命令,表Student是由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成,其中学号属性不能为空,并且其值是唯一的。
Create table student
(snonchar(10) not null primary key, Snamenchar(10), Ssexnchar(1), Sage int,
Sdeptnchar(20) )
(3).在student表中查询Sdept是‘计算机’的学生的所有信息,并按Sno降序排列。 Select * from student
where sdept like “计算机%” order by snodesc
(4).在以上三个表中查询Ccredit为5并且Grade大于60的学生的学号、姓名和性别。 select student.Sno,Sname,Ssex from student,course,sc
wherestudent.sno=course.sno and course.cno=sc.cno and ccredit=’5’ and grade=60
Student(Sno,Sname,Ssex,Sage,Sdept)
Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。 SC(Sno,Cno,Grade) (SNO, CNO)
(5). 建立一个由学生姓名和课号组成的视图
Create view v姓名课号 As
Select sname,cno from student,course,sc
Where student.sno=course.sno and course.cno=sc.cno and ccredit=’5’ and grade=60
20. 有一个电影资料库,数据库中含有三个数据表:电影信息、演员信息和电影_演员信息。各表构成见表1-表3。
(1) 请建立电影信息表,包括约束要求。 Create table 电影信息
(影片编号int identity primary key, 片名varchar(50), 发行公司varchar(50),
片长smallint default 90
类型 char(4) check 类型in (“惊险”,”言情”,”喜剧”,”科幻”,”其他”) (2) 为“电影_演员信息”表添加外键约束。 Alter table 电影_演员信息 Add
constraint uk_ypbm foreign key(影片编号) references 电影信息(影片编号), constraint uk_yybm foreign key(演员编号) references 演员信息(演员编号)
(3)检索出主演过“科幻”类电影的演员的姓名及电影片名。 Select 姓名,片名 from 电影信息,演员信息,电影_演员信息 Where 电影_演员信息.影片编号=电影信息.影片编号 and
电影_演员信息.演员编号=演员信息.影片编号 and 类型=”科幻”
(4)检索出电影长度不小于平均长度的电影片名和发行公司。 Select 片名,发行公司 from 电影信息
Where 片长>(select avg(发行时间) from 电影信息)
21、请使用SQL命令完成以下数据定义或数据操纵 (1). 创建数据库“studentDB”,其主数据文件名称stu_data,物理文件保存在d:\\data下,名称为student.mdf,初始大小5M,最大50M,以1M速度增加;该数据库的日志文件是stu_log,保存在d:\\data下,名称为student.ldf,初始大小2M,以5%速度增加。
Create DataBasestudentDB ON
(name=stu_data,filename=\size=5MB,maxsize=50MB,filegrowth=1MB ) LOG ON
(name=stu_log,filename=\ , size=2MB, fielgrowth=5% )
(2)为16题建立的student表的“姓名”属性创建非惟一的非聚集索引 CREATE NONCLUSTERED INDEX inxm ON student(姓名)
(3) 为16题建立的student表输入以下数据。
Insert into student(学号,姓名,性别,出生日期) Values(‘0401332901’,’李勇’,’男’,#1995-05-19#)
(4)将16题建立的student表中李勇的出生日期更改为1995-1-1。 Update student
Set 出生日期=#1995-1-1# Where 姓名=’李勇’
5)由16题建立的student表创建所有女生信息的视图。 Create view v女生 As
Select * from student where 性别=’女’
(6)删除16题建立的student表中学号为“0401332901”学生的数据。 Delete from student Where 学号=’ 0401332901’
22、请使用SQL命令完成以下检索操作
已知有图书表、作者表和出版社表,各表字段定义如下: 图书(图书编号,书名,价格,出版社编号,种类) 作者(作者编号,姓名,性别,电话,城市,地址) 出版社(出版社编号,出版社名称,出版社地址) (1).检索出所有图书的种类(不能含有相同种类)。 Selecct distinct 种类 from 图书
(2).检索出价格不在20至50元之间的图书的书名和价格。 Select书号,价格 from 图书
Where 价格<20 or 价格>50
(3).检索出各类图书的最高价格。 Select 种类,max(价格) from 图书 Group by 种类
(4).检索出图书编号以“C”开头,中间第3位为数字0-5的图书信息。 Select * from 图书
Where 图书编号 like ‘C_[012345]%’ (5).检索出“北京”市或“上海”市男性作者的编号、姓名和地址。 Select 编号,姓名,地址 from 作者
Where 性别=’男’ and 城市 in (“北京”,”上海”)
(6).检索出“计算机”类图书的平均价格和种类,并以“平均价格”表示。 Select avg(价格) as 平均价格,种类 from 图书 Where 种类=”计算机”
(7). 请按城市降序排列输出作者信息。 Select * from 作者 Order by 城市 desc (8).检索出价格在50元以上图书的书名、价格及出版社名称。 Select书号,价格,出版社名称 from 图书,出版社 Where 图书.出版社编号=出版社.出版社编号 and
价格>50
(9).查询出版“音乐”类图书的出版社名称和地址。
Select出版社名称,出版社地址 from 图书,出版社 Where 图书.出版社编号=出版社.出版社编号 and
种类=’音乐’
24、编程题(共4题)
有一个“学生-课程”数据库,数据库中包括三个表: (1) “学生”表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,可记为: Student(Sno,Sname,Ssex,Sage,Sdept) Sno 为关键字。 (2) “课程”表Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,可记为: Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。
(3) “学生选课”表SC由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,可记为: SC(Sno,Cno,Grade) (SNO, CNO) 为关键字。完成下列操作:
(1)请把其中建立 “学生”表Student的语句写下来,表Student是由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成,其中学号属性不能为空,并且其值是唯一的。 Create table student
( sno char(20) not null primary key, Snamechar(20), Ssex char(2), Sage int, Sdeptchar(30))
(2)在student表中查询Sdept是‘计算机’的学生的所有信息,并按Sno降序排列。 Select * from student Where sdept=’计算机’ Order by snodesc
Student(Sno,Sname,Ssex,Sage,Sdept) Sno Course(Cno,Cname,Cpno,Ccredit) SC(Sno,Cno,Grade) (3)在以上三个表中查询Ccredit为5并且Grade大于60的学生的学号、姓名和性别。 方法一:
Select student.sno,sname,ssex form student,course,sc Where student.sno=sc.sno andsc.cno=course.cno and Ccredit=5 and grade>60 方法二:
Select student.sno,sname,ssex
form student inner join (course inner join scon sc.cno=course.cno) on student.sno=sc.sno
Where Ccredit=5 and grade>60
(4)为Course表创建一个名称为my_trig的触发器,当用户成功删除该表中的一条或多条记录时,触发器自动删除SC表中与之有关的记录。
(注:在创建触发器之前要判断是否有同名的触发器存在,若存在则删除之。) Use 学生-课程
If exists (select name from sysobjects
Where name=’my_trig’andtype=’TR’)
Drop triggermy_trig
Create trigger my_trig On course for delete
Delete fromsc where sc.cno=deleted.cno
四、填空题
1、在三大传统的数据模型中,具有严格的数学理论基础的是_____关系模型___。 2、实现概念模型最常用的表示方法是__E-R图_______。
3.用树型结构表示实体类型及实体间联系的数据模型称为 层次模型 。 4、模式/内模式映象为数据库提供了_物理_数据独立性。
5、在关系代数运算中,从关系中取出满足条件的元组的运算称为__选择_______。 6.参照完整性规则是对 外 键的约束。 7.SELECT语句查询条件中的谓词“=SOME”,与运算符 IN 等价。 8、关系代数中专门的关系运算包括:选择、投影、_连接_。
9、关系数据操作语言(DML)的特点是:操作对象与结果均为关系、操作的_非过程性强_____、语言一体化、并且是建立在数学理论基础之上。
10.文件系统与数据库系统的最大区别是在 数据结构化 方面。
11,内模式是描述数据如何在存储介质上组织存储的,又称之为 存储或物理 模式。 12.E-R图中包括实体、属性和 联系三种基本图素。
13.数据库逻辑设计步骤分为三步,:分析 实体及其联系 、画E-R图、建立数模型 14.引用完整性规则是指:如果关系R的外部键是另一关系S的主键,则R关系中外部键的取值,要么等于 关系S中某一记录的主键 的值,要么等于空值。 15.数据库概念设计通常采用 画E-R图 方法。
16、合同库文件储存批发商与零售商的供货合同。一个合同可以填写不同商品的订货数量。供货合同的关系模式为:合同(合同号,商品号,商品名,单价,数量),,该关系的关键字是 (合同号,商品号) 。
17.数据库系统的主要特点是:数据独立、_数据共享__和减少了数据冗余、数据的安全性、使用操作方便性。
18.数据库的数据独立性包括:_逻辑独立性_和物理数据独立性。
19.关系代数中专门的关系运算包括:__选择__、投影、连接和除法。 20.数据库的存储结构是建立在___文件组织__基础上的。
21.关系数据操作语言(DML)特点是:操作对象与结果均为关系、操作的非过程性强、语言一体化、并且是建立在_数学理论___基础之上。
22.数据库系统采用映射技术的好处有:有利于数据库的使用、安全性好、保密性强、
保证数据共享和___数据独立性________。
23.实体间联系分为三种:一对一联系、 ____一对多_______ 、多对多联系。 24.属性是信息世界中广泛使用的一个术语,它对应于数据世界的__数据项(字段)__。 25.数据库结构设计的过程是“概念设计→__逻辑设计_________→物理设计”。 26.联系是数据库技术的重要特点,至于怎样实现联系,取决于___数据库类型__。 27.数据独立性是指当数据发生变化时,可以不用修改__应用程序____。 28.如果有元组在关系的主码上取值为空值,那么它违反了关系的_实体___完整性约束。 29.数据管理经过了手工文档、文件系统和_数据库系统___三个发展阶段。 30.DBMS利用事务日志保存所有数据库事务的_更新(或修改)__操作。
31.如果两个实体之间具有M:N联系,则将它们转换为关系模型的结果是___3____个表。
32.一个关系就是一个_二维表_____,一行对应一个元组,一列对应一个域,也就是一个属性。
33.DBA是指___数据库管理员______,它的职责是维护和管理_数据库____,使之始终处于最佳状态。
34.数据库的三个模式之间存在两种映射,一是_外模式到模式__间的影射,二是__模式到内模式间的映射。
35.数据库的三级体系结构,是从____外模式、___模式______和内模式三个不同层次描述的。
36.在数据处理领域中,数据处理技术经历了_人工管理___、文件管理和__数据库管理_____三个阶段。
37.在关系数据库中,用___二维表_______表示实体及实体之间的关系。
38.DBMS的含义是_数据库管理系统_______,它是用户和_数据库__之间的接口。 39.数据冗余是指_数据的重复存储_____。
40.除计算机软硬件环境外,数据库系统一般由数据库、_数据库管理系统__、数据库管理员和应用程序组成。
41.在数据库系统中,用户对数据的操作只能通过___DML___语言进行。
42.在数据库的三模式中,通过模式之间的_映射___来实现模式之间的转换。 43.外模式又称子模式,是___用户___眼中的数据库,因此称外模式为用户视图。 44.数据的完整性是指数据的正确性和__相容性____。 45.实体和属性都有“型”和“值”之分,“型”是概念的_内涵_,而“值”是概念的特例。
46.在关系模式中,存在三类完整性规则,其中引用完整性约束规则是指__限制引用不存在的记录_。
47.在关系数据操纵语言DML中,其操作的对象和结果都是______关系______。
48.关系的自然连接是连接的一个重要特例,实用价值很大,它要求被连接的两个关系_
有若干相同的属性名__。
49.在数据库的三模式中,内模式又称__存储__模式,具体描述了数据是如何组织存储,故称内模式为_系统程序员__视图。
50.域是值的集合,域中数据的个数叫做域的_基数____。 51.专门的关系运算包括选择、_投影______和 连接___。
52.数据库逻辑设计一般分为三个阶段,即收集和分析用户需求、__建立E-R模型__和_数据库模式设计____。
53.在关系的诸属性中,能够用来唯一标识元组的那个属性称为___键____。
54.DDL的中文含义是数据描述语言,它有两种方式,一是__数据描述语言________,二是__交互式___。
55.现实世界中的事物类,在信息世界中称为实体集,而一个事物则称为__实体____,事物的性质称为__属性______。
56.在关系模型中,实体完整性约束是指__关系中主键值不允许为空_。 57.__ 外部关键______是不同关系实现联系的保证。
58.数据模型应具有描述___数据______和__数据联系_两方面的功能。
59.“键”也称为关键字,是指在实体属性中,可用来区别实体集中不同个体的一个或几个_属性______的组合。当有多个属性可作为键而选定其中一个时,则称它为该实体的__主键__。若在实体的各属性中,某属性虽非该实体的主键,却是另一实体的主键,则成此属性为___外键____。
60.关系与文件有许多相似之处,当把关系看成是文件时,则__元组___就是文件中的记录,__属性___就是记录中的数据项。
61.关系模式的三类完整性规则是_实体完整性、参照完整性和用户自定义完整性_。 62.关系的自然连接是__连接_的一个重要特例,它要求被连接的两个关系满足_有若干相同的属性名__。
63.视图是一个虚表,因为它是从_基表导出___的表。 64.索引的用途是_加快搜索速度____。
65、已知:系(系编号、系名称、系主任、电话、地点)和学生(学号、姓名、性别、入学、日期、专业、系编号)两个关系,指出系关系的主码是__系编号__,系关系的外码是_无_,学生关系的主码是__学号__、外码是__系编号_。
66、已知:学生、课程和成绩三个关系如下:学生(学号,姓名,性别,班级),课程(课程名称,学时,性质),成绩(课程名称,学号,分数),学生关系的主代码应该是_学号_, 外码应该是_班级__;课程关系的主码应该是__课程名称_,外码应该是___性质__ ;成绩关系的主码应该是_学号_, 外码应该是_课程名称_ 。
67、在T-SQL语言中,若要修改某张表的结构,应该使用的修改关键字是(Alter );若要创建一个数据库,应该使用的语句是 (create database ) 。 70. 声明局部变量的命令为(declare @变量名)。 71. 修改表的命令是(alter table 表名)。
72. (参照)完整性维护实体间的联系。
73.计算字段的累加和的聚合函数是(sum(字段名) 或sum())。
74.(SP_bindrule)命令可以将定义的规则绑定在数据库表的列上。 75.结构化查询语言的英文是(Structure Query Language L) 。 76.查看全局变量的命令为(select @@全局变量名)。 77.删除数据库的命令是 (drop database) 。
78.通配符“%”的含义表示 匹配零个或多个字符 ;而通配符“_” 的含义表示 (一个字符)
。