电影院售票数据库系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机实验报告
课程:ORACLE 班级:学号:姓名:
仪器编号实验日期
实验:四电影院售票数据库系统设计
实验目的:
1.进一步熟悉oracle的各种操作。
2.能够在实际的实例中灵活运用学到的有关知识。
实验环境:
装有oracle 10g的计算机且操作系统为Windows xp。
实验内容:(可用附页)
见附页
实验结果:(可用附页)
见附页
实验内容:
电影院售票数据库系统设计
数据库设计是对于一个给定的应用环境,构建一个最优的数据库模式,并据此建立既能有效、完整、安全存储数据的数据库,又能满足多个用户的信息要求和处理要求的应用系统,本数据库设计就是为了能够在很好的保存商品进销存的所有数据而进行设计。(结合数据库设计和你要完成的系统进行陈述)。
数据库设计的过程包含需求分析、概念结构设计、逻辑结构设计、物理结构设计、应用的设计。下面就按照数据库设计的过程进行逐一陈述
一、需求分析
1、系统设计的意义
电影院售票系统的数据库设计适用于电影院的售票,订票,退票服务。利用数据库实现规范、方便的管理。从而提升工作的效率,达到增长营利的效果。
2、数据库对象介绍
1)余票表
2)售票表
3)订票表
4)退票表
5)电影票综合表
3、系统相关对象
电影院售票人员及管理人员,消费者(购票者)
4、数据库对象分析
余票表—>> 可以出售给消费者的所有电影票的表单
售票表—>> 已经在售票处出售给消费者电影票的表单
订票表—>> 通过电话、网络等途径订购电影票的表单
退票表—>> 消费者(因某些原因)要求退还金钱的表单
电影票综合表—>> 包括电影院所有的电影票的表单
5、功能分析
1)电影院的售票人员根据余票表单出售电影票,然后在售票表中记
录。
2)通过订票表相应的在余票表中更新记录,减少一张票数。
3)通过退票表相应的在余票表中更新记录,增加一张票数。
4)根据表单实现查看总营利的功能
5)查看已经和未拿走订票的情况
6)查看当日上映电影及当日营利
7)查看已过期的未出售电影表单
8)…………
6、进阶分析
每张电影票都有自己唯一的编号ID,同一类型的电影票用片名来区分(同一片名的不同影片在片名后加入文字说明区分。)有一个电影综合表,可以根据某个元素查出其他的各元素。如:根据片名可以查看所有该影片的电影票的每张编号,座位,票价,片映时间,该影片的票数等其他各种信息。
二、概念结构设计
1、各对象属性
余票表:编号,片名,片映日期,影片时间,影厅,座位,票价,余票数。
售票表:编号,片名,片映日期,影片时间,影厅,座位,票价,实收,找零,售票日期,售票数。
订票表:编号,片名,片映日期,影片时间,影厅,座位,票价,手续费,售票日期,取票时间。
退票表:编号,片名,片映日期,票价,售票日期,手续费,实退金额。
电影票综合表:编号,片名,片映日期,影片时间,影厅,座位,票价,总票数。
(编号为每张电影票的区别号码,片名来区别不同的电影,影片时间单位为分钟)
2、画出E-r图
局部e-r图
三、逻辑结构设计
1、表的设计
余票表(remain_ticket):
售票表(sale_ticket):
订票表(book_ticket):
退票表(back_ticket):
电影票综合表(movie_ticket):
四、物理结构设计
1、创建表空间
create tablespace movie_tbs
datafile'D:\app\other_tablespace\movie_tbs01.dbf'
size 32m;
2、在oracle中创建用户movie并使用上面的表空间create user movie
identified by movie
default tablespace movie_tbs;
3、给movie用户授权并使用movie用户完成下列步骤grant create session,dba to movie;
4、创建各对象表
余票表:create table remain_ticket
(
movie_id number(20) PRIMARY KEY,
movie_name varchar2(100),
movie_date date,
movie_time number(20),
movie_room varchar2(20),
movie_seat varchar2(20),
movie_price number(20),
remain_count number(20)
);
售票表:create table sale_ticket
(
movie_id number(20) PRIMARY KEY,
movie_name varchar2(100),
movie_date date,
movie_time number(20),
movie_room varchar2(20),
movie_seat varchar2(20),
movie_price number(20),
movie_price_get number(20),
movie_change number(20),
movie_saledate date,
sale_count number(20)
);
订票表:create table book_ticket
(
movie_id number(20) PRIMARY KEY,
movie_name varchar2(100),
movie_date date,
movie_time number(20),
movie_room varchar2(20),
movie_seat varchar2(20),
movie_price number(20),
movie_poundage number(20),
movie_saledate date,
movie_picktime date
);
退票表:create table back_ticket
(
movie_id number(20) PRIMARY KEY,
movie_name varchar2(100),
movie_date date,
movie_price number(20),
movie_saledate date,
movie_poundage number(20),
movie_refund number(20)
);
电影综合表:create table movie_ticket
(
movie_id number(20) PRIMARY KEY,