用T-SQL语句完成创建与管理表操作练习
- 格式:doc
- 大小:188.00 KB
- 文档页数:9
实验一创建数据库和表以及表操作一、实验目的1.了解SQL Server数据库的逻辑结构和物理结构,表的结构特点;2.了解SQL Server的基本数据类型,空值概念;3.学会在企业管理器中创建数据库和表;4.学会使用T—SQL语句创建数据库和表;5.学会在企业管理器中对数据表进行插入、修改、删除数据操作;6.学会使用T-SQL对数据表进行插入、修改、删除数据操作;二、实验内容1.实验题目(1)创建用于企业管理的员工管理数据库,数据库名为YGGL,包含员工的信息、部门信息以及员工的薪水信息。
数据库YGGL包含下列3个表。
(1)Employees:员工自然信息表。
(2)Departments:部门信息表。
(3)Salary:员工薪水情况表。
各表的结构分别如表T2.1,表T2.2,表T2.3所示。
表T2.1 Employees表结构表T2.2 Departments表结构实验步骤1.在企业管理器中创建数据库YGGL要求:数据库YGGL初始大小为10MB,最大大小为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB(默认为不限制),按1MB增长(默认是按5%比例增长)。
数据库的逻辑文件名和物理文件名均采用默认值,分别为 YGGL_data 和e:\sql\data\MSSQL\Data\YGGL.mdf,其中e:\sql\data\MSSQL为SQL Server 的系统安装目录;事务日志的逻辑文件名和物理文件名也均采用默认值分别为YGGL—LOG 和 e:\sql\data\MSSQL\Data\YGGL_Log.1df。
以系统管理员Administrator是被授权使用CREATE DATABASE语句的用户登录SQL Server服务器,启动企业管理器一>在服务器上单击鼠标右键一>新建数据库一>输入数据库名“YGGL”一>选择“数据文件”选项卡一>设置增长方式和增长比例一>选择“事务口志”选项卡一设置增长方式和增长比例。
试题一一、单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
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。
蚌埠学院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 中局部变量前面的字符为( )。
第1章数据库系统与数据库概念设计思考与练习一、选择题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无关的概念模型C.数据库系统的公用视图数据库应用技术(SQL Server 2005)D.数据库系统的数据字典7.下列四项中,不属于数据库系统特点的是(C )。
A.数据共享B.数据完整性C.数据冗余度高D.数据独立性高第2章关系模型与数据库逻辑设计思考与练习一、选择题1.关系数据模型是目前最重要的一种数据模型,它的三个要素是(A )。
A.实体完整性、参照完整性、用户自定义完整性B.数据结构、关系操作、完整性约束C.数据增加、数据修改、数据查询D.外模式、模式、内模式2.一个关系中,能唯一标识元组的属性集称为关系的(B)。
A.副键B.关键字C.从键D.参数3.现有如下关系:患者(患者编号,患者姓名,性别,出生日期,所在单位)、医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果),其中,医疗关系中的外码是(A )。
A.患者编号B.患者姓名C.患者编号和患者姓名D.医生编号和患者编号4.关系数据库管理系统应能实现的专门关系运算包括(B )。
sql-server-2008-数据库应用与开发教程--课后习题参考答案DServer的组成部分和这些组成部分之间的描述。
Microsoft SQL Server 2008系统由4个组件组成,这4个组件被称为4个服务,分别是数据库引擎、Analysis Services、Reporting Services和Integration Services。
数据库引擎是Microsoft SQL Server 2008系统的核心服务,负责完成数据的存储、处理、查询和安全管理等操作。
分析服务(SQL Server Analysis Services,简称为SSAS)的主要作用是提供多维分析和数据挖掘功能。
报表服务(SQL Server Reporting Services,简称为SSRS)为用户提供了支持Web方式的企业级报表功能。
集成服务(SQL Server Integration Services,简称SSIS)是一个数据集成平台,负责完成有关数据的提取、转换和加载等操作。
1.安装SQL Server 2008之前应该做什么准备工作?答:(1) 增强物理安全性(2) 使用防火墙(3) 隔离服务(4) 禁用NetBIOS和服务器消息块2.SQL Server 2008支持哪两种身份验证?答:Windows 身份验证或混合模式身份验证。
3.如何注册和启动SQL Server 服务器?答:1. 注册服务器使用Microsoft SQL Server Management Studio工具注册服务器的步骤如下:(1) 启动Microsoft SQL Server Management Studio工具,选择“视图”|“已注册”命令或者按下快捷键Ctrl+Alt+G,在打开的“已注册的服务器”窗口中选中“数据库引擎”图标。
(2) 在“数据库引擎”上单击鼠标右键,从弹出的快捷菜单中选择“新建”|“服务器注册”命令,即可打开如图1-20所示的“新建服务器注册”对话框。
在SSMS中创建与管理表操作练习一
1.创建TSJY数据库,并在TSJY数据库中创建如下三张表,表结构如下:(1)表名:XS,存放学生基本信息。
(10分)
创建名为CK_XS的check约束,设置性别字段的值只能为‘男’或者‘女’。
(2)表名:TS,存放图书基本信息。
(10分)
创建名为CK_TS的check约束,设置状态字段的值只能为‘在馆’或者‘借出’。
(3)表名:JY,存放学生借阅图书信息。
(10分)
2.维护表操作:
将XS表的JSRQ字段的默认值为当前系统时间getdate()
3.在XS表中输入以下记录。
XH XM XB ZY CSRQ 95001 张三男计算机1990-2-1 95002 李四男电子商务1989-5-4 95003 陈红女电子商务1989-6-7
95004 倪娟女计算机网络技
术1988-5-6
95005 李利男电子商务1990-8-9
在TS表中输入如下记录
SH SM CBS ZB DJ ZT
j10098 国际贸易实务
浙江科学出版社
吴百
福43
在
馆
k20045 dephi7.0实用教程机械工业出版社张帆
38
借
出
w10003 撒哈拉的故事北京十月文艺出版
社
三毛
20
在
馆
s20005 改变一生的60个心理学效
应中国青年出版社
郑小
兰22
在
馆
在JY表中输入以下记录
LSH XH SH JSRQ
95003 w10003 2009-9-1
95003 s20005 2009-12-23
95005 j10098 2009-8-7 4.JY表中再插入如下记录:
5,20004,s0008,2010-12-23
能不能完成插入操作,为什么?
如果要插入上述记录,如何进行?
5.删除XS表中学号为95001的记录。
6.删除XS表中学号为95005的记录,能否完成删除操作,为什么?如果要将这条记录删除,如何进行?
3.创建school数据库中的表。
(1)、College表—学院
(2)、Specialty表—专业
5.表student中给enteryear设置4位数字的值的约束,score字段的值要求大于0,bankid的值不能有重复。
6.删除student表中的bankid字段。
7.(1)为college表添加如下三条记录:
01,信息工程学院
02,旅游学院
03,师范学院
(2)为speciality表添加如下三条记录:
001,计算机及应用,01
002,电子商务,01
003,幼儿教育,03
(3)为student添加如下三条记录
200901001101,胡浩,男,汉,001,90-1-23,330702************,2009,380 200901002005,何欢,女,苗,002,91-7-25,330732************,2009,402 200803003208,沈瑜芊,女,汉,003,89-5-6,330702************,2008,
421
8.在student表中将何欢的入学成绩(score字段)的值改为398。
9.删除student表中入学成绩小于400分的记录。
10.根据班级实际情况往表中添加少量记录,思考:根据约束,表的记录能否随意添加?
在SSMS中创建与管理表操作练习二
1.创建表
在SPGY数据库中创建如下三张表,表结构如下:
(1)表名:GYS,存放供应商基本信息。
(6分)
(2)表名:SP,存放商品基本信息。
(8分)
创建名为CK_SP的check约束,设置库存数量(KCSL)字段的值必须大于等于0。
(3)表名:GY,存放商品供应信息。
(15分)
创建名为CK_GY的check约束,设置供应数量(GYSL)字段的值必须大于0。
2. 维护表操作:
(1) 在SP表中,为TXM字段设置check约束,约束名为CK_TXM,要求该字段输入的数据13位的数字字符。
(2) 在GY表中,为TXM字段设置外键约束,参照SP表的TXM,关系名为FK_GY_SP_TXM),为GYSH字段设置外键约束,参照GYS表的GYSH,关系名为FK_GY_GYS。
4. 给每张表输入三条记录,自行编写数据信息。
5. 删除GYS表中的一条记录。
在SSMS中创建与管理表操作练习三
1.创建表
在SPXS数据库中创建如下三张表,表结构如下:
(1)表名:SP,存放商品基本信息。
(8分)
创建名为CK_SP的check约束,设置库存数量(KCSL)字段的值必须大于等于0。
(2)表名:JG,存放商品每次价格信息。
(13分)
(3)表名:XS,存放商品销售信息。
(12分)
创建名为CK_XS的check约束,设置销售数量(XSSL)字段的值必须大于0。
2.维护表操作
(1)在JG表中创建名为CK_JG_JZSJ的check约束,设置截止时间(JZSJ)必须大于等于起始时间(QSSJ)。
(2)在JG表中创建名为CK_JG_LSJ的check约束,设置零售价(LSJ)必须大于等于会员价(HYJ)。