数据库系统原理及技术实验报告.docx

上传人:b****5 文档编号:26412429 上传时间:2023-06-19 格式:DOCX 页数:66 大小:1.12MB
下载 相关 举报
数据库系统原理及技术实验报告.docx_第1页
第1页 / 共66页
数据库系统原理及技术实验报告.docx_第2页
第2页 / 共66页
数据库系统原理及技术实验报告.docx_第3页
第3页 / 共66页
数据库系统原理及技术实验报告.docx_第4页
第4页 / 共66页
数据库系统原理及技术实验报告.docx_第5页
第5页 / 共66页
点击查看更多>>
下载资源
资源描述

数据库系统原理及技术实验报告.docx

《数据库系统原理及技术实验报告.docx》由会员分享,可在线阅读,更多相关《数据库系统原理及技术实验报告.docx(66页珍藏版)》请在冰豆网上搜索。

数据库系统原理及技术实验报告.docx

数据库系统原理及技术实验报告

 

数据库系统原理实验报告

 

 

实验1SQLServer管理工具的使用

一、目的与要求

1.掌握SQLServer服务器的安装

2.掌握企业管理器的基本使用方法

3.掌握查询分析器的基本使用方法

4.掌握服务管理器的基本使用方法

5.对数据库及其对象有一个基本了解

6.学会使用SQLServer联机丛书和Transact-SQL帮助

二、实验准备

1.了解SQLServer各种版本安装的软、硬件要求

2.了解SQLServer支持的身份验证模式

3.了解SQLServer各组件的主要功能

4.对数据库、表和数据库对象有一个基本了解

5.了解在查询分析器中执行SQL语句的方法

三、实验内容

1.安装SQLServer2000根据软硬件环境,选择一个合适版本的SQLServer2000。

2.利用企业管理器访问系统自带的pubs数据库。

(1)启动SQLServer服务管理器。

通过“开始=>程序=>MicrosoftSQLServer=>服务管理器”打开“SQLServer服务管理器”,启动“SQLServer服务管理器”,并记录当前运行的服务器名。

图1.1启动SQLServer服务管理器

(2)启动企业管理器。

通过“开始=>程序=>MicrosoftSQLServer=>企业管理器”打开“SQLServerEnterpriseManager”

图1.2启动企业管理器

(3)在企业管理器的树形目录中展开数据库,找到pubs并展开,则列出该数据库的所有对象,如表、视图、存储过程、默认和规则等。

(4)选中“表”,将列出pubs数据库的所有表(包括系统表和用户表),在此以用户表titles为例,选中该表,单击鼠标右键,弹出快捷菜单,执行“打开表—返回所有行”菜单项,打开该表,查看其内容。

(5)选中表titles,单击鼠标右键,弹出快捷菜单,执行“设计表”菜单项,查看其结构,并记录该表的结构。

(6)用同样的方法查看pubs数据库中的其它用户表,并记录这些表的结构。

3.利用查询分析器访问系统自带的pubs数据库的表

(1)启动SQLServer查询分析器

通过“开始=>程序=>MicrosoftSQLServer=>查询分析器”打开“SQLServer查询分析器”,并以系统管理员sa的身份连接到SQLServer。

图1.3连接SQLServer服务器

(2)使用系统存储过程(sp_tables和sp_help<表名>)查看系统自带的pubs数据库中的表titles的结构信息

在查询分析器的命令窗口中键入如下SQL批命令:

usepubs

go

sp_tablestitles

go

sp_helptitles

go

按“F5”键或者单击工具栏中的“}”按钮执行SQL查询

图1.4在查询分析器中查看表的结构信息

(3)利用SQL命令查看系统自带的pubs数据库中的表titles的行信息

select*fromtitles

go

图1.5在查询分析器中执行SQL查询

4.在查询分析器中打开“帮助”菜单,使用SQLServer联机丛书和Transact-SQL帮助。

实验2数据定义

一、目的和要求

1.了解SQLServer数据库的逻辑结构和物理结构。

2.了解表的结构特点。

3.了解SQLServer的基本数据类型。

4.学会在企业管理器中创建数据库和表。

5.学会使用T-SQL语句创建数据库和表。

6.学会定义索引

二、实验准备

1.要明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATEDATABASE语句的用户。

2.创建数据库必须要确定数据库名、所有者(即创建数据库的用户)、数据库大小(最初的大小、最大的大小、是否允许增长及增长的方式)和存储数据的文件。

3.确定数据库包含哪些表以及包含的各表的结构,还要了解SQLServer的常用数据类型,以创建数据库的表。

