数据库实验Word文档下载推荐.docx

上传人:b****2 文档编号:680148 上传时间:2023-04-29 格式:DOCX 页数:51 大小:1.45MB
下载 相关 举报
数据库实验Word文档下载推荐.docx_第1页
第1页 / 共51页
数据库实验Word文档下载推荐.docx_第2页
第2页 / 共51页
数据库实验Word文档下载推荐.docx_第3页
第3页 / 共51页
数据库实验Word文档下载推荐.docx_第4页
第4页 / 共51页
数据库实验Word文档下载推荐.docx_第5页
第5页 / 共51页
数据库实验Word文档下载推荐.docx_第6页
第6页 / 共51页
数据库实验Word文档下载推荐.docx_第7页
第7页 / 共51页
数据库实验Word文档下载推荐.docx_第8页
第8页 / 共51页
数据库实验Word文档下载推荐.docx_第9页
第9页 / 共51页
数据库实验Word文档下载推荐.docx_第10页
第10页 / 共51页
数据库实验Word文档下载推荐.docx_第11页
第11页 / 共51页
数据库实验Word文档下载推荐.docx_第12页
第12页 / 共51页
数据库实验Word文档下载推荐.docx_第13页
第13页 / 共51页
数据库实验Word文档下载推荐.docx_第14页
第14页 / 共51页
数据库实验Word文档下载推荐.docx_第15页
第15页 / 共51页
数据库实验Word文档下载推荐.docx_第16页
第16页 / 共51页
数据库实验Word文档下载推荐.docx_第17页
第17页 / 共51页
数据库实验Word文档下载推荐.docx_第18页
第18页 / 共51页
数据库实验Word文档下载推荐.docx_第19页
第19页 / 共51页
数据库实验Word文档下载推荐.docx_第20页
第20页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库实验Word文档下载推荐.docx

《数据库实验Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据库实验Word文档下载推荐.docx(51页珍藏版)》请在冰点文库上搜索。

数据库实验Word文档下载推荐.docx

2.启动SQL查询分析器

3.掌握创建数据库和表分别是CREATEDATABASE和CREATETABLE

四、注意事项:

1.在MicrosoftSQLServer2000的查询分析器(QueryAnalyzer)中使用单条SQL语句,其末尾不需要分号“;

”作为命令结尾标记。

2.通常,SQLServer2000对大多数末尾带有分号的SQL命令都能顺利执行,但对少数的SQL命令,末尾若带分号,则SQLServer2000会给出错误信息提示。

五、实验学时:

2学时

六、实验重点及难点:

1.列级完整性约束条件

2.空值的概念

3.CREATEDATABASE和CREATETABLE的用法

七、实验步骤:

(一)企业管理器创建数据库和表

1.启动企业管理器;

1.打开所有程序,找到MicrosoftSQLServer2008打开。

SQLServerManagementStudio打开。

输入服务器名称(即完整计算机名称B005(本机))。

完成启动企业管理。

2.创建数据库Company。

1.在新建查询中输入SQL语句:

createdatabaseCompany;

执行完成创建数据库Company。

即完成创建数据库Company。

(二)T-SQL语句创建数据库和表

1.创建数据库University,并创建一个主数据文件University_Data和一个日志文件University_Log;

1.创建数据库University。

使用SQL语句:

createdatabaseUniversity;

2.创建一个主数据文件University_Data和一个日志文件University_Log;

然后按路径找到行数据和日志。

3.建立表5.3所示的学生表Students,各属性为Sno-学号、Sname-姓名、Ssex-性别、Sage-年龄、Sdept-所在系。

要求Sno和Sname不能为空值,且取值唯一,Sno为键码。

1.首先创建Students表。

createtableStudents

(Snochar(9)primarykey,

Snamechar(20)unique,

Ssexchar

(2),

Sagesmallint,

Sdeptchar(20)

);

用select*fromStudents语句;

查询已建表:

2.插入表5.3中的数据。

insert

intoStudents(Sno,Sname,Ssex,Sage,Sdept)

values('

S01'

'

王建平'

男'

21,'

自动化'

);

S02'

刘华'

女'

19,'

S03'

范林军'

18,'

计算机'

S04'

李伟'

数学'

S05'

黄河'

S06'

长江'

20,'

再次使用查询语句select*fromStudents;

运行结果:

4.建立表5.4所示的课程表Courses,各属性为Cno-课程号,Cname-课程名,Pre_Cno-先修课程号,Credits-学分,要求Cno和Cname不能为空值,Cno取值唯一,且为键码。

