gpt4 book ai didi

mysql - 关系数据库结构 - 最佳实践?

转载 作者:行者123 更新时间:2023-11-29 23:50:24 26 4
gpt4 key购买 nike

情况:我是一个数据库新手,刚刚将 MySQLdb 插入 python(很长)。我正在寻找有关如何构建数据表、何时分成新表等方面的基本技巧。

示例:假设我正在查看宠物主人、他们的宠物以及他们宠物的玩具。我最终对玩具的特性感兴趣。

Pet owner 1: has 3 pets: each pet has 5 toys: each toy has unique properties.
Pet owner 2: has 2 pets: each pet has 4 toys: each toy has unique properties.

问题:这应该保留为一张 table ,还是应该有几张 table 将主人与宠物连接起来,然后将宠物与玩具等连接起来?有硬性规定吗?

提前致谢。

最佳答案

我会将每个对象视为它自己的表,然后查找一对多关系并为它们提供自己的表,因此如下所示:

宠物主人

Column
------
OwnerId --primary key
FirstName
LastName
--any other info you want to track on the owner

主人宠物

Column
------
OwnerId --composite primary key
PetId --composite primarykey
--any other info relating to the ownership

宠物

Column
------
PetId --primarykey
PetName
--any other pet properties (color, birthdate, etc...)

宠物玩具

Column
------
PetId --composite primary key
ToyId --composite primarykey
--any other info relating to the pets ownership of the toy (dateOfIntroduction maybe)

玩具

Column
------
ToyId--primarykey
Manufacturer
Type
Cost
DateOfPurchase
--any other toy properties

关于mysql - 关系数据库结构 - 最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25685637/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com