数据库系统概论实验指导书Word格式.docx

上传人:b****5 文档编号:21703310 上传时间:2023-01-31 格式:DOCX 页数:41 大小:1.07MB
下载 相关 举报
数据库系统概论实验指导书Word格式.docx_第1页
第1页 / 共41页
数据库系统概论实验指导书Word格式.docx_第2页
第2页 / 共41页
数据库系统概论实验指导书Word格式.docx_第3页
第3页 / 共41页
数据库系统概论实验指导书Word格式.docx_第4页
第4页 / 共41页
数据库系统概论实验指导书Word格式.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

数据库系统概论实验指导书Word格式.docx

《数据库系统概论实验指导书Word格式.docx》由会员分享,可在线阅读,更多相关《数据库系统概论实验指导书Word格式.docx(41页珍藏版)》请在冰豆网上搜索。

数据库系统概论实验指导书Word格式.docx

数据操纵包括对数据库数据的检索、插入、修改和删除等基本操作。

3、数据库运行管理

对数据库的运行进行管理是DBMS运行时的核心部分,包括对数据库进行并发控制、安全性检查、完整性约束条件的检查和执行、数据库的内部维护(如索引、数据字典的自动维护)等。

所有访问数据库的操作都要在这些控制程序的统一管理下进行,以保证数据的安全性、完整性、一致性以及多用户对数据库的并发使用。

4、数据组织、存储和管理

数据库中需要存放多种数据,如数据字典、用户数据、存取路径等,DBMS负责分门别类地组织、存储和管理这些数据,确定以何种文件结构和存取方式物理地组织这些数据,如何实现数据之间的联系,以便提高存储空间利用率以及提高随机查找、顺序查找、增、删、改等操作的时间效率。

5、数据库的建立和维护

建立数据库包括数据库初始数据的输入与数据转换等。

维护数据库包括数据库的转储与恢复、数据库的重组织与重构造、性能的监视与分析等。

6、数据通信接口

DBMS需要提供与其他软件系统进行通信的功能。

例如,提供与其他DBMS或文件系统的接口,从而能够将数据转换为另一个DBMS或文件系统能够接受的格式,或者接收其他DBMS或文件系统的数据。

三、实验内容

1、熟悉网络环境和数据库环境

数据库服务器:

操作系统:

Windows2000AdvancedServer

IP地址:

192.168.0.99

数据库管理系统:

MicrosoftSQLServer2000

服务器名称:

servernet

客户机:

Windows2000Professional

192.168.0.X

MicrosoftSQLServer2000客户端

启动MicrosoftSQLServer2000查询分析器:

1、开始->

程序->

MicrosoftSQLServer2000->

查询分析器出现如下画面

2、连接到MicrosoftSQLServer2000

SQLServer:

servernet(或192.168.0.99)

选择SQLServer身份验证;

登录名:

sa密码:

2、创建数据库sql语句:

执行结果:

3、身份验证模式:

在安装SqlServer2000过程中,出现[身份验证对话框],提示选择身份验证模式。

Windows身份验证模式或混合模式(Windows身份验证和SqlServer身份验证)并提示添加sa用户登录密码(一般选中空密码)。

安装完SQL后,打开企业管理器,逐级展开节点到[安全性]|[登录],在右边视图中可以看到登录的用户名称,右击sa用户,打开属性,弹出属性对话框,可以看到当前用户的身份验证模式。

4、体会DBMS的三层模式结构:

(以理解为主)从数据库管理系统角度看,数据库描述由三级抽象模式组成:

概念模式(逻辑模式)、物理模式(内模式)和外模式;

从数据库最终用户角度看,数据库系统的结构分为单用户结构、主从式结构、分布式结构和客户/服务器结构。

概念模式体会:

打开任意所建立[数据库],选择一个[表],右击[设计表],打开[设计表]框。

这里描述了存储的数据的属性和实体及实体关系。

物理模式:

描述存储细节。

外模式:

视图和来自概念模式的关系组成。

5、安装SqlServer2000后,安装程序将在所创建的数据库实例中创建数据库和日志文件。

Master、Model、Msdb和Tempdb都是系统数据库。

Pubs和Northwind示例数据库作为学习工具提供。

我们提供基于样例数据库Northwind的一些操作。

打开[企业管理器]|[数据库][Northwind]。

