数据库原理与应用大作业.docx

上传人:b****2 文档编号:2169147 上传时间:2022-10-27 格式:DOCX 页数:17 大小:124.71KB
下载 相关 举报
数据库原理与应用大作业.docx_第1页
第1页 / 共17页
数据库原理与应用大作业.docx_第2页
第2页 / 共17页
数据库原理与应用大作业.docx_第3页
第3页 / 共17页
数据库原理与应用大作业.docx_第4页
第4页 / 共17页
数据库原理与应用大作业.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

数据库原理与应用大作业.docx

《数据库原理与应用大作业.docx》由会员分享,可在线阅读,更多相关《数据库原理与应用大作业.docx(17页珍藏版)》请在冰豆网上搜索。

数据库原理与应用大作业.docx

数据库原理与应用大作业

《数据库原理与应用》综合设计任务书

前言

《数据库原理与应用》课程的重点知识模块包括:

1)数据库设计、2)用SQL实现建库、建表、查询、更新、和创建视图、3)存储过程和触发器设计。

针对这三个应用能力,用一个案例作为背景,布置三次大作业。

在校大学生都能理解“图书管理系统”的应用场合和业务流程。

因此,以图书管理系统作为案例来布置作业,可以降低业务分析难度,让学生将主要精力放在知识消化与技术应用上。

本文档包括四个部分。

第一部分描述系统的需求,第二部分提出E-R模型设计和关系模型设计的任务;第三部分提出在SQLServer中,用SQL语句来建库、建表、查询、更新数据、创建视图的任务;第四部分,根据应用需求、安全需求和数据完整性要求,提出设计存储过程和触发器的任务。

每个任务之前,都给出了完成任务所需要掌握的关键知识点,学生可以在对这些知识点进行复习的基础上完成任务,每个任务是一次大作业。

础上,对这几个知识点,用一个案例作为背景,分别务。

第一部分案例的需求描述

本部分描述“图书管理系统”的需求,学生通过阅读本部分内容,了解系统的功能要求、运行环境,对系统所需的数据有总体认识,作为三次作业的基础。

1.1需求故事

洁是图书阅览室的管理员,她找到程序开发小组“枫”,请他们帮助开发一套管理程序。

他们围坐在一起,开始以下对话:

洁:

你们进来都看到了,那几排大柜子,全都放满了书,很多教师来借书,管理起来越来越难,希望帮我开发一个管理软件。

枫:

你希望软件提供哪些功能。

洁:

首先是能登记和查看图书信息,借书和还书的时候要方便操作。

对于我来说,看图书的状态很重要,就是说要知道哪些图书已经借出去了,哪些书已经过了借阅期,此外还要做一些统计表……大概就是这些吧。

枫:

你怎么登记借书呢?

规定的借阅期有多长?

过了借阅期怎么办?

洁:

每个老师都有一个工号,我就计工号和图书的ISBN号,一个人最多能借2本书。

不同类型的书借阅期限是不一样的,比如文学作品的借阅期规定是15天,教学参考书的借阅期限是半年。

有的人不自觉,过期好久都不还,我现在是翻记录本一个个地找,然后打电话到他的部门,并且发催还邮件。

枫:

同一ISBN只有一本书吗?

洁:

是的,现在把书分成这样几类:

教学参考书、文学作品、学术期刊、学术专著。

枫:

你想统计一些什么数据

洁:

主要是分类统计图书册数和价值、图书借阅次数。

我们想知道哪些图书最受欢迎。

枫:

阅览室是你一个人在管么?

洁:

阅览室有两个人。

我们俩都有一台计算机,最好两台计算机都可以用上这个软件。

1.2需求分析

1)功能需求

图1-1:

功能需求示意图

教师信息管理:

用于教师基本资料的增删改查。

图书信息管理:

用于图书基本信息的增删改查,分类统计图书册数和价值。

借书登记:

记录借书时间、所借图书、借书人、办理人。

还书登记:

记录还书时间、所还图书、还书人、办理人。

催还:

查询借阅逾期的借书信息,给借书人发电子邮件,给借书人的部门打电话。

2)运行环境要求

图1-2:

运行环境拓扑图

系统采用C/S模式,有两台PC和一台服务器,联成一个局域网。

PC上安装图书管理软件的客户端,服务器上安装DBMS,服务器也可由两台PC中的一台来代替。

第二部分作业1——E-R模型与关系模型设计

(满分8分)

本部分的任务是:

在需求分析的基础上,进行E-R图设计,然后将E-R模型转换为关系模型。

任务:

1)根据需求描述,绘制E-R图。

2)将E-R图转换成关系模型,写出所有的关系模式,并写出每一个关系是按照什么规则转换而成的。

3)在已经形成的关系模型下,举例说明连接运算、投影运算、选择运算。

参考答案:

(属性写在了实体和联系图形内)

任务:

1)根据需求描述,分别为“图书管理系统”的不同功能模块绘制局部E-R图。

教师信息管理:

图书基本信息管理:

借还书登记:

催还书登记:

2)整体E-R图

3)关系模式

Ø类型表(类型名,借阅期限),依据:

实体转换为关系。

Ø图书表(ISBN,书名,作者,出版社,出版时间,单价,类型名,状态),依据:

实体转换为关系,1:

N的联系合并到N,在N方增加一个外键:

类型名。

注:

状态属性为(库存,借出)

Ø管理员表(管理员名,性别,口令),依据:

实体转换为关系。

Ø教师表(教师工号,姓名,性别,Email,部门名),依据:

实体转换为关系,1:

N的联系合并到N,在N方增加一个外键:

部门名。

Ø部门表(部门名,电话),依据:

实体转换为关系。

