English 中文(简体)
MySql表设计: 每一行各行各行各行各行各行各行各行各行各行各行各行各行各行各行各有多处或储存信息格式?
原标题:MySql table design : Use lots of rows or store the information formatted in one text field per row?

我试图找到最佳方法设计我的数据库,以组织与事件有关的信息。

我有一个活动表,其中载有关于活动的所有信息,如独一无二的背书、活动名称、地点等。

现在每次活动都有多种机票类型,机票的数量和种类将随每次活动而变化。

是否最好有一个活动表,每个机票类型(例如)都有适当的排行。

event_id    ticket_type    price
1           standard       20
1           deluxe         40
1           cheap          10

还是最好把表格格式放在一行?

event_id    ticket_information
1           standard:20,deluxe:40,cheap:10

如果我以第一种方式结束发言,每次会议可翻一番,如果许多事件多加一番,就会变得非常大,而第二版则可能会对数据的完整性产生问题。

最佳回答

(第1段) 拥有尽可能多的数据是ALWAYS的最佳方法......它使以后更便于使用和更容易地修改/升级/扩大该守则。

事实上,我有3个表格:活动、活动-选择和机票类型

活动——选择只是事件与机票类型之间的一个联系表,可以包括你每次需要掌握的其他信息。 这样,按机票类型进行搜查将更加容易,而b) 增加机票种类,因为当你在现有活动(或类似情况)中增加新的机票类型时,你将面临更多的问题。

问题回答

官方回答是首先这样做。 如果你只拥有三种类型的机票,那么你就可以拥有三个“价格”领域。 但除此之外,关系纯洁告诉你,这是第一个。

我假定,不管怎样,你都有一个“欢迎”表格。 引述你的话:在你喜欢的搜索引擎上寻找“第三种正常形式”,你对设计数据库学习了很多。

首先是更好的。 它更加正常。 为什么这个问题? 这意味着更容易查询你的数据。 你们不想使用第二种方法,因为它实际上很复杂,耗费时间以后检索数据。





相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

php return a specific row from query

Is it possible in php to return a specific row of data from a mysql query? None of the fetch statements that I ve found return a 2 dimensional array to access specific rows. I want to be able to ...

Character Encodings in PHP and MySQL

Our website was developed with a meta tag set to... <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> This works fine for M-dashes and special quotes, etc. However, I ...

Pagination Strategies for Complex (slow) Datasets

What are some of the strategies being used for pagination of data sets that involve complex queries? count(*) takes ~1.5 sec so we don t want to hit the DB for every page view. Currently there are ~...

Averaging a total in mySQL

My table looks like person_id | car_id | miles ------------------------------ 1 | 1 | 100 1 | 2 | 200 2 | 3 | 1000 2 | 4 | 500 I need to ...

热门标签