数据库设计

1.1 项目目的

课程设计的目的是为了巩固复习曾经学习过的数据库课程,并通过实际的实验对所学的知识加以巩固以达到模拟现实生活中实际用例的目的,并增加同学们适应以后工作中的团队工作中的合作互助的团队精神。

1.2 系统定义

1.2.1 初始数据库大小

1)      大约有20 000盘录像,400 000盘供出租的录像分布在超过100个分公司中。每个分公司平均有4000盘录像,最多有10 000盘供出租。

2)      大约有2000名员工工作在各个分公司。每个分公司平均有15名员工,最多有25名。

3)      大约有100 000名会员在各个分公司注册。每个分公司平均有1000名会员,最多有1500名会员。

4)      各个分公司共有400 000盘录像拷贝。平均每个分公司有400010 000盘录像

1.2.2 数据库增长速度

1)      每月大约有100部新片,每盘录像有20份拷贝加到数据库中。

2)      一旦某盘录像的一份拷贝不能再租借出去(如画面质量差、丢失、被偷),则相应的记录从数据库中删除。

3)      每月会有20名员工加入或者离开。离开公司一年的员工记录从数据库中删除,每月大约删除20条员工记录。

1.2.3 网络和共享访问要求

1)      所有分公司都必须安全地和位于公司总部的中央数据库实现网络互连。

2)      系统必须能够支持每个分公司的至少三名成员同时访问。

1.2.4 安全性

1)      数据库必须有口令保护。

2)      每个员工应该分配一个到特定用户视图的数据库访问权限,主要是主管、经理、助理和采购员。

3)      员工只能在适合他们完成工作的需要窗口中看到需要的数据。

1.3 开发环境

SQL Server 2005 Visual Studio 2008 开发环境。

二、            需求分析

2.1 问题陈述

   该系统最终用于影碟出租公司,业务范围需遍布大范围区域,可以及时并很好地把各地分公司的业务数据汇总于最高管理层面前,使得跨区域的数据共享变得更便利,并为业务分析提供了很好的参考数据,减少了收集业务分析所需收据的经费开销,根据业务范围的限制,本系统暂时定义的边界偏小,并不能很好地涵盖公司的管理方面的各种业务,现况只涉及内部人员管理和租借业务的管理。另外还包含了客户的信息管理。

图表 1 系统边界定义

2.2           数据需求

StayHome的一个分公司的数据包括分公司地址(由街道、城市、省份和邮政编码组成),电话号码(最多3行)。每个分公司有个名称,在全公司是唯一的。

StayHome的每个分公司都有若干名员工,包括一个经理,一到多名主管、助理、采购员和一些其他员工。经理负责分公司的日常运营,主管负责管理助理和员工,助理帮助主管分担管理员工的任务,员工数据主要包括姓名、身份证号、职务、薪水等。每位员工有员工号码,在全公司是唯一的。

每个分公司有录像库存。录像数据包括目录号、录像号、片名、种类、日租费用、购买价格、状态、主要演员名字(以及扮演的角色)和导演。目录号唯一地表示一盘录像。通常一个分公司有一盘录像的多份拷贝,每个拷贝由录像号唯一地表示。录像的种类有动作、成人、儿童、恐怖、科幻。状态指出一盘录像的某份拷贝是否可以出租。

在从公司租借录像之前,客户必须首先注册成为StayHome当地分公司的一名会员。会员信息包括姓名、身份证号、地址、联系方式和注册日期。每个会员有会员号,会员号对所有分公司都是唯一的,而且可以在多个分公司使用同一会员注册号。负责注册该会员的员工的姓名也要加上。

注册后,会员可以租借录像。租借业务数据包括租借号、会员的全名、会员号、录像号、片名、每日费用、租出的提起和归还的日期。

2.3           事务需求

2.3.1      数据录入

a)      录入一个新分公司的详细情况。

b)      录入某分公司的新员工的详细情况。

c)      录入新入库的录像的情况。

d)      录入给定分公司的某部录像拷贝的情况。

