实验一 数据库及基本表的建立
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一数据库及基本表的建立
一、实验目的
1、掌握SQL SERVER的查询分析器和企业管理器的使用;
2、掌握创建数据库和表的操作;
二、实验内容和要求
1、练习使用SQL语句、企业管理器(Enterprise Manager)创建数据库;
2、练习使用SQL语句、企业管理器(Enterprise Manager)创建数据库表;
三、实验主要仪器设备和材料
1.计算机及操作系统:PC机,Windows 2000/xp;
2.数据库管理系统:SQL sever 2005;
四、实验方法、步骤及结果测试
题目1、创建数据库“学生情况”:
实现代码及截图:
SQL语句
Create database 学生情况
查询分析器执行情况
:SQL语句及执行结果截图显示
找到主数据文件和日志文件,观察大小,并给出截图。
题目2、将数据库“学生情况”改名为“student”
SQL语句
EXEC sp_renamedb学生情况, student
查询分析器执行情况:
SQL语句及执行结果截图显示
题目3、创建基本表
S表
含义字段名字段类型字段
说明
宽度
学号Sno Char10主键,不允许为空姓名Sname char10不允许为空
性别Ssex char2取值为男或女
C表
Sc表:
创建各表的实现代码及截图:
查询分析器执行情况:
SQL语句及执行结果截图显示
题目4*、用sql语句将C表中的ccredit改为整型,同样约束为0-20之间
题目5、用sql语句在S表中添加一格“备注”字段remark,变长字符型,长度30,并保存结果
题目6. 用sql语句将S表中“专业”字段数据类型改为varchar,长度为30并保存结果题目7. 用sql语句删除SC表中的“备注”字段并保存结果
生成数据库关系图截图显示
题目8生成数据库关系图截图显示
题目9*.用sql语句在S中增加约束,要求学号要用S开头,后接4位数字组成的字符串试着插入学号为0001,姓名为张三的学生,给出提示结果的截图
alter table sc drop FK__Sc__Sno;
update sc set sno='s'+sno;
update s set sno='s'+sno;
alter table s add constraint ck_s_sno check(sno like's____');
alter table sc add constraint fk_sc_sno foreign key(sno)references s(sno);
题目10.通过sql语句向s表中添加信息。
Sno Sname Sse
x Ssp Sde
pt
Sbirth Sfrom Schg Spa Sna
tio
n
Remark
S0001高明男计算机科学
与技术
CS1994-03-14大连团员汉
insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark)values ('s0001','高明','计算机科学与技术','CS','1994-03-14','大连',null,default,'汉)' insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark)values ('s0002','东学婷','女','计算机应用','CS','1986-10-24','包头','转系',default,'蒙',null);
insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark)values ('s0003','张五男','男’,'电子商务','MA','1984-2-17','上海','退学',default,default,null);
insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0004','刘%','男','电子商务','MA','1985-4-24','巴盟',null,default,default,null); insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0005','吴惠','女','软件开发','CS','1985-2-10','通辽',null,default,default,null); insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0006','王涛','男','软件开发','CS','1984-9-8','赤峰',null,default,'满',null); insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0007','郭凤丽','男','应用电子','IS','1984-3-2','广州',null,default,'蒙',null); insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values
('s0008','贾惠','男','应用电子','IS','1983-2-2','深圳',null,default,default,null); insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0009','刘一%','软件开发','CS','1985-9-9','东莞',null,default,'满',null);
insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0010','李春刚','男','计算机应用','CS','1985-2-10','河源',null,default,default,'李春刚'');
题目11.通过sql语句向C表中添加数据,并保存结果
INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('01','计算机应用','王晓梅','IS',4)
INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('02','高等数学','李一','MA',6) INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('03','网页制作','张铁柱','CS',6) INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('04','软件工程','付大鹏','CS',4) INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('05','数据库','白一格','CS',6)截图:
题目12. 通过sql语句添加学生选课信息[]
Sno Cno Grade 00010285 00010375 00010490 00020550 00030185 00030275 00040360 00040292 00050185 00050446 00060595 00060352 00070496 00070585 00080476 00080568
备注:给出的Sno错误:(S+4位数字)
INSERT INTO Sc(Sno,Cno,Grade)VALUES('001','02',85) INSERT INTO Sc(Sno,Cno,Grade)VALUES('001','03',75) INSERT INTO Sc(Sno,Cno,Grade)VALUES('001','04',90)
INSERT INTO Sc(Sno,Cno,Grade)VALUES('002','05',50) INSERT INTO Sc(Sno,Cno,Grade)VALUES('003','01',85) INSERT INTO Sc(Sno,Cno,Grade)VALUES('003','02',75) INSERT INTO Sc(Sno,Cno,Grade)VALUES('004','03',60) INSERT INTO Sc(Sno,Cno,Grade)VALUES('004','02',92) INSERT INTO Sc(Sno,Cno,Grade)VALUES('005','01',85) INSERT INTO Sc(Sno,Cno,Grade)VALUES('005','04',46) INSERT INTO Sc(Sno,Cno,Grade)VALUES('006','05',95) INSERT INTO Sc(Sno,Cno,Grade)VALUES('006','03',52) INSERT INTO Sc(Sno,Cno,Grade)VALUES('007','04',96)
五、实验中出现的问题及解决方案
1.创建数据库时常出错,可不删除原数据库,再修改字段,然后再重新定义数据库
2.要去除强制外键约束,才能在中间插入值
六、思考题
1、说明数据库中的表和数据文件的关系。
答:创建了一个数据库(*.mdf)之后就可以创建表,而且可以清楚的看到每个(dbo.表名)下的列和数据
2、通过sql语句做如下修改:
(1)主数据文件的容量为4mb,最大容量为20mb,递增量为2mb
(2)事务日志文件容量为2mb,最大容量为10mb,递增量为1mb
Alter database 高明modify file
(name=’学生情况’, Size=4mb, Maxsize=20mb, Filegrowth=2mb)
Alter database 学生情况modify file
(name=学生信息_log, Size=2mb, Maxsize=10mb, Filegrowth=1mb)。