一、概念结构设计
1.系统功能分析
一个银行会在各个省市有多个分行和营业网点,此次的作业就是模拟一个银行分布在全国各地的多个网点之间共同协作的银行管理系统。银行表存储全国各地每个网点的支行信息。
银行卡表存储银行卡信息,客户表存储客户信息,交易表存储每张银行卡的存取款的交易信息。一个客户可以在多个网点开户。一张银行卡属于一个客户,一个客户可以拥有多张银行卡。每个客户会因为使用记录情况被分成三种信用等级:良好,一般和差。
二、逻辑结构设计
1. 转换成对应的关系模型(下划线表示主键,波浪线表示外键)
银行表(网点编号,网点名称,地址)
客户表(客户编号,客户名,客户地址,信誉)
银行卡表(卡号,支付密码,余额,网点编号,开户日期,客户编号)
交易表(交易号,卡号,交易类型,交易金额,交易日期)
三、物理设计
1. 设计表结构
银行表结构(bank)
列名 | 含义 | 类型 | 约束 |
BID | 网点编号 | Char(5) | 主键 |
BNAME | 银行名称 | Varchar(20) | NOT NULL |
BADDR | 所在地址 | Varchar(100) | NOT NULL |
客户表结构(bankusers)
列名 | 列说明 | 类型 | 约束 |
U_ID | 客户编号 | Varchar(20) | 主键 |
UNAME | 客户名 | Varchar(10) | NOT NULL |
UADDR | 住址 | Varchar(60) | |
UTRUST | 信誉 | Int | 0良好,1一般,2差 |
银行卡表结构(bankcard)
列名 | 列说明 | 类型 | 约束 |
CID | 卡号 | Varchar(20) | 主键 |
CPASSWORD | 密码 | INT | NOT NULL |
CMONEY | 余额 | long | 大于0 |
CBID | 开户网点 | Char | 外键(参照银行表编号) |
CDATE | 开户日期 | Date | |
CUID | 客户编号 | Varchar(20) | 外键(参照客户表编号) |
交易表结构(banktrans)
列名 | 列说明 | 类型 | 约束 |
TID | 交易号 | int | 主键 |
TCID | 卡号 | Varchar(20) | 外键(参照银行卡表卡号) |
TTYPE | 交易类型 | Int | 0存款,1取款 |
TMC | 交易金额 | Long | |
TDATE | 交易时间 | Varchar(20) | NOT NULL |
四、数据库实施
1.创建数据库
create database Banks;
数据库设计定制、代做、交流学习:数据魔方99的个人空间-数据魔方99个人主页-哔哩哔哩视频