MySQL创建表练习

        通过提供的E-R图和数据库模型图完成银行数据库数据表的创建

E-R图

数据库模型图和数据表的创建

客户信息表结构

客户信息表创建

CREATE TABLE UserInfo (
CustomerID INT PRIMARY KEY AUTO_INCREMENT COMMENT '客户编号',
CustormrName CHAR CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '开户名',
PID CHAR CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci UNIQUE NOT NULL CHECK (LENGTH(PID) = 18 OR LENGTH(PID) = 15) COMMENT '身份证号',
Telephone CHAR CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL CHECK (LENGTH(Telephone) = 11) COMMENT '联系电话',
Address VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '居住地址,可选输入'
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;

存款类型表结构

存款类型表创建

CREATE TABLE Deposit (
SavingID INT PRIMARY KEY AUTO_INCREMENT COMMENT '存款类型号',
SavingName VARCHAR(255)  CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存款类型名称',
Descrip VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述,可空'
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;

银行卡信息表结构

银行信息表创建

CREATE TABLE CardInfo (
CardID CHAR CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci PRIMARY KEY COMMENT '卡号',
SavingID INT NOT NULL COMMENT '存款类型号',
OpenDate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '开户日期',
OpenMoney DECIMAL NOT NULL CHECK (OpenMoney > 1) COMMENT '开户金额',
Balance DECIMAL NOT NULL CHECK (Balance > 1) COMMENT '余额',
Password VARCHAR(6) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL CHECK (Password LIKE '[0-9][0-9][0-9][0-9][0-9][0-9]') COMMENT '密码',
IsReportLoss BIT NOT NULL DEFAULT 0 COMMENT '是否挂失',
CustomerID INT NOT NULL COMMENT '客户编号',
FOREIGN KEY(SavingID) REFERENCES Deposit(SavingID),
FOREIGN KEY(CustomerID) REFERENCES UserInfo(CustomerID)
)  ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;

交易信息表结构

交易信息表创建

CREATE TABLE TardeInfo (
TransDate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '交易日期',
CardID CHAR CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '卡号',
TransType CHAR CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '交易类型',
TransMoney DECIMAL NOT NULL COMMENT '交易金额',
Remark TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '可选输入,其他说明',
FOREIGN KEY(CardID) REFERENCES CardInfo(CardID)
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;

         按成创建后,我们在数据库中查看一下创建的是否符合要求

客户信息表结构

银行卡信息表结构 

交易信息表结构

 

存款类型表结构

        当然,如果直接输入数据进行测试也可以。 

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值