4.了解常用的创建数据库和表的方法。

5.了解聚集索引和非聚集索引

三、实验内容

设有一学籍管理系统,其数据库名为“STUDENT”,初始大小为10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。

数据库的逻辑文件名为“student_data”,物理文件名为“student_data.mdf,存放路径为“E:

\sql_data”。

日志文件的逻辑文件名为“student_log”,物理文件名为“student_log.ldf”,存放路径为“E:

\sql_data”。

各数据表的结构如下:

表2.1student表(学生信息表)

字段名称

类型

宽度

允许空值

主键

说明

sno

char

8

NOTNULL

学生学号

sname

char

8

NOTNULL

学生姓名

sex

char

2

NULL

学生性别

native

char

20

NULL

籍贯

birthday

smalldate

4

NULL

学生出生日期

dno

char

6

NULL

学生所在院系编号(外键)

spno

char

8

NULL

专业代码(外键)

classno

char

4

NULL

班级号

entime

smalldate

4

NULL

学生入校时间

home

varchar

40

NULL

学生家庭住址

tel

varchar

40

NULL

学生联系电话

表2.2course表(课程信息表)

字段名称

类型

宽度

允许空值

主键

说明

cno

char

10

NOTNULL

课程编号

spno

char

8

NULL

专业代码(外键)

cname

char

20

NOTNULL

课程名称

ctno

tinyint

1

NULL

课程类型编号(外键)

experiment

tinyint

1

NULL

实验时数

lecture

tinyint

1

NULL

授课学时

semester

tinyint

1

NULL

开课学期

credit

tinyint

1

NULL

课程学分

表2.3student_course表(学生选课成绩表)

字段名称

类型

宽度

允许空值

主键

说明

sno

char

8

NOTNULL

学生学号

tcid

smallint

2

NOTNULL

上课编号

score

tinyint

1

NULL

学生成绩

表2.4teacher表(教师信息表)

字段名称

类型

宽度

允许空值

主键

说明

tno

char

8

NOTNULL

教师编号

tname

char

8

NOTNULL

教师姓名

sex

char

2

NULL

教师性别

birthday

smalldate

4

NULL

教师出生日期

dno

char

6

NULL

教师所在院系编号(外键)

pno

tinyint

1

NULL

教师职务或职称编号

home

varchar

40

NULL

教师家庭住址

zipcode

char

6

NULL

邮政编码

tel

varchar

40

NULL

联系电话

email

varchar

40

NULL

电子邮件

表2.5teacher_course表(教师上课课表)

字段名称

类型

宽度

允许空值

主键

说明

tcid

smallint

2

NOTNULL

上课编号

tno

char

8

NULL

教师编号(外键)

spno

char

8

NULL

专业代码(外键)

classno

char

4

NULL

班级号

cno

char

10

NOTNULL

课程编号(外键)

semester

char

6

NULL

学期

schoolyear

char

10

NULL

学年

classtime

varchar

40

NULL

上课时间

classroom

varchar

40

NULL

上课地点

weektime

tinyint

1

NULL

每周课时数

1.创建数据库

(1)使用企业管理器创建数据库

图2.1新建数据库

图2.2数据库属性对话框

图2.3建立student数据库

(2)使用SQL语句创建数据库

CREATEDATABASEstudent

ON

