数据库实验1至9汇总.docx
- 文档编号:8289605
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:44
- 大小:36.87KB
数据库实验1至9汇总.docx
《数据库实验1至9汇总.docx》由会员分享,可在线阅读,更多相关《数据库实验1至9汇总.docx(44页珍藏版)》请在冰豆网上搜索。
数据库实验1至9汇总
实验一
(以下内容仅供参考)
1、要求在本地磁盘D创建一个学生-课程数据库(名称为student),只有一个数据文件和日志文件,文件名称分别为stu和stu_log,物理名称为stu_data.mdf和stu_log.ldf,初始大小都为3MB,增长方式分别为10%和1MB,数据文件最大为500MB,日志文件大小不受限制。
T-SQL语句:
createdatabasestudent
on
(name=stu,
filename='d:
\stu_data.mdf',
size=3MB,
maxsize=500MB,
filegrowth=10%
)
logon
(name=stu_log,
filename='d:
\stu_log.ldf',
size=3MB,
maxsize=unlimited,
filegrowth=1MB
)
2、创建一个Company数据库,该数据库的主数据文件逻辑名称为Company_data,物理文件为Company.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为Company_log,物理文件名为Company.ldf,初始大小为1MB,最大尺寸为50MB,增长速度为1MB。
T-SQL语句:
createdatabasecompany
on
(name=company,
filename='G:
\win7\mssqlsever2008\MSSQL10.MSSQLSERVER\MSSQL\DATA\company.mdf',
size=10MB,
maxsize=unlimited,
filegrowth=10%
)
logon
(name=company_log,
filename='G:
\win7\mssqlsever2008\MSSQL10.MSSQLSERVER\MSSQL\DATA\company.ldf',
size=1MB,
maxsize=50MB,
filegrowth=1MB
)
3、创建数据库DB,具有2个数据文件,文件逻辑名分别为DB_data1和DB_data2,文件初始大小均为5MB,最大为100MB,按10%增长;只有一个日志文件,初始大小为3MB,按10%增长;所有文件都存储在D盘文件夹ceshi中。
T-SQL语句:
createdatabaseDB
on
(name=DB_data1,
filename='d:
\ceshi\DB_data1.mdf',
size=5MB,
maxsize=100MB,
filegrowth=10%),
(name=DB_data2,
filename='d:
\ceshi\DB_data2.ndf',
size=5MB,
maxsize=100MB,
filegrowth=10%
)
logon
(name=DB_log,
filename='d:
\ceshi\DB_data1.ldf',
size=3MB,
maxsize=unlimited,
filegrowth=10%
)
4、在数据库student中增加数据文件db2,初始大小为10MB,最大大小为50MB,按10%增长;
T-SQL语句:
alterdatabasestudent
addfile
(
name=db2,
filename='d:
\db2.mdf',
size=10MB,
maxsize=50MB,
filegrowth=10%
)
5、在数据库student中添加日志文件,保存在D盘中,初始大小为1MB,最大无限制,增长方式按照1MB增长;
实验截图—5
T-SQL语句:
alterdatabasestudent
addfile
(
name=stu_log_1,
filename='d:
\stu_log_1.ldf',
size=1MB,
maxsize=unlimited,
filegrowth=1MB
)
6、修改数据库student主数据文件的大小,将主数据文件的初始大小修改为10Mb,增长方式为20%;
T-SQL语句:
alterdatabasestudent
modifyfile
(
name=stu,
filename='d:
\stu_data.mdf',
size=10MB,
filegrowth=20%
)
7、修改数据库student辅助数据文件初始大小为3MB,最大为100MB,按照10%增长,名称为db;
T-SQL语句:
alterdatabasestudent
modifyfile
(
name=db2,
size=15MB,
maxsize=100MB,
filegrowth=10%
)
alterdatabasestudent
modifyfile
(name=db2,
newname=db
)
8、删除数据库student辅助数据文件和第二个日志文件;
T-SQL语句:
alterdatabasestudent
removefilestu_log_1
alterdatabasestudent
removefiledb
9、删除数据库company和DB。
T-SQL语句:
dropdatabasecompany,DB
10、将数据库student的所有物理文件移动到‘D:
\xxx‘,并且保证逻辑数据库不受影响,请详细描述解决办法。
办法:
先右键单击student数据库,在快捷菜单里找到【任务】->【分离】->【分离数据库】->【确定】;完成之后,把“stu_data.mdf”和“stu_log.ldf”两个文件移到“student”文件夹里;最后回到mssqlservermanagementstudio中,右击数据库,在快捷菜单里执行【附加】->【附加数据库】->【添加】找到“student”文件夹里的“stu_data.mdf”单击,完成之后点击【确定】这时回到mssqlservermanagementstudio界面,就能找到student数据库,这样就完成转移两个物理文件。
实验二
1、请在指定数据库内完成以下内容:
1)依据数据表的结构创建相对应的数据表,表结构如下所示;
学生信息表(student)
字段名称
字段类型及长度
说明
备注
Sno
Char(9)
学生学号
主关键字
Sname
Char(6)
学生姓名
非空
Ssex
Char
(2)
学生性别
可为空
Sage
Int
学生年龄
可为空
Sdept
VarChar(8)
学生所在院系
可为空
T-SQL语句:
createtablestudent
(Snochar(9)primarykey,
Snamechar(6)notnull,
Ssexchar
(2),
Sageint,
Sdeptvarchar(8)
)
课程信息表(course)
字段名称
字段类型及长度
说明
备注
Cn
Char(4)
课程编号
主关键字
Cname
VarChar(20)
课程名称
非空
Cpno
Char(4)
先行课
可为空
Ccredit
Int
学分
可为空
T-SQL语句:
createtablecourse
(Cnochar(4)primarykey,
Cnamevarchar(20)notnull,
Cpnochar(4),
Ccreditint
)
选课信息表(sc)
字段名称
字段类
及长度
说明
备
Sno
Char(9)
学生学号
主关键字
Cno
Char(4)
课程编号
主关键字
Grade
Int
成绩
可为空
实验截图—sc
T-SQL语句:
createtablesc
(Snochar(9),
Cnovarchar(4),
Gradeint,
primarykey(Sno,Cno)
)
2)在表student中增加新字段“班级名称(sclass)“;
T-SQL语句:
altertablestudent
addSclasschar(11)
3)在表student中删除字段“班级名称(sclass)”;
T-SQL语句:
altertablestudent
dropcolumnSclass
4)修改表student中字段名为“sname”的字段长度由原来的6改为8;
T-SQL语句:
altertablestudent
altercolumnSnamechar(8)
5)修改表student中字段“sdept”名称为“dept”,长度为20;
T-SQL语句:
usestudent
execsp_rename'student.Sdept','dept'
altertablestudent
altercolumndeptvarchar(20)
6)修改表student中sage字段名称为sbirth,类型为smalldatetime;
T-SQL语句:
usestudent
execsp_rename'student.Sage','Sbirth'
altertablestudent
altercolumnSbirthsmalldatetime
7)修改表student新名称为stu_info;
T-SQL语句:
usestudent
execsp_rename'student','stu_info'
8)删除数据表student;
T-SQL语句:
droptablestudent
2、创建教师授课管理数据库JSSK,并完成以下内容;
T-SQL语句:
createdatabasejssk
1)在数据库JSSK中创建下列三张表;
表名:
teachers
列名
数据类型
说明
描述
Tno
字符型,长度7
主键
教师号
Tname
字符型,长度10
非空
姓名
Tsex
字符型,长度2
默
取值为“男”
性别
Birthday
小日期时间型
允许空
出生日期
Dept
字符型,长度20
允许空
所在部门
Sid
字符型,长度18
身份证号
T-SQL语句:
usejssk
createtableteachers
(Tnochar(7)primarykey,
Tnamechar(10)notnull,
Tsexchar
(2)default('男'),
Birthdaydatetime,
Deptchar(20),
Sidchar(18)
)
表名:
lessons
列
数据类型
说明
描述
Cno
字符型,长度10
主键
课程号
Cname
字符型,长度20
非空
课程名
Credit
短整型
学分
property
字符型,长度为10
课程性质
T-SQL语句:
createtablelessons
(Cnochar(10)primarykey,
Cnamechar(20)notnull,
Creditsmallint,
propertychar(10)
)
表名:
shouke
列名
数据类型
说明
描述
Tno
字符
,长度7
主键
教师号
Cno
字符型,长度10
主键
课程名
Hours
整数
课时
实验截图—shouke
T-SQL语句:
createtableshouke
(Tnochar(7),
Cnochar(10),
Hoursint,
primarykey(Tno,Cno)
)
2)在shouke表里添加一个授课类别字段,列名为Type,类型为Char,长度为4;
T-SQL语句:
altertableshouke
addTypechar(4)
3)将shouke表的Hours的类型改为smallint;
T-SQL语句:
altertableshouke
altercolumnHourssmallint
4)删除lessons表中的property列;
T-SQL语句:
altertablelessons
dropcolumnproperty
3、(选做)创建产品销售数据库CPXS,数据文件的逻辑文件名为cpxs_data,物理文件名为D:
\sql\cpxs.mdf;文件初始大小为2MB,自动增长,每次增长1MB;日志文件逻辑文件名为cpxs_log,物理文件为D:
\sql\cpxs.ldf;文件初始大小2MB,自动增长,每次增长15%;
T-SQL语句:
createdatabasecpxs
on
(name=cpxs_data,
filename='d:
\sql\cpxs.mdf',
size=3MB,
maxsize=unlimited,
filegrowth=1MB
)
logon
(name=cpxs_log,
filename='d:
\sql\cpxs.ldf',
size=2MB,
maxsize=unlimited,
filegrowth=15%
)
1)在数据库CPXS中创建下列三张表;
表名:
产品表(cp)表结构
列名
数据类型
说明
描述
Cpbh
字符型,长度6
主键
产品编号
Cpmc
字符型,长度30
非空
产品名称
Jg
浮点型,长度8
允许空
价格
Kcl
整型,长度4
允许空
库存量
实验截图—cp
T-SQL语句:
usecpxs
createtablecp
(Cpbhchar(6)primarykey,
Cpmcchar(30)notnull,
Jgfloat,
Kclint
)
表名:
销售商(xss)表结构
列名
数据类型
说明
描述
Xsbh
字符型,长度6
主键
销售商编号
Xsmc
字符型,长度30
非空
销售商名称
Dq
字符型,长度10
允许空
地区
Fzr
字符型,长度8
允许空
负责人
Dh
字符型,长度12
允许空
电话
Bz
文本,长度16
允许空
备注
T-SQL语句:
createtablexss
(Xsbhchar(6)primarykey,
Xsmcchar(30)notnull,
Dqchar(10),
Fzrchar(8)
)
表名:
产品销售(cpss)表结构
列名
数据类型
说明
描述
Cpbh
字符型,长度6
主键
产品编号
Xsbh
字符型,长度6
主键
销售商编号
Xssj
Datetime,长度8
非空
销售时间
Sl
整型,长度4
非空
数量
Je
浮点型,长度8
非空
金额
T-SQL语句:
createtablecpss
(Cpbhchar(6),
Xsbhchar(6),
Xssjdatetimenotnull,
Slintnotnull,
Jefloatnotnull,
primarykey(Cpbh,Xsbh)
)
实验三
1.向各个数据表中插入如下记录:
学生信息表(student)
Sno
Sname
Ssex
Sage
Sdept
200515001
赵菁菁
女
23
CS
200515002
李勇
男
20
CS
200515003
张力
男
19
CS
200515004
张衡
男
18
IS
200515005
张向东
男
20
IS
200515006
张向丽
女
20
IS
200515007
王芳
女
20
CS
200515008
王民生
男
25
MA
200515009
王小民
女
18
MA
200515010
李晨
女
22
MA
200515011
张毅
男
20
WM
200515012
杨磊
女
20
EN
200515013
李晨
女
19
MA
200515014
张丰毅
男
22
CS
200515015
李蕾
女
21
EN
200515016
刘社
男
21
CM
200515017
刘星耀
男
18
CM
200515018
李贵
男
19
EN
200515019
林自许
男
20
WM
200515020
马翔
男
21
200515021
刘峰
男
25
CS
200515022
牛站强
男
22
200515023
李婷婷
女
18
200515024
严丽
女
20
200515025
朱小鸥
女
30
WM
T-SQL语句:
insert
INTOstudent(Sno,Sname,Ssex,Sage,Sdept)
VALUES('200515001','赵菁菁','女',23,'CS')
注:
其他元组用同样的方法插入
课程信息表(course)
Cno
Cname
Cpno
Ccredit
1
数据库
5
4
2
数学
2
3
信息系统
1
4
4
操作系统
6
3
5
数据结构
7
4
6
数据处理
2
7
PASCAL语言
6
4
8
大学英语
4
9
计算机网络
4
10
人工智能
2
T-SQL语句:
insert
INTOcourse(Cno,Cname,Cpno,Ccredit)
VALUES(1,'数据库',5,4)
注:
其他元组用同样的方法插入
选课信息表(sc)
Sno
Cno
Grade
200515001
1
75
200515002
1
85
200515002
3
53
200515003
1
86
200515004
1
74
200515005
1
58
200515006
1
84
200515004
2
46
200515005
2
89
200515006
2
65
200515008
2
72
200515009
2
76
200515010
2
96
200515010
8
86
200515011
8
62
200515015
8
0
200515018
8
58
200515001
4
62
200515002
4
85
200515021
9
54
200515001
5
58
200515021
6
58
200515001
7
70
200515005
10
65
200515016
8
Null
200515017
8
Null
T-SQL语句:
INSERT
INTOsc(Sno,Cno,Grade)
VALUES('200515001',1,75)
注:
其他元组用同样的方法插入
2.修改CS系姓名为“李勇”的学生姓名为“李咏”;
T-SQL语句:
UPDATEstudent
SETSname='李咏'
WHERESno='200515002'andSdept='CS'
3.修改课程“数据处理”的学分为3学分;
T-SQL语句:
UPDATEcourse
SETCcredit=3
WHERECno=6
4.将选修课程“1”的同学成绩加5分;
T-SQL语句:
UPDATEsc
SETGrade=Grade+5
WHERECno=1
5.将选修课程“大学英语”的同学成绩加5分;
T-SQL语句:
UPDATEsc
SETGrade=Grade+5
WHERE'大学英语'=
(SELECTCname
FROMcourse
WHEREcourse.Cno=sc.Cno)
6.将学号为“200515010”的学生信息重新设置为“王丹丹、女、20、MA”;
T-SQL语句:
UPDATEstudent
SETSname='王丹丹',Ssex='女',Sage=20,Sdept='MA'
WHERESno='200515010'
7.向student表中增加记录:
(200515026,王婧婧、女、21,CS);
T-SQL语句:
INSERT
INTOstudent(Sno,Sname,Ssex,Sage,Sdept)
VALUES('200515026','王倩倩','女',21,'CS')
8.删除数据表student中无系别的学生记录;
T-SQL语句:
DELETE
FROMstudent
WHERESdeptIsNULL;
9.删除数据表student中计算机系年龄大于25的男同学的记录;
T-SQL语句:
DELETE
FROMstudent
WHERESdept='CS'ANDstudent.Sage>25ANDSsex='男'
10.删除数据表course中学分低于1学分的课程信息;
T-SQL语句:
DELETE
FROMcourse
WHERECcredit<1
实验四
(一).在学生选课库中,用Transact-SQL语句实现下列简单数据查询操作。
学号
Snum
姓名
Sname
性别
Sex
年龄
Sage
电话
Sphone
系编号
Dnum
S001
王明
男
19
86824571
D2
S002
李勇
男
23
89454321
D3
S003
刘燕
女
21
D1
S004
王萍
女
23
D1
S005
王佳
男
24
130********
D3
S006
赵婷
女
20
D1
Student表
1
课程号
Cnum
课程名称
Cname
学分
Cfreq
C1
数据库系统原理
4
C2
C程序设计
4
C3
计算机体系结构
3
C4
自动控制原理
2
C5
数据结构
4
SC表
学号
Snum
课程号
Cnum
成绩
Score
S001
C1
83
S001
C2
89
S001
C3
65
S0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 汇总