数据库上机实验报告.docx

上传人:b****7 文档编号:10729563 上传时间:2023-02-22 格式:DOCX 页数:13 大小:29.22KB
下载 相关 举报
数据库上机实验报告.docx_第1页
第1页 / 共13页
数据库上机实验报告.docx_第2页
第2页 / 共13页
数据库上机实验报告.docx_第3页
第3页 / 共13页
数据库上机实验报告.docx_第4页
第4页 / 共13页
数据库上机实验报告.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

数据库上机实验报告.docx

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

数据库上机实验报告.docx

数据库上机实验报告

实验一:

建立数据库及基本表

一、实验目的

1、了解SQLServer数据库的逻辑结构和物理结构;

2、了解SQLServer的基本数据类型;

3、学会在企业管理器中创建数据库和表;

4、使用SQL查询分析器用CREATE、DROP、ALTER语句创建和删除数据库,创建、删除、更新基本表。

二、实验内容

1、创建数据库和查看数据库属性。

2、创建表。

3、查看和修改表结构。

4、熟悉企业管理器和查询分析器工具的使用方法

三、实验步骤

1、在企业管理器中创建数据库和数据表。

(1)使用企业管理器建立图书管理数据库,数据库名为BM,初始大小为10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。

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

详细步骤:

(2)在企业管理器中查看图书管理数据库的属性,并进行修改,使之符合要求。

(3)通过企业管理器,在建好了图书管理数据库BM中建立图书(book)、读者(reader)和借阅(borrow)3个表,其结构为:

图书(书号,类别,出版社,作者,书名,定价);读者(编号,姓名,单位,性别,电话);

借阅(书号,读者编号,借阅日期)。

三个表各个字段的数据类型:

Book表

Reader表

Borrow表

字段名

数据类型

说明

字段名

数据类型

说明

字段名

数据类型

说明

书号

编号

书号

类别

姓名

读者编号

出版社

单位

借阅日期

作者

性别

书名

电话

定价

(4)利用企业管理器向表中输入数据。

2、在查询分析器中创建数据库和数据表

(1)创建数据库S-C的sql语句:

createdatabases_c

(2)在数据库S-C下,创建基本表学生表student(sno,sname,ssex,sage,sdept)的sql语句:

createtablestudent(snoc(8),snamec(10),ssexc

(2),sage(4),sdeptc(8))

创建基本表课程表course(cno,cname,ccredit)的sql语句:

createtablecourse(cnoc(4),cnamec(10),ccreditc

(2))

创建基本表成绩表sc(sno,cno,grade)的sql语句:

createtablesc(snoc(8),cnoc(4),graden(4))

(3)在窗口下分别键入DROPTABLEStudent及DROPTABLESC命令,运行后观察结果。

再重新运行和,并观察结果。

(4)利用查询分析器编写SQL语句修改表。

在student表中增加一个新的字段“smerit”(特长),数据类型为char(30);该sql语句:

altertablestudentaddsmeritc(30)

修改student表中sdept字段的数据类型为varchar(20),其sql语句

altertablestudentaltersdeptvarchar(20)

 

实验二:

数据查询

一、实验目的

1、掌握查询分析器的使用方法,加深对SQL的语句的理解;

2、使用查询分析器用SELECT语句进行数据查询;

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

二、实验内容

1、完成简单查询操作。

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

2、完成连接查询、嵌套查询、组合查询和统计查询等操作。

三、实验步骤

1、熟悉pubs数据库中的三个用户表:

employee(emp_id,fname,minit,lname,job_id,job_lvl,pub_id,hire_date),

job(job_id,job_desc,min_lvl,max_lvl),publishers(pub_id,pub_name,city,state,country)。

他们分别是关于雇员、职务和出版社的基本表。

2、在查询分析器在窗口下用SELECT语句完成单表查询:

查询全体出版社的详细记录;

Sql语句:

select*frompublishers

查询所有工作的job_id为7的职工的职工编号;

Sql语句:

selectemp_idfromemployeewherejob_id=7

