数据库原理和应用实验指导书.docx

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

数据库原理和应用实验指导书.docx

《数据库原理和应用实验指导书.docx》由会员分享,可在线阅读,更多相关《数据库原理和应用实验指导书.docx(61页珍藏版)》请在冰点文库上搜索。

数据库原理和应用实验指导书.docx

数据库原理和应用实验指导书

4.新建表

(1)使用企业管理器建立student、course和SC三个表,其结构为:

Student(学生)

列名

描述

数据类型

允许空值

说明

Sno

学号

Varchar(20)

No

主键

Sname

姓名

Varchar(50)

No

Age

年龄

Int

YES

Sex

性别

char

(2)

YES

Dept

所在系

Varchar(50)

YES

Course(课程)

描述

数据类型

允许空值

说明

cno

课程号

Varchar(20)

No

主键

cname

课程名

Varchar(50)

No

credit

学分

Float

YES

pcno

先行课

Varchar(20)

YES

describe

课程描述

varchar(100)

YES

SC(选课)

描述

数据类型

允许空值

说明

sno

学号

Varchar(20)

No

主键(同时都是外键)

cno

课程号

Varchar(20)

No

grade

成绩

Float

YES

在SQLServer2000的数据库中,文件夹是按数据库对象的类型建立的,文件夹名是该数据库对象名。

当在企业管理器中选择服务器和数据库文件夹,并打开己定义好的学生选课数据库后。

会发现它自动设置了关系图、表、视图、存储过程、用户、角色、规则、默认等文件夹。

要建立“student”表,先选中学生选课数据库中的表文件夹,单击鼠标右键,在弹出的菜单中选择“新建表”,随后的输入表结构对话框。

输入表结构对话框是一张表,它的列属性有列名、数据类型、长度和是否允许空4项。

用户把新建表的结构填入对话框的表中,表中的每一行定义新建表(Course)的一列,每一列定义新建表的一个列属性。

当光标移到表中的某一行时,下面的列描述就会对应当前行显示输入项,用户可在其中对关系的属性进行进一步说明。

列描述包括数据的精度、小数位数、默认值、是否标识等项。

(2)使用T-SQL语句建立student,course,SC三个表

CreateTablestudent

snovarchar(20)primarykey,

Snamevarchar(50)notnull,

Ageint,

Sexchar

(2),

Deptvarchar(50)

);

Createtablecourse

cnovarchar(20)primarykey,

Cnamevarchar(50)notnull,

Creditfloatnotnull,

Pcnovarchar(20)notnull,

Describevarchar(100)notnull

);

CreatetableSC

snovarchar(20),

Cnovarchar(20),

Gradefloat,

primarykey(sno,cno),

foreignkey(sno)REFERENCESstudent(sno),

foreignkey(cno)REFERENCEScourse(cno)

);

5.定义表的完整性约束和索引

表的约束包括码(主键)约束、外键约束(关联或关系约束)、惟一性约束、Check(检查)约束4种。

这些约束可以在表属性对话框中定义。

(l)定义索引和键

选择“索引/键”页面,其界面如图10所示。

l)查看、修改或删除索引时,先要在“选定的索引”下拉列表框中选择索引名,其索引内容就显示在表中。

需要时,可以直接在表中修改索引内容。

如改变索引列名、改变排序方法等。

对于不需要的索引可以单击“删除”按钮,直接删除此索引。

2)新建一个索引时,单击“新建”按钮,并在下面的表中输入索引名、索引列名及排列顺序;

3)设置UNIQUE复选框,确定是否为惟一索引约束。

设置CLUSTERED复选框,确定是否为群集索引(CLUSTERED)。

(2)定义表间关联

选择表页面,其界面如图12所示。

l)查看、修改或删除表关联时,先要在“选定的关系”下拉列表框中选择关联名(即关系名),其关联内容就显示在表中。

需要时,可以直接在表中修改关联内容,例如改变主键、改变外键键等。

对于不需要的关联可以单击“删除”按钮,直接删除此关联。

2)新建一个关联时,单击“新建”按钮,选择库中的关联表(参照表)后,在表中输入关联名、主键和外键。

