数据库实习报告——小型ktv收费管理系统word报告版内容摘要:

包间( 包间号 、包间等级、单价、使用状态、折扣、顾客编号) 消费( 顾客编号、项目编号、 入帐时间 、 数量) 酒水食品( 项目编号 、 酒水名称、单价、当前库存) 罚款( 顾客编号、破坏物品 ) 包间物品( 物品编号 、物品名、单价、赔偿价格) 2. 数据模型优化 经过检查,以上 八个关系模型当中有四个的主码都只有一个属性列,所以不存 在部分函数依赖, 其余四个 关系模式也不存在部分函数依赖。 而且这 八 个关系模式也不存在传递函数依赖。 因此,它们均已经达到 3NF。 3. 数据库模式定义 其中,包括各模式的逻辑结构定义、关系的完整性和安全性等内容。 一个关系模式应当是一个五元组 R U, D, dom, F ,而一般只将其看作一个三元组 RU, F。 表 数据库模式定义表 编号 逻辑结构 (基本表 )定义 完整性和安全性 T- 1 Waiter(详见附录 2- 1) (详见附录 2- 1) T- 2 Manager(详见附录 2- 2) (详见附录 2- 2) T- 3 Room(详见附录 2- 3) (详见附录 2- 3) T- 4 Consumption(详见附录 2- 4) (详见附录 2- 4) 2020 级信息管理与信息系统 1 班数据库应用系统课程设计论文 12 T- 5 Goods(详见附录 2- 5) (详见附录 2- 5) T- 6 Penalty(详见附录 2- 6) (详见附录 2- 6) T- 7 RGoods(详见附录 2- 7) (详见附录 2- 7) T- 8 Guests(详见附录 2- 8) (详见附录 2- 8) 4. 用户子模式 设计 将概念模型转换为全局逻辑模型后,还应该根据用户的习惯和 具体 需求 情况 设计符合局部用户需要的外模式,即视图设计。 表 用户子模式设计 (View)列表 编号 用 户子模式 (View) 作用 (共性:提供数据保密和安全保护机制 ) V- 1 CRgoods 查询 顾客消费明细表并提供消费金额查询 V- 2 Temps 查询 顾客消费酒水食品总额 V- 3 Cpenalty 查看 顾客赔偿总额并开出罚款单 V- 4 Cbadroomgoods 查看 包间损坏物品情况 V- 5 Guestsbase 查看 包间使用情况和服务员服务情况 物理设计阶段 物理设计阶段的目标 根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构 (包括文件类型、索引结构和数据的存放次序与位逻辑等 、 存取方法和存取路径等。 这一步设计的结果就是所谓 “物理数据库 ”。 物理设计阶段的任 务 1. 数据存储方面 为数据库中各基本表建立的索引如下: ( 1) 由于基本表 Waiter、 Goods、 Guests 的主码 WaiterNo、 GoodsNo、 GuestsNo、经常在查询条件和连接操作的连接条件中出现,且它们的值唯一,考虑在两个属性上建立唯一性索引; ( 2) Consumption 的主码 GuestsNo、 ProNo 和 billtime, Manager 的主码 WaiterNo和 RoomNo, Penalty 的主码 GuestsNo 和 RGoodsNo, 他们 经常在查询条件中出现,且它们的组合值唯一,考虑在它们之上建立组合索引; ( 3) 基本表 RGoods 的属性值几乎不会有什么变化,更新率很低,可考虑适当 建立索引; 2. 系统功能模块 ( 1) 顾客 — 包间 信息查询和更新模块 将实现对 顾客以及开包间 信息的查询和更新操作,方便于 顾客服务单创建, 科学 有效2020 级信息管理与信息系统 1 班数据库应用系统课程设计论文 13 的管理 顾客消费 的变动性和流动性,及时地更换信息。 具体的功能模块图如下: 图 顾客 — 包间信息查询和更新模块 ( 2) 酒水食品 信息的查询和更新模块 将完成 酒水食品 基本信息的查询、更新(修改、插入、删除)操作,便于 对 消费酒水信息 管理, 从而更有利于 管理员开具发票 ,确保 顾客知道自己的花销情况 具体的功能模块图如下所示: 图 酒水食品 信息查询和更新模块 2020 级信息管理与信息系统 1 班数据库应用系统课程设计论文 14 物理 设计阶段的 方法 进行物理存储安排,建立索引形成数据库内模式。 物理设计阶段结果 表 41 存储过程汇总 编号 存储过程名称 定义 作用 P1 p1_ Waiter _Insert 详见附录 21 在 Waiter 中插入一元组 P2 p2_ Goods _Insert 详见附录 22 在 Goods 中插入一元组 P3 p3_ RGoods _Insert 详见附录 23 在 RGoods 中插入一元组 P4 p4_ Penalty _Insert 详见附录 24 在 Penalty 中插入一元 组 P5 p5_ Opentime 详见附录 25 在 guests 和 manager 中插入一元组 ,影响 room 中元组状态 P6 p6_ Consumptiongoods 详见附录 26 在 Consumption 中插入一元组 并影响goods 中 curstock 的数量 P7 p7_ Deletemanager 详见附录 27 在 manager 中 删除某 一元组 P8 p8_ Deletewaiter 详见附录 28 在 waiter 中插 入 某 一元 组 并 且受manager 中属性影响 P9 p9_ Quitroom 详见附录 29 影响 manager、 room 多个属性值 p10 P10_summoney 详见附录 210 开据结账单 (其他表的查询、修改、删除与 上述 表的 操作 大致相同,这里不再具体列出) 数据库实施阶段 数据库实施阶段目标 在上述设计的基础上,收集数据并具体建立一个数据库,运行一些典型的应用任务来验证数据库设计的正确性和合理性。 一般一个大型数据库的设计过程往往需要经过多次循环反复。 当设计的某步发现问题时,可能就需要返回到前面去进行修改。 因此,在做上述数据库设计时就应考虑到今后 修改设计的可能性和方便性。 数据库实施阶段任务 1. 建立数据库 create database KTV; 2. 建立数据表 ( 1) 服务员 基本信息表的建立 create table Waiter(WaiterNo char(10) not null, 2020 级信息管理与信息系统 1 班数据库应用系统课程设计论文 15 WaiterName char(10) not null, WaiterSex char(5) check(WaiterSex=39。 男 39。 or WaiterSex=39。 女 39。 ), Idno int, PhoneNo char(15), WaiterArea char(20), WaiterLevel char(20), primary key (WaiterNo)) ( 2) 管理 基本信息表的建立 create table Manager(WaiterNo char(10) not null, RoomNo char(5) not null, OpenTime datetime, CloseTime datetime, primary key (WaiterNo,RoomNo), foreign key (WaiterNo) references Waiter(WaiterNo), foreign key (RoomNo) references Room(RoomNo)) ( 3) 包间 基本信息表的建立: create table Room(RoomNo char(5) not null, RoomSize char(15) not null, RoomPrice float not null, RoomState char(10) , Discount float check(Discount= and Discount=), GuestsNo char(10) , primary key (RoomNo), foreign key (GuestsNo) references Guests(GuestsNo)) ( 4) 顾客 基本信息表的建立: create table Guests(GuestsNo char(10) not null, GuestsName char(10) not null, Guestsphone char(15), Roomno char(5) not null, primary key (GuestsNo), foreign key (Roomno) references Room(Roomno)) ( 5) 消费活动 基本信息表的建立: create table Consumption(GuestsNo char(10) not null, ProNo char(10) not null, Number int not null, billtime datetime not null, primary key (GuestsNo,ProNo,billtime), foreign key (GuestsNo) references Guests(GuestsNo), foreign key (ProNo) references Goods(ProNo)) ( 6) 酒水食品 基本信息表的建立: 2020 级信息管理与信息系统 1 班数据库应用系统课程设计论文 16 create table Goods(ProNo char(10) not null, GoodsName char(10) not null, Price float not null, CurStock int check(CurStock=0), primary key (ProNo)) ( 7) 罚款 基本信息表的建立: create table Penalty(GuestsNo char(10) not null, RGoodsName char(20) not null, primary key (GuestsNo,RGoodsName), foreign key (GuestsNo) references Guests(GuestsNo)) ( 8) 包间 物品 基本信息表的建立: create table RGoods(RGoodsNo char(10) not null, RGoodsName char(20) not null, Price float not null, RepPrice float not null, primary key (RGoodsNo)) 3. 建立视图 ( 1) 查询顾客消费明细表并提供消费金额查询 的视图定义如下: create view CRgoods as select GuestsNo,GoodsName,Number,Price,CurStock,Number*Price Mo。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。