数据库作业

本文介绍了如何在数据库中创建UserInfo、CardInfo、TradeInfo和Deposit表,包括字段定义、主键和外键约束,以支持客户信息管理、卡片交易和存款类型的数据存储。
摘要由CSDN通过智能技术生成

acc3d4e825fa4f75aab7ed8d8e689311.png

4c42b05628154fa4ae373a2708521dd0.png 

1f6f5fe4219d41a0b20c11b6a4e2bbc3.png 

a5639ad24222468f87476c9d02f7841c.png 

02d05959912047558bdaaaee6eb22685.png 

UserInfo表

**建表**
CREATE TABLE USERINFO (
    customerID INT AUTO_INCREMENT COMMENT '客户编号',
    customerName CHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '开户名',
    PID CHAR(18) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '身份证号',
    telephone CHAR(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '联系电话',
    address VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '居住地址',
    PRIMARY KEY (customerID) USING BTREE,
    UNIQUE INDEX PID(PID) USING BTREE
)ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;

 

CardInfo

**设置外键**
ALTER TABLE CARDINFO ADD CONSTRAINT s_id FOREIGN KEY (customerID) REFERENCES USERINFO (customerID); 
ALTER TABLE CARDINFO ADD CONSTRAINT saving_id FOREIGN KEY (savingID) REFERENCES DEPOSIT (savingID);  //需建立DEPOSIT表后输入

**建表**
CREATE TABLE CARDINFO (
    cardID CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '卡号',
    savingID VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存款类型',
    openDate TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
CURRENT_TIMESTAMP COMMENT '开户日期',
    openMoney     DECIMAL(18,2) NOT NULL COMMENT '开户金额',
    balance DECIMAL(18,2) NOT NULL COMMENT '余额',
    password VARCHAR(6) NOT NULL DEFAULT('888888') COMMENT '密码',
    isReportLoss BIT NOT NULL DEFAULT(1) COMMENT '是否挂失,是 0 否 1',
    customerID INT NOT NULL COMMENT '客户编号',
    PRIMARY KEY (cardID)
)ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;

TradeInfo

**外键**
ALTER TABLE TRADEINFO ADD CONSTRAINT card_id FOREIGN KEY (cardID) REFERENCES CARDINFO (cardID);

**建表**
CREATE TABLE TRADEINFO (
    transDate TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
CURRENT_TIMESTAMP COMMENT '交易日期',
    cardID CHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '卡号',
    transType CHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '交易类型',
    transMoney DECIMAL(18,2) NOT NULL COMMENT '交易金额',
    remark TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '居住地址'
)ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;

Deposit

**建表**
CREATE TABLE DEPOSIT (
    savingID VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci  COMMENT '存款类型',
    savingName VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存款类型名称',
    descrip VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述',
    PRIMARY KEY (savingID)
)ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值