首先创建Courses表。

createtableCourses

(Cnochar(9)notnullprimarykey,

Cnamechar(20)uniquenotnull,

Pre_Cnochar(4),

Creditssmallint,

使用insertinto语句插入数据,如图所示:

insert

intoCourses(Cno,Cname,Pre_Cno,Credits)

C01'

英语'

null'

4);

intoCourses(Cno,Cname,Pre_Cno,Credits)

C02'

数据结构'

C05'

2);

C03'

数据库'

C04'

DB_设计'

3);

C++'

C06'

网络原理'

C07'

操作系统'

查询结果:

select*fromCourses;

5.建立表5.5所示的成绩表Reports。

各属性名为Sno-学号,Cno-课程号和Grade-考试成绩,要求Sno和Cno不能为空,且取值唯一,Sno+Cno为键码。

使用SQL语句创建表Reports:

createtableReports

(Snochar(9)notnull,

Cnochar(9)notnull,

Gradesmallint,

primarykey(Sno,Cno),

foreignkey(Sno)referencesStudents(Sno),

foreignkey(Cno)referencesCourses(Cno)

使用SQL语句插入数据:

intoReports(Sno,Cno,Grade)

values('

92);

84);

90);

94);

82);

72);

75);

查询结果:

6.在相关表上建立索引。

创建各个表的索引:

createuniqueindexStusnoonStudents(Sno);

createuniqueindexCoucnoonCourses(Cno);

createuniqueindexCSnoonReports(Sno,Cno);

Students、Courses、Reports表的创建查询结果:

实验二SQL基本表的插入、修改和删除

熟练掌握基本表的插入、修改和删除,为后继学习作准备。

1.了解并掌握SQL查询分析器及企业管理器的使用;

2.掌握基本表的插入、删除与修改。

1.启动SQL查询分析器

2.掌握进行插入、删除与修改分别是INSERT、DROP和UPDATE

1.注意每次对表的修改,命令执行完后要查看表的变动刷新表。

2.特别注意在执行插入、删除与修改等更新操作时,要保证数据的完整性。

3.SQLServer2000增加了删除属性的命令。

六、实验重点及难点

1.T-SQL语句对基本表的定义进行删除与修改,并插入基本表数据。

2.T-SQL语句对数据库操作的灵活控制功能。

1.启动SQL查询分析器;

2.选择SQLSERVER后,按确认;

3.选择University数据库;

4.验证如下例题:

4.1修改基本表

向基本表Students中增加“入学时间”属性列,其属性名为Sentrancedate,数据类型为DATETIME型。

altertableStudentsADDSentrancedatedatetime;

在Students表中增加属性列Sentrancedate

将Sage(年龄)的数据类型改为SMALLINT型。

SQL语句:

altertableStudentsaltercolumnSagesmallint;

将STudents表中的Sage的数据类型改为smallint。

删除Sname(姓名)必须取唯一值的约束。

SQL语句:

altertableStudentsdropconstraintUQ__Students__52723D276262D465;

说明:

为了保证后面例子能够顺利运行,请大家一定将属性列Sentrancedate从Students表中删除。

为了调试SQL语句方便,这里没有在表Reports中增加参照完整性约束,甚至没有定义主键。

4.2删除Students表。

因为Students表中有Reports表的外码,故只有删除Repors表后才能删除Students表。

SQL语句:

droptableReports;

droptableStudents;

此表删除后,请立即将其建立起来,以便后面的例子使用。

4.3向表中添加元组

将一个学生元组(S01,王建平,男,21,计算机)添加到基本表Students中。