Northwind示例数据库包含了一个名为NorthwindTraders的虚构公司的销售数据,打开[表],可以看到该数据库包括了Categories、Customers等13张用户表和Alphabeticallistproduct、CategoryScalefor1997等16张视图。

可以任意打开用户表查看信息。

2:

数据库、表的建立

实验内容:

3、数据字典设计

(一)、表名(具体建表时,在你的班级数据库中创建表,表名称由学生学号+示例表名构成。

比如student_idDepartment)

表名

含义

Department

院系

Class

班级

Student

学生

Course

课程

Grade

成绩

(二)、表结构

1、Department

字段名

数据类型

字段含义

约束

Dept_ID

Decimal(5)

院系编号

PrimaryKey

Department

varChar(50)

院系名称

NotNull

Abbreviation

varChar(10)

院系简称

 

Phone

联系电话

Director

院系主任

No_Class

班级数

NotNullDefault0

2、Class

Class_ID

Char(7)

班级编号

ForeignKey

Class

varChar(30)

班级名称

varChar(20)

班级简称

Monitor

varChar(24)

班长

Level

varChar(4)

层次

NotNull大专、本科、硕士、博士

Enroll_Date

入学年度

No_Student

人数

3、Student

Student_ID

varChar(9)

学号

varChar(7)

Name

姓名

Gender

varChar

(2)

性别

NotNull男,女

Birthday

Datetime

出生日期

Address

家庭地址

Zip_Code

Decimal(6)

邮编

Householder

Varchar(50

家长

4、Course

Course_ID

varChar(8)

课程编号

Credit

学分

Period

学期

Practice_period

Decimal(5)

实习

5、Grade

创建数据库

开始->

企业管理器出现如下画面

打开企业管理器:

添加新表:

定义表结构:

输入表中的记录:

添加记录:

四、思考题:

1、分别给出一个层次、网状和关系模型的实例。

2、从用户角度看,数据库系统都有哪些体系结构?

3、数据库管理系统通常由哪几部分组成?

实验二简单SQL查询及数据库多表查询

通过本章的学习,用户将能够:

1.掌握向表中添加数据的方法

2.掌握如何快速的把一个表中的多行数据插入到另一个表中

3.掌握更新表中多行数据的方法。

4.学会如何删除表中的一行数据

5.学会如何删除表中的所有行

6.掌握SELECT语句的基本用法

7.使用WHERE子句进行有条件的查询

8.掌握使用IN,NOTIN,BETWEEN来缩小查询范围的方法

9.利用LIKE子句实现模糊查询,利用ORDER子句为结果排序

10.学会用SQLSERVER的统计函数进行统计计算

11.掌握用GROUPBY子句实现分组查询的方法。

12.掌握多表查询的技术和嵌套查询的方法。

1、常用的统计函数:

sum()返回一个数字或计算列的总和

avg()对一个数字列或计算求列平均值

min()返回一个数字或一个数字表达式的最小值

max()返回一个数字或一个数字表达式的最大值

count()返回满足SELECT语句中指定条件的记录的值

count(*)返回找到的行数

注意:

对于以下类型的数据values值不用使用引号

1、整型数据类型:

bit,int,smallint,tinyint

2、货币数据类型:

money,smallmoney

3、数字数据类型:

decimal,numeric

4、浮点类型数据:

real,float

5、简单的日期/时间类型数据:

datetime,smalldatetime

对于以下数据类型就要对values值加单引号

1、字符数据类型:

char,varchar,text

2、复杂的日期/时间类型数据:

datetime,smalldatetime

2、添加语句:

INSERT[INTO]table_or_view[(column_list)]data_values

删除语句:

DELETE

[FROM]table_name

WHEREsearch_condition

更新语句:

UPDATEtable_name

SET

column_name={expression|DEFAULT|NULL}[,...n]

[FROMtable_name[,...n]]

WHEREsearchcondition

查询语句:

SELECTselect_list

FROMtable_source

[WHEREsearch_condition]

[GROUPBYgroup_by_expression]

[HAVINGsearch_condition]

[ORDERBYorder_expression[ASC|DESC]]

三、实验内容:

操作一:

INSERT(插入)

1、首先检查表结构:

2、单条语句插入样例:

操作二:

UPDATE(更新)

1、在student表中,GENDER(性别),BIRTHDAY(生日),ADDRESS(家庭地址),ZIP_CODE(家庭邮编),HOUSEHOLDER(家长姓名)均不正确或为空值,请将自己以上的准确信息更新到自己的数据库中,同时更新到同班同学的其它数据库中。

2、查询你的数据库中同班其他同学的信息是否已更新。

3、执行以下更新

在department表中,no_class(班级数)均不正确或为空值,请根据class表中每个学院实有班级数目更新department表中的no_class,例如:

4、执行以下更新

在class表中,no_student(学生数)均不正确或为空值,请根据student表中每个班级实有学生人数更新class表中的no_student。

操作三:

DELETE(删除)

请从student表中删除一个student_id='

994631225'

的记录:

为什么会出现以下的结果?

假若删除的是你自己的学号可以吗?

为什么?

操作四:

SELECT(查询)

1、掌握SELECT语句的基本用法

2、查询你的各个表中所有的记录数目。

3、查询你自己的平均成绩(用avg()函数)

4、查询你班级所有同学的平均成绩,查询输出以别名:

学号,姓名,平均成绩;

并按平均成绩由高到低排序(用到orderby)

5、查询没有成绩记录的学生,查询输出:

学号,姓名、的在班级简称。

6、查询你自己的各课成绩,结果格式如下:

7、查询你班两门及两门以上课程不及格的学生,查询输出:

学号,姓名、不及格课程数量。

8、查询你班男生人数。

9、查询你班女生人数。

10、查询班级Class_IDlike'

02%'

的班级。

11、请查询输出:

班级编号,班级名称,男生,女生。

12、请查询输出:

班级编号,班级名称,男生,女生,合计。

13、执行以下查询,解释该查询的含义

四、思考题

1.如何使用UNION子句,它必须符合那两条基本准则?

2.怎样把STUDENT表中前10个数据ADDRESS列的数据更改为'

新疆'

实验三视图、索引、存储过程和触发器的使用

一、实验目的:

1.掌握视图的概念和使用方法;

2.掌握索引的概念和使用方法;

2.掌握存储过程的概念和使用方法;

3.掌握触发器的概念和使用方法;

二、实验准备:

1.了解视图的概念和作用;

2.掌握视图相关的命令;

3.了解索引的作用与分类;

4.掌握索引的创建方法;

5.理解数据完整性的概念及分类;

6.了解各种数据完整性的实现方法;

7.了解存储过程的使用方法;

8.掌握存储过程的调用方法;

9.了解触发器的使用方法;

三、实验内容:

一、视图

1.创建视图

(1)在STUDENT表中,为信息管理及信息系统022班建立视图V1_STU,在查询分析器中输入下列语句:

思考与练习:

1)在STUDENT表中,为计算机科学与技术021建立视图SV1_STU。

