设计数据表 一个人拥有多张卡
时间: 2023-10-24 16:07:33 浏览: 167
首先,我们需要创建两个表,一个是个人信息表,另一个是卡片信息表。这两个表可以通过一个外键进行关联。
1. 个人信息表
字段:id(主键),姓名,性别,生日,手机号码,邮箱
2. 卡片信息表
字段:id(主键),卡片名称,卡片号码,有效期,发行机构,个人信息id(外键,关联个人信息表中的id字段)
其中,个人信息表中的id字段是主键,卡片信息表中的id字段也是主键。卡片信息表中的个人信息id字段是外键,用于关联个人信息表中的id字段。
这样设计的数据表可以实现一个人拥有多张卡的需求,同时也方便进行数据的查询和管理。当需要查询某个人拥有的所有卡片时,只需要通过个人信息表中的id字段进行关联查询即可。
相关问题
设计数据表 一个人拥有多张卡 查询多个人的卡
表1:人员信息表
| 字段名 | 数据类型 | 描述 |
| ---------- | -------- | ------------ |
| id | int | 人员ID |
| name | varchar | 姓名 |
| age | int | 年龄 |
| gender | varchar | 性别 |
| phone | varchar | 手机号码 |
| address | varchar | 地址 |
| create_at | datetime | 创建时间 |
| update_at | datetime | 更新时间 |
表2:卡信息表
| 字段名 | 数据类型 | 描述 |
| ------------- | -------- | -------------- |
| id | int | 卡ID |
| owner_id | int | 拥有者ID |
| card_number | varchar | 卡号 |
| card_type | varchar | 卡类型 |
| balance | decimal | 余额 |
| create_at | datetime | 创建时间 |
| update_at | datetime | 更新时间 |
查询多个人的卡:
SELECT p.name, c.card_number, c.card_type, c.balance
FROM 人员信息表 p
INNER JOIN 卡信息表 c ON p.id = c.owner_id
WHERE p.name IN ('张三', '李四', '王五');
设计数据表 一个人拥有多张卡 根据人员di查询多个人的卡
表1:人员表
| 字段名 | 数据类型 | 说明 |
| --- | --- | --- |
| id | int | 主键,自增 |
| name | varchar(50) | 姓名 |
| age | int | 年龄 |
| gender | varchar(10) | 性别 |
| address | varchar(100) | 地址 |
表2:卡表
| 字段名 | 数据类型 | 说明 |
| --- | --- | --- |
| id | int | 主键,自增 |
| card_number | varchar(50) | 卡号 |
| type | varchar(50) | 卡类型 |
| owner_id | int | 外键,对应人员表的id |
查询多个人的卡:
```
SELECT p.name, c.card_number, c.type
FROM 人员表 p JOIN 卡表 c ON p.id = c.owner_id
WHERE p.id IN (1,2,3,4,5);
```
其中,1、2、3、4、5为多个人员的id。
阅读全文