-设计用户信息表、银行卡信息表和交易信息表,并根据业务需要建立三个表之间的约束(包括主键约束、外键约束、默认约束、非空约束和唯一约束)
时间: 2024-01-21 09:01:57 浏览: 43
设计用户信息表(User):
| 字段名 | 数据类型 | 约束 | 说明 |
| ---------- | -------- | ------------ | ------------ |
| id | int | 主键、非空、唯一 | 用户ID |
| username | varchar | 非空、唯一 | 用户名 |
| password | varchar | 非空 | 密码 |
| name | varchar | 非空 | 真实姓名 |
| gender | varchar | 非空 | 性别 |
| birthday | date | 非空 | 出生日期 |
| phone | varchar | 非空 | 手机号码 |
| email | varchar | 非空、唯一 | 邮箱地址 |
| address | varchar | | 地址 |
| create_time | datetime | 非空 | 注册时间 |
设计银行卡信息表(BankCard):
| 字段名 | 数据类型 | 约束 | 说明 |
| -------- | -------- | ------------ | ------------ |
| id | int | 主键、非空、唯一 | 银行卡ID |
| user_id | int | 非空、外键 | 用户ID |
| card_num | varchar | 非空、唯一 | 银行卡号 |
| balance | decimal | 非空、默认为0 | 银行卡余额 |
| create_time | datetime | 非空 | 银行卡开户时间 |
设计交易信息表(Transaction):
| 字段名 | 数据类型 | 约束 | 说明 |
| ------------ | -------- | ------------ | ---------------- |
| id | int | 主键、非空、唯一 | 交易ID |
| user_id | int | 非空、外键 | 用户ID |
| card_num | varchar | 非空、外键 | 银行卡号 |
| trans_type | varchar | 非空 | 交易类型(存款、取款、转账) |
| trans_amount | decimal | 非空 | 交易金额 |
| trans_time | datetime | 非空 | 交易时间 |
三个表之间的约束:
- 用户信息表(User)与银行卡信息表(BankCard)的关系为一对多关系,即一个用户可以拥有多张银行卡,银行卡信息表(BankCard)中的user_id为外键,指向用户信息表(User)中的id。
- 银行卡信息表(BankCard)与交易信息表(Transaction)的关系为一对多关系,即一张银行卡可以进行多次交易,交易信息表(Transaction)中的card_num为外键,指向银行卡信息表(BankCard)中的card_num。
- 用户信息表(User)与交易信息表(Transaction)的关系为一对多关系,即一个用户可以进行多次交易,交易信息表(Transaction)中的user_id为外键,指向用户信息表(User)中的id。