1、SQLSERVER数据库管理系统软件的使用教程文件PS:消费者分析10元以下 1050元 50100元 100元以上尽管售价不菲,但仍没挡住喜欢它的人来来往往。这里有营业员们向顾客们示范着制作各种风格迥异的饰品,许多顾客也是学得不亦乐乎。在现场,有上班族在里面精挑细选成品,有细心的小女孩在仔细盘算着用料和价钱,准备自己制作的原料。可以想见,用本来稀奇的原料,加上别具匠心的制作,每一款成品都必是独一无二的。而这也许正是自己制造所能带来最大的快乐吧。2003年,全年商品消费价格总水平比上年上升1%。消费品市场销售平稳增长。全年完成社会消费品零售总额2220.64亿元,比上年增长9.1%。数据库管理
2、系统软件的使用一、实验目的(1)认识几种常见的数据库管理系统,熟悉它们的使用界面;(2)熟练掌握建立数据库和表,向数据库输入数据、修改数据和删除数据的操作。二、实验内容分别在Access和SQL SERVER2000中建立数据库并设计各表,输入多条实际数据,并实现数据的增、删、改操作。三、实验步骤:创建用于学生管理数据库,数据库名为XSGL,包含学生的基本信息,课程信息和选课信息。数据库XSGL包含下列3个表: (l) student:学生基本信息。 (2)course:课程信息表。 (3)sc:学生选课表。各表的结构分别如表1、表2和表3所示。表1 学生信息表:student列名数据类型长度
3、是否允许为空值sno字符(文本)型10否sname字符(文本)型10否ssex字符(文本)型2否sage整数(数值)型是sdept字符型4否表2 课程信息表:course列名数据类型长度是否允许为空值cno字符(文本)型3否cname字符(文本)型30否credit整数(数值)型是pcno字符(文本)型3是表3 学生选课表:sc列名数据类型长度是否允许为空值sno字符(文本)型10否cno字符(文本)型30否grade整数(数值)型是1 用可视化界面在Access中建立数据库和表:(a)在Access中创建xsgl.mdb数据库,使用表设计视图创建如表1、表2、表3所示结构的3个表。提示:(1
4、)启动Access2000或Access2003,选择文件-新建-空数据库,输入数据库文件名xsgl.mdb,进入(2);(2)启动如图1的设计界面后,选择表对象和使用使用设计器创建表,选择新建,进入(3);(3)生成如图2界面,选择设计视图,点击确定按钮,进入(4);(4)在图3表设计界面下,分别创建student表,course表和sc表的结构;(5)输入表中的记录:分别在student表、course表和sc表中输入如下表中的记录:在数据库视图下,选择表对象中的相应表选择打开,在浏览视图下输入如下表记录:snosnamessexsagesdept95001李勇男20CS95002刘晨女1
5、9IS95003王敏女18MA95004张立男19IS95005刘云女18CScnocnamecreditpcno1数据库452数学63信息系统314操作系统465数据结构476数据处理37PASCAL语言46snocnograde9500119295001285950013889500229095002380950032859500415895004285(b)对表中的记录进行浏览、修改、删除操作。2在SQLSERVER中用企业管理器新建数据库和表:(1)建立xsgl数据库:启动SQL Server2000企业管理器,界面如下:图4 SQL Server2000企业管理器界面选择树形菜单数据
6、库,点击鼠标右键,出现如下弹出式菜单,选择新建数据库在图中,按图分别设置数据库xsgl的属性,点击确定按钮,完成了数据库的创建。图5 数据库名称属性设置 图6 数据库数据文件属性设置图7 数据库日志文件属性设置选择确定按钮,则创建xsgl数据库。(2)建立student、course、sc表:选择xsgl数据库树形菜单,选择表,在图8表逻辑对象中点击鼠标的右键,在弹出式菜单中选择新建,启动表设计器。图8表逻辑对象界面选择新建,启动如图9的表设计器,建立表结构,保存为student。图9 student的表结构分别按表2、3建立course表和sc表。(3)在表中添加记录:选择student表,
7、在快捷菜单下选择打开表-返回所有行,进入图11,输入学生表中的记录。PS:消费者分析除了“漂亮女生”形成的价格,优惠等条件的威胁外,还有“碧芝”的物品的新颖性,创意的独特性等,我们必须充分预见到。图10据统计,上海国民经济持续快速增长。03全年就实现国内生产总值(GDP)6250.81亿元,按可比价格计算,比上年增长11.8%。第三产业的增速受非典影响而有所减缓,全年实现增加值3027.11亿元,增长8%,增幅比上年下降2个百分点。图11 student表记录录入大学生的消费是多种多样,丰富多彩的。除食品外,很大一部分开支都用于。服饰,娱乐,小饰品等。女生都比较偏爱小饰品之类的消费。女生天性爱
8、美,对小饰品爱不释手,因为饰品所展现的魅力,女人因饰品而妩媚动人,亮丽。据美国商务部调查资料显示女人占据消费市场最大分额,随社会越发展,物质越丰富,女性的时尚美丽消费也越来越激烈。因此也为饰品业创造了无限的商机。 据调查统计,有50% 的同学曾经购买过DIY饰品,有90% 的同学表示若在学校附近开设一家DIY手工艺制品,会去光顾。我们认为:我校区的女生就占了80%。相信开饰品店也是个不错的创业方针。依次按相同方法建立course表和sc 表,并输入其中的记录。“碧芝”隶属于加拿大的公司。这家公司原先从事首饰加工业,自助首饰的风行也自西方,随着人工饰品的欣欣向荣,自制饰品越来越受到了人们的认同。
9、年碧芝自制饰品店在迪美购物中心开张,这里地理位置十分优越,交通四八达,由于是市中心,汇集了来自各地的游客和时尚人群,不用担心客流量问题。迪美有多家商铺,不包括柜台,现在这个商铺的位置还是比较合适的,位于中心地带,左边出口的自动扶梯直接通向地面,从正对着的旋转式楼拾阶而上就是人民广场中央,周边、条地下通道都交汇于此,从自家店铺门口经过的的顾客会因为好奇而进看一下。(4)修改表中的数据:(5)删除表中的记录300元以下 300400元 400500 500元以上思考:1. Access数据库主要有哪些对象组成?2. SQL SERVER2000数据库主要由哪些逻辑对象组成?物理数据库文件包括哪些文
10、件?实验二:数据库的建立和维护实验目的熟练掌握建立数据库和表,向数据库输入数据、修改数据和删除数据的操作。实验内容建立数据库并设计各表,输入多条实际数据,并实现数据的增、删、改操作。实验步骤:创建用于学生管理数据库,数据库名为XSGL,包含学生的基本信息,课程信息和选课信息。数据库XSGL包含下列3个表: (l) student:学生基本信息。 (2)course:课程信息表。 (3)sc:学生选课表。各表的结构分别如表1、表2和表3所示。表1 学生信息表:student列名数据类型长度是否允许为空值sno字符型10否sname字符型10否ssex字符型2否sage整数型是sdept字符型4否
11、表2 课程信息表:course列名数据类型长度是否允许为空值cno字符型3否cname字符型30否credit整数型是pcno字符型3是表3 学生选课表:sc列名数据类型长度是否允许为空值sno字符型10否cno字符型30否grade整数型是一. 数据库的建立:2 用可视化界面建立:(a) 在SQLSERVER中用企业管理器-新建数据库;3 命令方式建立:(a) 在SQLSERVER中,在查询分析器中使用T-SQL语句:CREATE DATABASE XSGL ON (NAME=XSGL_DATA, FILENAME=E:XSGL.MDF, SIZE=10MB, MAXSIZE=50MB, F
12、ILEGROWTH=5%) LOG ON (NAME=XSGL_Log, FILENAME=e:XSGL_Log.ldf, SIZE=2MB, MAXSIZE=5MB, FILEGROWTH=1MB)二. 表的建立:1 用可视化界面建立:在SQL SERVER中用企业管理器数据库XSCJ表右键新建表;2 命令方式建立:在SQL SERVER中查询分析器的编辑窗口中用下列SQL语句:use XSGLCreate table student(sno CHAR(5),sname CHAR(10),ssex CHAR(2),sage int,sdept CHAR(4)goCreate table co
13、urse(cno CHAR(2),cname CHAR(30),credit INT,pcno CHAR(2) NULL)goCreate table sc(sno CHAR(5),cno CHAR(2),grade INT NULL)go三. 表数据的添加:1. 用可视化方法: I: 在SQL SERVER中用企业管理器数据库XSCJ表表名右键打开表返回所有行;输入下列数据:snosnamessexsagesdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19IS95005刘云女18CScnocnamecreditpcno1数据库452数学63
14、信息系统314操作系统465数据结构476数据处理37PASCAL语言46snocnograde95001192950012859500138895002290950023809500328595004158950042852. 在SQL SERVER查询分析器的编辑窗口中使用下列SQL 语句插入数据:insert into student(sno,sname, ssex,sage,sdept) values(95001, 李勇, 男, 20, CS)insert into student(sno,sname, ssex,sage,sdept) values(95002, 刘晨, 女, 19,
15、 IS)insert into student(sno,sname, ssex,sage,sdept) values(95003, 王敏, 女, 18, MA)insert into student(sno,sname, ssex,sage,sdept) values(95004, 张立, 男, 19, IS)insert into student(sno,sname, ssex,sage,sdept) values(95005, 刘云, 女, 18, CS )insert into course(cno, cname,credit,pcno) values(1, 数据库, 4, 5)inse
16、rt into course(cno, cname,credit,pcno) values(2, 数学, 6, null) insert into course(cno, cname,credit,pcno) values(3, 信息系统, 3, 1)insert into course(cno, cname,credit,pcno) values(4, 操作系统, 4, 6)insert into course(cno, cname,credit,pcno) values(5, 数据结构, 4, 7)insert into course(cno, cname,credit,pcno) val
17、ues(6, 数据处理, 3, null) insert into course(cno, cname,credit,pcno) values(7, PASCAL语言, 4, 6)insert into sc(sno,cno,grade) values(95001, 1 ,92)insert into sc(sno,cno,grade) values(95001, 2 ,85)insert into sc(sno,cno,grade) values(95001, 3 ,88)insert into sc(sno,cno,grade) values(95002, 2 ,90)insert int
18、o sc(sno,cno,grade) values(95002, 3 ,80)insert into sc(sno,cno,grade) values(95003, 2 ,85)insert into sc(sno,cno,grade) values(95004, 1 ,58)insert into sc(sno,cno,grade) values(95004, 2 ,85)四. 表数据的修改:1. 用可视化方法: 在SQL SERVER中用企业管理器数据库XSCJ表表名右键打开表返回所有行;在表格中将相应的数据修改即可。2命令方法:将所有学生的年龄增加一岁: update student
19、set sage=sage+1 将4号课程的学分改为4: update course set credit=4 where cno=4设置7号课程没有先行课: update course set pcno=null where cno=7将95001号学生的1号课程的成绩增加3分: update sc set grade=grade+3 where sno=95001 and cno=1五. 表数据的删除:1. 用可视化方法: 在SQL SERVER中用企业管理器数据库XSCJ表表名右键打开表返回所有行;单击左边的行标记, 选定某一行, 或单击后拖动选择相邻的多行, 再右击鼠标选择弹出式菜单中
20、的删除。2命令方法:删除学号为95005的学生的记录:delete from student where sno95005删除所有的课程记录:delete from course删除成绩为不及格(少于60分)的学生的选课记录:delete from sc where grade60思考:比较用可视化界面与命令方式在数据的插入、修改、删除方面的优缺点。实验三:数据库的简单查询和连接查询实验目的:掌握简单表的数据查询、数据排序和数据联结查询的操作方法。实验内容:简单查询操作和连接查询操作。实验步骤:一. 单表查询:1. 查询全体学生的学号和姓名:select sno, sname from stu
21、dent2. 查询全体学生的所有信息:select * from student或者select sno, sname, ssex,sage, sdept from student3. 查询全体学生的姓名, 出生年份,和所在系, 并用小写字母表示所有系名:select sname, 出生年份为: , year(getdate() - sage, lower(sdept) from student4. 给上例的结果集指定列名:select sname, 出生年份为: 出生, year(getdate()- sage 年份, lower(sdept) 系名from student5. 查询选修了课
22、程的学生的学号:select distinct sno from sc 比较: select sno from sc 6. 查询年龄在20岁以下的学生的姓名及其年龄:select sname, sage from student where sage207. 查询考试成绩有不及格的学生的学号:select distinct sno from sc where grade60比较: select sno from sc where grade608. 查询年龄在20-30岁直接的学生的姓名, 姓名, 所在系:select sname, ssex, sdept from student where
23、 sage between 20 and 30 9. 查询 IS,CS,MA系的所有学生的姓名和性别:select sname, ssex from student where sdept in (IS, MA,CS) 10. 查找所有姓李的学生的姓名, 学号和性别:select sname, sno, ssex from student where sname like 李%比较: 将学生表中的95001号学生的姓名李勇改为李勇勇, 再执行:select sname, sno, ssex from student where sname like 李_11. 查询没有先行课的课程的课程号cn
24、o和课程名cname:select cno, cname from course where pcno is null二. 查询结果排序12. 查询选修了3号课程的学生的学号和成绩, 并按分数降序排列: select sno, grade from sc where cno=3 order by grade DESC23. 查询全体学生的情况,查询结果按所在系号升序排列, 同一系中的学生按年龄降序排列: select * from student order by sdept ASC, sage DESC三. 连接查询:14. 查询每个学生及其选修课程的情况: select student.*
25、, sc.* from student, sc where student.sno=sc.sno 比较: 笛卡尔集: select student.*, sc.* from student, sc 自然连接: select student.sno, sname, ssex, sdept, cno, grade from student, sc where student.sno=sc.sno15. 查询每一门课程的间接先行课(只求两层即先行课的先行课):select Fo, Second.pcno 间接先行课from course First, course Second where Firs
26、t.pcno=So比较: select Fo, Second.pcno 间接先行课 from course First, course Second where First.pcno=So and Second.pcno is not null16. 列出所有学生的基本情况和选课情况, 若没有选课,则只列出基本情况信息: SQL Server 中: select s.sno, sname, ssex,sdept, cno, grade from student s, sc sc where s.sno*=sc.sno17. 查询每个学生的学号, 姓名, 选修的课程名和成绩: select S.sno, sname, cname, grade from student S, course C, sc SC where S.sno=SC.sno and C.cno=SC.cno思考:如何求出不及格学生的学号, 姓名, 不及格的课程名以及成绩。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1