SQL数据库系统实验报告含代码截图.docx
- 文档编号:6498025
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:26
- 大小:26.94KB
SQL数据库系统实验报告含代码截图.docx
《SQL数据库系统实验报告含代码截图.docx》由会员分享,可在线阅读,更多相关《SQL数据库系统实验报告含代码截图.docx(26页珍藏版)》请在冰豆网上搜索。
SQL数据库系统实验报告含代码截图
设有一学籍管理系统,其数据库名为“EDUC”。
初始大小为10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;
日志文件初始为2MB,最大可增长到5MB,按1MB增长。
数据库的逻辑文件名为“student_data”,物理文件名为“student_data.mdf,存放路径为“E:
\sql_data”(注意:
此文件名必须已经建立的前提下才可以此操作)。
日志文件的逻辑文件名为“student_log”,物理文件名为“student_log.ldf”,存放路径为“E:
\sql_data”。
四.实验步骤
1.使用SQLServerManagementStudio(简称SSMS)创建数据库。
(1)启动SSMS
在开始菜单中:
所有程序-SQLServer2005-SQLServerManagementStudio
单击“连接”按钮,便可以进入【SQLServerManagementStudio】窗口。
如果身份验证选择的是“混合模式”,则要输入sa的密码。
(2)建立数据库
在“对象资源管理器”窗口,建立上述数据库EDUC。
在数据库节点上右击选择新建。
同时建立一个同样属性的数据库EDUC1。
2.使用向导删除上面建立的数据库。
用SSMS删除建立的数据库EDUC。
3、数据库的分离
将刚建好的数据库分离出来,即点击新建的EDUC——任务——分离,将删除连接和更新打一个钩,然后点击确定。
如图所示:
4、数据分离出来之后可以附加进去
。
即右击数据库——附加——点击添加按钮,
找到数据库文件.mdf所存放的路径,然后点击确定,即可以将我们刚所创建的文件添加回去。
五.实验总结
通过本次实验,我熟悉了SQLServer中SQLServerManagementStudio的环境,了解了SQLServer数据库的逻辑结构和物理结构,掌握使用向导创建和删除数据库的方法。
加深了对数据库的认识和理解。
实验二使用SQL语句创建和删除数据库
SQL语句的创建、删除和修改数据库。
三.实验容
使用SQL语句创建数据库userdb1。
四.实验步骤
1.创建数据库userdb1的SQL语句,
createdatabaseuserdb1
on
(name=userdb1_data,
filename='g:
\*ygl\userdb1.mdf',
size=5,
ma*size=10,
filegrowth=1)
logon
(name=userdb1_log,
filename='g:
\*ygl\userdb1.ldf',
size=2,
ma*size=5,
filegrowth=1)
执行上述语句建立数据库userdb1
2.根据步骤1的sql语句,写出创建实验1中数据库EDUC的sql语句,并建立数据库EDUC.
初始大小为10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;
日志文件初始为2MB,最大可增长到5MB,按1MB增长。
createdatabaseEDUC
on
(name=EDUC_data,
filename='E:
\sql_data\EDUC.mdf',
size=10,
ma*size=50,
filegrowth=5%)
logon
(name=EDUC_log,
filename='E:
\sql_data\EDUC.ldf',
size=2,
ma*size=5,
filegrowth=1)
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,
MA*SIZE=20MB,
FILEGROWTH=1MB
五.实验总结
通过本次实验,我进一步了解了数据库的逻辑结构和物理结构。
初步掌握使用SQL语句创建、删除和修改数据库。
对相关语句的应用也更加得心应手。
实验三使用SQL语句创建和删除表
一.实验目的
1.了解表的结构特点。
2.了解SQLServer的基本数据类型。
3.学会使用T-SQL语句创建表。
二.实验要求
1.完成SQL语句创建、修改、删除基本表。
2.完成实验报告。
三.实验容
在数据库EDUC中,创建如下几个表:
表3.1class表(班级信息表)
字段名称
类型
允许空值
主键
说明
ClsNO
Char(6)
NOTNULL
是
班号
ClsName
Varchar(16)
NOTNULL
班名
Director
Varchar(10)
NULL
辅导员
Specialty
Varchar(30)
NULL
专业
表3.2student表(学生信息表)
字段名称
类型
允许空值
主键
说明
Sno
Char(8)
NOTNULL
是
**
Sname
Varchar(10)
NOTNULL
SCse*
Char
(2)
性别:
男、女
ClsNO
Char(6)
NULL
班级的编号,(外键)参照表Class
Saddr
Varchar(20)
住址
Sage
numeric(3,0)
年龄,大于10,但小于30岁
Height
Decimal(4,2)
身高
表3.3course表(课程信息表)
字段名称
类型
允许空值
主键
说明
o
Char(4)
NOTNULL
是
主键
ame
Varchar(16)
NOTNULL
课程的名称
Cpno
char(4)
NULL
先修课程的课程号(外键),参照o
Ccredit
Tinyint
学分
表3.4sc表(学生选课成绩表)
字段名称
类型
允许空值
主键
说明
Sno
Char(8)
NOTNULL
是
**,参照Student,与o组成主键
O
Char(4)
NOTNULL
是
课程号,参照Course
grade
Numeric(4,1)
NULL
成绩
四.实验步骤
1.打开查询窗口,输入创建基本表的sql语句,点击“执行”按钮,完成表的创建。
创建class表如下:
CREATETABLEclass
(ClsNOCHAR(6)PRIMARYKEYNOTNULL,
ClsNameVARCHAR(16)NOTNULL,
DirectorVARCHAR(10)NULL,
SpecialtyVARCHAR(30)NULL
);
2.用上述方法创建其他表。
创建student表如下:
CREATETABLEstudent
(SnoCHAR(8)PRIMARYKEYNOTNULL,
SnameVARCHAR(10)NOTNULL,
SCse*CHAR
(2)check(scse*='男'orscse*='女'),
CLsNOCHAR(6)NULL,
SaddrVARCHAR(20),
SageNUMERIC(3,0)check(10 HeightDECIMAL(4,2) FOREIGNKEY(CLsNO)REFERENCESclass(CLsNO) ); 创建course表如下: CREATETABLEcourse (oCHAR(4)PRIMARYKEYNOTNULL, ameVARCHAR(16)NOTNULL, CpnoCHAR(4)NULL, CcreditTINYINT, foreignkey(Cpno)referenceso ); 创建SC表如下: CREATETABLEsc (PRIMARYKEY(sno,o), snochar(8)notnull, ochar(4)notnull, foreignkey(Sno)referencesstudent(sno), foreignkey(O)referencescourse(o), gradeNUMERIC(4,1)NULL ); 3.按照student的要求创建表student1,修改基本表student1 向student1表增加“入学时间”列s_entrance,其数据类型为日期型。 ALTERTABLEstudent1 ADDS_ENTRANCEDATETIME; 4.按照student的要求创建表student2,并将年龄的数据类型由字符型改为整数。 Altertablestudent2altercolumnsageint;(报错: 因为sage上有check约束,删除check约束后再修改类型) Altertablestudent2 dropCK__student2__Sage__689D8392; Altertablestudent2altercolumnsageint; 5.将student2表中sage改回smallint型。 Altertablestudent2altercolumnsagesmallint; 6.删除sage后再增加新列和新的完整性约束 Altertablestudent2dropcolumnsage; altertablestudent2addsagecharcheck(10 7.按照student的要求创建Student1,然后删除Sse*完整性约束。 CREATETABLEstudent2 (SnoCHAR(8)PRIMARYKEYNOTNULL, SnameVARCHAR(10)NOTNULL, SCse*CHAR (2)check(scse*='男'orscse*='女'), CLsNOCHAR(6)NULL, SaddrVARCHAR(20), SageNUMERIC(3,0)check(10 HeightDECIMAL(4,2) FOREIGNKEY(CLsNO)REFERENCESclass(CLsNO) ); altertablestudent2 dropCK__student2__SCse*__76EBA2E9; 8.删除基本表student1。 droptablestudent1; 9.将以上创建表的SQL语句以.SQL文件的形式保存在磁盘上。 10、将在sudent1中新加入的列名s_entrance修改为Sentrance e*ec sp_rename 'student1.S_entrance','sentrance' altertablestudent1 adds_entrancechar; e*ecsp_rename'student1.S_entrance','sentrance'; 11、将student2表名改为student1 e*ec sp_rename 'student2','student1' e*ecsp_rename'student2','student1'; 五.实验总结 通过这次实验,我了解了SQLServer的常用数据类型,学会创建数据库的表。 掌握了SQL创建基本表的方法、SQL修改基本表的方法,以及SQL删除基本表的方法。 实验四数据更新操作 一.实验目的 1.熟悉使用UPDATE/INSERT/DELETE语句进行表操作; 2.能将这些更新操作应用于实际操作中去; 二.实验要求 1.完成下面的实验容,并提交实验报告; 2.在实验报告中附上相应的代码; 三.实验容 (1)向表(Class)中插入数据 ClsNO ClsName Director Specialty CS01 计算机一班 宁 计算机应用 CS02 计算机二班 王宁 计算机应用 MT04 数学四班 晨 数学 PH08 物理八班 格 物理 GL01 地理一班 四 应用地理 插入数据之后使用命令: Select*fromClass;检查插入数据的正确性 (2)向表(Student)中插入数据 Sno Sname Sse* ClsNO Saddr Sage Height 20090101 王军 男 CS01 下关40* 20 1.76 20090102 杰 男 CS01 江边路96* 22 1.72 20090306 王彤 女 MT04 中央路94* 19 1.65 19940107 吴杪 女 PH08 莲化小区74* 18 1.60 插入数据之后使用命令: Select*fromStudent;检查插入数据的正确性 (3)向表(Course)中插入数据 o ame Cpno Credit 0001 高等数学 Null 6 0003 计算机基础 0001 3 0007 物理 0001 4 插入数据之后使用命令: Select*fromCourse;检查插入数据的正确性 (4)向表(SC)中插入数据 SNO O Grade 20090101 0001 90 20090101 0007 86 20090102 0001 87 20090102 0003 76 20090306 0001 87 20090306 0003 93 19940107 0007 85 20090306 0007 90 (5)对于student表,将所有班级号为‘CS01’的,并且年龄小于20岁的学生的班级号改为‘CS02’。 (6)对于student表,删掉所有年龄不小于20岁,并且专业号为‘CS02’的学生的记录。 对于student表,插入一条新记录,它的具体信息为,**: 20071101、: 三、性别: 男、年龄: 19、班级‘CS01’。 (7)对于student表,将年龄最小的学生的家庭地址去掉。 (8)对于student表,将平均年龄最小的一个班级编号改为‘GL01’ 四、实验步骤: 1.向class表插入数据如下: insert intoclass(clsno,clsname,director,specialty) values('cs01','计算机一班','宁','计算机应用'); insert intoclass(clsno,clsname,director,specialty) values('cs02','计算机二班','王宁','计算机应用'); insert intoclass(clsno,clsname,director,specialty) values('mt04','数学四班','晨','数学'); insert intoclass(clsno,clsname,director,specialty) values('ph08','物理八班','格','物理'); insert intoclass(clsno,clsname,director,specialty) values('gl01','地理一班','四','应用地理'); 2.向Student表插入数据如下: insert intostudent(sno,sname,scse*,clsno,saddr,sage,height) values('20090101','王军','男','cs01','下关40*','20','1.76'); insert intostudent(sno,sname,scse*,clsno,saddr,sage,height) values('20090102','杰','男','cs01','江边路96*','22','1.72'); insert intostudent(sno,sname,scse*,clsno,saddr,sage,height) values('20090306','王彤','女','mt04','中央路94*','19','1.65'); insert intostudent(sno,sname,scse*,clsno,saddr,sage,height) values('19940107','吴杪','女','ph08','莲化小区74*','18','1.60'); 3.向course表插入数据如下: insert intocourse(o,ame,cpno,ccredit) values('0001','高等数学','null','6'); insert intocourse(o,ame,cpno,ccredit) values('0003','计算机基础','0001','3'); insert intocourse(o,ame,cpno,ccredit) values('0007','物理','0001','4'); 4.向表SC中插入数据 insert intosc(sno,o,grade) values('20090101','0001','90'); insert intosc(sno,o,grade) values('20090101','0007','86'); insert intosc(sno,o,grade) values('20090102','0001','87'); insert intosc(sno,o,grade) values('20090102','0003','76'); insert intosc(sno,o,grade) values('20090306','0001','87'); insert intosc(sno,o,grade) values('20090306','0003','93'); insert intosc(sno,o,grade) values('19940107','0007','85'); insert intosc(sno,o,grade) values('20090306','0007','90'); 5.对于student表,将所有班级号为‘CS01’的,并且年龄不大于20岁的学生的班级号改为‘CS02’ updatestudent setclsno='cs02' whereclsno='cs01'andsage<20; 6.对于student表,删掉所有年龄不小于20岁,并且专业号为‘CS02’的学生的记录。 如果建表的时候没写级联删除,就在删除前先添加级联删除语句 delete fromstudent whereclsno='cs02'andsage>=20; 对于student表,插入一条新记录,它的具体信息为,**: 20071101、: 三、性别: 男、年龄: 19、班级‘CS01’。 insert intostudent(sno,sname,scse*,clsno,saddr,sage,height) values('20071101','三','男','cs01',null,'19',null); 7.对于student表,将年龄最小的学生的家庭地址去掉。 updatestudent setsaddr='null' wheresagein (selectmin(sage) fromstudent) 8.对于student表,将平均年龄最小的一个班级编号改为‘GL01’ updatestudent setclsno='gl01' wheresage<= (selectmin(avg(sage)) fromstudent groupbystudent.clsno); 9、对于student表,将**为19940107的学生的该成“吴用”; updatestudent setsname='吴用' wheresno='19940107'; 10、对于sc表,将**为20090101且的成绩为86的学生的成绩改为96 updatesc setgrade='96' wheresno='20090101'andgrade='86'; 五、实验总结 通过本次实验,我掌握了向EDUC数据库的各表中插入、修改和删除数据的方法。 了解并掌握了使用INSERT、UPDATE及DELETE语句。 实验五创建和删除索引 一.实验目的 1.了解索引的类型和应用。 2.学会用SQL语句对表创建和删除索引 二.实验要求 1.了解索引类型并比较各类索引的不同之处 1.完成索引的创建和删除,并提交实验报告。 三.实验容 1.用SQL语句分别建立以下索引 (1)在student表的Sname列上建立普通降序索引Stusname。 (2)在course表的aame列上建立唯一索引Couame。 (3)在sc表的Sno(升序),o(升序)和grade(降序)三列上建立一个普通索引So。 2.用SQL语句删除索引 删除Student表的Stusname索引。 五.实验指导 1.用SQL语句分别建立以下索引 (1)在student表的sname列上建立普通降序索引Stusname。 createinde*stusnameonstudent(snamedesc); (2)在course表的ame列上建立唯一索引Couame。 createuniqueinde*couameoncourse(ame); (3)在s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 数据库 系统 实验 报告 代码 截图