ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:28.19KB ,
资源ID:5279176      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5279176.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库原理实验报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库原理实验报告.docx

1、数据库原理实验报告实 验 一实验项目名称: SQL Server 2000系统的配置及基本操作实验主要内容及方法 熟悉实验环境实验主要内容及方法 熟悉实验环境实验要求:1、了解SQL Server 2000的启动,熟悉如何在SQL Server 2000图形环境下建立数据库和表。2、了解SQL Server 2000系统的相关服务及常用工具。实验设备:装有SQLSERVER2000的电脑实验步骤:1、 启动和停止SQL Servera.用服务管理器启动和停止SQL Server选择菜单“程序|Microsoft SQL Server|服务管理器”。b.自动启动SQL Server使用手动启动弹

2、出“SQL Server服务管理器”后,选择复选框“当启动OS时自动启动服务”后,下次开机时系统即可自动启动SQL Server。c.用操作系统控制面板中的服务管理程序启动和停止SQL Server(1) 择菜单“程序|管理工具|服务”,弹出“服务”对话框。(2) 鼠标右击要启动的服务器名称,即:MSSQLSERVER,弹出菜单后,选择“启动”菜单项,就可启动SQL Server;类似的方法,可以停止SQL Server。2、使用企业管理器a.启动企业管理器选择菜单“程序|Microsoft SQL Server|服务管理器”。b.启动和停止SQL Server在企业管理器中所要启动的服务器上

3、点鼠标右击,从快捷菜单中选择“连接”,即可启动并连接;类似的方法,可以停止SQL Server。c.浏览master 和pubs数据库的结构3、 使用查询分析器a.启动查询分析器选择“程序|Microsoft SQL Server|查询分析器”菜单后,弹出“连接到SQL Server服务器”对话框。用户输入SQL Server服务器的名称和身份验证后,即可进入查询分析器。注:身份验证可以使用“Windows身份验证”或“SQL Server身份验证”。b. 从表中查询数据:首先选择当前使用的数据库为pubs,然后在查询分析器的查询窗口中输入SQL语句Select * from titles点击

4、按钮,执行该SQL语句,观察执行结果。执行结果:(服务器: 消息 208,级别 16,状态 1,行 1;对象名 pubs 无效。)c.练习T-SQL中的函数如求200的平方根在查询分析器的查询窗口中输入select sqrt(200)go观察执行结果。执行结果:(14.142135623730951)实验总结:1、了解SQL Server 2000的启动。2、了解SQL Server 2000系统的相关服务及常用工具。实 验 二实验项目名称 sql数据定义语言的应用实验主要内容及方法 数据库、数据表、视图、索引的定义、删除及修改实验要求:1、 解并掌握SQL查询分析器及企业管理器的使用。2、

5、握数据库、基本表、索引的定义、删除与修改。实验目的:熟练掌握库、表的定义、删除与修改,为后继学习作准备。实验设备:装有SQLSERVER2000的电脑实验步骤:表scSnoCnoGradeS01S01S02S02S02S03S03S04C01C03C01C02C03C01C02C039284909482729075表CoursesCnoCnamePre_CnoCreditsC01C02C03C04C05C06C07英语数据结构数据库DB_设计C+网络原理操作系统C05C02C03C07C054223333表StudentsSnoSnameSsexSageSdeptS01S02S03S04S05

6、S06S07S08S09S10王平刘华范君李伟黄河长江文涛杨丽欧浩刘洪男女女男男男男女男男21191819182017182119信息信息计算机计算机数学数学信息历史中文历史对于如下给定的数据表格进行实验表中数据可以自行给定。一、定义数据库1.用企业管理器创建数据库创建一个名称为Test的数据库,数据文件的初始大小设为5MB,文件增长增量设为2MB,文件增长方式设为自动增长,文件的增长上限设为50MB;日志文件的初始大小为10MB,文件增长增量为1MB,文件的增长限制设为100MB。具体创建步骤如下:1)进入SQL Server企业管理器2)展开目录树,在“数据库”选项上单击右键,选择“新建数

7、据库”。该窗口有3个选项卡:常规、数据文件和事务日志。输入数据库名称:Test,点击数据文件选项卡,在数据文件中,你可以设定数据文件的名称,所在目录以及文件的大小等信息。完成后点击事务日志选项卡, 事务日志中,你可以设定日志文件的名称,所在目录以及文件的大小等信息。接受系统的缺省值,点击确定按钮,完成数据库的新建。2.用T-SQL语言创建数据库CREATE DATABASE database_name 其他配置可以采用默认设置。练习:按以上要求,在查询分析器中用T-SQL语言创建数据库“Test”,写出SQL语句。Create database test 执行结果:CREATE DATABAS