e)      录入某分公司新会员的情况。

f)      录入租借协议的情况。

2.3.2      数据更新和删除

a)      更新/删除分公司信息。

b)      更新/删除某分公司的员工信息。

c)      更新/删除给定录像的信息。

d)      更新/删除给定录像的某分拷贝的信息。

e)      更新/删除给定会员的信息。

f)      更新/删除某会员租借某部录像的信息。

2.3.3      数据查询

a)      列出给定城市的分公司情况。

b)      按照员工的名字顺序列出指定分公司的员工名称、职位、薪水。

c)      按照分公司号顺序列出每个分公司的经理名称。

d)      分类列出某分公司的录像名称、种类和可租借情况。

e)      列出某个会员租借的全部录像的详细情况。

f)      列出某个分公司指定录像的拷贝情况。

g)      列出指定种类的所有录像名称,按片名排序。

h)      列出每个分公司每种录像的数量,按照分公司号排序。

2.3.4      用户管理

a)      普通员工注册,获取一个用户名,登陆系统开展工作

b)      系统管理员可以管理(更新、删除、解锁、锁定、密码恢复)总经理等各级员工的用户。

c)      总经理可以管理(更新、删除、解锁、锁定、密码恢复)主管、采购员和助理的用户。

d)      主管可以管理(更新、删除、解锁、锁定、密码恢复)助理和普通员工注册的用户。

e)      助理管理(更新、删除、解锁、锁定、密码恢复)员工注册的用户。


2.4           E-R

图表 2  StayHome 全局实体关系图


三、            数据库逻辑设计

3.1           主要关系处理

3.1.1   1..*递归关系

有一个1:*递归关系:员工(主管、助理)管理员工(助理、普通员工) ,这时父实体和子实体都是Staff。根据上面给出的规则,应把Staff父实体的主键拷贝到Staff子表中来表达Supervises关系,这时应该建立这个列的第二个拷贝作为外键。这个列的拷贝被重新命名为supervisorStaffNo,由此来更好表达它的意思。

图表 3  1:*递归关系(员工管理员工)

员工(员工号,姓名,职位,薪水,公司号,监督员工号)

主键:员工号

外键 公司号 关联 公司表(公司号)

外键 监督员工号 关联 员工表(员工号)

员工号 用来表示“员工管理员工”关系(监督员工号)

公司号来自“公司拥有员工”关系

3.1.2         1:1关系(一边是强制参与)

在这种情况下,关系中的可选参与的实体被设计为父实体,关系中的强制参与的实体被设计为子实体。即父实体的主键拷贝被放置在描述子实体的表中。

在只有一边实体强制参与的1:1关系中有一个或多个属性的情形中,这些属性也应该随其主键加入到子表中。例如“经理管理公司”关系有一个叫做“上任日期”的属性,则这个属性将随着“员工号”(重命名为“经理号”)的拷贝加入到公司表中,成为该表中的一列。

图表 4  “公司拥有员工(包括经理)”和“经理管理员工”关系

图表 5 关系之间的关联

公司(公司号、名称、省份、城市、街道信息、邮政编码、经理号)

员工(员工号、姓名、性别、职位、薪水、公司号、监督员工号)

3.2           基础架构表

图表 6 基本表

Branch

BranchNoProvinceCityStreetZipCodeMgrStaffNoName

(分公司)

(分公司号、省份、城市、街道、邮编、经理号、名称)

Telephone

TelNoTelNumeberBranchNo

(联系电话)

(电话号、电话号码、公司号)

Staff

StaffNoNameSexCardIDEmailMobilePhonePositionSalaryBranchID

(员工)

(员工号、姓名、性别、身份证号、邮箱、电话号码、职位、工资、分公司号)

Member

MemberNoNameCardIdAddressPhoneEmail

(会员)

(会员号、姓名、身份证号、地址、联系电话、邮箱)

Registration

BranchNoMemberNoStaffNoDateJoined

(注册)

(公司号、会员号、员工号、注册日期)

Video