(NAME=student_data,

FILENAME='E:

\sql_data\student_data.mdf',

SIZE=10MB,

MAXSIZE=50MB,

FILEGROWTH=10%

LOGON

(NAME=student_log,

FILENAME='E:

\sql_data\student_log.ldf',

SIZE=2MB,

MAXSIZE=5MB,

FILEGROWTH=1MB

图2.4CREATEDATABASE语句创建数据库

2.创建表

(1)使用企业管理器创建表

图2.5新建表

图2.6表设计器

图2.7插入删除字段

(2)使用SQL语句创建表

CREATETABLEstudent

snochar(8)PRIMARYKEY,--学号(主键)

snamechar(8)NOTNULL,--姓名

sexchar

(2),--性别

nativechar(20),--籍贯

birthdaysmalldatetime,--出生日期

dnochar(6),--所在院系编号(外键)

spnochar(8),--专业代码(外键)

classnochar(4),--班级号

entimesmalldatetime,--入校时间

homevarchar(40),--家庭住址

telvarchar(40)--联系电话

CREATETABLEcourse

cnochar(10)PRIMARYKEY,--课程编号(主键)

cnamechar(20)NOTNULL,--课程名称

spnochar(8),--专业代码

ctnotinyint,--课程类型编号(外键)

lecturetinyint,--理论学时

experimenttinyint,--实验时数

semestertinyint,--开课学期

credittinyint--课程学分

图2.8创建student表

图2.9创建course表

CREATETABLEteacher

tnochar(8)PRIMARYKEY,--教师编号(主键)

tnamechar(8)NOTNULL,--教师姓名

sexchar

(2),--教师性别

birthdaysmalldatetime,--出生日期

dnochar(6),--所在院系编号(外键)

pnotinyint,--职务或职称编号

homevarchar(40),--家庭住址

zipcodechar(6),--邮政编码

telvarchar(40),--联系电话

emailvarchar(40)--电子邮件

图2.10创建teacher表

CREATETABLEstudent_course

snochar(8),--学生学号

tcidsmallint,--上课编号

scoretinyint,--学生成绩

PRIMARYKEY

sno,--主键

tcid--主键

图2.131创建student_course表

CREATETABLEteacher_course

tcidsmallintPRIMARYKEY,--上课编号(主键)

tnochar(8),--教师编号(外键)

spnochar(8),--专业代码(外键)

classnochar(4),--班级号

cnochar(10)NOTNULL,--课程编号(外键)

semesterchar(6),--学期

schoolyearchar(10),--学年

classtimevarchar(40),--上课时间

classroomvarchar(40),--上课地点

weektimetinyint--每周课时数

图2.12创建teacher_course表

3.修改表

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

图2.13student表设计器

(2)使用SQL语句修改表

ALTERTABLEteacher

ALTERCOLUMNemailvarchar(50)NULL

EXECsp_rename'teacher.email','电子邮件','COLUMN'

图2.14ALTERTABLE语句修改表

(3)使用SQL语句删除表

DROPTABLEteacher

3.使用SQL语句建立与删除索引

(1)为表student的列sname建立聚集索引

Createclusteredindexmyindexonstudent(sname)

(2)删除表student的列sname的聚集索引myindex

Dropindexstudent.myindex

(3)为student表按姓名升序建立唯一索引(取名为StuSname)

createuniqueindexStuSnameonstudent(snameASC)

(4)为Student_course表按学号升序和课程号降序建立唯一索引(取名为SCSnoCno)。

createuniqueindexSCSnoCnoonStudent_course(snoASC,cnoDESC)

四、实验作业题

1.数据库分析

(1)创建用于员工考勤的数据库,数据库名为YGKQ,初始大小为10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。

数据库的逻辑文件名和物理文件名均采用默认值。

(2)数据库YGKQ包含员工的信息和缺勤类型信息,其YGKQ包含下列2个表:

JBQK:

员工基本情况表;

QQLX:

缺勤信息表。

各表的结构见表2.1和表2.2所示:

表2.1JBQK(员工基本情况表结构)

字段名

字段类型

字段宽度

说明

员工号

姓名

缺勤时间

缺勤天数

缺勤类型

缺勤理由

CHAR

CHAR

DATETIME

INT

CHAR

CHAR

4

8

 

4

20

主键

表2.2QQLX(缺勤类型信息表结构)

字段名

字段类型

字段宽度

说明

缺勤类型

缺勤名称

缺勤描述

CHAR

CHAR

CHAR

4

8

20

主键

 

各表的数据内容见表2.3和2.4所示:

表2.3JBQK(员工基本情况记录)

职工号

姓名

缺勤时间

缺勤天数

缺勤类型

缺勤理由

001

李华

2006-09-03

3

1

事假

002

张敏

2006-09-12

2

2

病假

003

付丽

2006-09-03

5

3

旷工

004

张晓华

2006-09-10

2

1

事假

005

邓刚

2006-09-16

1

2

病假

表2.4QQLX(缺勤类型信息记录)

缺勤类别

缺勤名称

缺勤描述

1

事假

本人必须提前1天申请,1-2天由部门准许,2天以上由经理批准

2

病假

1-2天由部门准许,2天以上由经理批准

3

旷工

无故不到者按旷工处理

4

迟到

在规定上班时间1小时后到岗

2.在企业管理器中创建和删除数据库和数据表

(1)在企业管理器中创建的YGKQ数据库。

(2)在企业管理器中删除YGKQ数据库。

(3)在企业管理器中分别创建表JBQK和QQLX。

(4)在企业管理器删除创建的JBQK和QQLX表。

3.在查询分析器中创建数据库和数据表

(1)用T-SQL语句创建数据库YGKQ。

(2)使用T-SQL语句创建JBQK和QQLX表。

4.创建索引

(1)为数据库YGKQ中JBQK表的“缺勤天数”字段创建一个非聚集索引,其名称为kczccj_index。

(2)使用系统存储过程sp_helpindex查看JBQK表上的索引信息。

(3)用SQL语句删除kcvc_index。

实验3数据更新(插入、修改和删除)

一、目的和要求

1.学会在企业管理器中对表进行插入、修改和删除数据操作。

2.学会使用T-SQL语句对表进行插入、修改和删除数据操作。

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

二、实验准备

1.了解表的更新操作,即数据的插入、修改和删除,对表数据的操作可以在企业管理器中进行,也可以由T-SQL语句实现。

2.掌握T-SQL中用于对表数据进行插入(INSERT)、修改(UPDATE)和删除(DELETE或TRANCATETABLE)命令的用法。

3.了解使用T-SQL语句在对表数据进行插入、修改及删除时,比在企业管理器中操作表数据灵活,功能更强大。

三、实验内容

1.在企业管理器中对数据库student中的表进行插入、删除数据的操作。

(1)在企业管理器的树形目录中展开数据库student,找到表并展开,则列出该数据库的所有对象,如表、视图、存储过程、默认和规则等。

(2)选中“表”,将列出student数据库的所有表(包括系统表和用户表),在此以用户表student为例,选中该表,单击鼠标右键,弹出快捷菜单,执行“打开表—返回所有行”菜单项,打开该表,并向表中录入若干条记录。

图3.1向表中插入数据

(3)在企业管理器中删除数据库student中的表数据。

在打开的表student中,选定将要删除的行,单击鼠标右键,弹出快捷菜单,执行“删除”菜单项,在打开的删除对话框中回答“是”。

图3.2删除表中的数据

2.使用SQL语句插入、修改和删除表数据

首先启动SQLServer查询分析器,并以系统管理员sa的身份连接到SQLServer。

依次执行下列SQL语句:

INSERTINTOstudent

VALUES('02080001','李平','男','江西','1985-1-2','610000',

'080605','0201','2002-9-1','江西省南昌市上海路11','8305670')

图3.3INSERT语句向表中插入数据

UPDATEstudent

SETnative='湖南'

WHEREnative='江西'

图3.4UPDATE语句修改表中数据

DELETEstudent

WHEREnative='湖南'

图3.5DELETE语句删除表中数据

四、实验作业题

根据某一单位的员工考勤情况,对实验2所创建数据库YGKQ的各表进行数据更新操作。

实验4数据查询

一、目的与要求

1.掌握SELECT语句的基本语法。

2.掌握子查询的表示。

3.掌握连接查询的表示。

4.掌握SELECT语句的统计函数的作用和使用方法。

5.掌握SELECT语句的GROUPBY和ORDERBY子句的作用和使用方法。

二、实验准备

1.了解SELECT语句的基本语法格式。

2.了解SELECT语句的执行方法。

3.了解子查询的表示方法。

4.了解SELECT语句的统计函数的作用。

5.了解SELECT语句的GROUPBY和ORDERBY子句的作用。

三、实验内容

首先启动SQLServer查询分析器,并以系统管理员sa的身份连接到SQLServer。

以下所有查询都在查询分析器中执行。

1.简单查询

SELECTsno,sname,sex,birthday

FROMstudent

图4.1查询结果

SELECTsno,sname,CAST(GETDATE()-birthdayASint)/365

ASage

FROMstudent

图4.2查询结果中年龄列名为别名age

SELECTsno,sname,sex,birthday

FROMstudent

WHEREdno='610000'

图4.3查询结果

SELECTsno,sname,birthday

FROMstudent

WHEREspno='080605'ANDclassno='0201'

图4.4查询结果

SELECTsno,sname,sex,birthday

FROMstudent

WHEREbirthday>'1985/01/01'

图4.5查询结果

SELECT*

FROMteacher

WHEREpno<>'4'

图4.6查询结果

SELECTsno,sname

FROMstudent

WHEREsnameLIKE'陈%'

图4.7查询结果

SELECTsno,sname

FROMstudent

WHEREsnameLIKE'陈__'

图4.8查询结果

SELECTsno,sname

FROMstudent

WHEREsnameLIKE'[陈李]%'

图4.9查询结果

SELECTsno,sname,sex,birthday

FROMstudent

WHERE(dno='610000')AND(birthday>'1985/01/01')

图4.10查询结果

SELECT*

FROMstudent

WHEREnativeNOTLIKE'

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

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

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

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