3)设置“创建中检查现存数据”复选框,确定新建关联时是否对数据进行检查,要求符合外键约束;设置“对复制强制关系”复选框。

确定在进行数据复制时是否要符合外键约束:

设置“对INSERT和UPDATE强制关系”复选框,确认在对数据插入和更新时,是否符合外键约束:

设置“级联更新相关的字段”复选框和“级联删除相关的记录”复选框,确认被参照关系的主键位被修改时,是否也将参照表中的对应的外键值修改,而被参照关系的上码值被删除时,是否也将参照表中对应外键的记录删除。

(3)定义CHECK约束

选择CHECK约束页面。

其界面如图13所示。

图12表属性对话框中的表关联页面图13表属性对话框中的约束页面

1)查看、修改或删除CHECK约束时,先要在“选定的约束”下拉列表框中选择约束名,其约束内容就显示在约束表达式框中。

需要时,可以直接在框中修改约束表达式。

对于不需要的CHECK约束可以按“删除”按钮,直接删除此约束。

2)新建一个CHECK约束时,单击“新建”按钮,并在表中输入约束名和约束表达式。

3)设置“创建中检查现存数据”,确认在创建约束时是否对表中数据进行检查,要求符合约束要求;设置“对复制强制约束”复合框,确认对数据复制时是否要求符合约束条件;设置“对INSERT和UPDATE强制约束”,确认在进行数据插入和数据修改时,是否要求符合约束条件。

6.修改表结构

(1)使用企业管理器修改表结构

当需要对建好的表修改结构时,首先要在企业管理器中找到该表,用鼠标右击该表名,就会弹出一个菜单,如图14所示。

随后,在弹出的菜单中选择“设计表”项,企业管理器会调出如图9所示的建表对话框,用户可对原有内容进行修改。

图14在弹出菜单中选择“设计表”项

(2)使用T-SQL语句修改表结构

可以使用Alter语句增加、删除或修改字段信息。

例如为学生表中增年龄字段增加约束,限制年龄至少要15岁:

ALTERTABLEstudentADDCONSTRAINTAGECHECK(AGE>15)

例如在学生表中增加班集字段为字符型,长度为50:

ALTERTABLEstudentADDClassvarchar(50)NULL

例如修改学生表中的班集字段的长度为20:

AlterTablestudentALTERCOLUMNClassvarchar(20)

例如删除学生表中的班集字段:

ALTERTABLEstudentDROPCOLUMNClass

四、注意事项

1.建表中如果出现错误,应采用相应的修改结构或删除结构的方法。

2.注意数据库的主键、外键和数据约束的定义。

五、思考题

1.数据库中一般不允许更改主键数据。

如果需要更改主键数据时,怎样处理?

2.为什么不能随意删除被参照表中的主键。

实验三数据库的建立和维护实验

本实验需要2学时。

一、实验目的

要求学生熟练掌握使用Transact-SQL和SQLServer企业管理器向数据库输入数据、修改数据和删除数据的操作。

二、实验内容

(1)通过企业管理器,在数据库的student、course和SC三个表中各输入10条记录。

要求记录不仅满足数据约束要求,还要有表间关联的记录。

(2)通过企业管理器实现对学生选课数据库的student、course和SC三个表中数据的插入、删除和修改操作。

(3)通过企业管理器实现对学生选课库的数据增加、数据删除和数据修改操作。

要求学生、课程和选课表中各有10条以上的记录。

sno

sname

Age

sex

dept

001101

张林

18

计算机系

001102

程明

18

计算机系

001103

王艳

19

计算机系

001104

严平平

20

计算机系

001201

王敏

19

数学系

001202

王林

20

数学系

001203

李计

21

数学系

001204

孙祥欣

17

数学系

001205

孙研

18

数学系

001206

孙小

18

数学系

cno

cname

Credit

pcno

describe

1310101

计算机基础

5

可自学

1310102

C++程序设计

4

1310101

可自学

1310206

离散数学

4

可自学

1310208

数据结构

4

1310102

可自学

1310209

操作系统

4

1310101

可自学

1310210

微机原理

5

1310101

可自学

1310212

