一、实验目的
1、了解SQL Server数据库的逻辑结构和物理结构;2、了解SQL Server的基本数据类型;3、学会在企业管理器中创建数据库和表;4、使用SQL查询分析器用
CREATE、DROP、ALTER语句创建和删除数据库,创建、删除、更新基本表。
二、实验内容
1、创建数据库和查看数据库属性。具的使用方法
2、创建表。3、查看和修改表结构。
4、熟悉企业管理器和查询分析器工
三、实验步骤
1、在企业管理器中创建数据库和数据表。
(1) 使用企业管理器建立图书管理数据库,数据库名为长,增长方式是按
详细步骤:
(2) 在企业管理器中查看图书管理数据库的属性,并进行修改,使之符合要求。(3) 通过企业管理器,在建好了图书管理数据库表,其结构为:
图书(书号,类别,出版社,作者,书名,定价)借阅(书号,读者编号,借阅日期)三个表各个字段的数据类型:
Book表
字段名
数据类型
说明
字段名
BM,初始大小为 10MB,最大为50MB,数据库自动增
5MB,按1MB增长。数据库的逻辑文件名
5%比例增长;日志文件初始为2MB,最大可增长到
和物理文件名均采用默认值。
BM中建立图书(book)、读者(reader)和借阅(borrow)3个;读者(编号,姓名,单位,性别,电话)
;
。
Reader表
数据类型
说明
字段名
Borrow 表
数据类型
说明
书号类别出版社作者书名定价
编号姓名单位性别电话
书号读者编号借阅日期
(4) 利用企业管理器向表中输入数据。2、在查询分析器中创建数据库和数据表(1) 创建数据库S-C 的sql语句: create database s_c
(2) 在数据库S-C下,创建基本表create table student( sno c(8)创建基本表创建基本表
create table course( cno c(4) create table sc( sno c(8)
学生表student(sno,sname,ssex,sage,sdept),sname c(10),ssex c(2)
的sql语句:
的sql语句:
,sage(4),sdept c(8) )
课程表course(cno,cname, ccredit)成绩表sc(sno,cno,grade)
,cname c(10),ccredit c(2) )
的sql语句:
,cno c(4),grade n(4) )
(3) 在窗口下分别键入再重新运行student.sql(4) 利用查询分析器编写①在student
DROP TABLE Student及DROP TABLE SC命令,运行后观察结果。和sc.sql,并观察结果。SQL语句修改表。
smerit”(特长),数据类型为
char(30);
该sql语句:
表中增加一个新的字段“
alter table student add smerit c(30)
②修改student
表中sdept字段的数据类型为
varchar(20)
,其sql语句
alter table student alter sdept varchar(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 * from publishers②查询所有工作的job_id为7的职工的职工编号;
Sql语句:
select emp_id from employee where job_id = 7③查询工作的job_id小于7的职工的职工编号;
Sql语句:
select emp_id from employee where job_id < 7
④查询在Germany和France的出版社的名字和所在城市;Sql语句:select pub_name
,city from publishers where country in (Germany
,France)
⑤查询lname为Jablonski的雇员的fname、job_id和hire_date;
Sql语句:select fname
,job_id ,hire_date from employee where lname =
“Jablonski”
⑥查询lname的前两个字符为cr的职员的编号和
fname;
Sql语句:
。
select emp_id ,fname from employee where lname like
SELECT语句完成连接(嵌套)查询:
“cr %”
3、在查询分析器在窗口下用
①查询各个工作号与相应的工作人数;Sql语句:select job .job_id from employee
,job
,count(*) as
人数
where employee.job_id=job.job_idgroup by job.job_id
②查询每个职工及其工作的描述(Sql语句:
select employee .emp_id from employee
,job
,job_desc
job_desc)的情况;
where employee.job_id=job.job_id4、在查询分析器在窗口下用
SELECT语句完成集合查询:
查询job_id为5和job_id为6的职工的姓名和职工所在出版社的名字Sql语句:(select fname
,pub_name from employee
,publishers
where employee.pub_id=publishers.pub_id and job_id=5)union
(select fname
,pub_name from employee
,publishers
where employee.pub_id=publishers.pub_id and job_id=6)
实验三:数据更新、视图的创建与修改
一、实验目的
1、学会使用INSERT、UPDATE、DELETE等SQL语句进行数据更新;2、学会使用CREATE、DROP等SQL语句创建和删除视图。
二、实验内容
1、在查询分析器中使用INSERT、UPDATE、DELETE语句进行数据更新。2、在查询分析器中使用
CREATE、DROP语句创建和删除视图。
三、实验步骤
1、利用企业管理器在数据库
S-C的三个表中分别插入以下数据:学生表studentsnosnamessexsagesdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004
张立
男
19
IS
课程表course:
cnocnamecpnoccredit
1数据库5
42数学23信息系统144操作系统635数据结构746
PASCAL语言
成绩表sc:
snocnograde950011929500128595001385002
2
90
:
95002
2、在查询分析器中:
(1)选择数据库S-C,用INSERT语句向学生表别:男;所在系:
Sql语句:insert into studentvalues (
“9520”,”陈东”,”男”,
IS;年龄:18)。
380
student中插入一个新生记录(学号:95020;姓名:陈东;性
18,“IS”)
另一个字段存放相应的学生平均年龄;
(2)在数据库S-C中建立一个新表然后对学生表
deptage,其中一个字段存放系名,
student按系分组求平均年龄,再把系名和平均年龄存入新表中。
Sql语句:
create table deptage(sdept c(4) select sdept
,avga n(4))
, avg(sage) from student group by sdept
UPDATE语句更改表中数据。
1岁。
3、在查询分析器中用
(1)将所有学生的年龄都增加
update student set sage=sage+1(2)将IS系全体学生的成绩置零。update sc set grade=0
where sno in ( select sno from student where sdept=(3) 分别运行SQL语句,观察运行结果。4、在查询分析器中用
DELETE语句删除表中数据。
”IS”)
(1)删除学号为“95020”的学生记录。delete from student where sno=(2)删除IS系所有学生的成绩记录。delete from student where sdept=(3) 分别运行SQL语句,观察运行结果。5、在查询分析器中用建立IS系学生的视图create view IS_student
as select * from student where sdept=
”IS”
CREATE语句建立视图。IS_student。
”IS””95020”
实验四:数据完整性
一、实验目的
在课程结束时,使用SQL查询分析器用等关键字验证
PRIMARY KEY、CHECK、FOREIGN KEY……REFERENCES、NOT NULL、UNIQUE
SQL2000的实体完整性、参照完整性及用户定义完整性。
二、实验内容
1、在查询分析器中用2、在查询分析器中用
PRIMARY KEY子句保证实体完整性;
FOREIGN KEY……REFERENCES子句保证参照完整性;
NOT NULL、UNIQUE、CHECK、DEFAULT保证用户定义完整性。
3、在查询分析器中用短语
三、实验步骤
1、在企业管理器中为图书管理数据库
(1)
定义每个表的主键;
BM各表加完整性约束:
详细步骤:
ALTER TABLE book
ADD CONSTRAINT bk PRIMARY KEY(书号)
ALTER TABLE reader
ADD CONSTRAINT rk PRIMARY KEY(编号)ALTER TABLE borrow
ADD CONSTRAINT bk PRIMARY KEY(书号,读者编号)
(2)
借阅表与图书表间、借阅表与读者表之间的
ForeignKey(外码)约束;
详细步骤:
ALTER TABLE borrow
ADD CONSTRAINT bK_ow FOREIGN KEY(
ALTER TABLE borrow
ADD CONSTRAINT rK_ow FOREIGN KEY(
(3)
实现借阅表的书号和读者编号的
书号) REFERENCES book(书号) 读者编号) REFERENCES reader(编号)
UNIQUE(惟一性)约束;
详细步骤:
ALTER TABLE borrow
ADD CONSTRAINT U_bh UNIQUE NONCLUSTERED(书号)
ALTER TABLE borrow
ADD CONSTRAINT U_dh UNIQUE NONCLUSTERED(读者编号)
(4)
实现读者性别只能是“男”或“女”的
check(检查)约束;
详细步骤:
ALTER TABLE reader
ADD CONSTRAINT br CHECK(
(5)
图书表的定价字段的缺省值为
0
性别IN(’男’,’女’))
详细步骤:
ALTER TABLE reader
ALTER SET DEFAULT d1 0 FOR book(定价)
实验五:数据库应用系统的设计
一、实验目的
1、通过完成从用户需求分析、数据库设计到上机编程、调试和应用等全过程,进一步了解和掌握本书中所讲解的内容;
2、提高学生分析能力和抽象能力的目的。
二、实验内容
1、设计一个简单的图书管理系统的数据库。2、用SQL实现数据库的设计,并在
SQLServer上调试通过。
三、实验步骤
三个表各个字段的数据类型:
Book表
字段名
数据类型
说明
字段名
Reader表
数据类型
说明
字段名
Borrow 表
数据类型
说明
书号类别出版社作者书名定价
1、图书管理系统的
E—R图:
编号姓名单位性别电话
书号读者编号借阅日期
book m
借阅日期
n
reader
2、图书管理系统的关系模式:
book(书号,类别,出版社,作者,书名,定价reader(编号,姓名,单位,性别,电话borrow(书号,读者编号,借阅日期各关系模式之间的相互关系:
)
)
)
book与borrow之间是一对多关系reader与borrow之间是一对多关系3、图书管理系统的视图及其作用:
read_book(读者姓名,书名,借阅日期)
4、数据库的定义
sql语句:
create database rb基本表定义的
sql语句(包含约束):
create table book(
书号 c(5),
类别 c(2),
出版社 c(20),
作者 c(10),
PRIMARY KEY(书号)
)
create table reader(
编号 c(4),
姓名 c(10),
单位 c(20),
性别 c(2),
PRIMARY KEY(编号)
)
Create table borrow(
书号 c(5),
读者编号 c(4),
借阅日期 d(8),
PRIMARY KEY(书号,读者编号),
书号) REFERENCES book(书号),读者编号) REFERENCES reader(编号)
)
视图定义的sql语句:create view read_book(读者姓名,书名,借阅日期
)
as select
姓名,书名,借阅日期
from book,reader,borrow
where book.书号=borrow.书号 and borrow.
读者编号=reader.编号
5、在SQLServer上进行调试。
书名 c(10),
电话 c(10),
定价 n(6),
FOREIGN KEY( FOREIGN KEY(
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务