文档详情

数据库实验报告-图书管理系统

碎****木
实名认证
店铺
DOCX
221.74KB
约16页
文档ID:229350203
数据库实验报告-图书管理系统_第1页
1/16

《数据库应用系统》实验报告院 系:班 级:学 号:姓 名:一、功能需求说明和分析本实验要求实现一个图书管理系统,系统功能需求说明如下:系统设置:参数、读者类型、图书类型、出版社、预约天数、管理员权限等的设置; 系统管理:书籍资料、读者资料的管理和数据导入;基本操作:书籍借阅、续借、归还,新增书籍、读者,读者挂失、注销、退卡,书籍注销, 丢失罚款;系统查询:书籍资料、借阅、归还等的查询,读者资料、超期未还、书籍注销的查询;统计分析:书籍、读者资料分类统计,书籍、读者借阅排行榜; 罚款租金:可以进行罚款或租金的操作,并进行统计汇总;系统维护:备份、还原数据库,管理员登录密码修改针对上述需求说明,对该系统的需求进行进一步的分析如下: 管理员权限:1. 图书的录入,查询,修改和注销;2. 读者信息的添加,修改,查询和注销;3. 个人账号登录,查看个人信息,修改密码,退出登录;4. 管理和授予读者借书权限;5. 正常还书和违规还书读者权限:1. 图书检索;2. 登录,查看个人信息,查看借阅记录,退出登录;3. 借书,还书;4. 续借已借书籍,预约书籍;5. 挂失和退卡注销书籍检索:1. 读者可检索到自己想要的书籍的基本信息2. 可以按照书籍排行榜查看书籍相关书籍二、需求分析数据流图(DFD)表达了数据和处理过程的关系,根据需求分析得到数据流图如下图所示。

数据字典(DD)是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果因此,图书馆信息管理系统数据流程图中,数据信息和处理过程需要通过数据字典才能描述清楚在我们定义的图书馆信息管理系统数据字典中,主要对数据流程图中的数据结构、数据存储和处理过程进行说明1、数据结构反应了数据之间的组合关系,主要数据结构定义如下:1) 数据结构名称:管理员信息含义说明:管理员信息反应了管理员的一些相关信息组成:编号+姓名+登录密码2) 数据结构名称:读者信息含义说明:读者信息反应了读者的一些相关信息组成:卡号+姓名+性别+类别+单位3) 数据结构名称:图书信息含义说明:图书信息反应了图书的一些相关信息组成:书号+书名+作者+分类+出版社+状态+入库日期+数量4) 数据结构名称:借阅记录含义说明:借阅记录反应了每一本书的被借阅历史和每一位读者的借阅历史组成:书号+卡号+借出日期+归还日期2、数据存储是数据结构停留或者保存的地方,主要数据存储定义如下:1) 数据存储名称:管理员信息表输入:管理员的工作编号输出:管理员的基本信息数据结构:编号+姓名+登录密码说明:编号是唯一的,且不能为空,作为主码2) 数据存储名称:读者信息表输入:读者的借书卡卡号输出:读者的基本信息以及借阅记录 数据结构:卡号+姓名+性别+类别+单位说明:卡号是唯一的,且不能为空,作为主码3) 数据存储名称:图书信息表输入:图书的书号输出:该图书的状态(已借出/馆内阅读/在架上)和被借阅历史数据结构:书号+书名+作者+分类+出版社+状态+入库日期+数量说明:书号是唯一的,且不能为空,作为主码4) 数据存储名称:借阅记录表输入:书籍的书号,或者读者的借书卡卡号输出:相应的借阅记录数据结构:书号+卡号+借出日期+归还日期说明:书号-卡号作为主码;在读者-书籍关系中,卡号为主码,书号为外码;在书籍读者关系中,书号为主码,卡号为外码3、处理过程的具体处理逻辑一般用判定表或者判定树来描述,在数据字典中只需要描述处理过程的说明性信心。