数据库原理

4

1310102

可自学

1310301

计算机网络

3

1310102

可自学

1310302

软件工程

3

1310102

可自学

1310211

图形学

3

1310101

可自学

sno

cno

Grade

001203

1310101

88

001203

1310206

76

001103

1310101

62

001103

1310102

70

001104

1310101

91

001104

1310102

84

001104

1310206

95

001201

1310102

78

001201

1310206

78

001201

1310101

91

三、实验步骤

(1)使用企业管理器更新数据

在MicrosoftSQLserver2000的企业管理器中,对表进行数据增、删、改操作非常简便。

其操作方法是:

1)选中服务器,展开数据库文件夹,进一步展开指定的数据库。

单击表文件夹,找到需要更新数据的基本表。

2)用鼠标右击要更新数据的表,会出现与表相关操作的弹出菜单,如图15所示。

在弹出菜单中选择“打开表”→“返回所有行”。

图15基本表的弹出菜单

在该对话框中,数据以表格形式组织,每个字段就是表中的一列,每条记录是表中的一行。

原有的记录已经在表格中,通过移动右边的滑块可查阅所有的记录。

3)需要数据插入时,就在最后一条记录后输入一条记录。

当鼠标点击其他行时,输入的记录会自动保存在表中。

4)需要修改记录时,直接对表中已有记录的数据进行改动,用新值替换原有值。

5)需要删除记录时,先用鼠标单击要删除行的左边灰色方块,使该记录成为当前行,然后按(Delete)键。

为了防止误操作,SQLserver2000将弹出一个警告框,要求用户确认删除操作,单击“确认”按钮即可删除记录,也可通过先选中一行或多行记录,然后再按(Delete)键的方法一次删除多条记录。

(2)使用T-SQL语句更新数据

请给每个学生选修三门课,在期未时给每门课一个成绩。

如张林同学选修了计算机基础这门课,期未的考试成绩为95分,SQL语句如下:

InsertintoSC(sno,cno)values('001101','1310101')

UpdateSCsetgrade=95wheresno='001101'andcno='1310101'

四、注意事项

1.输入数据时要注意数据类型、主键和数据约束的限制。

2.数据更改和数据删除时要注意外键约束。

五、思考题

1.数据库中一般不允许更改主键数据。

如果需要更改主键数据时,怎样处理?

2.为什么不能随意删除被参照表中的主键。

实验四数据库的简单查询和连接查询实验

一、实验目的

使学生掌握SQLServer查询分析器的使用方法,加深对Transact-SQL语言的查询语句的理解。

熟练掌握简单表的数据查询、数据排序和数据联结查询的操作方法。

二、实验内容

1.简单查询操作

该实验包括投影、选择条件表达、数据排序、使用临时表等。

2.连接查询操作

该实验包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。

三、实验步骤

(1)简单查询实验

1)用Transact-SQL语句表示下列操作,在学生选课库中实现其数据查询操作:

①求数学系学生的学号和姓名。

②求选修了课程的学生学号。

③求选修课程号为1310101的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。

④求选修课程号为1310101的成绩在80-90分之间的学生学号和成绩,并将成绩乘以系数0.8输出。

⑤求数学系或计算机系姓张的学生的信息。

⑥求缺少了成绩的学生的学号和课程号。

(2)连接查询实验

用Transact-SQL语句表示,并在学生选课库中实现下列数据连接查询操作:

①查询每个学生的情况以及他(她)所选修的课程。

②求学生的学号、姓名、选修的课程名及成绩。

③求选修离散数学课程且成绩为90分以上的学生学号、姓名及成绩。

④查询每一门课的间接先行课(即先行课的先行课)。

四、注意事项

1.查询结果的几种处理方式。

2.内连接、左外部连接和右外部连接的含义及表达方法。

3.输入SQL语句时应注意,语句中均使用西文操作符号。

五、思考题

1.如何提高数据查询和连接速度。

2.对于常用的查询形式或查询结果,怎样处理好?

实验五数据库的嵌套查询实验

一、实验目的

使学生进一步掌握SQLServer查询分析器的使用方法,加深Transact-SQL语言的嵌套查询语句的理解。