8、E 进程正在磁盘 test 上分配 0.75 MB 的空间。CREATE DATABASE 进程正在磁盘 test_log 上分配 0.49 MB 的空间。3.查看并修改数据库的属性(1)进入企业管理器,鼠标右键单击数据库“Test”,选择“属性”,查看选项。将数据库Test数据文件的初始大小改为20MB,最大值改为80MB,数据增长改为5。二、定义基本表例1 建立表1.1所示的学生表Students,每个属性名的意义为Sno-学号、Sname-姓名、Ssex-性别、Sage-年龄、Sdept-所在系。这里要求Sno和Sname不能为空值,且取值唯一。CREATE TABLE Students

9、 /*列级完整性约束条件*/ (Sno CHAR(5) NOT NULL, /* Sno不能为空值*/ Sname CHAR(20) NOT NULL, /*Sname不能为空值*/ Ssex CHAR(2), Sage INT, Sdept CHAR(15), CONSTRAINT un_Sno UNIQUE(Sno), /* Sno取值唯一的约束*/ CONSTRAINT un_Sname UNIQUE(Sname); /* Sname取值唯一的约束*/ 在查询分析器中输入以上代码,点击执行按扭,即可得到空表Students.说明:在Microsoft SQL Server 2000的查询

10、分析器(Query Analyzer)中使用单条SQL语句,其末尾不需要分号“;”作为命令结尾标记。通常,SQL Server 2000对大多数末尾带有分号的SQL命令都能顺利执行,但对少数的SQL命令,末尾若带分号,则SQL Server 2000会给出错误信息提示。 例2 建立表1.2所示的课程表Courses,其属性名意义分别为Cno-课程号, Cname-课程名, Pre_Cno-先修课程号, Credits-学分。CREATE TABLE Courses (Cno CHAR(5) NOT NULL, /* Cno不能为空值*/ Cname CHAR(20) NOT NULL, /*C

11、name不能为空值*/ Pre_Cno CHAR(5), Credits INT, CONSTRAINT un_Cno UNIQUE(Cno); /*Cno取值唯一的约束*/例3 建立表1.3所示的成绩表Sc。其中的属性名意义分别为Sno-学号,Cno-课程号和Grade-考试成绩。 CREATE TABLE Sc ( Sno CHAR(5) NOT NULL, /* Sno不能为空值*/ Cno CHAR(5) NOT NULL, /* Cno不能为空值*/ Grade INT, CONSTRAINT Sno_Cno UNIQUE(Sno,Cno); /*Sno+Cno取值唯一的约束*/三、

12、 修改基本表例4 向基本表Students中增加“入学时间”属性列,其属性名为Sentrancedate,数据类型为DATETIME型。ALTER TABLE Students ADD Sentrancedate DATETIME例5 将Sage(年龄)的数据类型改为SMALLINT型。ALTER TABLE Students ALTER COLUMN Sage SMALLINT例6 删除Sname(姓名)必须取唯一值的约束。ALTER TABLE Students DROP CONSTRAINT un_SnameA注意:SQL Server 2000 增加了删除属性的命令。比如,删除属性列S

13、entrancedate的命令为:LTER TABLE Students DROP COLUMN Sentrancedate;说明: 为了保证后面例子能够顺利运行,请大家一定将属性列Sentrancedate从Students表中删除。为了调试SQL语句方便,这里没有在表Sc中增加参照完整性约束,甚至没有定义主键。四、 删除基本表例7 删除Students表。DROP TABLE Students;说明:此表删除后,请立即用例1将其建立起来,以便后面的例子使用。五、 建立索引例8 为学生选课数据库中的Students,Courses,Sc三个表建立索引。其中Students表按Sno(学号)升

14、序建唯一索引,Courses表按Cno(课程号)升序建唯一索引,Sc表按Sno(学号)升序和Cno(课程号)号降序建唯一索引。其语句为:CREATE UNIQUE INDEX Stu_Sno ON Students(Sno);CREATE UNIQUE INDEX Cou_Cno ON Courses(Cno);CREATE UNIQUE INDEX Rep_Scno ON Sc(Sno ASC, Cno DESC);例9 在基本表Students的Sname(姓名)和Sno(学号)列上建立一个聚簇索引,而且Students中的物理记录将按照Sname值和Sno值的升序存放。其语句为:CREA

15、TE CLUSTERED INDEX Stu_Sname_Sno ON Students(Sname, Sno);六、删除索引例10 删除基本表Sc上的Rep_SCno索引。DROP INDEX Sc.Rep_Scno;七、建立视图例11 建立数学系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生,视图的属性名为Sno,Sname,Sage,Sdept。CREATE VIEW C_StudentASSELECT Sno, Sname, Sage, Sdept FROM StudentsWHERE Sdept=数学WITH CHECK OPTION例12 建立学生的学号(Sn

16、o)、姓名(Sname)、选修课程名(Cname)及成绩(Grade)的视图。本视图由三个基本表的连接操作导出,其SQL语句如下:CREATE VIEW Student_CRASSELECT Students.Sno, Sname, Cname, GradeFROM Students, Sc, CoursesWHERE Students.Sno= Sc.Sno AND Sc.Cno=Courses.Cno例13 定义一个反映学生出生年份的视图。CREATE VIEW Student_birth(Sno, Sname, Sbirth)AS SELECT Sno, Sname, 1996-Sage

17、FROM Students八、删除视图例14 删除视图Student_CR。DROP VIEW Student_CR;实 验 三实验项目名称 sql 数据操纵语言的应用(6课时,综合)实验主要内容及方法 数据的各种操纵方法实验要求:(1) 掌握sql数据插入、修改、删除和查询语句的一般格式。(2) 掌握sql数据插入、修改、删除和查询使用方法。实验目的:熟练掌握四大语句的使用。实验设备:装有SQLSERVER2000的电脑实验步骤:一、插入数据1)采用insert语句将实验二给定的表格中数据插入数据库。表一:INSERT INTO Students VALUES(S01,王平,男,21,信息)

18、INSERT INTO Students VALUES(S02,刘华,女,19,信息)INSERT INTO Students VALUES(S03,范君,女,18,计算机)INSERT INTO Students VALUES(S04,李伟,男,19,计算机)INSERT INTO Students VALUES(S05,黄河,男,18,数学)INSERT INTO Students VALUES(S06,长江,男,20,数学)INSERT INTO Students VALUES(S07,文涛,男,17,信息)INSERT INTO Students VALUES(S08,杨丽,女,18,

19、历史)INSERT INTO Students VALUES(S09,欧浩,男,21,中文)INSERT INTO Students VALUES(S10,刘洪,男,19,历史)表二:insert into Courses(Cno,Cname,Credits)VALUES (C01,英语,4)insert into Courses VALUES(C02,数据结构,C05,2)insert into Courses VALUES(C03,数据库,C02,2)insert into Courses VALUES(C04,DB_设计,C03,3)insert into Courses (Cno,Cn

20、ame,Credits)VALUES(C05,C+,3)insert into Courses VALUES(C06,网络原理,C07,3)insert into Courses VALUES(C07,操作系统,C05,3)表三:INSERT INTO Sc VALUES(S01,C01,92)INSERT INTO Sc VALUES(S01,C03,84)INSERT INTO Sc VALUES(S02,C01,90)INSERT INTO Sc VALUES(S02,C02,94)INSERT INTO Sc VALUES(S02,C03,82)INSERT INTO Sc VALUE

21、S(S03,C01,72)INSERT INTO Sc VALUES(S03,C02,90)INSERT INTO Sc VALUES(S04,C03,75) (2) 在数据库中定义一个关系History_Student,其关系模式与Students完全一样,试将关系Students中的所有元组插入到关系History_Student中去。建立History_Student表create table History_Student (Sno CHAR(5) NOT NULL, /* Sno不能为空值*/ Sname CHAR(20) NOT NULL, /*Sname不能为空值*/ Ssex

22、CHAR(2), Sage INT, Sdept CHAR(15),);查询Students,并将查询结果插入History_Student表。insert into History_Student(Sno,Sname,Ssex,Sage,Sdept)select Sno,Sname,Ssex,Sage,Sdeptfrom Students二、修改数据1)将学号为“S03”的学生年龄改为22岁,即要修改满足条件的一个元组的属性值。update Studentsset Sage=22where Sno=S032)将所有学生的年龄增加1岁。即要修改多个元组的值。update Studentsset

