数据库原理实验指导书参考答案Word文档下载推荐.docx

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

数据库原理实验指导书参考答案Word文档下载推荐.docx

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

数据库原理实验指导书参考答案Word文档下载推荐.docx

(2)单击数据库,观察Northwind数据库下的11个项目,写出项目名称,通过联机帮助了解它们的基本功能。

(3)查看Northwind的表项目,单击表,观察表的名称、所有者、类型以及创建日期。

回答:

▪这些表的所有者有哪几种?

▪这些表的类型有哪几种?

▪选择表Employees,在右键菜单中选择打开表->

返回所有行,观察表中的数据,说出这些数据的实际含义。

观察其他用户类型的表,你还能说出它们数据的实际含义吗?

(4)查看Northwind的视图项目,单击视图,观察视图的名称、所有者、类型以及创建日期。

选择视图ProductSalesfor1997,同上面观察表中数据的方法一样,观察视图中的数据,说出这些数据的意义。

(5)查看Northwind的用户项目,单击用户。

▪有哪类用户?

查看它们的属性对话框,它们的角色和权限是否相同?

▪通过联机帮助,写出dbo、Guest用户的区别。

(6)查看Northwind的角色项目,单击角色。

▪有哪些角色类型?

通过查看联机帮助,写出它们各自的含义和作用。

(7)查看Northwind的安全性项目,单击项目中的登录,观察不同的登录名称、类型、服务器访问、默认数据库,找到你自己的登录名称,右键单击打开属性对话框,观察对话框中的设置,写出登录属性对话框中的设置作用。

4、熟悉查询分析器

(1)打开查询分析器。

▪单击注册的数据库服务器,确定服务器已经连接;

▪在主菜单“工具”中选择“SQL查询分析器”;

▪在打开的查询分析器窗口中,左侧的对象浏览器为注册的服务器,在工具栏的数据库选择中选择Northwind数据库为当前数据库;

右侧窗口为查询窗口。

(2)分别在查询窗口中输入如下查询语句,观察查询结果,写出结果的数据记录个数:

查询语句1:

SELECT*

FROMShippers

ORDERBYCompanyName

结果记录数:

查询语句2:

SELECTFirstName,HomePhone

FROMNorthwind.dbo.Employees

ORDERBYFirstNameASC

查询语句3:

SELECTROUND((UnitPrice*.9),2)ASDiscountPrice

FROMProducts

WHEREProductID=58

查询语句4:

SELECTOrderID,

DATEDIFF(dd,ShippedDate,GETDATE())ASDaysSinceShipped

FROMNorthwind.dbo.Orders

WHEREShippedDateISNOTNULL

查询语句5:

SELECTProductID,ProductName

FROMNorthwind.dbo.Products

WHERECategoryID=1ORCategoryID=4ORCategoryID=5

四、实验小结

五、评阅成绩

实验预习20%

实验过程20%

实验结果30%

实验报告30%

总成绩

实验二数据定义

1、掌握SQL数据定义功能:

数据库定义、表的定义、索引定义。

2、掌握利用企业管理器和SQL语句定义表、索引的方法。

1、SQL中基本表定义语句格式:

2、SQL中修改基本表语句格式:

1、在企业管理器中,利用菜单操作的方式在各自的数据库中建立如下四个基本表:

(1)供应商表S:

列名

说明

数据类型

约束

SNO

供应商号

CHAR(6)

PRIMARYKEY

SNAME

供应商名

VARCHAR(20)

NOTNULL

STATUS

供应商状态

VARCHAR(50)

CITY

所在城市

(2)零件表P:

PNO

零件号

PNAME

零件名

COLOR

颜色

CHAR

(2)

WEIGHT

重量

NUMERIC(9,2)

CHECK(WEIGHT>

0ANDWEIGHT<

=100)

(3)工程项目表J:

JNO

项目号

JNAME

项目名

城市

(4)供应情况表SPJ:

QTY

供应数量

SMALLINT

DEFAULT100

2、用CREATE语句建立如下三个表,并写出相应的语句。

(1)学生表Student:

学号

CHAR(7)

主码

姓名

CHAR(10)

SSEX

性别

取“男”或“女”

SAGE

年龄

取值15-45

SDEPT

所在系

默认“计算机系”

语句:

