数据库实验报告Word格式.docx
- 文档编号:16494434
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:52
- 大小:3.89MB
数据库实验报告Word格式.docx
《数据库实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《数据库实验报告Word格式.docx(52页珍藏版)》请在冰豆网上搜索。
如图所示:
4、数据分离出来之后可以附加进去
。
即右击数据库——附加——点击添加按钮,
找到数据库文件.mdf所存放的路径,然后点击确定,即可以将我们刚所创建的文件添加回去。
五、实验总结
通过本次实验熟悉了sqlserver2005的环境,了解SQLServer数据库的逻辑结构和物理结构,并学会了用向导建立,删除,以及分离一个数据库,为以后的实验做了一个环境准备。
实验二使用SQL语句创建和删除数据库
一.实验目的:
1.了解SQLServer2005数据库的逻辑结构和物理结构。
2.掌握使用SQL语句创建、删除和修改数据库。
二.实验要求
1.熟练使用查询分析器进行数据库的创建、删除和修改操作。
三.实验内容
使用SQL语句创建数据库userdb1。
四.实验步骤
1.创建数据库userdb1的SQL语句,
createdatabaseuserdb1
on
(name=userdb1_data,--数据文件的逻辑名称,注意不能与日志逻辑同名
filename='
g:
\xygl\userdb1.mdf'
--物理名称,注意路径必须存在
size=5,--数据初始长度为5M
maxsize=10,--最大长度为10M
filegrowth=1)--数据文件每次增长1M
logon
(name=userdb1_log,
\xygl\userdb1.ldf'
size=2,
maxsize=5,
filegrowth=1)
执行上述语句建立数据库userdb1
2.根据步骤1的sql语句,写出创建实验1中数据库EDUC的sql语句,并建立数据库EDUC.
createdatabaseEDUC
(name=EDUC_data,--数据文件的逻辑名称,注意不能与日志逻辑同名
C:
\ProgramFiles\MicrosoftSQLServer\MSSQL.1\MSSQL\Data\EDUC.mdf'
size=10,--数据初始长度为M
maxsize=50,--最大长度为M
filegrowth=5%)--数据文件每次增长%
(name=EDUC_log,
\ProgramFiles\MicrosoftSQLServer\MSSQL.1\MSSQL\Data\EDUC.ldf'
3.用SQL语句删除步骤1建立的数据库userdb1。
dropdatabaseuserdb1
或者直接语句usemasterdropdatabaseuserdb1
4、在查询分析器中还可以实现对数据库的修改操作,
AlterDATABASE数据库名
{ADDFILE<
文件选项>
新增数据文件
|ADDLOGFILE<
新增数据日志文件
|REMOVEFILE逻辑文件名删除指定文件
|ADDFILEGROUP文件组名新增文件组
|REMOVEFILEGROUP文件组名删除文件组
|MODIFYFILE<
修改文件属性
|MODIFYNAME=新数据库名数据名更改
(1)、将文件名EDUC改为EDUC1
ALTERDATABASEEDUC
MODIFYNAME=EDUC1;
(2)、增加一个日志文件,文件名为EDUC_LOG,初始大小为10mb,最大为20MB,增加为1MB
ALTERDATABASEEDUC1
ADDLOGFILE
(NAME=EDUC_LOG,
FILENAME='
E:
\sql_data\EDUC_LOG.LDF'
SIZE=10MB,
MAXSIZE=20MB,
FILEGROWTH=1MB
5.实验总结
通过本次实验,学会了用sql语言建立,删除以及修改一个数据库,体会到用向导和sql语言对数据库进行操作的异同点。
实验三使用SQL语句创建和删除表
一.实验目的
1.了解表的结构特点。
2.了解SQLServer的基本数据类型。
3.学会使用T-SQL语句创建表。
二.实验准备
1.确定数据库包含的各表的结构,还要了解SQLServer的常用数据类型,以创建数据库的表。
2.已成功创建了数据库EDUC。
3.掌握SQL创建基本表的方法。
4.掌握SQL修改基本表的方法。
5.掌握SQL删除基本表的方法。
在数据库EDUC中,创建如下几个表:
表3.1class表(班级信息表)
字段名称
类型
允许空值
主键
说明
ClsNO
Char(6)
NOTNULL
是
班号
ClsName
Varchar(16)
班名
Director
Varchar(10)
NULL
辅导员
Specialty
Varchar(30)
专业
表3.2student表(学生信息表)
Sno
Char(8)
学号
Sname
姓名
Ssex
Char
(2)
性别:
男、女
班级的编号,(外键)参照表Class
Saddr
Varchar(20)
住址
Sage
numeric(3,0)
年龄,大于10,但小于30岁
Height
Decimal(4,2)
身高
表3.3course表(课程信息表)
Cno
Char(4)
主键
Cname
课程的名称
Cpno
char(4)
先修课程的课程号(外键),参照cno
Ccredit
Tinyint
学分
表3.4sc表(学生选课成绩表)
学号,参照Student,与Cno组成主键
CNO
课程号,参照Course
grade
Numeric(4,1)
成绩
1.打开查询窗口,输入创建基本表的sql语句,点击“执行”按钮,完成表的创建。
创建class表如下:
CREATETABLEclass(ClsNoCHAR(6)primarykey,
ClsNamevarchar(16)notnull,
Directorvarchar(10),
Specialtyvarchar(30),
);
2.用上述方法创建其他表。
创建student表如下:
CREATETABLEstudent(
Snochar(8)primarykey,
Snamevarchar(10)notnull,
Ssexchar
(2)check(Ssex='
男'
orSsex='
女'
),
ClsNochar(6)notnull,
Saddrvarchar(20),
Sagenumeric(3,0)check((Sage>
'
10'
)And(Sage<
30'
)),
Heightdecimal(4,2),
foreignkey(ClsNo)referencesclass(ClsNo),
创建course表如下:
CREATETABLEcourse(
Cnochar(4)primarykey,
Cnamevarchar(16)notnull,
Cpnochar(4),
Ccredittinyint,
foreignkey(Cpno)referencescourse(Cno),
创建SC表如下:
CREATETABLEsc(
Snochar(8),
Cnochar(4),
gradenumeric(4,1),
primarykey(Sno,Cno),
foreignkey(Sno)referencesstudent(Sno),
foreignkey(Cno)referencescourse(Cno),
3.按照student的要求创建表student1,修改基本表student1
向student1表增加“入学时间”列s_entrance,其数据类型为日期型。
CREATETABLEstudent1(
Ssexchar
(2)check(Ssexin('
'
foreignkey(ClsNo)referencesclass(Clsno),
alterTABLEstudent1adds_entrancedatetime;
4.按照student的要求创建表student2,并将年龄的数据类型由字符型改为整数。
Altertablestudent2altercolumnsageint;
(报错:
因为sage上有check约束,删除check约束后再修改类型)
CREATETABLEstudent2(
Altertablestudent2dropCK__student2__Sage__1FCDBCEB
Altertablestudent2altercolumnSageint;
5.将student2表中sage改回smallint型。
Altertablestudent2altercolumnSagesmallint;
6.删除sage后再增加新列和新的完整性约束
Altertablestudent2addSagenumeric(3,0)check((Sage>
))
7.按照student的要求创建Student1,然后删除Ssex完整性约束。
altertablestudent1dropCK__student1__Ssex__239E4DCF
8.删除基本表student1。
droptablestudent1
如果基本表上有参照或是外码,先删除有关的参照再删除基本表
9、将在sudent1中新加入的列名s_entrance修改为Sentrance
exec
sp_rename
student1.S_entrance'
sentrance'
10、将student2表名改为student1
student2'
student1'
通过本次实验,熟悉了对基本表的创建,删除,以及修改操作,体会到了完整性约束的作用以及对其他操作的制约性。
实验四数据更新操作
一.实验目的
1.熟悉使用UPDATE/INSERT/DELETE语句进行表操作;
2.能将这些更新操作应用于实际操作中去;
1.完成下面的实验内容,并提交实验报告;
2.在实验报告中附上相应的代码;
(1)向表(Class)中插入数据
CS01
计算机一班
张宁
计算机应用
CS02
计算机二班
王宁
MT04
数学四班
陈晨
数学
PH08
物理八班
葛格
物理
GL01
地理一班
张四
应用地理
插入数据之后使用命令:
Select*fromClass;
检查插入数据的正确性
(2)向表(Student)中插入数据
20090101
王军
男
下关40#
20
1.76
20090102
李杰
江边路96#
22
1.72
20090306
王彤
女
中央路94#
19
1.65
19940107
吴杪
莲化小区74#
18
1.60
Select*fromStudent;
(3)向表(Course)中插入数据
Credit
0001
高等数学
Null
6
0003
计算机基础
3
0007
4
Select*fromCourse;
(4)向表(SC)中插入数据
SNO
Grade
90
86
87
76
93
85
(5)对于student表,将所有班级号为‘CS01’的,并且年龄小于20岁的学生的班级号改为‘CS02’。
(6)对于student表,删掉所有年龄不小于20岁,并且专业号为‘CS02’的学生的记录。
(7)对于student表,插入一条新记录,它的具体信息为,学号:
20071101、姓名:
张三、性别:
男、年龄:
19、班级编号:
‘CS01’。
(8)对于student表,将年龄最小的学生的家庭地址去掉。
(9)对于student表,将平均年龄最小的一个班级编号改为‘GL01’
四、实验步骤:
1.向class表插入数据如下:
insertintoclassvalues('
CS01'
计算机一班'
张宁'
计算机应用'
)
CS02'
计算机二班'
王宁'
MT04'
数学四班'
陈晨'
数学'
PH08'
物理八班'
葛格'
物理'
GL01'
地理一班'
张四'
应用地理'
插入成功后查询如下:
2.向Student表插入数据如下:
insertintostudentvalues('
20090101'
王军'
下关#'
20'
1.76'
20090102'
李杰'
江边路#'
22'
1.72'
20090306'
王彤'
中央路#'
19'
1.65'
19940107'
吴杪'
莲化小区#'
18'
1.60'
3.向course表插入数据如下:
insertintoCoursevalues('
0001'
高等数学'
Null,'
6'
0003'
计算机基础'
3'
0007'
4'
)
4.向表SC中插入数据
insertintoscvalues('
90'
86'
87'
76'
93'
85'
5.对于student表,将所有班级号为‘CS01’的,并且年龄不大于20岁的学生的班级号改为‘CS02’
Updatestudentsetclsno='
cs02'
whereclsno='
cs01'
andsage<
=20;
6.对于student表,删掉所有年龄不小于20岁,并且专业号为‘CS02’的学生的记录。
如果建表的时候没写级联删除,就在删除前先添加级联删除语句
Deletefromstudent,SCwheresage>
=20andclsno='
andstudent.sno=sc.sno
7.对于student表,插入一条新记录,它的具体信息为,学号:
Insertintostudent(sno,sname,ssex,sage,clsno)values('
20071101'
张三'
19,'
8.对于student表,将年龄最小的学生的家庭地址去掉。
Updatestudentsetsaddr='
wheresage<
=(selectmin(sage)fromstudent)
9.对于student表,将平均年龄最小的一个班级编号改为‘GL01’
groupbyclsnohavingavg(sage)<
=all(Selectavg(sage)fromstudentgroupbyclsno)
10、对于student表,将学号为19940107的学生的姓名该成“吴用”;
Updatestudentsetsname='
吴用'
wheresno='
;
10、对于sc表,将学号为20090101且的成绩为86的学生的成绩改为96
Updatescsetgrade=96wheresno='
andgrade=86;
五.实验总结
通过本次实验,学会了对基本表的数据更新操作,如插入,删除,修改,并体会到如何将这些操作运用到实际中去。
但是对级联删除操作仍有疑问,不知道如何在创建表时没有写级联删除的情况下再添加级联删除的语句。
通过第九题,也认识到自己对聚集函数与having,groupby语句配合使用时仍不熟练,有待进一步学习。
实验五创建和删除索引
1.了解索引的类型和应用。
2.学会用SQL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 报告