主要处理过程定义如下:1) 处理过程名称:读者管理输入:读者借书卡卡号 输出:读者的基本信息处理操作:对读者进行统一编号,对读者信息进行添加,修改和注销2) 处理过程名称:图书管理输入:图书的书号输出:图书的基本信息处理操作:对图书进行编号,分类,对图书信息进行添加,修改和注销三、概念设计1、通过对实体和关系的分析,得到各实体的 E-R 图如下:1) 管理员2) 读者3) 图书2、系统整体 E-R 图四、逻辑设计和物理设计1. 将图书管理系统的 E-R 图转换为关系模式,关系模式和函数依赖如下:1) 管理员(编号,管理员姓名,登录密码)函数依赖:编号->管理员姓名,编号->登陆密码2) 读者(卡号,读者姓名,性别,类别,单位)函数依赖:卡号->读者姓名,卡号->性别,卡号->类别,卡号->单位3) 图书(书号,书名,作者,分类,出版社,数量,状态,入库日期)函数依赖:书号->书名,书号->作者,书号->分类,书号->出版社,书号->数量,书号->状态,书号->入库日期4) 借阅记录(书号,卡号,借出日期,归还日期)函数依赖:(书号,卡号)->借出日期,(书号,卡号)->归还日期2. 数据结构详细设计字段名数据类型是否为空 是否为主键描述mIDchar(15)NOYES管理员编号mnameVarchar(20)YES管理员名称pwdVarchar(30)YES密码表 1 管理员信息表(manager)字段名数据类型是否为空是否为主键描述rIDVarchar(15)NOYES借书卡卡号rnameVarchar(20)YES读者姓名sexchar(1)YES性别categoryVarchar(10)YES类别workplaceVarchar(30)YES单位表 2 读者信息表(reader)表 3 图书信息表(book)字段名数据类型是否为空是否为主键描述bIDVarchar(15)NOYES书号bnameVarchar(30)YES书名authorVarchar(20)YES作者typeVarchar(10)YES分类pressVarchar(30)YES出版社quanlityVarchar(3)YES数量statusVarchar(10)YES状态IntimeVarchar(10)YES入库日期表 4 借阅记录表(record)字段名数据类型是否为空是否为主键描述bIDVarchar(15)NOYES书号rIDVarchar(15)NOYES借书卡卡号borrowtimeVarchar(10)YES借出时间returntimeVarchar(10)YES归还时间3. 利用 open system Architect 建模,得到逻辑模型和物理模型,并输出 SQL DDL。

实现过程截图如下:物理模型:生成的 SQL DDL 截图如下:五、postgreSQL数据库实现用 pgAdmin 进行管理,创建一个名为 mrb(管理员-读者-读书)的数据库然后再所建的数据库下面完成各个数据表的定义SQL 语句如下:1. --Database: mrbCREATE DATABASE mrbWITH OWNER = postgres ENCODING = UTF8TABLESPACE = pg_defaultLC_COLLATE = Chinese (Simplified), Singapore LC_CTYPE = Chinese (Simplified), Singapore CONNECTION LIMIT = -1;GRANT ALL ON DATABASE mrb TO postgres;2. --Table: bookCREATE TABLE book ("bID" "char"[] NOT NULL,bname "char"[],auther "char"[],type "char"[],press "char"[], quanlity "char"[], status "char"[],intime "char"[],CONSTRAINT b_key PRIMARY KEY ("bID" ))WITH (OIDS=FALSE);ALTER TABLE bookOWNER TO xiemin;3. --Table: managerCREATE TABLE manager ("nID" "char"[] NOT NULL,mname "char"[],psw "char"[],CONSTRAINT m_key PRIMARY KEY ("nID" ) DEFERRABLE INITIALLY IMMEDIATE)WITH (OIDS=FALSE);ALTER TABLE manager OWNER TO xiemin;4. --Table: readerCREATE TABLE reader ("rID" "char"[] NOT NULL,rname "char"[],sex "char"[], category "char"[], workplace "char"[],CONSTRAINT r_key PRIMARY KEY ("rID" ))WITH (OIDS=FALSE);ALTER TABLE reader OWNER TO xiemin;5. --Table: recordCREATE TABLE record ("bID" "char"[] NOT NULL,"rID" "char"[] NOT NULL,borrowtime "char"[], returntime "char"[],CONSTRAINT re_key PRIMARY KEY ("bID" , "rID" ), CONSTRAINT re_f_key FOREIGN KEY ("bID")REFERENCES book ("bID") MATCH SIMPLEON UPDATE NO ACTION ON DELETE NO ACTION, CONSTRAINT re_r_key FOREIGN KEY ("rID")REFERENCES reader ("rID") MATCH SIMPLEON UPDATE NO ACTION ON DELETE NO ACTION)WITH (OIDS=FALSE);ALTER TABLE record OWNER TO xiemin;--Index: fki_re_f_keyCREATE INDEX fki_re_f_key ON recordUSING btree ("b。

下载提示
相似文档
正为您匹配相似的精品文档