CREATETABLEStudent(

Snochar(7)PRIMARYKEY,

Snamechar(10)notnull,

Ssexchar

(2)CHECK(Ssex='

男'

orSsex='

女'

),

SagesmallintCHECK(Sage>

=15andSage<

=45),

Sdeptchar(20)DEFAULT'

计算机系'

(2)课程表Course:

CNO

课程号

CNAME

课程名

CCREDIT

学分

大于0

SEMSTER

学期

PERIOD

学时

CREATETABLECourse(

Cnochar(10)PRIMARYKEY,

Cnamevarchar(20)NOTNULL,

Ccreditsmallintcheck(ccredit>

0),

semstersmallintcheck(semster>

periodsmallintcheck(period>

0)

(3)选课表Sc:

主码,引用Student的外码

主码,引用Course的外码

GRADE

成绩

CREATETABLESC(

Snochar(7),

Cnochar(10),

Gradesmallintcheck(grade>

=0),

PRIMARYKEY(Sno,Cno),

FOREIGNKEY(Cno)REFERENCESCourse(Cno),

FOREIGNKEY(Sno)REFERENCESStudent(Sno)

3、利用SQL语句对表结构进行修改。

(1)为零件表P增加一个规格(GUIGE)列,数据类型为字符,长度50;

AlterTablePAddGUIGEchar(50)

(2)修改课程表Course的CNAME属性列的类型为VARCHAR(30);

AlterTableCourseAlterColumnCNAMEvarchar(30)

(3)为供应情况表SPJ添加参照完整性约束;

SPJ的SNO列参照S表SNO列

AlterTableSPJAddForeignKey(SNO)ReferencesS(SNO)

SPJ的PNO列参照P表PNO列

AlterTableSPJAddForeignKey(PNO)ReferencesP(PNO)

SPJ的JNO列参照J表JNO列

AlterTableSPJAddForeignKey(JNO)ReferencesJ(JNO)

(4)删除零件表P的规格(GUIGE)列

AlterTablePDropColumnGUIGE

4、利用企业管理器向表中添加数据

S1

精益

20

天津

S2

盛锡

10

北京

继续往表中增加一条记录:

四个字段的数据分别是S1,东方红,30,北京,会出现什么情况?

为什么?

P1

螺母

12

P2

螺栓

绿

17

P3

螺丝刀

105.5

是否能够正常输入三条数据?

如果否,问题出在哪里,为什么?

J1

一汽

J2

半导体厂

南京

J3

常州

第三条记录是否能够正常输入,若否,会出现什么问题,为什么?

SN0

200

J4

输入过程中是否会遇到问题,若有,出在哪,为什么?

实验三数据查询

1、掌握查询语句的基本组成和使用方法

2、掌握常用查询技巧

1、SQL中查询语句格式:

2、连接查询有哪些不同的连接方式?

有什么特点。

1、按照下表中的内容,在企业管理器中为数据库表输入相应的数据。

学生表:

Student

Sno

Sname

Ssex

Sage

Sdept

9512101

李勇

19

计算机系

9512103

王敏

9521101

张莉

22

信息系

9521102

吴宾

21

9521103

张海

9531101

钱小平

18

数学系

9531102

王大力

课程表:

Course

Cno

Cname

Ccredit

Semster

Period

C01

计算机导论

3

1

C02

VB

4

C03

计算机网络

7

C04

数据库基础

6

C05

高等数学

8

选课表:

SC

Grade

95

51

80

60

72

45

81

94

NULL

87

76

2、完成下列查询

(1)查询全体学生的信息。

select*fromstudent

(2)查询“信息系”学生的学号,姓名和出生年份。

selectSno,Sname,2009-SageasBirthyearfromstudentwhereSdept='

信息系'

(3)查询考试不及格的学生的学号。

selectDistinctSnofromSCwhereGrade<

(4)查询无考试成绩的学生的学号和相应的课程号。

selectSno,CnofromSCwhereGradeisnull

(5)将学生按年龄升序排序。

select*fromstudentorderbySageasc

(6)查询选修了课程的学生的学号和姓名。

SelectSno,SnamefromStudentWhereSnoin(SelectSnoFromSc)

或:

selectdistinctstudent.Sno,Snamefromstudent,SCwherestudent.Sno=SC.Sno

(7)查询年龄在20-23岁之间的学生的姓名,系,年龄。

selectSname,Sage,SdeptfromstudentwhereSagebetween20and23

(8)查询同时选修了“计算机导论”,“高等数学”课程的学生的学号,姓名。

selectstudent.Sno,SnamefromstudentwhereNOTEXISTS(

select*fromcoursewhere

Cnamein('

高等数学'

'

计算机导论'

)ANDNOTEXISTS(select*fromSCwhereSno=student.SnoandCno=course.Cno))

selectstudent.Sno,Snamefromstudent,sc,Coursewherestudent.sno=sc.snoando=oandcname='

andstudent.snoin(selectsnofromscwherecno=(selectcnofromcoursewherecname='

))

selectstudent.Sno,Snamefromstudentwheresnoin(selectsnofromscwherecno=(selectcnofromcoursewherecname='

))andsnoin(selectsnofromscwherecno=(selectcnofromcoursewherecname='

(9)查询姓“张”的学生的基本信息。

select*fromstudentwhereSnamelike'

张%'

(10)查询“95211”班学生的选课情况,要求输出学号,姓名,课程名,成绩,按照学号升序排序。

selectstudent.Sno,Sname,Cname,Gradefromstudent,SC,coursewherestudent.Sno=SC.Snoandcourse.Cno=SC.Cno

andstudent.Snolike'

95211%'

orderbystudent.Sno

andleft(student.sno,5)='

95211'

orderby1

(11)查询选修了课程的学生的总人数。

selectcount(distinctsno)fromSC

(12)查询选修了“C05”课程的的学生成绩单,要求输出学号,姓名,成绩,结果按班级升序,成绩降序排列。

selectstudent.Sno,Sname,Gradefromstudent,SCwherestudent.Sno=SC.SnoandCno='

C05'

orderbyleft(student.Sno,5)asc,Gradedesc

(13)统计各门课程的成绩,要求输出课程代号,课程名,平均成绩,选修人数。

(成绩为NULL值的不统计)

selectcourse.Cno,Cname,avg(Grade),count(Sno)fromcourse,Scwherecourse.Cno=SC.CnoandGradeisnotnullgroupbyCourse.Cno,Cname

(14)统计各门课程的不及格人数,要求输出课程代号,课程名,不及格人数。

selectCourse.Cno,Cname,count(Sno)fromSC,CoursewhereSC.Cno=course.Cno

andGrade<

60groupbyCourse.Cno,Cname

(15)查询选修平均成绩在75分以上的学生的学号,姓名,所在系。

selectsc.sno,sname,sdeptfromstudent,scwherestudent.sno=sc.snogroupbysc.sno,sname,sdepthavingavg(grade)>

75

selectsno,sname,sdeptfromstudentwhereSnoin(SelectSnoFromSCGroupBySnoHavingAvg(Grade)>

75)

(16)查询与“王大力”同一个系的学生的基本信息

select*fromstudentwheresdeptin(selectsdeptfromstudentwheresname='

王大力'

(17)查询选修平均分高于所有学生平均分的学生的学号,并按学号升序排列。

selectstudent.Snofromstudent,SCwherestudent.Sno=SC.Snogroupbystudent.Snohavingavg(Grade)>

(selectAvg(Grade)fromSC)orderbystudent.Snoasc

(18)查询未选修“VB”或“数据库基础”两门课的学生的学号,姓名,系名。

(要求用嵌套查询)

selectsno,sname,sdeptfromstudentwheresnonotin(selectsnofromscwherecnoin(selectcnofromcoursewherecnamein('

VB'

数据库基础'

)))

selectsno,sname,sdeptfromStudentwhereexists(

select*fromCoursewherecname='

andnotexists(

select*fromSCwheresno=Student.snoandcno=CoandCame!

='

(19)查询选修了全部课程的学生的学号,姓名,系名。

selectsno,sname,sdeptfromstudent

wherenotexists(select*fromcoursewherenotexists

(select*fromscwheresno=student.snoandcno=o))

wheresnoin(selectsnofromscgroupbysnohavingcount(cno)=(selectcoount(*)fromcourse))

(20)输出“高等数学”课程成绩前三名的学生的学号,姓名,系名

selecttop3student.sno,sname,sdeptfromstudent,sc,coursewherestudent.sno=sc.snoando=oandcname='

orderbygradedesc

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

当前位置:首页 > 工程科技 > 能源化工

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

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