Ø借还表(借还业务编号,ISBN,教师工号,借办理人,借出日期,还办理人,归还日期),依据,M:

N联系转换为一个关系,取联系的实体的键加联系属性作为其属性,可以增加一个列作为主键。

Ø催还表(催还业务编号,ISBN,教师工号,办理人,催还日期),依据,M:

N联系转换为一个关系,取联系的实体的键加联系属性作为其属性,可以增加一个列作为主键。

4)在已经形成的关系模型下,举例说明连接运算、投影运算、选择运算。

连接运算:

查看类型的图书已经超过了有效借出期限。

(需要图书,类型,借还关系)

投影运算:

查看图书的书名、作者。

选择运算:

查看单价高于50元的图书。

第三部分作业2——用SQL语句建库、查询、更新数据、创建视图

(满分9分)

本部分的任务是:

在关系模型的基础上,设计出数据库的逻辑结构,然后在SQLServer中用SQL语句创建数据库、数据表、并输入一些原始数据,写SQL语句,进行数据增删改,创建视图。

任务:

1)在第一次大作业的参考答案基础上,将每个关系转换为SQLServer支持的表结构,写出表结构。

2)使用SQL语句,创建数据库,数据库名为BookStore

3)使用SQL语句,在数据库中创建表,设定表的主键约束、外键约束、检查约束、非空约束。

4)写以下增删改查操作的SQL语句

1、增加三条类型表数据

2、增加三条教师表数据

3、增加五条图书表数据

4、某教师今天借了某书,涉及两个操作,一是图书表的状态改为“借出”,二是增加一个借还表记录

5、将某书的单价改为32元。

5)写出创建以下视图的SQL语句

1.查询某教师的借还书记录

2.查询某本书的流转记录

3.借出但未归还的图书视图

4.借阅逾期视图

5.图书分类统计册数和总价值的视图

参照完成:

1)表结构

管理员表

列名

类型

约束

用户名

Char(10)

pk

性别

Char

(2)

NOTNULL,且默认为男

口令

Nchar(20)

NOTNULL

类型表

列名

类型

约束

类型名

NChar(10)

pk

借阅期限

tinyint

NOTNULL

图书表

列名

类型

约束

ISBN

Char(20)

pk

书名

Nchar(20)

NOTNULL

作者

Nchar(20)

NOTNULL

出版社

Nchar(20)

NOTNULL

出版时间

DateTime

NOTNULL

单价

money

NOTNULL

类型名

Nchar(10)

FKreferences类型表.图书类型

状态

Nchar

(2)

状态in(库存,借出)

部门表

列名

类型

约束

部门名

NChar(10)

pk

电话

char(11)

NOTNULL

教师表

列名

类型

约束

工号

Char(4)

pk

姓名

Nchar(4)

NOTNULL

性别

Char

(2)

NOTNULL,且默认为男

姓名

Nchar(4)

NOTNULL

Email

Char(30)

NOTNULL

部门名

Nchar(10)

Fkreferences部门表.部门名

借还记录表

列名

类型

约束

业务编号

int

Pk自动标示

ISBN

char(20)

Fkreferences图书表.isbn

工号

Char(4)

Fkreferences教师表.工号

借办理人

Char(10)

NOTNULL

借出日期

datetime

NOTNULL

还办理人

Char(10)

归还日期

datetime

催还记录表

列名

类型

约束

业务编号

int

Pk自动标示

ISBN

char(11)

Fkreferences图书表.isbn

工号

Char(4)

Fkreferences教师表.工号

办理人

Char(10)

NOTNULL

催还日期

datetime

NOTNULL

1)使用SQL语句,创建数据库,数据库名为BookStore

语句:

CreateDatabseBookstore

2)使用SQL语句,在数据库中创建表,设定表的主键约束、外键约束、检查约束、非空约束。

语句:

CREATETABLE管理员表(

管理员名nchar(10)NOTNULL,

性别Char

(2)notnullDEFAULT'男',

口令nchar(20)NOTNULL,

CONSTRAINTPK_管理员PRIMARYKEYCLUSTERED(管理员名ASC)

)ON[PRIMARY]

GO

CREATETABLE类型表(

类型名nchar(10)NOTNULL,

借阅期限tinyintNOTNULL,

CONSTRAINTPK_类型PRIMARYKEYCLUSTERED(类型名ASC)

)ON[PRIMARY]

GO

CREATETABLE图书表(

ISBNchar(20)NOTNULL,

书名nchar(20)NOTNULL,

作者nchar(20)NOTNULL,

出版社nchar(20)NOTNULL,

出版时间datetimeNOTNULL,

单价moneyNOTNULL,

类型名nchar(10)NOTNULL,

状态nchar

(2)NOTNULLCHECK(状态in('库存','借出')),

CONSTRAINTPK_图书PRIMARYKEYCLUSTERED(ISBNASC),

CONSTRAINTFK_图书_类型FOREIGNKEY(类型名)REFERENCES类型表(类型名)

ONUPDATECASCADEONDELETECASCADE

)ON[PRIMARY]

GO

CREATETABLE部门表(

部门名nchar(10)NOTNULL,

电话char(11),

CONSTRAINTPK_部门表PRIMARYKEYCLUSTERED(部门名ASC)

)ON[PRIMARY]

GO

CREATETABLE教师表(

工号char(4)NOTNULL,

姓名nchar(4)NOTNULL,

性别Char

(2)notnullDEFAULT'男',

Emailchar(30)NOTNULL,

部门名nchar(10)NOTNULL,

CONSTRAINTPK_教师表PRIMARYKEYCLUSTERED(工号ASC),

CONSTRAINTFK_部门表_教师表FOREIGNKEY(部门名

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

当前位置:首页 > PPT模板 > 商务科技

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

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