查询工作的job_id小于7的职工的职工编号;

Sql语句:

selectemp_idfromemployeewherejob_id<7

查询在Germany和France的出版社的名字和所在城市;

Sql语句:

selectpub_name,cityfrompublisherswherecountryin(Germany,France)

查询lname为Jablonski的雇员的fname、job_id和hire_date;

Sql语句:

selectfname,job_id,hire_datefromemployeewherelname=“Jablonski”

查询lname的前两个字符为cr的职员的编号和fname;

Sql语句:

selectemp_id,fnamefromemployeewherelnamelike“cr%”

3、在查询分析器在窗口下用SELECT语句完成连接(嵌套)查询:

查询各个工作号与相应的工作人数;

Sql语句:

selectjob.job_id,count(*)as人数

fromemployee,job

where=

groupby

查询每个职工及其工作的描述(job_desc)的情况;

Sql语句:

selectemployee.emp_id,job_desc

fromemployee,job

where=

4、在查询分析器在窗口下用SELECT语句完成集合查询:

查询job_id为5和job_id为6的职工的姓名和职工所在出版社的名字

Sql语句:

(selectfname,pub_namefromemployee,publishers

where=andjob_id=5)

union

(selectfname,pub_namefromemployee,publishers

where=andjob_id=6)

 

实验三:

数据更新、视图的创建与修改

一、实验目的

1、学会使用INSERT、UPDATE、DELETE等SQL语句进行数据更新;

2、学会使用CREATE、DROP等SQL语句创建和删除视图。

二、实验内容

1、在查询分析器中使用INSERT、UPDATE、DELETE语句进行数据更新。

2、在查询分析器中使用CREATE、DROP语句创建和删除视图。

三、实验步骤

1、利用企业管理器在数据库S-C的三个表中分别插入以下数据:

学生表student:

sno

sname

ssex

sage

sdept

95001

李勇

20

CS

95002

刘晨

19

IS

95003

王敏

18

MA

95004

张立

19

IS

课程表course:

cno

cname

cpno

ccredit

1

数据库

5

4

2

数学

2

3

信息系统

1

4

4

操作系统

6

3

5

数据结构

7

4

6

PASCAL语言

6

4

成绩表sc:

sno

cno

grade

95001

1

92

95001

2

85

95001

3

88

95002

2

90

95002

3

80

2、在查询分析器中:

(1)选择数据库S-C,用INSERT语句向学生表student中插入一个新生记录(学号:

95020;姓名:

陈东;性别:

男;所在系:

IS;年龄:

18)。

Sql语句:

insertintostudent

values(“9520”,”陈东”,”男”,18,“IS”)

(2)在数据库S-C中建立一个新表deptage,其中一个字段存放系名,另一个字段存放相应的学生平均年龄;然后对学生表student按系分组求平均年龄,再把系名和平均年龄存入新表中。

Sql语句:

createtabledeptage(sdeptc(4),avgan(4))

selectsdept,avg(sage)fromstudentgroupbysdept

3、在查询分析器中用UPDATE语句更改表中数据。

(1)将所有学生的年龄都增加1岁。

updatestudentsetsage=sage+1

(2)将IS系全体学生的成绩置零。

updatescsetgrade=0

wheresnoin(selectsnofromstudentwheresdept=”IS”)

(3)分别运行SQL语句,观察运行结果。

4、在查询分析器中用DELETE语句删除表中数据。

(1)删除学号为“95020”的学生记录。

deletefromstudentwheresno=”95020”

(2)删除IS系所有学生的成绩记录。

deletefromstudentwheresdept=”IS”

(3)分别运行SQL语句,观察运行结果。

5、在查询分析器中用CREATE语句建立视图。

建立IS系学生的视图IS_student。

createviewIS_student

asselect*fromstudentwheresdept=”IS”

 

实验四:

数据完整性

一、实验目的

在课程结束时,使用SQL查询分析器用PRIMARYKEY、CHECK、FOREIGNKEY……REFERENCES、NOTNULL、UNIQUE等关键字验证SQL2000的实体完整性、参照完整性及用户定义完整性。

