用T-SQL语句完成创建与管理数据库操作练习
- 格式:doc
- 大小:41.00 KB
- 文档页数:12
数据库系统概论实验指导(第七版)计算机学院2013/09改版履历目录目录 (3)1.实验概要 (4)1.1.实验说明 (4)1.2.实验环境和配置 (4)1.3.上机要求 (5)2.实验1:数据库/表的基本操作和表级约束 (5)2.1.目的和要求 (5)2.2.实验准备 (5)2.3.实验内容 (5)3.实验2:库级约束和基本表的数据操作 (8)3.1.目的和要求 (8)3.2.实验准备 (8)3.3.实验内容 (8)4.实验3:视图操作和安全性控制 (10)4.1.目的和要求 (10)4.2.实验准备 (10)4.3.实验内容 (10)5.实验4:存储过程/触发器/ODBC数据库编程 (12)5.1.目的与要求 (12)5.2.实验准备 (12)5.3.实验内容 (12)6.实验5:数据库综合实验 (14)6.1.目的与要求 (14)6.2.实验准备 (14)6.3.实验内容 (15)5.3.1.题目一:零件交易中心管理系统 (15)5.3.2.题目二:图书管理系统 (15)5.3.3.题目三:民航订票管理系统 (15)5.3.4.题目四:学生学籍管理系统 (16)5.3.5.题目五:车站售票管理系统 (16)5.3.6.题目六:企业人事管理系统 (16)5.3.7.题目七:电话交费管理系统 (16)5.3.8.题目八:医药销售管理系统 (17)7.附录:实验报告格式 (18)1.实验概要1.1.实验说明内容:本课程实验分5次完成,每次完成一部分。
具体内容参考本指导的后半部分。
成绩:每次实验100分,最后取5次实验的加权平均分作为实验的总成绩,其中第五次实验占40%,其余各次占15%。
每次实验中各个环节的评分标准如下:上述每一项按照百分制给出分值,最后按照比率计算每次实验的最终成绩。
实验报告每次实验需提交电子版的实验报告(最后一次实验需提交设计文档,源程序等相关资料)。
每次实验结束时,将写好的实验报告,提交给各班辅导老师。
数据库期末复习习题期末了,复习⼀波真不知道为什么中国的cs教育搞得跟⽂科⼀样。
数据库期末复习习题⼀、选择题1. 数据管理技术的发展过程中,经历了⼈⼯管理阶段、⽂件系统阶段和数据库系统阶段,在这三个阶段中,数据独⽴性最⾼的是( C )阶段。
(A)⼈⼯管理(B)⽂件系统(C)数据库系统1. 候选码中的属性可以有( C )。
(A)0个(B)1个(C)1个或多个(D)多个(当⼀个关系有N个属性或属性组可以唯⼀标识时,则说明该关系有N个候选码,可以选定其中⼀个作为主码。
)1. 现实世界“特征”术语,对应于数据世界的( A )。
(A)属性(B)联系(C)记录(D)数据项1. 下⾯关于关系性质的叙述中,不正确的是( D )。
(A)关系中⾏的次序不重要(B)关系中列的次序不重要(C)关系中元组不可以重复(D)关系中列不可以取空值1. 若有语句SNO INT NOT NULL UNIQUE,下⾯描述不正确的是( B )。
(A)每个SNO必须是唯⼀的(B)SNO是主码(C)SNO不能为空(D)SNO取值整数1. 在SELECT语句中的WHERE⼦句的条件表达式中,可以匹配0个到多个字符的通配符是( B )。
(A)* (B)% (C)_ (D)[]1. 在SQL SERVER中声明局部变量时,变量名前⾯的字符为( A )。
(A)@ (B)@@ (C)# (D)*1. 关于EXISTS谓词的使⽤,错误的是( C )。
(A)EXISTS谓词返回的结果是TRUE或FALSE(B)由EXISTS引出的⼦查询,SELECT语句⼀般不写具体的属性列,⽽使⽤*(C)EXISTS既可以⽤在相关⼦查询中,⼜可以⽤在不相关⼦查询中(D)NOT EXISTS与EXISTS返回的结果相反(⾮相关⼦查询的执⾏不依赖与外部的查询。
相关⼦查询的执⾏依赖于外部查询。
多数情况下是⼦查询的WHERE⼦句中引⽤了外部查询的表。
⾮相关⼦查询是独⽴于外部查询的⼦查询,⼦查询总共执⾏⼀次,执⾏完毕后将值传递给外部查询。
《网络数据库编程》实训指导书交通信息学院信息技术系2013-9目录题目1 学生成绩(XSCJ)数据库操作 (3)题目2 图书管理数据库操作 (11)题目3 企业员工信息数据库操作 (13)题目4 学生学籍管理信息系统数据库设计 (16)说明:题目1、题目2是必做题,完成后可选做题目3和题目4题目1 学生成绩(XSCJ)数据库操作1、创建学生成绩(XSCJ)数据库及其表结构表A.1 学生情况表(表名XS)结构列名数据类型长度是否允许为空值默认值说明学号char 6 否无主键姓名varchar 8 否无专业名varchar 10 是 1 男1女0 性别bit 1 否无出生时间datetime 8 否无总学分int 4 是无备注text 16 是无表A.2 课程表(表名KC)结构列名数据类型长度是否允许为空值默认值说明课程号char 3 否无主键课程名char 16 否无开课学期tinyint 1 否 1 只能为1~8 学时tinyint 1 否无学分tinyint 1 是无表A.3 学生与课程表(表名XS_KC)结构列名数据类型长度是否允许为空值默认值说明学号char 6 否无外键课程号char 3 否无外键成绩tinyint 1 否无学分tinyint 1 是无2、向学生成绩XSCJ数据的表中插入样本数据(1)学生情况表(表名XS)数据样本(2)课程表(表名KC)数据样本(3)学生与课程表(表名XS_KC)数据样本利用sql语句完成下列数据操作:1、查询XSCJ数据库的XS表中各个同学的姓名、专业名和总学分2、查询XS表中计算机专业同学的学号、姓名和总学分3、查询XS表中计算机系同学的学号、姓名和总学分,结果中各列的标题分为指定为number,name和mark4、查询XS表中计算机系各同学的学号、姓名和总学分,对其总学分按以下规则进行替换;若总学分为空值,则显示“尚未选课”;若总学分小于50分则显示为“不及格”;若总学分在50分与52分之间,显示为“合格”;若总学分大于52分,显示为“优秀”。
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 )开始的⼀⾏内容。
蚌埠学院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 中局部变量前面的字符为( )。
实验四:管理SQL Server表数据一、实验目的熟悉数据表结构及使用特点;熟悉使用Management Stuio界面方式管理数据表数据;熟悉使用T-SQL语句管理数据表数据。
二、实验环境已安装SQL Server 2005 企业版的计算机(13台);具有局域网环境,有固定IP;三、实验学时2学时四、实验要求了解SQL Server数据表数据的管理方法;了解SQL Server数据类型;完成实验报告(部分题只需给出关键语句)。
五、实验内容及步骤以课本指定的数据库为例,并依据数据表的结构创建相对应的数据表(student、course、sc),请分别使用Management Stuio界面方式及T-SQL 语句实现进行以下操作:向各个数据表中插入如下记录:学生信息表(student)课程信息表(course)选课信息表(sc)insert into student.dbo.sc values('20051501','1',75)insert into student.dbo.course values('1','数据库','5',4)insert into student.dbo.student values('201015001','赵菁菁','女',23,'CS') 2.修改CS系姓名为“李勇”的学生姓名为“李咏”;update studentset Sname='李咏'where Sname='李勇'3.修改课程“数据处理”的学分为3学分;3.update courseset Ccredit=3where Cname ='数据处理'4.将选修课程“1”的同学成绩加5分;4.update scset Grade =Grade+5where Cno='1'5.将选修课程“大学英语”的同学成绩加5分;update scset Grade=Grade+5from course,scwhere o=o and ame='大学英语'6.将学号为“200515010”的学生信息重新设置为“王丹丹、女、20、MA”;update studentset Sname='王丹丹',Ssex='女',Sage=20,Sdept='MA'where Sno='200515010'7.修改借书证号为2005001的学生记录重新设置:名字为王婧婧、专业为信息管理、借书量增加5本;(因为无些相关的数据表帮无法实现)8.删除数据表student中无专业的学生记录;deletefrom studentwhere Sdept is null9.删除数据表student中计算机系年龄大于25的男同学的记录;deletefrom studentwhere Ssex='男' and Sage>25 and Sdept='CS'10.删除数据表course中学分低于1学分的课程信息;deletefrom coursewhere Ccredit<1实验五:数据库单表查询一、实验目的1.掌握SELECT语句的基本语法和查询条件表示方法;2.掌握查询条件表达式和使用方法;3.掌握GROUP BY 子句的作用和使用方法;4.掌握HAVING子句的作用和使用方法;5.掌握ORDER BY子句的作用和使用方法。
用T-SQL语句完成创建与管理数据库操作练习·创建数据库语句语法:CREATE DATABASE 数据库名[ON [PRIMARY]{(NAME=数据文件的逻辑名称,FILENAME=‘数据文件的路径和文件名’, (要包含文件扩展名) SIZE=数据文件的初始容量,(不能小于Model数据库的初始文件大小)MAXSIZE=数据文件的最大容量,FILEGROWTH=数据文件的增长量)}[,…n]LOG ON{(NAME=事务日志文件的逻辑名称,FILENAME='事务日志文件的物理名称',SIZE=事务日志文件的初始容量,MAXSIZE=事务日志文件的最大容量,FILEGROWTH=事务日志文件的增长量) }[,…n]]判断同名的数据库是否存在:IF EXISTS (SELECT *FROM master..sysdatabasesWHERE name = '数据库名') DROP DATABASE 数据库名GO修改数据库操作语句:ALTER DATABASE 数据库名{[add file 文件描述] [to filegroup 文件组名] 新增数据文件|[add log file 文件描述] 新增日志文件|[remove file 逻辑文件名] 删除数据库文件|[add filegroup 文件组名] 新增文件组|[remove filegroup 文件组名] 删除文件组|[modify file 文件修改内容描述] 修改数据文件属性}查看数据库文件属性EXEC sp_helpfile 系统存储过程,用于查看数据库有哪些文件及文件属性。
删除数据库Drop database 数据库名称分离数据库EXEC Sp_detach_db 数据库名称附加数据库CREATE DATABASE 数据库名ON PRIMARY(FILENAME=’’) 说明:附加数据库只需指定数据库的主数据文件。
FOR ATTACH如果移动过数据库文件,则需要指出所有移动过的文件。
用存储过程也可以附加数据库:sp_attach_db 数据库名,filename=’’创建数据库例:create database company on primary(name=company_data,filename='d:\mssq17\data\company.mdf', size=10,maxsize=unlimited,filefrowth=10%)log on(name=company_log,filename='d:\mssq17\data\company.ldf', size=1,maxsize=5,filegrowth=1)创建一个指定多个数据文件和日志文件的数据库create database employees on primary(name=employee1,filename='d:\mssq17\data\employee1.mdf',size=10,maxsize=unlimited,filegrowth=10%),(name=employee2,filename='d:\mssq17\data\employee2.mdf'size=20,maxsize=100,filegrowth=1)log on(name=employeelog1,filename='d:\mssq17\data\employee1.ldf', size=10,maxsize=50,filegrowth=1),(name=employeelog2,filename='d:\mssq17\data\employee2.ldf' size=10,maxsize=50,filegrowth=1)修改数据库例:1.增大数据库文件alter database 产品数据库Modify file(name='产品数据库_log',size=3)将产品数据库的日志文件的初始值增加到3MB2.压缩数据库exec sp_dboption '数据库名','auto shrink','true' dbcc shrinkfile('数据库名_data',6)3.修改数据库结构alter database employees add filegroup data1alter database employees add file(name=employee3,filename='d:\employee3.ndf',size=1,maxsize=50,filegrouth=1),(name=employee4,filename='d:\employee3.ndf',size=2,maxsize=50,filegrouth=10%)to filegroup data1alter database employeees add log file(name=employeelog3,filename='d:\employeelog3.ldf', size=1,maxsize=50,filegrouth=1)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环境中。