数据库 2021-03-18

《数据库原理及应用》
课程设计报告

题目:录影带出租系统数据库系统设计

班 级 计算171
学 号 3170811018
姓 名 杨勇
指导教师 王晓峰
日 期 2019.12.23至2020.1.06

一.需求分析
1.基本情况说明 (
在对世面上的影碟出租公司进行了初步的了解后,发现其业务主要是集中在影碟的管理和录像的出租归还上。对影碟的管理工作量较大,采用手工的方式还容易出错,并且不能满足顾客对影碟的详细信息的查询功能。在现有的影碟出租中对会员的管理也很重要,传统的登记方式不仅费时而且不能对其出租日志进行系统的管理,造成了不必要的经济损失。综上说述,在影碟出租数据库设计中应考虑和克服了上诉的诸多问题,增强了实用性
影碟租赁公司都有库存的影碟以备出租。每盘影碟用分类号唯一标识。同一盘影碟有多份拷贝,因此每份拷贝用影碟号码来区别。
顾客在租影碟之前,必须先成为公司的一名会员。在注册后,可以自由租借影碟。
需完成的任务:
1 根据上述的初始条件,进行调查分析并设计适当的属性。设计一个录像出租数据库,DBMS可选Ms SQL Server、Access、VFP等。
2 完成课程设计说明书,其格式遵守学校今年的新规定。主要内容包括:需求分析,概念设计,逻辑设计,物理实现等。
3 基于该数据库,最好实现一个或多个应用程序(自己确定功能),程序设计语言(工具)任选。这一项是选作,不作硬性要求。

2.数据库系统应具备的具体功能
会员信息管理部分:可以查询会员资料、可以对会员进行增删。
影片信息管理部分:可以查询影片本身的信息、可以对影片信息实行增删。
租借信息管理部分:可以查询影片的租借状态。
租金信息管理部分:可以查询各类影片的租金情况、会员应付的租金情况。
数据流图:

二.概念结构设计
数据结构:
数据结构名 含义说明 组成
会员 会员信息 会员ID、会员姓名、会员性别、身份证ID、电话、地址
影片 影片信息 影片ID、片名、导演、主演、介绍、上映时间
租金 影片租金信息 租借类型、租借天数、每日金额、描述
租借记录 会员租借记录信息 记录ID、租借时间
租借项记录 租借录像记录信息 记录项ID、租借数量、归还时间、实际归还时间、租金
影片类型 影片的类型 类型、影片名称
录像 录像类型 碟片ID、格式、语言、进货时间、状态、库存数量
数据流:

数据流名 说明 数据流来源 数据流去向 组成
会员 会员信息 会员 租借归还过程 会员ID、会员姓名、会员性别、身份证ID、电话、地址
影片 影片信息 影片信息 租借处理过程 影片ID、片名、导演、主演、介绍、上映时间
租借信息 会员租借的信息 租借过程 店员 会员信息,影片信息
租金 租金信息 租金信息 处理过程 租借类型租借天数、每日租金、描述
租借项记录 影片的租借记录 店员的处理过程 会员的租借记录 影片ID、租借数量、租借时间
归还信息 会员的归还信息 会员 店员 影片ID、租借数量、归还时间
归还记录 会员的归还记录 店员处理过程 租借记录 影片ID、租借数量、归还时间,实际归还时间、租金

数据储存:
数据存储名 说明 编号 输入的数据流 输出的数据流 组成 存取方式
租借处理 会员租借的信息 会员信息,影片信息 会员租借的信息 会员ID、影片ID、租借类型、租借数量、归还时间 更新
归还处理 会员的归还信息 会员信息,租借记录,租金信息 会员的归还记录 会员ID、影片ID、租借类型、租借数量、归还时间、实际归还时间、租金 更新
处理过程:
处理过程名 说明 输入 输出 处理
注册 各科注册为会员 顾客信息 会员信息 店员录入顾客信息
租借 会员租借记录 会员租借信息,租金新信息 会员租借记录 店员记录会员的租借信息
归还 会员归还记录 会员租借记录,租金信息 会员归还记录 店员记录会员归还信息

1、分E-R图

2、总E-R图

三.逻辑结构设计
表名:3.1二维表
关系名 属性
会员 会员ID、会员姓名、会员性别、身份证ID、电话、地址
影片 影片ID、类型ID、片名、导演、主演、介绍、上映时间
租金 租借类型、租借天数、每日租金、描述
碟片 影片ID、碟片ID、格式、语言、进货时间、状态、库存数量
租借项 记录ID、记录项ID、影片ID、碟片ID、租借类型、租借数量、归还时间、实际归还时间、金额
租借 记录ID、会员ID、租借时间
影片类型 类型ID、类型名称
数据字典:
数据项描述={数据项名,数据类型,长度};
影片信息={影片ID,CHAR,10;
片名,CHAR,20;
导演,CAHR,20;
介绍,CAHR,200;
上映时间,DATE,10
};
录像信息={录像ID,CHAR,10;
格式,CHAR,10;
语言,CHAR,20;
进货时间,DATE,10;
状态,CHAR,5;
库存数量,INT,4
};
租借记录={记录项ID,CHAR,10;
租借数量,INT,4;
归还时间,DATE,10;
租金,INT,4
};
租金信息={租借类型,CHAR,1;
租借天数,INT,4;
每日租金,INT,4
}
会员信息={会员ID,CHAR,4;
会员姓名,CHAR,10;
会员性别,CHAR,2;
身份证ID,CHAR,18;
电话,CHAR,12;
地址,CHAR,100;
密码, CHAR ,4;
}
租借记录={记录ID,CHAR,10;
租借时间,DATE,10
}
影片类型={类型ID,INT,4;
类型名称,CHAR,20
}

3.2规范化

根据函数依赖及二三范式的定义:每一个非主属性完全函数依赖于码,每一个非主属性既不部分依赖于码,也不传递依赖于码。可知,每个关系都满足二三范式。

四.功能模块结构设计

五.主要功能及程序界面说明
1、首先先选择是否进入系统

2、用户名为会员id,输入密码,只有先成为会员才可以进行借阅

3、进入菜单,选择想要执行的操作,会员可让游客成为会员,同时缴纳会员费用

4、店员进行录影、影片、影片类型、租借记录、租金信息的数据维护

5、店员与会员可查询录影、影片、租借情况、到期租借、以便于整理与借还
影片可根据片名和导演名查询,录影只可根据录影id及语言检索

6、录影带借阅与归还

7、通过菜单栏退出按钮退出系统
六.附:主要代码
主程序代码:
_screen.controlbox=.t.
deactivate window “ÏîÄ¿¹ÜÀíÆ÷”
public cyonghu,cmima,jiage
cyonghu=“”
cmima=“”
mypath=left(sys(16),rat(“”,sys(16)))
set defa to (mypath)
set path to data;form
open DATABASE ¼Ӱ´ø×âÁÞ
do form"c:\users\admin\desktop\¼Ӱ´ø×âÁÞ\µÇ¼½çÃæ.scx"
read events
quit
数据维护:
(1)、添加
GO BOTTOM
APPEND BLANK
EDIT
thisform.Refresh
(2)、修改
EDIT
thisform.Refresh
(3)、删除

(4)、退出
CLOSE TABLES ALL
thisform.Release
查询:
(1)、录影查询

(2)、影片查询

(3)、到期租借

(4)、租借情况

录影带借阅与归还:
(1)、借阅

(2)、归还

退出用quit命令即可

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用python中的pymsql完成如下:表结构与数据创建 1. 建立 `users` 表和 `orders` 表。 `users` 表有用户ID、用户名、年龄字段,(id,name,age) `orders` 表有订单ID、订单日期、订单金额,用户id字段。(id,order_date,amount,user_id) 2 两表的id作为主键,`orders` 表用户id为users的外键 3 插入数据 `users` (1, '张三', 18), (2, '李四', 20), (3, '王五', 22), (4, '赵六', 25), (5, '钱七', 28); `orders` (1, '2021-09-01', 500, 1), (2, '2021-09-02', 1000, 2), (3, '2021-09-03', 600, 3), (4, '2021-09-04', 800, 4), (5, '2021-09-05', 1500, 5), (6, '2021-09-06', 1200, 3), (7, '2021-09-07', 2000, 1), (8, '2021-09-08', 300, 2), (9, '2021-09-09', 700, 5), (10, '2021-09-10', 900, 4); 查询语句 1. 查询订单总金额 2. 查询所有用户的平均年龄,并将结果四舍五入保留两位小数。 3. 查询订单总数最多的用户的姓名和订单总数。 4. 查询所有不重复的年龄。 5. 查询订单日期在2021年9月1日至9月4日之间的订单总金额。 6. 查询年龄不大于25岁的用户的订单数量,并按照降序排序。 7. 查询订单总金额排名前3的用户的姓名和订单总金额。 8. 查询订单总金额最大的用户的姓名和订单总金额。 9. 查询订单总金额最小的用户的姓名和订单总金额。 10. 查询所有名字中含有“李”的用户,按照名字升序排序。 11. 查询所有年龄大于20岁的用户,按照年龄降序排序,并只显示前5条记录。 12. 查询每个用户的订单数量和订单总金额,并按照总金额降序排序。
06-03

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值