MySQL数据库设计,两种类型的记录——使用一个表还是两个单独的表?

标签 mysql sql database database-design

我正在构建一个将有两种不同类型用户的应用程序,我们称其为 User_type_a 和另一种 User_type_b。我想知道我是否应该在我的数据库中为两种类型的用户创建 1 个表并有一个属性来区分每条记录是什么类型的用户,或者我是否应该为每种类型的用户创建两个单独的表。

注意事项: 1. 99% 的用户都是 User_type_a 2. User_type_b 将需要除 User_type_a 之外的属性(例如信用卡号等)

哪种设计方法是最佳的?或者这真的不重要。

最佳答案

用户一张表,假设用户类型b为真实用户。创建另一个链接到用户表的表,以存储用户类型 B 的 CC 详细信息。

这使您可以轻松地进行所有主要的用户更改(搜索用户、更改用户详细信息、查找用户以进行登录等),但不会包含很多浪费的列。

请注意,如果您要存储信用卡号,您的数据中心和架构必须是 PCI compliant ,这是昂贵的。

关于MySQL数据库设计,两种类型的记录——使用一个表还是两个单独的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5573531/

相关文章:

php - 社会保障/政府 ID 号的哈希和盐的替代方案

mysql条件语句?

java - LazyInitializationException 即使使用@Transactional

database - cassandra GUI有什么软件或者工具吗?

mysql - 对 mySQL 表进行分区

mysql - 使用 Jersey(JAX-RS)、mySQL 和 Eclipse 开发 Java Web 服务

php - 绑定(bind) MySQL 查询时间并使用部分结果保释

mysql - 获取日期之间的总平均值

php - 是否避免加入?

sql - 将重复的 varchars 更新为在 SQL 数据库中是唯一的