二、实验内容

在SQLServer查询分析器中使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。

三、实验步骤

用Transact-SQL语句表示,在学生选课库中实现其数据嵌套查询操作。

(l)求选修了离散数学的学生学号和姓名。

SELECTS#,SNAME

FROMS

WHERES#IN(SELECTS#

FROMSC

WHEREC#IN(SELECTC#

FROMC

WHERECNAME=‘离散数学’

(2)求1310101课程的成绩高于张林的学生学号和成绩。

(3)求其他系中年龄小于计算机系年龄最大者的学生。

(4)求其他系中比计算机系学生年龄都小的学生。

(5)求选修了1310206课程的学生姓名。

SELECTSNAME

FROMS

WHERES#IN(SELECTS#

FROMSC

WHEREC#=‘1310206’

(6)求没有选修1310206课程的学生姓名。

SELECTSNAME

FROMS

WHERES#NOTIN(SELECTS#

FROMSC

WHEREC#=‘1310206’

(7)查询选修了全部课程的学生的姓名。

答案:

selectsname

Fromstudent

Wherenotexists

(select*

Fromcourse

Wherenotexists

(select*

Fromsc

Wheresno=student.snoandcno=o))

(8)求至少选修了学号为“001103”的学生所选修的全部课程的学生学号和姓名。

答案:

selectsno,sname

Fromstudent

Wheresnoin

(selectscx.sno

Fromscscx

Wherenotexists

(select*

Fromscscy

Wherescy.sno=’001103’andnotexists

(select*

Fromscscz

Wherescz.sno=scx.snoando=o)))

四、注意事项

1.输入SQL语句时应注意,语句中均使用西文操作符号。

2.语句的层次嵌套关系和括号的配对使用问题。

五、思考题

试用多种形式表示实验中的查询语句,并进行比较。

实验六数据库的组合查询和统计查询实验

一、实验目的

使学生熟练掌握SQLServer查询分析器的使用方法,加深对Transact-SQL语言的查询语句的理解。

熟练掌握数据查询中的分组、统计、计算和组合的操作方法。

二、实验内容

1.分组查询实验。

该实验包括分组条件表达、选择组条件的表达方法。

2.使用函数查询的实验。

该实验包括统计函数和分组统计函数的使用方法。

3.组合查询实验。

4.计算和分组计算查询的实验。

三、实验步骤

在学生课程数据库中实现其查询操作

(1)查找选修“计算机基础”课程的学生成绩比此课程的平均成绩大的学生学号,成绩。

(2)求选修计算机基础课程的学生的平均成绩。

(3)列出各系学生的总人数,并按人数进行降序排列。

(4)统计各系各门课程的平均成绩。

(5)查询选修计算机基础和离散数学的学生学号和平均成绩。

四、注意事项

1.子句WHERE(条件)表示元组筛选条件,子句HAVING(条件)表示组选择条件。

2.组合查询的子句间不能有语句结束符。

3.子句HAVING(条件)必须和CROUPBY(分组字段)子句配合使用。

五、思考题

1.组合查询语句是否可以用其他语句代替,有什么不同?

2.使用GROUPBBY(分组条件)子句后,语句中的统计函数的运行结果有什么不同?

实验七数据库的视图和图表的定义及使用实验

本实验需要2学时。

一、实验目的

使学生掌握SQLServer中的视图创建向导和图表创建向导的使用方法,加深对视图和SQLserver图表作用的理解。

二、实验内容

1.创建、查看、修改和删除视图。

2.创建、编辑和删除数据库图表。

三、实验步骤

1.创建视图

根据学生选课数据库中已经建立了student、course和SC三个表,结构如下:

student(sno,sname,age,sex,dept);

course(cno,cname,credit,pcno,describe);

SC(sno,cno,grade)。

如果要在上述3个表的基础上建立一个视图,取名为SC_VIEW;其操作用SQL语句表示为:

CREATEVIEWSC_VIEW

ASSELECTSTUDENT.*,COURSE.*,SC.GRADE

FROMSTUDENT,COURSE,SC

WHERESTUDENT.SNO=SC.SNOANDCOURSE.CNO=SC.CNO

