用TSQL语句完成创建与管理数据库操作练习
- 格式:docx
- 大小:15.90 KB
- 文档页数:9
数据库原理及应⽤实验⼀【SQL语句创建数据库和表】⼀、实验⽬的1.熟悉SQL Server2012操作界⾯,了解数据库系统的逻辑组件;2.熟悉SQL Server的管理控制台操作环境;3.掌握使⽤SQL Server Management Studio 及SQL语句创建数据库和表的⽅法;4.掌握数据库及表结构的修改⽅法;5.掌握数据库管理的基本操作。
⼆、实验步骤1.启动SSMS(SQL Server Management Studio)2.通过向导创建数据库3.通过T-SQL语句创建数据库4.通过向导创建数据库表5.通过T-SQL语句创建数据库表三、实验内容1.启动SSMS(SQL Server Management Studio)(1)打开 SQL Server Management Studio,将弹出如下图所⽰的登录窗⼝。
这⾥有两种⾝份验证⽅式:第⼀种⽅式选择Windows⾝份验证登录,服务器名称为本机⽤户名(如:WIN-E1G5CJSSRP5)或(local)登录;第⼆种⽅式选择 SQL Server ⾝份验证登录,⽤户名为 sa,密码为安装数据库时设置的密码。
点击连接按钮,进⾏连接(注:若服务器连接不上,打开控制⾯板中管理⼯具下的服务,检查 SQL Server 的服务是否启动)。
(2)右击 SQL Server 服务器,弹出如下图所⽰菜单菜命令,点击【断开连接】,则将断开当前数据库管理⼯具这个应⽤和 SQL Server 服务器之间的连接通信。
(3)点击菜单命令中的【暂停】,可以暂停当前的 SQL Server 服务。
点击菜单命令中的【停⽌】,可以停⽌当前正在运⾏着的 SQL Server 服务。
点击菜单命令中的【重新启动】,可以重新启动当前已经停⽌的 SQL Server 服务。
(4)点击菜单命令中的【属性】,则将弹出如下图所⽰的对话框。
该对话框定义了许多SQL Server 实例级别的配置参数。
实验1创建数据库及表的创建与管理一、实验目的与要求1、掌握使用T-SQL语句创建数据库、数据表和`数据表完整性约束的定义。
2、熟悉表的结构和列所使用的数据类型。
3、理解数据表完整性含义及其定义的方法。
二、实验平台1、操作系统:Windows XP或Windows 20032、数据库管理系统:SQL Server 2005三、实验内容(一)数据库创建与管理创建一个“教务管理系统”数据库,并将下列表创建在该数据库中(二)在“教务管理系统”数据库钟实现表的创建与完整性定义StudentInfo(学生信息表)TeacherInfo(教师信息表)CourseInfo(课程信息表)StudentCourse(学生选课表)Teaching(教学表)RankPayment(职称课酬表)1、使用T-SQL语句创建以上数据表。
同时定义主键约束:StudentInfo表主键Sno;TeacherInfo表主键Tno;CourseInfo表主键Cno;RankPayment表主键Trank。
2、使用T-SQL语句定义以上数据表的其他约束①对StudentInfo表的Sname进行唯一性约束(unique约束),约束名称为S1。
②对CourseInfo表的Cname进行唯一性约束(unique约束)。
③对StudentCourse表定义外键约束:Sno引用StudentInfo表中的Sno,Cno 引用CourseInfo表中的Cno。
④对TeacherInfo表定义外键约束:Trank引用RankPayment表中的Trank。
⑤对Teaching表定义外键约束:Tno引用TeacherInfo表中的Tno,Cno引用CourseInfo表中的Cno。
⑥对StudentCourse表的Score进行CHECK约束:Score必须在0至100之间。
⑦对StudentInfo表中的Ssex和TeacherInfo表中的Tsex进行默认值定义,默认值为“男”注:表中完整性约束查看命令:exec sp_help 表名(三)修改基本表①向基本表StudentInfo中增加“入学时间”属性列,其属性名为Sentrancedate,数据类型为DATETIME型。
实验⼆创建数据库实验⼆:创建及管理数据库⼀、实验⽬的1. 熟悉在SQL Server 2008中创建及编辑数据库;2. 熟练掌握使⽤T-SQL 语句对数据库的管理⽅法;3. 掌握数据库模式的创建⽅法;⼆、实验学时2学时三、实验要求1.熟练使⽤Management Stuio界⾯⽅式创建及编辑数据库;2.熟练使⽤T-SQL 语句创建及编辑数据库;3.独⽴完成实验内容,并提交书⾯实验报告。
四、实验准备知识1.数据库相关属性1)逻辑名称:数据⽂件和⽇志⽂件名称2)⽂件类型:数据⽂件及⽇志⽂件3)⽂件组:各个数据⽂件所属的⽂件组名称4)初始⼤⼩:⽂件的最原始⼤⼩5)⾃动增长:⽂件按指定的⼤⼩增长,也可限制到最⼤容量。
6)路径:存放⽂件的物理⽬录7)⽂件名:显⽰数据⽂件和⽇志⽂件的物理名称2.默认数据库属性1)主数据⽂件为xx.mdf ,⽇志⽂件为xx_log.ldf;2)只有⼀个⽂件组Primary;3)主数据⽂件初始⼤⼩为3MB,增量为1MB;4)⽇志⽂件初始⼤⼩为1MB,增量为10%;5)主数据⽂件和⽇志⽂件都存放在C:\Program Files\Microsoft SQLServer\MSSQL10.MSSQLSERVER\MSSQL\DATA⽬录下,⽂件分别为xx.mdf 和xx_log.ldf 。
3.创建数据库命令CREATE DATABASE database_name /*指定数据库名*/[ON ⼦句 ] /*指定数据库⽂件和⽂件组属性[LOG ON ⼦句 ] /*指定⽇志⽂件属性*/4.修改数据库命令Alter database database_name{add file [,…n] [to filegroup filegroupname]|add log file [,…n]|remove file logical_file_name [with delete]|modify file5.创建模式(构架)的命令。
1 使用图形化界面,创建一个名为“SM”的数据库,创建在U盘上2 使用T-SQL语句,创建SM数据库中的学生表Student,表中包括的字段有学号,班级编号,姓名,性别,出生日期,年龄。
create table SM.dbo.student(学号int ,姓名nvarchar(5) not null,性别nchar(1),出生日期datetime,班级编号char(1))3 使用T-SQL语句,创建SM数据库中的班级表Class,表中包含的字段有班级编号,教师编号,院系编号,班级名称。
create table SM.dbo.class(班级编号char(11),教师编号char(2),院系编号tinyint ,班级名称nchar(8))4 使用T-SQL语句,创建SM数据库中的课程表Course,表中包含的字段有课程编号,课程类型编码,课程名称,课程介绍,学分,总学时,先修课程,学期。
create table SM.dbo.course_info(程编号varchar(6),课程类型编码varchar(7),课程名称nchar(4),课程介绍nvarchar(30),学分numeric(3,1),总学时int),先修课程nchar(6),term char(1))5 使用图形化界面为表Student增加一列,列名为Address,数据类型为VARCHAR,长度为30,允许空。
Use smAlter table studentAdd address varchar(3) not null6 用SQL语句修改表Course的列属性,将课程名称的长度改为40,且不允许空。
Use smAlter table studentAlter column CName varchar(40) not null7 用SQL语句删除表Student中的列Address。
Use smAlter studentDrop column address8使用SQL语句向表中插入数据。
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 )开始的⼀⾏内容。
SQL Server 2008数据库应用与开发教程(第二版)第一章习题参考答案1.简述SQL Server 2008系统中主要数据库对象的特点。
答:主要的数据库对象包括数据库关系图、表、视图、同义词、存储过程、函数、触发器、程序集、类型、规则和默认值等。
“表”节点中包含了数据库最基本、最重要的对象——表。
表实际用来存储系统数据和用户数据,是最核心的数据库对象。
“视图”节点包含了数据库中的视图对象。
视图是一种虚拟表,用来查看数据库中的一个或多个表,视图是建立在表基础之上的数据库对象,它主要以SELECT语句形式存在。
在“同义词”节点中包含了数据库中的同义词对象。
这是Microsoft SQL Server 2008系统新增的一种对象。
“可编程性”对象是一个逻辑组合,它包括存储过程、函数、触发器、程序集、类型、规则和默认值等对象。
数据库中的函数对象包含在“函数”节点中。
函数是接受参数、执行复杂操作并将结果以值的形式返回的例程。
2.SQL Server 2008数据库管理系统产品分为哪几个版本,各有什么特点?答:SQL Server 2008数据库管理系统产品的服务器版本包括了企业版和标准版,专业版本主要包括以下版本:工作组版(Workgroup)、开发人员版(Developer)、免费精简版(Express)、Web版,以及免费的集成数据库SQL Server Compact 3.5。
3.SQL Server 2008包含哪些组件,其功能各是什么?答:SQL Server 2008的体系结构是对SQL Server的组成部分和这些组成部分之间的描述。
Microsoft SQL Server 2008系统由4个组件组成,这4个组件被称为4个服务,分别是数据库引擎、Analysis Services、Reporting Services和Integration Services。
数据库引擎是Microsoft SQL Server 2008系统的核心服务,负责完成数据的存储、处理、查询和安全管理等操作。
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 数据库名GOALTER 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数据库:增加一个辅助数据文件,文件逻辑名称为stude ntfu,物理名称为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)两个事务日志文件,逻辑名称为SPGY 1_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.md,存放在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环境中。