版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程代码010000450数据库database学分:3总学时:48实验学时:16面向专业:信息与计算科学,数学与应用数学一、实验教学目标数据库是计算机科学与技术专业的专业必修课程。课程内容主要包括:数据模型、关系代数、 关系数据库标准语言sql、关系系统、关系数据理论、数据库设计方法。学习本课程的过程中,只 有通过上机实验,才能使学生真正深层次了解数据库系统的体系结构,掌握数据库系统的基础理论、 技术和方法,掌握主流数据库管理系统sql server 2000的应用技术及数据库应用系统的设计、开 发能力。二、实验教学基本要求认真阅读教材中与实验相关的章节内容,提前做好实验准备,做到在每个实验
2、前明确实验目的、 掌握实验的基本内容及操作方法;在实验中正确使用实验设备,认真观察、分析实验结果;实验后 要根据要求做好总结,写出实验报告。三、实验教材或实验指导书数据库系统概论,萨师垣王珊主编,高等教育出版社四、考核方式与评分办法实验成绩评定分两部分:上机实验操作占50%,实验报告占50%。五、实验项目设置序号实验项目名称实验 学时实验 类型实验 要求主要设备(用品) 台(套)数1安装 sql server 20002综合必开862启动sql server2000和建库、表2综合必开863sql server2000查询分析器2综合必开864sql语言的ddl2综合必开865sql语言的dm
3、l2综合必开866dml的数据查询2综合必开867sql语言的dcl2综合必开868sql语言综合练习2综合必开86六、实验内容与实验方式实验一 安装 sql server 2000(一)实验内容1. 安装microsoft的数据库服务软件sql server 2000。以sql server2000企业版为例安装教程第一步:打开安装文件中的“aut0run”文件,安装程序会自动运行出现版本选择界面,我们 以选择企业版为例。第二步:在接下來的界面中选择“安装数据库服务器”选项。第三步:这时出现安装向导,出现“计算机名”窗口。“本地计算机”是默认选项,其名称就 显示在上面,我们按其默认点“下一步
4、”。第四步:接下来,在“安装选择”对话窗口中,同样按其默认项“创建新的sql server实例, 或安装客户端工具”点下一步。笫五步:在用户信息窗口,输入用户信息,并接受软件许可证协议。第六步:在安装定义窗口,选择服务器和客户端工具选项进行安装。我们需要将服务 器和客户端同时安装,这样在同一台机器上,我们可以完成相关的所有操作,对于我们学习sql server很有用处。如果你已经在其它机器上安装了 sql server,则可以只安装客户端工具,用于 对其它机器上sql server的存取。第七步:在实例名窗口,选择默认的实例名称。这时本sql server的名称将和windows 2000服务
5、器的名称相同。第八步:在安装类型窗口,选择典型安装选项,并指定目的文件夹。第九步:在服务账号窗口,请选择对每个服务使用统一账户的选项。在服务设 置处,选择使用本地系统账户。如果需要使用域用户账户的话,请将该用户添加至windows server的本机管理员组屮。第十步:在身份验证模式窗口,请选择混合模式选项,并设置管理员账号的 密码。如果需要更高的安全性,则可以选择"windows身份验证模式",这时就只有windows server 的本地用户和域用户才能使用sql server to第十一步:在选择许可模式窗口,根据您购买的类型和数量输入(0表示没有数量限制)。 每客户
6、表示同一时i'可最多允许的连接数,处理器许可证表示该服务器最多能安装多少个cpu。 笔者这里选择了 每客户并输入了 100作为示例。第十二步:约10多分钟的安装时间,然后打开开始菜单下的sql子目录下的企业管理器。2. 熟悉软件的使用以及各个组成部分。第一:打开企业管理器,可以对本地的数据进行管理,也可以登录服务器端,即可以远程操作 自己的数据库;第二:登录查询分析器,可以通过sql管理语句,对数据库进行管理。(二)实验方式与分组要求老师先讲解十分钟,学生上机操作数据库sqlserver2000,最后老师检查操作结果。每次86 组,每组1人。实验二 启动sql server2000和建
7、库、表(一)实验内容1.启动数据库服务软件sql server 20000第一步:打开企业管理器,可以登录服务器端,即可以远程操作白己的数据库,登录步骤如下; 第二步:左侧方框中控制台根目录的子目录的sql server组上,右击,并新建sql server注册; 第三步:在“服务器”一栏里输入想要登录的服务器ip地址,选择使用sql server身份验证, 写入登录名和密码,就可以登录了。第四步:登录查询分析器,可以通过sql管理语句,对数据库进行管理。2在sql server 2000中建立数据库。第一步:通过企业管理器进入服务器端以后,可以在数据库文件里“新建数据库”。第二步:输入数据库
8、名称。第三步:通过相关需求对数据库的相关屈性进行设置,然后完成。3. 在数据库上建立表。第一步:登录企业管理器第二步:进入自己的database,并打开“表”选项;第三步:在表选项右侧空白处,点击右键,选择“新建表”;第四步:在弹出的窗口中,分别填写列名,数据类型,长度和是否允许空值,然后关闭窗口。第五步:关闭窗口会弹出是否保存表,选择是,接下来弹出的窗口中填写表名即可。(二)实验方式与分组要求老师先讲解十分钟,学生上机操作数据库sqlserver2000,最后老师检查操作结果。每次86 组,每组1人。实验三sql server2000查询分析器(一)实验内容1. 启动数据库服务软件sql s
9、erver 2000的查询分析器。第一步:在登录企业管理器的前提下,登录查询分析器。第二步:登录查询分析器与登录企业管理器类似,需要输入ip地址或者如果是本地数据库, 直接用windows身份验证即对。2. 在查询分析器屮建立表。第一步:在查询分析器命令栏里输入以下语句:定义一个学生-课程模式s-tcreate schema “st" authorization wang/*为用户wang定义了一个模式s-t*/然后点击“分析查询”和“执行查询”。第二步:在查询分析器命令栏里输入以下语句:建立“学生”表student,学号是主码,姓名収值唯一create table student(
10、sno char(9) primary key, /*列级完整性约束条件*/ sname char(20) unique, /* sname 取唯一值*/ ssex char(2),sage smallint,sdept char(20);然后点击“分析查询”和“执行查询”。(二)实验方式与分组要求老师先讲解十分钟,学生上机操作数据库sqlserver2000,最后老师检查操作结果。每次86 组,每组1人。实验四sql语言的ddl(一)实验内容1. 用如下语句对表进行操作:create table 建表;drop table删除表;alter table更改 表。create table st
11、udent(sno char(4) primary key)drop table student /*当student表与其他数据有级联关系或者其他关系吋,不能删除。*/alter table student add s_entrance date null/*向 student 表增加“入学时间”列,其数 据类型为日期型*/alter table student drop column sno /*删除 student 表中的 sno 这一列,含有以下关系的 列不能被删除:被复制列。用在索引中的列。用在 check、foreign key、unique 或 primary key 约束中的列
12、。有相关联的默认值(市default关键字定义)的列,或绑定到默认对象的列。 绑定到规则的列。*/2. 用如卞语句对视图进行操作:create view建视图;drop view删除视图。/*创建一个is.student视图,视图中返回来自于表student中sdepuis,的所有学生的 sno,sname,sage 列*/create view is.studentasselect sno,sname,sagefrom studentwhere sdept='is,/*删除 is_student 视图*/drop view is_student3. 如下语句对索引进行操作:creat
13、e index建立索引;drop index删除索引。/*创建一个stusname索引,在student表中以sname列升序排列*/create clustered index stusnameon student(sname)/*删除student表屮的stusname索引*/drop index student.stusname(二)实验方式与分组要求老师先讲解十分钟,学生上机操作数据库sqlserver2000,最后老师检查操作结果。每次86 组,每组1人。实验五sql语言的dml(一)实验内容1. 启动数据库服务软件sql server 2000的查询分析器,用insert语句对表进
14、行插入操作。/*将一个新学生元组(学号:200215128;姓名:陈冬;性別:男;所在系:is;年龄:18岁) 插入到student表中*/insertinto student (sno, sname, ssex, sdept, sage)values (' 200215128','陈冬','男','is', 18)/*学生张成民的信息插入到student表中*/insertinto studentvalues (' 200215126','张成民',18,' cs','男&
15、#39;)/*对表student中每一个系,求学生的平均年龄,并把结果存入表dept_age表屮。*/第一步:create table dept age(sdept char(15),/* 系名*/avg_age smallint)/*学生平均年龄*/第二步:insertinto dept_ age(sdept, avg age)select sdept, avg(sage)from student group by sdept2. 用update语句对表屮已有的记录进行修改。/*将学生200215121的年龄改为22岁*/update studentset sage=22where sno二
16、'200215121'/*将所有学生的年龄增加1岁*/update studentset sage= sage+1/*将cs系全体学生的成绩置零*/update scset grade=0where 'cs'= (select sdeptfrom studentwhere student. sno = sc. sno)3. 用delete语句对表中己有的记录进行删除。/*删除学号为200215128的学生记录*/deletefrom studentwhere sno= '200215128 '/*删除所有的学生选课记录*/deletefrom s
17、c/*删除计算机科学系所有学生的选课记录*/deletefrom scwhere 'cs'= (select sdeptfrom studentwhere student.sno二sc. sno)(二)实验方式与分组要求老师先讲解十分钟,学生上机操作数据库sqlserver2000,最后老师检查操作结果。每次86 组,每组1人。实验六 dml的数据查询(一)实验内容1.启动数据库服务软件sql server 2000的查询分析器,用select语句对表进行简单查询 操作。/*查询全体学生的学号与姓名。*/select sno, snamefrom student;/*查询全体学
18、生的详细记录。*/select *from student;/*指定distinct关键词,去掉表屮重复的行*/select distinct snofrom sc/*查询考试成绩有不及格的学生的学号*/select distinct snofrom scwhere grade<60/*查询年龄在2023岁(包括20岁和23岁)之i、可的学生的姓名、系别和年龄*/select sname, sdept, sagefrom studentwhere sage between 20 and 23/*查询信息系(is)、数学系(ma)和计算机科学系(cs)学生的姓名和性别。*/select s
19、name, ssexfrom studentwhere sdept in (' is,, 'ma', cs')/*查询学号为200215121的学生的详细情况c */select *from studentwhere sno like '200215121'/*查询选修1号课程的学生最高分数。*/select max(grade)from scwhere cno= '1 '2. 用select语句对表进行连接查询操作,连接查询涉及被连接和连接两个表。 等值连接:连接运算符为二/*查询每个学生及英选修课程的情况*/select st
20、udent. *, sc. *from student, scwhere student. sno = sc. sno自然连接:/*查询每个学生及英选修课程的情况*/select student. sno, sname, ssex, sage, sdept, cno, gradefrom student,scwhere student.sno = sc. sno自身连接:查询每一门课的间接先修课(即先修课的先修课)select first. cno, second. cpnofrom course first, course secondwhere first. cpno = second.
21、cno外连接:/*查询每个学生及英选修课程的情况(包括student表中不满足条件的元组)*/select student. sno, sname, ssex, sage, sdept, cno, gradefrom student left out join sc on (student. sno=sc. sno);复合条件连接:where子句屮含多个连接条件:/*查询每个学生的学号、姓名、选修的课程名及成绩*/select student. sno,sname, cname, gradefrom student, sc, course/*多表连接*/where student. sno =
22、 sc. snoand sc. cno = course. cno3. 用select语句对表进行嵌套查询操作。带有in谓词的子查询:/*查询与“刘晨”在同一个系学习的学生。此查询要求可以分步來完成*/select sno, sname, sdeptfrom studentwhere sdept in(select sdeptfrom studentwhere sname=,刘晨')带有比较运算符的子查询/*假设一个学生只可能在一个系学习,并且必须属于一个系,则在上例中可以用=代替in*/select sno, sname, sdeptfrom studentwhere sdept =
23、( select sdeptfrom studentwhere sname=刘晨')带有any (some)或all谓词的子查询/*查询其他系中比计算机科学某一学生年龄小的学生姓名和年龄*/select sname, sagefrom studentwhere sage < any (select sagefrom studentwhere sdept= ' cs,)and sdept <> ' cs/*父查询块中的条件*/带有exists谓词的子查询查询没有选修1号课程的学生姓名。select snamefrom studentwhere not e
24、xists(select *from scwhere sno = student. sno and cno 二t');4.用select语句对表进行组合查询操作。/*查询计算机科学系的学生及年龄不大于19岁的学生。*/select *from studentwhere sdept= ' cs'union aunion:将多个查询结果合并起来时,系统自动去掉重复元组。*/select *from studentwhere sage<=19;/*查询计算机科学系的学生与年龄不大于19岁的学生的交集*/select *from studentwhere sdept二
25、39;cs'intersectselect *from studentwhere sage<=19/*sql server 2000中没有intersect的这样的用法*/*查询计算机科学系的学生与年龄不大于19岁的学生的差集。*/select *from studentwhere sdept二'cs'exceptselect *from studentwhere sage <=19/*sql server 2000中没有except的这样的用法*/.(二)实验方式与分组要求老师先讲解十分钟,学生上机操作数据库sqlserver2000,最后老师检查操作结果
26、。每次86 组,每组1人。实验七sql语言的dcl(一)实验内容1. 启动数据库服务软件sql server 2000的查询分析器,用grant语句对数据库存取权限进行 授权操作。/*把查询student表权限授给用户u1*/grant selecton studentto u1/*把对student表和course表的全部权限授予用户u2和u3,但是在sql server 2000中不允 许同时对多个表的授权语句*/grant all privilegeson student, courseto u2,u3;/*把对表sc的insert权限授y u5用户,并允许他再将此权限授予其他用户*/g
27、rant inserton table scto u5with grant option2. 用revoke语句将dba(数据库管理员)、dbo(建库用户)授与其它用户对数据库的操作权 收回。/*把用户u4修改学生学号的权限收冋*/revoke update(sno)on studentfrom u4;/*收回所有用户对表sc的查询权限*/revoke selecton scfrom public;/*把用户u5对sc表的insert权限收回*/revoke inserton table scfrom u5 cascade(二)实验方式与分组要求老师先讲解十分钟,学生上机操作数据库sqlser
28、ver2000,最后老师检查操作结果。每次86 组,每组1人。实验八sql语言综合练习(一)实验内容1启动数据库服务软件sql server 2000的查询分析器,用create table建表;/*建立“学生”表student,学号是主码,姓名取值唯一。*/create table student(sno char (9) primary key, /*列级完整性约束条件*/sname char (20) untque, /* sname 取唯一值*/ssex ci1ar(2),sagesmall1nt,sdept char(20);2. 用insert into向表中插入记录;/*将一个新学生元组
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三年级上册第三单元备课教案 语文园地三
- 咨询报告合同三篇
- 护栏养护合同范本
- 河北省沧州市三校联考2024-2025学年高三上学期11月期中考试语文试题(无答案)
- 债务管理策略计划
- 关爱每一个小宝贝计划
- 承租农田合同范本
- 河南省焦作市(2024年-2025年小学五年级语文)统编版开学考试(上学期)试卷及答案
- 装饰工程施工企业合同范本
- 酒店建筑合同范本
- 申论之大作文课件
- 煤矿事故复盘分析报告
- 铁道运输职业生涯规划书
- 天津美术馆分析报告
- 《魏晋南北朝的科技与文化》【常规课件】
- 安全访问控制策略
- 跨境电商方案的可行性报告
- 职业生涯规划大赛公务员
- 【企业应收账款管理探究文献综述2600字】
- 生产工艺中的工艺参数优化与调整
- 2024年河南兴港投资集团招聘笔试参考题库含答案解析
评论
0/150
提交评论