Php 设计一个MySQL数据库,我应该彻底重新考虑吗?
我必须设计一个以商业信息为中心的系统。例如,我会有一些表格是“所有者”、“区域”、“业务类别”、“业务类型”、“业务”、“报价”、“活动”等 我决定将每个业务的信息分组到“业务”表下 “业务”表示例: [业务]Php 设计一个MySQL数据库,我应该彻底重新考虑吗?,php,mysql,database,schema,Php,Mysql,Database,Schema,我必须设计一个以商业信息为中心的系统。例如,我会有一些表格是“所有者”、“区域”、“业务类别”、“业务类型”、“业务”、“报价”、“活动”等 我决定将每个业务的信息分组到“业务”表下 “业务”表示例: [业务] 身份证件 名称 描述 GPS\u坐标 面积 所有者 类别 业务类型ID 现在我担心的是,尽管我的大多数业务都有公共字段,但其中一些需要额外的字段(例如,住宿可能需要价格范围或房间类型)以及与其他表的特定链接 例如,如果我有一个住宿类型的业务,那么我们
- 身份证件
- 名称
- 描述
- GPS\u坐标
- 面积
- 所有者
- 类别
- 业务类型ID
- 身份证
- 商人
- 头衔
- 描述
- 日期
- 身份证件
- 标题
- 描述
- 创建日期
- 有效期自即日起
- 有效碘酸盐
- 商人
"Owner", "Area", "Business Category", "Business Type", "Business(Name)", "Offers", "Events"
除了“Events”和“Offers”之外,它们似乎应该是BusinessInfo表中的各个列。在“业务信息”表中,包括一个业务ID,并将该业务ID作为列包含在其他表中,以便在必要时加入它们。我的2美分
由于这个问题的模糊性,我建议阅读Codd博士关于规范化(Google it)的观点——这将有助于引导数据库,使其对您和您的开发人员有益。HTHs谢谢//P
我建议您创建两个表,而不是为每个业务类别创建单独的表。一个保存json格式中每个业务的常规字段,另一个保存特定字段。因此,您不必担心任何业务有多少特定字段,只需将它们存储在json格式中即可。
希望有此帮助:)更好地编辑问题,您可以为每个表以及要在表之间链接的公共字段提供一些示例。因此,例如,我应该使用BusinessID作为外键将“空缺”表与“业务”表链接,尽管并非所有业务都来自“业务”表将使用“空缺”表吗?(因为只有住宿处才会使用它)。是的,因为那张桌子不必与每个企业ID匹配。但你确实需要所有企业都在同一张桌子上。然后,您可以在带有
业务ID
的空缺表中说,空缺金额
——您只需在选择时将其加入到业务ID上的业务信息表中,就可以得到一家酒店及其空缺金额,你不必为珠宝店设置空置量,因为珠宝店的特定桌子可能在其他地方。如果您愿意,您可以使用外键。您认为我应该应用相同的逻辑,以便有单独的表,其中包含链接到每个business类型的额外字段吗?例如,当我们有餐馆生意时,最好知道当天的菜单或菜肴。提前谢谢,我建议你乱搞SQL Fiddle,我在我的答案中编辑了一个,已经为你准备好了。我要睡觉了谢谢你的回复,我在某个时候考虑过这个问题,但我更想看看是否有一种更面向数据库的方法来做这件事,而不是在以后以编程方式处理数据。另外一种方法是不使用sql。