数据库课程设计

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验目的:通过本次课程设计让学生能够综合运用所学的关系数据库原理

知识解决并能设计一个实际问题,进一步掌握数据库原理的相关理论和数据库的

设计实现过程,进一步提高学生的分析问题和解决问题的能力以及学生的动手能力。

实验要求:设计一个图书借阅管理系统,实现下列功能:

1.图书信息的维护(包括录入,修改和删除);

2.读者信息的维护(包括录入,修改和删除);

3.借阅(借,还)信息的维护(包括借,还信息录入,修改和删除);

实验思路:

1、录入一些图书信息、读者信息和管理员信息;

2、给定借阅信息显示借阅情况

3、按照图书馆的情况进行维护(对图书,读者的信息的修改)

关系模型:

读者(读者学号,读者姓名,读者性别,联系电话,所在系)

图书(书号,书名,作者,出版社,出版日期)

借阅(工作号,书号,读者学号,借书日期,还书日期,是否续借)

读者信息表:

读者学号读者姓名读者性别联系电话所在系

10211101 司马南男1234567 软件

12011102 安德森男1235436 软件

10211103 艾丝凡女5673434 电子

10211104 阿杜男1234127 英语

10211105 范德男2345678 软件

10211106 范唯女1234877 经管

10211107 李静娜9874567 外国语

图书信息表:

1001 数据库陈城北京大学出版社2000-10-21 1002 数学章年清华大学出版社2000-111-21 1003 英语唐强人民邮电出版社2000-06-21 1004 C++ 陈好天津出版社2002-10-21 1005 死神唐冰北京大学出版社2000-10-12 1006 仙逆唐少河北出版社2000-10-12

1007 大学英语李国华上海教育出版社2000-10-12 借阅表:

书号读者学号借书日期还书日期是否续借

1003 10211103 2011-11-12 2011-12-21 否

1001 10211102 2011-11-15 2011-12-21 否

1002 10211103 2011-11-12 2011-12-21 否

1005 10211101 2011-10-12 2011-11-21 否

1007 10211106 2011-07-02 2011-09-21 否

E-R图

读者

读者学号读者姓名

读者性别

所在系

联系电话

借阅

工作号书号

读者学号

借书日期

还书日期

续借

图书

书号

书名

作者

出版社

出版日期

1 m

实现过程:

创建数据库:

create database 图书

on

(name=图书_data,

filename='d:\teachdata.mdf',

size=10,

maxsize=50,

filegrowth=5)

log on

(name=图书_log,

filename='d:\teachdata.ldf',

size=10,

maxsize=50,

filegrowth=5)

创建表:

/*读者表*/

create table 读者

(读者学号varchar(10) not null primary key, 读者姓名varchar(10) not null,

读者性别varchar(2) not null,

联系电话varchar(12),

所在系varchar(20)not null)

/*管理员表*/

create table 管理员

(工作号varchar(10)not null primary key,

姓名varchar(12) not null,

性别varchar(2) not null,

电话varchar(12),

家庭住址varchar(50) )

/*图书表*/

create table 图书

(书号varchar(10) not null primary key,

书名varchar(50) not null,

作者varchar(12) not null,

出版社varchar(50),

出版日期datetime)

/*借阅表*/

create table 借阅

(工作号char(10) not null,

书号varchar(10) not null,

读者学号char(10) not null,

借书日期datetime not null,

还书日期datetime not null,

是否续借char(4) not null)

创建索引:

create unique index 图书索引on 图书(书号)

create unique index 读者索引on 读者(读者学号)

create unique index 管理员索引on 管理员(工作号)

create unique index 借阅索引on 借阅(工作号,读者学号,书号)

创建视图:

create view 查询_view(读者学号,读者姓名,读者性别,所在系,书名,借书日期) as

select 借阅.读者学号,读者姓名,读者性别,所在系,书名,借书日期

from 读者,图书,借阅

where 读者.读者学号=借阅.读者学号and 借阅.书号=图书.书号

创建触发器:

/*修改读者学号*/

create trigger 读者_修改

on 读者

for update

as declare @old_读者学号varchar(10)

declare @new_读者学号varchar(10)

select @old_读者学号= 读者学号from deleted

select @new_读者学号= 读者学号from inserted

update 借阅

set 读者学号=@new_读者学号

where 读者学号=@old_读者学号

/*删除读者*/

create trigger 读者_删除

on 读者

for delete

as

delete from 借阅

where 读者学号=(select 读者学号from deleted)

/*修改图书编号*/

相关文档
最新文档