CatalogNoTitleCategoryDailyRentalPriceDirectorNo

(录像)

(类别号、标题、类别、日租、价格、导演号)

VedioStored

StoredNoCatalogNoQuantityBranchNo

(录像库存)

(库存号、录像号、数量、公司号)

VideoForRent

VideoNoAvailableStordNoISBNRemark

(出租录像)

(影碟号、可否出租、库存号、ISBN检索号、备注)

Director

DirectorId DirectorNameRemark

(导演)

(导演号、导演姓名、备注)

Actor

ActorIdActorName

(演员)

(演员号、演员姓名)

Role

RoleNoActorNoDirectorNoCharacter

(角色)

(角色号、演员号、导演号、角色)

RentalAgreement

RentalNoDateOutDateReturnMemberNoVideoNoIsFinish

(出租协议)

(协议号、出租日期、归还日期、会员号、影碟号、是否完成)

UserMapping

GuidUserNameEntityEntityIDRemark

(用户表)

(唯一标识、用户名、实体、实体ID、备注)

PropertyMapping

PropertyNamePropertyValuePropertyMeaningRemark

(映射表)

(映射名称、映射值、映射意义、备注)

  


[] -- 参考文献 --


[]1 数据库系统概论                   王珊、萨师煊 编著                        高等教育出版社

2、深度探索关系数据库              C.J.Date 编著                            电子工业出版社

3UML用户指南         Grady BoochJames RumbaughIvar Jacobson编著      电子工业出版社

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
影碟出租管理系统需求规格说明书 1、 引言 1.1 编写目的 在编写“影碟出租管理系统”软件之前,对同类型产品的市场进行了前期调查,与多位软件设计者和使用者进行了探讨和分析,之后由软件项目小组向系统分析人员与软件设计人员提出了这份需求规格说明书。该需求说明书对影碟出租管理系统软件进行了全面细致的用户需求分析,明确所要开发的软件应具有的功能、性能与界面。该项需求规格说明书供概要设计人员阅读。 1.2 项目背景 项目委托单位: 开发单位: 主管部门: 影碟出租管理系统软件是一个功能比较完善的数据管理软件,具有数据操作方便、高效、迅速等优点。该软件采用功能强大的数据库软件开发工具进行开发,可在应用范围较广的Windows系列等操作系统上使用。 1.3 定义 影碟出租管理系统 1.4 参考文献 [1]SQL Server 2000 基础教程 清华大学出版社 DUSAN PETKOVIC 著 [2] SQL Server 2000 实用教程 人民邮电出版社 黄梯云 编著 [3]程序设计 DELPHI 7.0 中国铁道出版社 扬锋 编著 [4]软件工程电子工业出版社周丽娟 王华 编著 2.任务概要 2.1 目标 “影碟出租管理系统”针对的用户是中小型商店,影碟的种类和数量相对较少,客户的数量和来源受到一定的限制。相应的需求有如下方面。 1.能够存储一定数量的影碟信息,并方便有效地进行相应的影碟数据操作和管理,这主要包括以下内容。 ⑴影碟的库存情况 ⑵客户影碟预定需求 ⑶客户租碟情况 ⑷新碟的入库 ⑸影碟出租 ⑹用户数据添加 2.能够对一定数量的客户进行相应的信息存储与管理,这其中包括以下内容。 ⑴客户信息的登记、删除及修改。 ⑵客户资料的统计与查询。 3.能够对需要的统计结果提供打印输出。 4.能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务。 2.2 运行环境Intel486以上系列、AMD K6以上系列等PC台式和便携式计算机。 运行时占用内存:大于等于1MB。 所需硬盘空间:大于等于5MB。 软件平台:中文Windows 95/98/NT 4.0或更高的版本。 2.3 条件与限制由于时间比较短,使用计算机不方便以及对于网络编程不熟悉,因此本影碟出租管理系统并没有提供提供数据的远程访问功能。对信息的保护手段仅限于设置用户级别,以及提供数据文件的备份,比较简单,安全性有待进一步完善。 3.数据描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值