2)在TUITION表中,为第五学年缴全额学费(3500)的学生建立视图SV2_TUI。

(2)创建V3_STU_COU视图,包括学号,课程号,课程名,成绩,要保证对该视图的修改都要符合班为信息管理及信息系统022班这个条件:

在STUDENT和CLASS两表中,建立视图SV3_STU_CLA,包含学号,班号,学院号,姓名,性别。

2.查询视图

(1)查找信息管理及信息系统021班女生的学号和出生日期:

1)查找SV3_STU_CLA视图中学号为024631416所在的班号和学院号。

2)查找信管992班平均成绩在80分以上的学生的学号和平均分数:

统计信管992班平均成绩在80分以上的学生的个数。

3.更新视图

可更新视图满足以下条件:

A)创建视图的SELECT语句中没有聚合函数,且没有TOP、GROUPBY、UNION子句及DISTINCT关键字。

B)创建视图的SELECT语句中不包含从基本表列通过计算所得的列。

C)创建视图的SELECT语句的FROM子句中至少要包含一个基本表。

(1)向V1_STU插入一条记录(‘024631267’,’0246312’,’刘明仪’,’男’,’1982-3-2’,’NANCHANGROAD42#’,’830052’,’刘林’):

向SV1_STU视图插入一条记录。

注:

1)当视图所依赖的基本表有多个时,不能向该视图插入数据.

2)向可更新的分区视图中插入数据时,系统会按照插入记录的键值所属的范围,将数据插入到其键值所属的基本表中。

(2)将信管992班中学号为994631209的学生的14110003课程成绩改为90分:

将V2_STU班中性别为男的值改为女。

(3)删除V2_STU中女同学的记录:

删除SV3_STU_CLA中,班号为’0246312’的记录。

4.修改视图定义

