gpt4 book ai didi

mysql - 在列数据库设计方法中存储多个值

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

我需要一个包含列的表格 -> hotel_id、hotel_name、price_per_night、设施、首选

在此列中设施和首选可能有多个值。

例如->

设施可以是游泳池、水疗中心等(可以随着时间的推移添加许多差异值)

首选可以是夫妻、家庭等(可以随着时间的推移添加许多差异值)

我对 mysql 还很陌生。我很困惑如何设计我的数据库并想到以下方法 ->

  1. 在单个列中包含多个值(这是一个坏主意)

  2. 创建三个表 ->

    a.first 是 hotel_main,其中包含 hotel_id、hotel_name、price_per_night 列

    b.第二个是设施_酒店,其中包含 hotel_id、hotel_name、设施

    c.third 将是 Preferred_hotel,其中 hotel_id、hotel_name、preferred

我想获得有关如何设计数据库的更多建议。

最佳答案

一般来说,非 1NF 设计在事务处理系统中是不好的主意。您会遇到许多难以解决的更新/删除完整性问题,而且 MySQL 甚至不提供确保插入安全的工具。

当人们有效地使用非 1NF 设计时,这些设计通常满足两个标准:

  1. 它们始终是分析平台,并且
  2. 数据要么容忍完整性降低,要么很少更新/删除。

在两者都成立的情况下,甚至不要考虑打破 1NF。即使两者都正确,也不足以决定走那条路。

所以采用第二种方法

关于mysql - 在列数据库设计方法中存储多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35955406/

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