values('

请同学们用这个命令,按表5.3提供的数据,将其余5个学生的元组也添加到基本表Students中。

执行结果:

向Courses表插入元组(‘C01’,’英语’,’’,4)。

'

请同学们用这个命令,按表5.4提供的数据,将其余6门课程的信息插入Courses表中。

insert

intoCourses(Cno,Cname,Pre_Cno,Credits)

Insert

将学习成绩的元组(‘S01’,’C01’,92)添加到基本表Reports中。

intoReports(Sno,Cno,Geade)

运行结果:

实验三数据库的查询

一、实验目的及要求

1.熟练掌握SELECT查询语句的使用

2.掌握无条件、有条件查询及查询结果排序与分组

二、实验任务

1.掌握查询语句的一般格式。

2.掌握无条件、有条件查询及查询结果排序与分组

三、操作要点

1.进行查询时先进入查询分析器

2.明白了解无条件、有条件查询及查询结果排序与分组

四、注意事项

1.SELECT语句的基本语法格式

2.SELECT语句的执行方法

3.SELECT语句和ORDERBY子句的作用和用法

4.SELECT语句和GROUPBY子句的作用和用法

4学时

1.SELECT语句的基本语法

2.掌握数据汇总的方法

七、实验步骤

2.选择SQL SERVER后,按确认;

3.选择数据库University,

验证如下例题:

3.1查询全体学生的详细记录。

这是一个无条件的选择查询,其命令为:

selectSno,Sname,Ssex,Sage,Sdept

fromStudents;

运行结果为:

3.2查询全体学生的姓名(Sname)、学号(Sno)、所在系(Sdept)。

这是一个无条件的投影查询,其命令为:

selectSname,Sno,Sdept

3.3查询选修了课程的学生学号。

其命令为:

selectCno

fromCourses;

3.4查询数学系全体学生的学号(Sno)和姓名(Sname)。

selectSno,Sname

fromStudents

whereSdept='

;

运行结果为:

3.5查询所有年龄在18~22岁(包括18岁和22岁)之间的学生姓名(Sname)及年龄(Sage)。

selectSname,Sage

whereSagebetween18and22;

3.6查询年龄不在18-22岁之间的学生姓名(Sname)及年龄(Sage)。

selectSname,Sage

fromStudents

whereSagenotbetween18and22;

运行结果为:

3.7查询自动化系、数学和计算机系学生的学号(Sno)、姓名(Sname)和性别(Ssex)。

selectSno,Sname,Sage

whereSdeptin('

3.8查询所有姓刘的学生的姓名(Sname)、学号(Sno)和性别(Ssex)。

selectSname,Sno,Ssex

whereSnamelike'

刘%'

运行结果为:

3.9查询课程名为“DB_设计”的课程号(Cno)和学分(Credits)。

selectCno,Credits

fromCourses

whereCname='

3.10查询以"

DB_"

开头,且倒数第2个汉字字符为“设”的课程的详细情况。

select*

whereCnamelike'

DB\_设_'

escape'

\'

3.11假设某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。

试查询缺少成绩的学生的学号(Sno)和相应的课程号(Cno)。

fromReports

whereGradeisnull;

3.12查询全体学生情况,查询结果按所在系的系名(Sdpet)升序排列,同一系中的学生按年龄(Sage)降序排列。

select*

orderbySdept,Sagedesc;

3.13查询学生总人数。

selectcount(*)'

学生总人数'

fromStudents;

3.14查询选修了课程的学生人数。

selectcount(distinctSno)'

选修课总人数'

fromReports;

3.15计算选修C01号课程的学生平均成绩。

selectavg(Grade)'

C01号课程平均分'

whereCno='

3.16查询选修C01号课程的学生最高分数。

selectmax(Grade)'

C01号课程最高分'

3.17对课本的select案例3.16~3.42进行实现

课本的Student_Course数据库各表为:

案例1:

查询全体学生的学号与姓名

命令为:

selectSno,SnamefromStudent;

案例2:

查询全体学生的姓名、学号、所在系

命令为:

selectSname,Sno,SdeptfromStudent;

案例4:

查询全体学生的姓名及其出生年份

selectSname,2016-Sage'

2016-Sage'

fromStudent;

案例5:

查询全体学生的姓名、出生年份和所在院系,要求用小写字母表示系名

selectSname,'

YearofBirth'

2014-Sage'

LOWER(Sdept)'

LOWER(Sdept)'

案例6:

查询选修了课程的学生学号

selectSnofromSC;

案例7:

查询计算机系全体学生的名单

selectSnamefromStudentwhereSdept='

CS'

案例8:

查询所有年龄在20岁以下的学生姓名及其年龄

selectSname,SagefromStudentwhereSage<

20;

案例9:

查询考试成绩不及格的学生的学号

命令为:

selectdistinctSnofromSCwhereGrade<

60;

案例10:

查询年龄在20~23岁(包含20岁和23岁)之间的学生的姓名、系别和年龄

selectSname,Sdept,SagefromStudentwhereSagebetween20and23;

运行结果为:

案例11:

查询年龄不在20~23岁之间的学生的姓名、系别和年龄

selectSname,Sdept,SagefromStudentwhereSage

notbetween20and23;

案例12:

查询计算机系、数学系和信息系的学生的姓名和性别

selectSname,SsexfromStudentwhereSdeptin('

MA'

IS'

运行

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2