(1)将V1_STU修改成只包含信息管理及信息系统022班的学号和姓名:

将SV3_STU_CLA修改成只包含学号,班号,学院号。

(2)删除V4_AVG视图

删除SV3_STU_CLA视图。

二.索引

1.对STUDENT表的STUDENT_ID列建立索引,在查询分析器编辑窗口中输入下列程序并执行:

为COURSE表中的COURSE_ID建立索引COU_IND。

三.创建触发器

对于STUDENT数据库,表STUDENT的CLASS_ID列与表CLASS的CLASS_ID满足下列参照完整性规则:

A.向STUENT表插入或修改一记录时,通过触发器检查记录的CLASS_ID值在CLASS表中是否存在,若不存在,则取消插入或修改操作;

B.修改CLASS表的CLASS_ID字段值时,该字段在STUDENT表中的对应值也做相应修改;

C.删除CLASS表中一记录的同时删除该记录CLASS_ID字段值在STUDENT表中对应的记录;

在查询分析器编辑窗口输入下列触发器的代码并执行。

(1)向STUENT表插入或修改一记录时,通过触发器检查记录的CLASS_ID值在CLASS表中是否存在,若不存在,则取消插入或修改操作:

(2)修改CLASS表的CLASS_ID字段值时,该字段在STUDENT表中的对应值也做相应修改:

(3)删除CLASS表中一记录的同时删除该记录CLASS_ID字段值在CLASS表中对应的记录:

COURSE表与GRADE表中的COURSE_ID列满足参照完整性规则,用触发器实现两表间的参照完整性。

四.创建存储过程

1.添加学生记录的存储过程STUDENTAdd:

2.修改学生记录的存储过程STUDENTUpdate:

3.删除学生记录的存储过程STUDENTDelete:

4.调用三个存储过程:

编写对TUITION表的插入、修改、删除操作的存储过程,然后调用这些存储过程。

实验四E-R模型与关系模型的转换

本章实验通过给学生一个设计实例,要求设计E-R模型,并分析。

然后选择熟悉的DBMS将给出的E-R模型转换为关系模型,并按要求实现创建数据库、数据表、表间关系等(修改表结构)。

数据库设计

数据库设计的一个最基本的问题是如何建立一个好的数据库模式。

即给出一组数据,如何构造一个适合于它们的数据模式,使数据库系统无论是在数据存储方面,还是在数据操纵方面都有较好的性能。

E-R模型方法讨论了实体与实体之间的数据联系,现在来讨论实体内部属性与属性之间的数据关联,目标是要设计一个“好”的数据库模型。

概念结构设计

在需求基础上,用数据模型表示数据及其联系。

设计E—R图步骤:

1、设计局部E-R图。

概念结构设计依据是需求分析阶段的DFD/DD。

在DFD中选择适当层次的DFD,作为设计局部E-R图的出发点。

中层允许有一定的重叠。

(1)确定实体集合

第一步(关键一步)

数据流/数据源/目的/数据存储根据具体情况决定,常作为实体集合。

(2)联系

标明:

1:

1,1:

N,N:

M。

原则上:

与处理框相关的输入流(数据流),输出流(数据目的地),输入或输出的工作之间的可能存在的联系。

(3)属性

属性名尽量和数据流中数据项名相同。

为简化E-R图,属性可仅在DFD中描述。

(4)主关键字

属性中标明作为PK(primarykey)的属性集合.

(5)其它

建E-R图,要完善DD(DD:

包括实体集,联系,属性的描述)某些情况:

描述产生频率(每年/月/季),是否长期保存,变化快慢,保密级别,存在的约束。

2、集成局部E-R图

在设计局部E-R图的基础上,将局部E-R图集成为全局E-R图。

集成时要解决的问题:

消除冲突、消除冗余

3、合并局部E-R图

合并局部E-R图中相同部分,尽可能的保留特殊部分,删除冗余部分,用累加的方式一次集成两个局部E-R图。

4、优化全局E-R图

必要时应对全局E-R图进行修改,重构和优化得到最佳的全局E-R图方案。

1、数据模型分析

设计一个图书借阅管理数据库要求提供下述服务:

可以随时查询书库中现有书籍的品种、数量与存放位置。

所有各类书籍均可由书号唯一标识;

可以随时查询书籍借还情况。

包括借阅人单位、姓名、借书证号、借书日期和还

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

当前位置:首页 > 小学教育 > 其它课程

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

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