持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第10天,点击查看活动详情
数据库概念模型的设计
数据概念模型是指根据数据库相关数据,旨在详细表现各系统数据的关系而建立概念模型,最常用的数据模型的方法是实体-联系的方法。实体-联系图简称ER图,包含了实体(即数据对象)、关系和属性3种基本成分,可以作为用户和分析员之间有效的交流工具。
本系统共分为两个实体:管理员和车辆,描述其各种数据之间的的ER图如图所示:
数据库的设计
本系统数据库选择MySQL数据库,运用很多创建数据库链接等一系列操作来添加或修改数据,已建立新的数据库,从而为后台的设计打好基础。
创建新的数据库,名称为car_rental。
本系统的数据库中包含9张图表,分别为:t_authandsourceinfo(菜单信息表)、t_car(车辆信息表)、t_carmaintenanceinfor(车辆报修信息表)、t_customer(客户信息表)、t_expensesinformation(支出信息表)、t_master(码表)、t_user(用户信息表)、t_revenueinformation(收入信息表)、t_rentcarinformation(租赁信息表),对应的表结构依次是:
t_authandsourceinfo 菜单信息表
| 字段 | 类型 | 备注 |
|---|---|---|
| authandsourceinfoid | bigint(20) | 菜单ID |
| authName_Chinese | varchar(255) | 菜单名称 |
| authid | int(11) | 作者ID |
| menuTitle_Name | varchar(255) | 父级菜单名称 |
| source_Url | varchar(255) | URL |
t_car 车辆信息表
| 字段 | 类型 | 备注 |
|---|---|---|
| carid | bigint(20) | 车辆ID |
| buyingprice | double | 购买价格 |
| cancarrypassengersCount | bigint(20) | 可载乘客人数 |
| carmodel | varchar(255) | 车型 |
| carnumber | varchar(255) | 车辆数 |
| dateofproduction | varchar(255) | 出厂日期 |
| deleteflag | int(11) | 删除标志 |
| enginetype | int(11) | 发动机型号 |
| fueltype | int(11) | 燃料型号 |
| insurancedetails | varchar(255) | 保险详情 |
| manufacturer | int(11) | 制造商 |
| rentprice | double | 租赁价格 |
| state | int(11) | 状态 |
t_carmaintenanceinfor 车辆报修信息表*
| 字段 | 类型 | 备注 |
|---|---|---|
| carmaininforid | bigint(20) | 车辆报修ID |
| carmaininfornum | varchar(255) | 车辆报修编号 |
| deleteflag | int(11) | 删除标志 |
| getcardate | varchar(255) | 获取车辆时间 |
| repairInf | varchar(255) | 报修信息 |
| repaircosts | double | 报修花费 |
| repairdate | varchar(255) | 修复时间 |
| state | int(11) | 车辆状态 |
| usernum | varchar(255) | 用户编号 |
| tcar_carid | bigint(20) | 车辆ID |
t_customer 客户信息表
| 字段 | 类型 | 备注 |
|---|---|---|
| customerid | bigint(20) | 客户ID |
| customerlicense | varchar(255) | 客户身份证 |
| customername | varchar(255) | 客户姓名 |
| customernum | varchar(255) | 客户编号 |
| deleteflag | int(11) | 删除标志 |
| registerDate | varchar(255) | 注册时间 |
| tcustomerrating | int(11) | 用户租车时间 |
续表
| 字段 | 类型 | 备注 |
|---|---|---|
| telno | varchar(255) | 联系电话 |
t_expensesinformation 支出信息表
| 字段 | 类型 | 备注 |
|---|---|---|
| expensesinforid | bigint(20) | 支出ID |
| carNum | varchar(255) | 车辆编号 |
| compensation | double | 补偿 |
| compensationinfo | varchar(255) | 补偿信息 |
| expensesinfornum | varchar(255) | 支出编号 |
| repairNum | varchar(255) | 报修编号 |
| spendingdate | varchar(255) | 花费时间 |
| type | int(11) | 类型 |
| userNum | varchar(255) | 用户编号 |
t_master 码表*
| 字段 | 类型 | 备注 |
|---|---|---|
| masterid | bigint(20) | 码表编号 |
| code | varchar(255) | 代码 |
| mastername | varchar(255) | 名称 |
t_user 用户信息表
| 字段 | 类型 | 备注 |
|---|---|---|
| userid | bigint(20) | 用户ID |
| age | int(11) | 年龄 |
| authority | int(11) | 用户角色 |
| dateEmpl | varchar(255) | 时间 |
| name | varchar(255) | 姓名 |
| password | varchar(255) | 密码 |
| sex | varchar(255) | 性别 |
| state | int(11) | 状态 |
| tel | varchar(255) | 联系电话 |
| username | varchar(255) | 用户名 |
| userno | varchar(255) | 用户ID |
| usernum | varchar(255) | 用户编号 |
t_revenueinformation 收入信息表
| 字段 | 类型 | 备注 |
|---|---|---|
| revenueinfoid | bigint(20) | 收入ID |
| carNum | varchar(255) | 车辆编号 |
| customNum | varchar(255) | 客户编号 |
| dateofincome | varchar(255) | 收入时间 |
| rentNum | varchar(255) | 租车编号 |
| revenuenum | varchar(255) | 收入编号 |
| salesamount | double | 收入金额 |
续表
| 字段 | 类型 | 备注 |
|---|---|---|
| type | int(11) | 类型 |
| userNum | varchar(255) | 用户编号 |
t_rentcarinformation 租赁信息表*
| 字段 | 类型 | 备注 |
|---|---|---|
| rentcarinforid | bigint(20) | 租赁ID |
| downpayment | double | 租用价格 |
| information | varchar(255) | 信息 |
| ordernum | varchar(255) | 租赁编号 |
| rentaldate | varchar(255) | 出厂日期 |
| rentcarinfornum | varchar(255) | 租车信息编号 |
| returndate | varchar(255) | 还车日期 |
| state | int(11) | 状态 |
| tcar_carid | bigint(20 | 车辆ID |
| tcustomer_customerid | bigint(20 | 客户ID |
| user_userid | bigint(20 | 用户ID |
小结
本章根据第之前文章对系统的分析,首先在遵循一定原则的前提下对系统的模块层次图进行了明确,其次从各实体数据间关系的ER图出发介绍了数据库的概念模型,以此为基础进行数据库的设计。