二、实验内容

1、在查询分析器中用PRIMARYKEY子句保证实体完整性;

2、在查询分析器中用FOREIGNKEY……REFERENCES子句保证参照完整性;

3、在查询分析器中用短语NOTNULL、UNIQUE、CHECK、DEFAULT保证用户定义完整性。

三、实验步骤

1、在企业管理器中为图书管理数据库BM各表加完整性约束:

(1)定义每个表的主键;

详细步骤:

ALTERTABLEbook

ADDCONSTRAINTbkPRIMARYKEY(书号)

ALTERTABLEreader

ADDCONSTRAINTrkPRIMARYKEY(编号)

ALTERTABLEborrow

ADDCONSTRAINTbkPRIMARYKEY(书号,读者编号)

(2)借阅表与图书表间、借阅表与读者表之间的ForeignKey(外码)约束;

详细步骤:

ALTERTABLEborrow

ADDCONSTRAINTbK_owFOREIGNKEY(书号)REFERENCESbook(书号)

ALTERTABLEborrow

ADDCONSTRAINTrK_owFOREIGNKEY(读者编号)REFERENCESreader(编号)

(3)实现借阅表的书号和读者编号的UNIQUE(惟一性)约束;

详细步骤:

ALTERTABLEborrow

ADDCONSTRAINTU_bhUNIQUENONCLUSTERED(书号)

ALTERTABLEborrow

ADDCONSTRAINTU_dhUNIQUENONCLUSTERED(读者编号)

(4)实现读者性别只能是“男”或“女”的check(检查)约束;

详细步骤:

ALTERTABLEreader

ADDCONSTRAINTbrCHECK(性别 IN(’男’,’女’))

(5)图书表的定价字段的缺省值为0

详细步骤:

ALTERTABLEreader

ALTERSETDEFAULTd10FORbook(定价)

 

实验五:

数据库应用系统的设计

一、实验目的

1、通过完成从用户需求分析、数据库设计到上机编程、调试和应用等全过程,进一步了解和掌握本书中所讲解的内容;

2、提高学生分析能力和抽象能力的目的。

二、实验内容

1、设计一个简单的图书管理系统的数据库。

2、用SQL实现数据库的设计,并在SQLServer上调试通过。

三、实验步骤

三个表各个字段的数据类型:

Book表

Reader表

Borrow表

字段名

数据类型

说明

字段名

数据类型

说明

字段名

数据类型

说明

书号

编号

书号

类别

姓名

读者编号

出版社

单位

借阅日期

作者

性别

书名

电话

定价

1、图书管理系统的E—R图:

 

2、图书管理系统的关系模式:

book(书号,类别,出版社,作者,书名,定价)

reader(编号,姓名,单位,性别,电话)

borrow(书号,读者编号,借阅日期)

各关系模式之间的相互关系:

book与borrow之间是一对多关系

reader与borrow之间是一对多关系

3、图书管理系统的视图及其作用:

read_book(读者姓名,书名,借阅日期)

4、数据库的定义sql语句:

createdatabaserb

基本表定义的sql语句(包含约束):

createtablebook(书号c(5),类别c

(2),出版社c(20),作者c(10),书名c(10),定价n(6),

PRIMARYKEY(书号)

createtablereader(编号c(4),姓名c(10),单位c(20),性别c

(2),电话c(10),

PRIMARYKEY(编号)

Createtableborrow(书号c(5),读者编号c(4),借阅日期d(8),

PRIMARYKEY(书号,读者编号),

FOREIGNKEY(书号)REFERENCESbook(书号),

FOREIGNKEY(读者编号)REFERENCESreader(编号)

视图定义的sql语句:

createviewread_book(读者姓名,书名,借阅日期)

asselect姓名,书名,借阅日期

frombook,reader,borrow

wherebook.书号=borrow.书号andborrow.读者编号=reader.编号

5、在SQLServer上进行调试。

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

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

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

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