gpt4 book ai didi

sql - 这个 MySQL 数据库可以改进吗?或者它是好的吗?

转载 作者:行者123 更新时间:2023-11-29 01:02:31 26 4
gpt4 key购买 nike

在分类网站中,您有多个类别(汽车、MC、房屋等)。对于选择的每个类别,一个隐藏的 div 变得可见,并显示用户可以根据需要指定的其他选项。

我现在正在创建一个数据库,我已经阅读了一些关于规范化和使其优化等的文章......

这是我今天的上篮

类别表:
- 汽车
- 麦克
- 房子

分类表:
- 标题
- 描述
- hide_telephone_nr
- 多变的
- Action
- 价格
- 修改日期

海报 table :
- 名字
- 密码
- 电话
- 电子邮件

面积表:
- 区域
- 社区

汽车表:
- 年
- 燃料
- 变速箱
- 颜色

MC 表:
- 年
- 输入

房子表:
- 别墅
- 公寓
- 尺码
- 房间
等等

到目前为止,我为每个类别准备了一张表格,大约有 30 张表格。是不是太多了?

到目前为止,我还没有为其中任何一个创建 PK 或 FK,还没有那么远......

你能告诉我这个设置是否好,或者我应该做不同的设置吗?

此外,您将如何在此处设置 FK 和 PK?

谢谢

最佳答案

根据我的理解,我会为所有类别创建一个表并在其中存储类别的名称和 ID。接下来,我将创建一个单独的表来存储每个类别的附加选项。

MySQL Table 1  
----------------
Category_ID int PRIMARY KEY
Category_name varchar

MySQL Table 2
----------------
Category_ID int
Entry_Number int PRIMARY KEY (this will keep track of which entry everything belongs to)
Additional_Option varchar
Additional_Option_Answer varchar (this is the one that stores what your user clicks/inputs)

例如,使用:

POSTER TABLE:
- name
- passw
- tel
- email

您可以在 Category_ID 中存储此数据的 category_id 并存储 name passw tel emailAdditional_Option 在它自己的行中,用户对这些条件的输入将存储在 Additional_Option_Answer 中。

Posters 的 Category_ID 将为 1,Area 的 Category_ID 将为 2。

如果第一个用户添加了一些东西,它看起来像这样:

---------------------------------------------------------------------------------------------
Category_ID | Entry_Number | Additional_Options | Additional_Options_Answers
---------------------------------------------------------------------------------------------
1 | 1 | name | doug
1 | 1 | passw | 1234

如果第二个用户添加了一些东西,它看起来像这样:

---------------------------------------------------------------------------------------------
Category_ID | Entry_Number | Additional_Options | Additional_Options_Answers
---------------------------------------------------------------------------------------------
1 | 2 | name | Hamlet
1 | 2 | passw | iliketurtles

更进一步,让我们应用另一个类别:

AREA TABLE:
- area
- community

---------------------------------------------------------------------------------------------
Category_ID | Entry_Number | Additional_Options | Additional_Options_Answers
---------------------------------------------------------------------------------------------
2 | 3 | area | San Francisco
2 | 3 | community | community_name

关于sql - 这个 MySQL 数据库可以改进吗?或者它是好的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2100008/

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