English 中文(简体)
哪一个表图形更好?
原标题:Which table schema is better?

哪些结构更好?

表1

postid category1 category2 category3
2            a         b        d

3            a         c       null

员额表

postid
2
3

类别:选择表

category     option

category1      a
category2      b
category3      c
category4      d

option_员额表

post option
2      a
2      b
2      d 
3      a
3      c

it seems buiding query f或first structure is easier than second structure.

问题回答

这两个结构模式不同。 第一组硬性规定只允许(最多)3类(并按职位区分不同类别),而第二类则可以模拟任何类别(不按职位区分)。 哪一种情况更确切地取决于你试图实现的目标。

在纯技术层面,第二个问题可能需要一个联合网络,以了解第一个问题可以由单一(仅)表格回答的问题。 这是否是一个问题,又取决于情况......

取决于要求......

你们是否预计会随着时间的推移而增加选择数量?

你们的第一种选择远比规范更为容易,第二种选择更是组合设计和可扩展。

这在很大程度上取决于这些类别的性质。 如果名单固定下来而且不可能增长,那么第一个结构就只能奏效,并且可以更容易地开展工作。 如果类别清单可能增加,那么第二种选择就会更好。

如果这些类型的数值是零散的,也是重要的。 如果大多数类别没有价值,那么第二种方法将占用的空间要小得多。 如果每个项目都有每个类别的价值,这不是一个问题。

在这种情况下,必须理解“类似”的含义。 这并不意味着设计者不会认为会增长。 这意味着,这些类别清单是清楚和成熟的,因此不太可能增长。 我一直在研究一些例子,但没有人想到。

选择第一种办法有很好的理由,但这样做是为了照顾——在生产系统中转而采用第二种选择是一种 night梦。

第二种情况较好。 第一种是违反第一种正常形式:

http://en.wikipedia.org/wiki/First_normal_form#Repeating_groups_a cross_columns

越好。 通常有许多2人加入表格。

如果你以某种方式这样做,如果出现新的4,5,6,7,8类,你会做些什么? 增加新的栏目?

And, I don t know if you have a requirement like, "how many posts with category option c "? 2nd one is easy to do the statistic, but the 1st one...

选择类别必须具有分类,以便与选择一起编制表格,否则就没有意味着建立第二表结构。

在此,你可以通过这一结构实现两点。

(1) 与员额与职类的关系。 (这意味着如果需要的话,你可以在今后增加更多的类别)

2) 在这种结构中,自动避免了价值。 这意味着在表格或纸面查询中不再处理无效价值。

希望这一帮助。





相关问题
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 ...

热门标签