下面利用SQLServer中提供的视图创建向导,来创建SC_VIEW视图。

1)打开企业管理器窗口,确认服务器,打开数据库文件夹,选中新视图所在的数据库。

2)选择菜单“工具”→“向导”,如图18所示。

3)在如图19所示的向导选择对话框中,单击数据库左边的“+”号,使之展开。

选择“创建视图向导”项,单击“确定”按钮。

4)进入创建视图向导后,首先出现的是欢迎进入创建视图向导对话框,其中简单介绍了该向导的功能,如图20所示。

单击“下一步”按钮后,就会出现如图21所示的选择“数据库名称”对话框。

图18选择向导工具选项

图19在向导对话框中选择视图向导

图20欢迎进入创建视图向导对话框图21选择数据库名称对话框

5)在“选择数据库名称”对话框中,选择视图所属的数据库。

本例的数据库为“学生选课”;

单击“下一步”按钮,则进入如图22所示的选择表对话框。

6)在选择表对话框中,列出了指定数据库中所有用户定义的表和视图。

用户可以从中选择构造视图所需的一个表或多个表(或视图),被选中的表成为构造视图的参考表。

选择构造视图参考表的方法是:

用鼠标单击表名后的“包含在视图中”列,使义选框为选中状态。

本例的数据库中的3个表都应当被选中。

单击“下一步”按钮,则进入选择列对话框,如图23所示。

7)列选择对话框中以表格形式列出了创建视图参考表的全部属性,每个属性占表的一行。

创建视图的参考属性可以在表格中选出。

选择视图参考属性的方法是用鼠标单击属性名后边的“选择列”,使其复选框为选中状态。

单击“下一步”按钮,进入创建视图的定义限制对话框,如图24所示。

8)在定义限制对话框中,输入表的连接和元组选择条件。

本例应输入“WHERESTUDENT.SNO=SC.SNOANDCOURSE.CNO=SC.CNO”。

图22创建视图向导的选择表对话框图23创建视图向导的选择列对话框

图24创建视图的定义限制对话框图25定义视图名称对话框

单击“下一步”按钮后,出现视图名对话框,如图25所示。

9)在输入视图名对话框中输入所建视图的标识名。

本例的视图名为“SC_VIEW”。

单击“下一步”按钮,则出现如图26所示的视图创建完成对话框。

图26创建视图向导的完成对话框

在完成对话框中给出了根据前面对话框输入的内容译成的SQL语句。

读者可以认真阅读该SQL语句,如果发现与要求有不符合之处则可以直接进行修改。

确认无误后单击“完成”按钮。

随后出现一个通知用户已成功创建视图的信息框,单击“确认”按钮后,整个创建视图工作就完成了。

2.查看和修改视图

视图创建好后,就可以利用它进行查询信息了。

如果发现视图的结构不能很好地满足要求,还可以在企业管理器对它进行修改。

(1)操作步骤

l)在企业管理器中,选择服务器、数据库,并使数据库展开,然后用鼠标右击要修改结构的视图,会弹出视图功能菜单,如图27所示。

图27视图的功能弹菜单

2)在弹出的菜单上选择“设计视图”项,则弹出一个视图设计对话框,如图28所示。

图中列出了视图结构的详细内容,当对其修改完毕后关闭窗口,新的视图结构就会取代原先的结构。

图28视图设计对话框

图28中的视图设计对话框分为4个区域:

图表区、表格区、SQL语言区和结果区,各区域的作用如下:

(2)视图设计对话中各区域的作用

l)图表区。

图表区域与数据库图表很相似,它图形化地显示了视图中的表以及表之间的关联。

在图表区中,可以添加或去掉视图所基于的表,也可以添加或去掉视图所包含的表列。

2)表格区。

表格区用表格显示视图所有的表列。

在表格区中,可以添加或去掉视图所包含的表列,设定排序和分组,也可以通过修改某些列的取值规则来限制结果集的范围。

3)SQL语言区。

SQL语言区用Transact-SQL语句表示视图结构,可

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

当前位置:首页 > 经管营销 > 经济市场

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

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