用T-SQL语句完成创建与管理数据库操作练习
- 格式:doc
- 大小:30.00 KB
- 文档页数:11
第1章数据库系统与数据库概念设计数据库应用技术(SQL Server 2005)人民邮电出版社课后习题思考与练习一、选择题1.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A )。
A.DBS包括DB和DBMSB.DBMS包括DB和DBSC.DB包括DBS和DBMSD.DBS就是DB,也就是DBMS2.下面列出的数据库管理技术发展的3个阶段中,没有专门的软件对数据进行管理的阶段是(D)。
I.人工管理阶段II.文件系统阶段III.数据库阶段A.I 和IIB.只有IIC.II 和IIID.只有I3.描述数据库全体数据的全局逻辑结构和特性的是(A )。
A.模式B.内模式C.外模式4.要保证数据库的数据独立性,需要修改的是(C )。
A.模式与外模式B.模式与内模式C.三级模式之间的两层映射D.三级模式5.E-R方法的三要素是(C)。
A.实体、属性、实体集B.实体、键、联系C.实体、属性、联系D.实体、域、候选区6.概念设计的结果是(B )。
A.一个与DBMS相关的要领模型B.一个与DBMS无关的概念模型数据库应用技术(SQL Server 2005)C.数据库系统的公用视图D.数据库系统的数据字典7.下列四项中,不属于数据库系统特点的是(C )。
A.数据共享B.数据完整性C.数据冗余度高D.数据独立性高第2章关系模型与数据库逻辑设计思考与练习一、选择题1.关系数据模型是目前最重要的一种数据模型,它的三个要素是(A )。
A.实体完整性、参照完整性、用户自定义完整性B.数据结构、关系操作、完整性约束C.数据增加、数据修改、数据查询D.外模式、模式、内模式2.一个关系中,能唯一标识元组的属性集称为关系的(B)。
A.副键B.关键字C.从键D.参数3.现有如下关系:患者(患者编号,患者姓名,性别,出生日期,所在单位)、医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果),其中,医疗关系中的外码是(A )。
试题一一、单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1. 数据库系统的核心是()A.数据库B.数据库管理系统C.数据模型D.软件工具2.下列四项中,不属于数据库系统的特点的是()A.数据结构化B.数据由DBMS统一管理和控制C.数据冗余度大D.数据独立性高3.概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是()A.层次模型B.关系模型C.网状模型D.实体-联系模型4.数据的物理独立性是指()A.数据库与数据库管理系统相互独立B.用户程序与数据库管理系统相互独立C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的D.应用程序与数据库中数据的逻辑结构是相互独立的5.要保证数据库的逻辑数据独立性,需要修改的是()A.模式与外模式之间的映象B.模式与内模式之间的映象C.模式D.三级模式6.关系数据模型的基本数据结构是( )A.树B.图C.索引D.关系7.有一名为“列车运营"实体,含有:车次、日期、实际发车时间、实际抵达时间、情况摘要等属性,该实体主码是()A.车次B.日期C.车次+日期D.车次+情况摘要8。
己知关系R和S,R∩S等价于()A。
(R—S)-S B。
S-(S—R)C.(S—R)-RD.S—(R—S)9.学校数据库中有学生和宿舍两个关系:学生(学号,姓名)和宿舍(楼名,房间号,床位号,学号)假设有的学生不住宿,床位也可能空闲。
如果要列出所有学生住宿和宿舍分配的情况,包括没有住宿的学生和空闲的床位,则应执行()A.全外联接B。
左外联接C。
右外联接D。
自然联接10.用下面的T-SQL语句建立一个基本表:CREATE TABLE Student(Sno CHAR(4)PRIMARY KEY,Sname CHAR(8)NOT NULL,Sex CHAR(2),Age INT)可以插入到表中的元组是()A。
SQL复习题⽬选择题⽬1、DBMS是⼀个简称,它的全称是(B )。
A、数据运输系统B、数据库管理系统C、数据库管理服务D、数据库运输服务2、SQL Server 2005 采⽤的⾝份验证模式有(D )。
A、仅Windows⾝份验证模式B、仅SQL Server⾝份验证模式C、仅混合模式D、Windows⾝份验证模式和混合模式3、对视图的描述错误的是:( C)A、是⼀张虚拟的表B、存储视图时存储的是视图的定义C、在存储视图时存储的是视图中的数据D、可以像查询表⼀样来查询视图4、在T-SQL语⾔中,若要修改某张表的结构,应该使⽤的修改关键字是(A )。
A、ALTERB、UPDATEC、UPDAETD、ALLTER5、要查询book表中所有书名中以“计算机”开头的书籍的价格,可⽤( D)语句。
A、 SELECT price FROM book WHERE book_name = ‘计算机*’B、 SELECT price FROM book WHERE book_name LIKE ‘计算机*’C、 SELECT price FROM book WHERE book_name = ‘计算机%’D、 SELECT price FROM book WHERE book_name LIKE ‘计算机%’6、(D )是属于信息世界的模型,实际上是现实世界到机器世界的⼀个中间层次。
A、数据模型B、E-R模型C、概念模型D、关系模型7、在SQL Server 2005中,当数据表被修改时,系统⾃动执⾏的数据库对象是( B )。
A、存储过程B、触发器C、视图D、其他数据库对象8、要删除视图myview,可以使⽤( D )语句。
A、 DROP myviewB、DROP TABLE myviewC、 DROP INDEX myviewD、DROP VIEW myview9、SQL Server提供的单⾏注释语句是使⽤(B )开始的⼀⾏内容。
实验5sql语句练习——图书馆数据库实验5 sql语句练习——图书馆数据库实验目的(1)了解SQL Server数据库的逻辑结构和物理结构;(2)了解表的结构特点;(3)了解SQL Server的基本数据类型;(4)了解空值概念;(5)学会在企业管理器中创建数据库和表;(6)学会使用T-SQL语句创建数据库和表。
(7)学会使用T-SQL语句更新数据。
(7)学会使用T-SQL语句创建多种查询。
实验准备首先要明确,能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。
其次创建数据库必须要确定数据库名、数据库大小(最初的大小、最大的大小、是否允许增长及增长方式)和存储数据库的文件。
然后,确定数据库包含哪些表,以及所包含的各表的结构,还要了解SQL Server的常用数据类型,以创建数据库的表。
此外还要了解两种常用的创建数据库、表的方法,即在企业管理器中创建和使用T-SQL的CREATE DA TABASE语句。
实验内容假设有5本书设有一图书馆数据库,其中包括3个表,即图书表、读者表和借阅表。
三个表的结构如图:列名说明数据类型约束说明书号图书唯一的编号定长字符串,长度为10 主键书名图书的名称定长字符串,长度为50 空值作者图书的编著者名定长字符串,长度为30 空值出版社图书的出版社定长字符串,长度为30 空值单价出版社确定的图书的单价浮点型,Float 空值读者表结构假设有10位读者列名说明数据类型约束说明读者号读者唯一的编号定长字符串,长度为10 主键姓名读者姓名定长字符串,长度为8 非空值性别读者性别定长字符串,长度为2 非空值办公电话读者办公电话定长字符串,长度为8 空值部门读者所在部门定长字符串,长度为30 空值列名说明数据类型约束说明读者号读者的唯一编号定长字符串,长度为10 外码,引用读者表的主键书号图书的唯一编号定长字符串,长度为20 外码,引用图书表的主键借出日期借出图书的日期定长字符串,长度为8 非空值归还日期归还图书的日期定长字符串,长度为8 空值主键为:(读者号,图书号)(1)用Sql语句创建图书馆数据库Create database Lab05(2)用Sql语句创建上述3个表create table book(bookId char(10)primary key,bookName varchar(50),bookWriter varchar(30),bookPublish varchar(30),bookPrice float)create table reader(readerId char(10) primary key,readerName varchar(8)not null,readerSex char(2)not null,readerOfficeTel char(8),readerDepartment varchar(30))create table 借阅表(readerId char(10),bookId char(10),checkOutTime char(8),checkInTime char(8),primary key(readerId,bookId),foreign key (readerId) references reader(readerId),foreign key (bookId) references book(bookId),)(3)基于图书馆数据库的3个表,用sql语言完成一下操作:1)为图书表增加一列“ISBN”,数据类型为CHAR(10)alter table book add ISBN char(10)2)为刚添加的ISBN列增加缺省值约束,约束名为ISBNDEF,缺省值为‘7111085949’ALTER TABLE book ADD CONSTRAINT ISBNDEF DEFAULT ('7111085949') FOR ISBN 3)删除图书表中ISBN列增加的缺省值约束alter table book drop ISBNDEF4)删除图书表中新增的ISBN列ALTER TABLE book DROP COLUMN ISBN5)查询全体图书的图书号、书名、作者、出版社和单价select bookId,bookName,bookWriter,bookPublish,bookPricefrom book6)查询全体图书的信息,其中单价打8折,并设置该列的别名为‘打折价’select bookId,bookName,bookWriter,bookPublish,(bookPrice*0.8) as打折价from book7)显示所有借阅者的读者号,并去掉重复行select distinct readerIdfrom 借阅表8)查询所有单价在20—30元之间的图书信息select bookId,bookName,bookWriter,bookPublish,bookPrice,ISBNfrom bookwhere bookPrice between 20 and 309)查询机械工业出版社、科学出版社、人民邮电出版社的图书信息select bookId,bookName,bookWriter,bookPublish,bookPrice,ISBNfrom bookwhere bookPublish in('机械工业出版社' , '科学出版社','人民邮电出版社') 10)查询既不是机械工业出版社、人民邮电出版社、也不是科学出版社出版的图书信息select bookId,bookName,bookWriter,bookPublish,bookPrice,ISBNfrom bookwhere bookPublish not in('机械工业出版社' , '科学出版社','人民邮电出版社') 11)查询姓名的第二个字符是’建’,并且只有2个字的读者的读者号及姓名select readerId,readerNamefrom readerwhere readerName like '_建'12)查询姓名不是以‘王’、‘张’或‘李’开头的所有读者的读者号及姓名【方式一】查询出来的结果有问题!select readerId,readerNamefrom readerwhere readerName not in ('王%','张%','李%')【方式二】select readerId,readerNamefrom readerwhere readerName not in(select readerNamefrom readerwhere readerName like'王%'or readerName like'张%'or readerName like'李%' )13)查询无归还日期的借阅信息select book.bookId,book.bookName,reader.readerId,reader.readerName,借阅表.checkOutTime as 借书时间,借阅表.checkInTime as 还书时间from 借阅表,book,readerwhere 借阅表.bookId = book.bookIdand 借阅表.readerId = reader.readerIdand 借阅表.checkInTime is null14)查询机械工业出版社图书的平均价格、最高价、最低价select avg(bookPrice)as 平均价格,max(bookPrice) as 最高价,min(bookPrice) as 最低价from bookwhere bookPublish = '机械工业出版社图书'15)查询读者的基本信息及借阅情况select reader.readerId,reader.readerName ,借阅表.bookId,book.bookName,book.bookPublishfrom reader , 借阅表,bookwhere reader.readerId = 借阅表.readerIdand book.bookId = 借阅表.bookIdand 借阅表.readerId ='1000000007'16)查询至少借阅过1本机械工业出版社出版的图书的读者的读者号、姓名、书名及借阅本数,并按借阅本书多少降序排列select r.Rno,Rname,count(borrow.Bno) 借阅册数from borrow,b,rwhere b.bno=borrow.bno and press='机械工业出版社' and borrow.rno=r.rnogroup by r.rno,Rnameorder by count(borrow.Bno) desc17)查询与‘王小平’的办公电话相同的读者的姓名/* 使用“自连接方式”求解*/select b.readerName,b.readerId,a.readerOfficeTelfrom reader a, reader bwhere a.readerName like '王小平'and a.readerOfficeTel = b.readerOfficeTel/*18)查询所有单价小于平均单价的图书的书号、书名及出版社select bookId,bookName,bookPublish,bookPricefrom bookwhere bookPrice <(select avg(bookPrice) as averagePricefrom book)19)查询‘科学出版社’的图书单价比‘机械工业出版社’最高单价还高的图书书名及单价select bookId,bookName,bookPublish,bookPricefrom bookwhere bookPublish like '科学出版社' and bookPrice >(select max(bookPrice)from bookwhere bookPublish = '机械工业出版社')20)查询‘科学出版社’的图书中单价比‘机械工业出版社’最低单价高的图书书名及单价select bookId,bookName,bookPublish,bookPricefrom bookwhere bookPrice <(select max(bookPrice)from bookwhere bookPublish = '机械工业出版社')and bookPublish like '科学出版社'21)创建机械工业出版社图书的视图CREATE VIEW 机械工业出版社ViewASSELECT bookId,bookName,bookPriceFROM bookWHERE bookPublish = '机械工业出版社'22)创建一个借阅统计视图,名为CountView,包含读者的读者号和总借阅本数CREATE VIEW CountViewASSELECT readerId as 读者号,count(*) as 总借阅本数FROM 借阅表GROUP BY readerId23)创建一个借阅统计视图,名为CountView10,包含借阅总本数打于2的读者号和总借阅本数CREATE VIEW 借阅统计视图ViewASSELECT readerId as 读者号,count(*) as 总借阅本数FROM 借阅表GROUP BY readerIdHA VING COUNT(*) >2。
【打印本页】单项选择题部分 (共30题每题2分共60分)2. 在SQL Server服务器上,存储过程是一组预先定义并()的T-SQL语句。
A 保存B 编译C 解释D 编写正确答案是:B3. 现有订单表orders,包含用户信息userid, 产品信息 productid, 以下()语句能够返回至少被订购过两回的productid?A select productid from orders where count(productid)>1B select productid from orders where max(productid)>1C select productid from orders where having count(productid)>1 group by productidD select productid from orders group by productid having count(productid)>1正确答案是:D7. 下列哪一个数据库不是SQL 2005/2008 的系统数据库()A master数据库B msdb数据库C pubs数据库D model数据库正确答案是:C13. Select 职工号 FROM 职工 WHERE 工资>1250 命令的功能是( )。
A 查询工资大于1250的记录B 查询1250号记录后的记录C 检索所有的职工号D 从[职工]关系中检索工资大于1250的职工号正确答案是:D17. 某学校的学生管理数据库中学生成绩表:stu-score中记录了学生各科成绩及平均分。
该表如下所示。
学号姓名代数物理┄ 平均分003 于红75 69 ┄ 72178 刘畅84 87 ┄ 88032 田原90 93 ┄ 91┆ ┆ ┆ ┆ ┆ ┆在该表上建立优秀学生成绩视图:good-stu-view,要求该视图中只显示平均成绩大于85分的学生各科成绩及其平均分,完成该要求的语句为()。
蚌埠学院2012—2013学年第一学期 《SQL 数据库系统》期末考试试题(B )注意事项:1、适用班级:11计算机科学与技术(本1、本2、本3)2、本试卷共3页。
满分100分。
3、考试时间120分钟。
4、考试方式:闭卷一、选择题(每小题1分,共25分)1、SQL Server 2008是一个( )的数据库系统。
(A )网状型 (B )层次型 (C )关系型 (D )以上都不是 2、关于主键描述正确的是( )。
(A )包含一列 (B )包含两列 (C )包含一列或者多列 (D ) 以上都不正确 3、SQL Server 2008 采用的身份验证模式有( )。
(A )仅Windows 身份验证模式 (B )仅SQL Server 身份验证模式 (C )仅混合模式(D )Windows 身份验证模式和混合模式4、T-SQL 语言按照用途可以分为三类,下面选项中哪一种不是的( )。
(A )DML (B )DCL (C )DQL (D )DDL5、在SELECT 语句的WHERE 子句的条件表达式中,可以匹配0个到多个字符的通配符是( )。
(A )* (B )% (C ) - (D )?6、SQL Server 提供的单行注释语句是使用( )开始的一行内容。
(A )“/*......*/”(多行) (B ) “--” (C ) “{” (D ) “/”7、以下哪种类型不能作为变量的数据类型( )。
(A )text (B )ntext (C )table (D )image 8、下面属于数据定义功能的SQL 语句是( )。
(A )CREATE TABLE (属于) (B )DROP (“DROP ***”属于) (C )UPDATE (不属于)(D )ALTER TABLE (属于)9、如果希望完全安装SQL Server ,则应选择( )。
(A )典型安装 (B )最小安装 (C )自定义安装 (D )仅连接 10、在SQL SERVER 中局部变量前面的字符为( )。
·创建数据库语句语法:CREATE DATABASE 数据库名[ON [PRIMARY]{(NAME=数据文件的逻辑名称,‘数据文件的路径和文件名’, (要包含文件扩展名)SIZE=数据文件的初始容量,(不能小于Model数据库的初始文件大小)MAXSIZE=数据文件的最大容量,数据文件的增长量)}[,…n]LOG ON{(NAME=事务日志文件的逻辑名称,'事务日志文件的物理名称',SIZE=事务日志文件的初始容量,MAXSIZE=事务日志文件的最大容量,事务日志文件的增长量) }[,…n]]判断同名的数据库是否存在:IF EXISTS (SELECT *FROM master..sysdatabasesWHERE name = '数据库名') DROP DATABASE 数据库名GO修改数据库操作语句:ALTER DATABASE 数据库名{[add file 文件描述] [to 文件组名] 新增数据文件|[add log file 文件描述] 新增日志文件|[remove file 逻辑文件名] 删除数据库文件|[add 文件组名] 新增文件组|[remove 文件组名] 删除文件组|[modify file 文件修改内容描述] 修改数据文件属性}查看数据库文件属性EXEC sp_helpfile 系统存储过程,用于查看数据库有哪些文件及文件属性。
删除数据库Drop database 数据库名称分离数据库EXEC Sp_detach_db 数据库名称附加数据库CREATE DATABASE 数据库名ON PRIMARY(’’) 说明:附加数据库只需指定数据库的主数据文件。
FOR ATTACH如果移动过数据库文件,则需要指出所有移动过的文件。
用存储过程也可以附加数据库:sp_attach_db 数据库名,’’创建数据库例:create database company on primary(name=company_data,'d:\mssq17\data\company.mdf', size=10,maxsize=unlimited,)log on(name=company_log,'d:\mssq17\data\company.ldf', size=1,maxsize=5,)创建一个指定多个数据文件和日志文件的数据库create database employees on primary(name=employee1,'d:\mssq17\data\employee1.mdf',size=10,maxsize=unlimited,),(name=employee2,'d:\mssq17\data\employee2.mdf'size=20,maxsize=100,)log on(name=employeelog1,'d:\mssq17\data\employee1.ldf',size=10,maxsize=50,),(name=employeelog2,'d:\mssq17\data\employee2.ldf'size=10,maxsize=50, )修改数据库例:1.增大数据库文件alter database 产品数据库Modify '产品数据库_log',size=3)将产品数据库的日志文件的初始值增加到3MB 2.压缩数据库exec sp_dboption '数据库名','auto shrink','true' dbcc shrinkfile('数据库名_data',6)3.修改数据库结构alter database employees add data1alter database employees add file(name=employee3,'d:\employee3.ndf',size=1,maxsize=50,),(name=employee4,'d:\employee3.ndf',size=2,maxsize=50,)to data1alter database employeees add log file(name=employeelog3,'d:\employeelog3.ldf', size=1,maxsize=50,)4.删除数据库drop database datbase_name[1,...n]练习:建议选择合适的模板来创建用T-SQL语句完成创建与管理数据库操作练习一:1. 为学生管理系统创建后台数据库:(1)数据库名student。
(2)主数据文件逻辑名称为student,物理名称为student.mdf,存放在D盘根目录下,初始大小为3MB,文件增长不受限制,增长量为1MB。
(3)事务日志文件逻辑名称为student_log,物理名称为student_log.mdf,存放在D盘根目录下,初始大小为1MB,文件增长最大为5MB,增长量为10%。
2.查看student数据库的信息。
3.修改student数据库:增加一个辅助数据文件,文件逻辑名称为studentfu,物理名称为studentfu.ndf,存放在E盘根目录下,初始大小为1MB,文件增长不受限制,增长量为20%。
4. 修改主数据文件的初始大小为4MB。
5.分离student数据库。
6.附加student数据库。
在SSMS中创建与管理数据库操作练习二s:1. 为“图书借阅系统”创建后台数据库:(1)数据库名为TSJY。
(2)主数据文件逻辑名称为TSJY_data,物理名称为TSJY_data.mdf,存放在D盘根目录下,初始大小为3MB,文件增长不受限制,增长量为1MB。
(3)事务日志文件逻辑名称为TSJY_log,物理名称为TSJY_log.ldf,存放在D盘根目录下,初始大小为1MB,文件增长最大为5MB,增长量为10%。
2.查看数据库的信息。
3.修改TSJY数据库:增加一个事务日志文件,文件逻辑名称为TSJY_log2,物理名称为TSJY_log2.ldf,存放在D盘根目录下,初始大小为8MB,文件增长不受限制,增长量为20%。
4.分离TSJY数据库。
6.附加TSJY数据库。
7.删除TSJY数据库。
在SSMS中创建与管理数据库操作练习三:1.为“图书还书系统”创建后台数据库:(1)数据库名为TSHS。
(2)主数据文件逻辑名称为TSHS_data,物理名称为TSHS_data.mdf,存放在C盘根目录下,初始大小为4MB,文件增长不受限制,增长量为20%。
(3)事务日志文件逻辑名称为TSHS_log,物理名称为TSHS_log.ldf,存放在C盘根目录下,初始大小为2MB,文件增长最大为6MB,增长量为1MB。
2.查看数据库的信息。
3.修改TSHS数据库:增加一个辅助数据文件,文件逻辑名称为TSHSFU_data,物理名称为TSHSFU_data.ndf,存放在D盘根目录下,初始大小为3MB,文件最大增长100M,增长量为2M。
4. 将主数据文件的初始大小为6MB。
在SSMS中创建与管理数据库操作练习四:1.为“商品供应系统”创建后台数据库:(1)数据库名为SPGY。
(2)主数据文件逻辑名称为SPGY_data,物理名称为SPGY_data.mdf,存放在C盘根目录下,初始大小为3MB,文件增长不受限制,增长量为1MB。
(3)两个事务日志文件,逻辑名称为SPGY1_log和SPGY2_log,物理名称为SPGY_log1.ldf,SPGY2_log.ldf, 存放在C盘根目录下,初始大小为1MB,文件增长最大为5MB,增长量为10%。
2.查看数据库的信息。
3.修改SPGY数据库:(1)新增一个文件组user。
(2)增加一个辅助数据文件,文件逻辑名称为SPGYFU_data,物理名称为SPGYFU_data.ndf,文件属于user文件组,存放在D盘根目录下,初始大小为8MB,文件最大增长100M,增长量为2M。
4. 删除事务日志文件SPGY1_log。
5.将上面创建的数据库分离。
7.将SPGYB附加到SQL Server环境中。
在SSMS中创建与管理数据库操作练习五:1. 为“商品销售系统”创建后台数据库(1)数据库名为SPXS。
(2)主数据文件逻辑名称为SPXS_data,物理名称为SPXS_data.mdf,存放在C盘根目录下,初始大小为3MB,文件增长不受限制,增长量为1MB。
(3)事务日志文件逻辑名称为SPXS_log,物理名称为SPXS_log.ldf,存放在C盘根目录下,初始大小为1MB,文件增长最大为5MB,增长量为10%。
2.查看数据库的信息。
3.修改SPXS数据库:(1)新增一个文件组new。
(2)增加一个辅助数据文件,文件逻辑名称为SPGYFU_data,物理名称为SPGYFU_data.ndf,文件属于new文件组,存放在D盘根目录下,初始大小为8MB,文件最大增长不受限制,增长量为1M。
4. 将数据库文件名改为Sale5.将上面创建的数据库分离。
7.将分离后的数据库附加到SQL Server环境中。