mysql - 设计数据库 : Linking lots of values between tables

标签 mysql sql database database-design

我的问题措辞不是很好,但是有这些表格:

    USER TABLE                       ANIMALS
    u_id   username                   a_id   animal
    --------------------------       ---------------------------
      2    alice                       1    cat
      4    brian                       2    small dog
      7    carla                       3    big dog
                                       4    rabbit
                                       5    guinea pig
                                       etc.  

我希望用户能够将他们拥有的动物数量添加到他们的个人资料中。

哪些新表/字段和数据类型是我实现此目标的最佳方式?

谢谢。

最佳答案

如果您需要允许每个用户使用多种类型的相同动物(Janet 可以有不止一只 Rabbit),请执行以下操作。将 UserId 和 AnimalID 设为主键。

我会做

 UserAnimals
 ------------
 UserId
 AnimalID

填充了数据的表格可能如下所示:

 UserAnimals
 ------------
 UserId || AnimalId
      4 || 3
      4 || 2
      7 || 4

Brian 有一条小狗和一条大狗。卡拉有一只兔子。

关于mysql - 设计数据库 : Linking lots of values between tables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7313416/

相关文章:

python - 将 cx_freeze 与 mysql-connector 结合使用

database - AWS ElastiCache 与 RDS 只读副本

django - 我应该为大型文本文件选择哪个数据库

database - 如果您没有网络编程经验,学习 Lift 的最佳方法是什么?

sql - 不使用 order by 子句对结果进行排序

python - 在pyodbc中执行SELECT查询时,ODBC MS Access驱动程序出现“超出系统资源”错误

php - 有没有办法对从 MySQL 检索的特定数据进行样式化?

MySQL 错误 1452 : Cannot add or update a child row

列默认值中的MySQL函数

sql - 如何限制要在Sqlite3中存储的行数?