《实验一数据库及基本表的建立.doc》由会员分享,可在线阅读,更多相关《实验一数据库及基本表的建立.doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验一 数据库及基本表的建立一、实验目的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 学生情况查询分析器执行情况
2、:SQL语句及执行结果截图显示找到主数据文件和日志文件,观察大小,并给出截图。题目2、将数据库“学生情况”改名为“student”SQL语句EXEC sp_renamedb 学生情况, student查询分析器执行情况:SQL语句及执行结果截图显示题目3、创建基本表S表含义字段名字段类型字段宽度说明学号SnoChar10主键,不允许为空姓名Snamechar10不允许为空性别Ssexchar2取值为男或女专业Sspchar20系别Sdeptchar20出生日期Sbirthdatetime地区来源Sfromvarchar30变动情况Schgchar10政治面貌Spachar8默认团员民族Snat
3、ionchar8默认为汉族C表含义字段名字段类型字段宽度说明课程编号CnoChar10主键课程名称CnameChar10唯一约束任课教师TnameChar8开课系别CdeptChar20学分CCreditReal0-20Sc表:含义字段名字段类型字段宽度说明学号SnoChar10外键,与cno共同构成主键课程编号CnoChar10外键,与sno共同构成主键成绩Gradereal检查约束0-100备注Remarkvarchar50创建各表的实现代码及截图:SQL语句create table S(Sno char(10) primary key,Sname char(10) not null,Ss
4、ex char(2) check (Ssex=男or Ssex=女) ,Ssp char(20),Sdept char(20),Sbirth datetime,Sfrom varchar(30),Schg char(10),Spa char(8) default 团员,Snation char(8) default 汉族);create table C(Cno char(10) primary key,Cname Char(10) unique,Tname char(8),Cdept char(20),CCredit real check(CCredit=0 and CCredit=0 and
5、 Grade=100)忘记了一个字段,加上:alter table Sc add Remake varchar(50)查询分析器执行情况: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开头,后
6、接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表中添加信息。SnoSnameSsexSspSdeptSbirthS
7、fromSchgSpaSnationRemarkS0001高明男计算机科学与技术CS1994-03-14大连团员汉S 0002东学婷女计算机应用CS1986-10-24包头转系团员蒙S 0003张五男男电子商务MA1984-2-17上海退学团员汉S 0004刘%男电子商务MA1985-4-24巴盟团员汉S 0005吴惠女软件开发CS1985-2-10通辽团员汉S 0006王涛男软件开发CS1984-9-8赤峰团员满S 0007郭凤丽男应用电子IS1984-3-2广州团员蒙S 0008贾惠男应用电子IS1983-2-2深圳团员汉S 0009刘一%男软件开发CS1985-9-9东莞团员满S 001
8、0李春刚男计算机应用CS1985-2-10河源团员汉李春刚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,蒙,n
9、ull);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
10、 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
11、,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,s
12、birth,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表中添加数据,并保存结果CnoCnameTnameCdeptCcredit01计算机应
13、用王晓梅IS402高等数学李一MA603网页制作张铁柱CS604软件工程付大鹏CS405数据库白一格CS6INSERT 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,C
14、Credit) VALUES(04,软件工程,付大鹏,CS,4) INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit) VALUES(05,数据库,白一格,CS,6)截图:题目12. 通过sql语句添加学生选课信息SnoCnoGrade00010285000103750001049000020550000301850003027500040360000402920005018500050446000605950006035200070496000705850008047600080568备注:给出的Sno错误:(S+4位数字)INSERT INTO Sc(S
15、no,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
16、) 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,
17、04,96)五、 实验中出现的问题及解决方案1. 创建数据库时常出错,可不删除原数据库,再修改字段,然后再重新定义数据库2. 要去除强制外键约束,才能在中间插入值六、思考题1、 说明数据库中的表和数据文件的关系。答:创建了一个数据库(*.mdf)之后就可以创建表,而且可以清楚的看到每个(dbo.表名)下的列和数据2、 通过sql语句做如下修改:(1)主数据文件的容量为4mb,最大容量为20mb,递增量为2mb(2)事务日志文件容量为2mb,最大容量为10mb,递增量为1mbAlterdatabase高明modifyfile(name=学生情况,Size=4mb,Maxsize=20mb,Filegrowth=2mb)Alterdatabase学生情况modifyfile(name=学生信息_log,Size=2mb,Maxsize=10mb,Filegrowth=1mb)