23、 Sage=Sage+13)将数学系所有学生的成绩置零。注意:由于学生所在系的信息在Students表中,而学习成绩在Sc表中,因此,可以将SELECT子查询作为WHERE子句的条件表达式。update Scset grade=0where 数学=(select Sdeptfrom Studentswhere Students.Sno=Sc.Sno)三、删除数据1)删除学号为“S04”的学生选修的课号为“C02”的记录。delete from scwhere sno=s04 and cno=c022)删除所有学生的选课记录。delete from sc3)删除数学系所有学生的选课记录。dele

24、tefrom scwhere 数学=(select sdeptfrom studentswhere students.sno=sc.sno)四、 查询数据1、无条件查询1) 查询全体学生的详细记录select *from students2)查询全体学生的姓名(Sname)、学号(Sno)、所在系(Sdept)。select sname,sno,sdeptfrom students3)查询全体学生的姓名(Sname)、出生年份及学号(Sno)。提示:由于SELECT子句的不仅可以是表中的属性列,也可以是表达式,故可以查询经过计算的值。select sname,2010-sagefrom stu

25、dents4)查询全体学生的姓名、出生年份和学号,要求用小写字母表示学号中的字母。select sname,2010-sage, lower(sno)from students2、条件查询1)查询数学系全体学生的学号(Sno)和姓名 (Sname)。select sno,snamefrom studentswhere sdept=数学2)查询所有年龄在18-22岁(包括18岁和22岁)之间的学生姓名(Sname)及年龄(Sage)。select sname,sagefrom studentswhere 18=sage and sage=36、不同表之间的连接查询1)查询每个学生及其选修课程的情况。提示:本查询实际上是涉及Students与Sc两个表的连接操作。这两个表之间的联系是通过公共属性Sno实现的。select students.*,sc.*from students,scwhere students.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1