2010-06-30 49 views
-1

嗨我仍然困惑,我是否需要在单个数据库中使用多个表或在单个数据库中使用单个表?哪个最好?多桌或单桌?

我确实有一个记录约30列。

+0

你在建模什么?你想要一个表,每个“东西” - 客户,订单,产品.. – Blorgbeard 2010-06-30 18:13:36

+2

很难给出一个详细的建议基于迄今给定的信息,但你一定会喜欢读这个主题[“数据库规范化”]( http://www.google.com/search?q=database+normalization)。 – BalusC 2010-06-30 18:13:40

+0

目标是不重复数据库中的数据。您可能确实需要30个专门用于一段数据的列。更可能的是,您需要将其分解到其他表中,并使用外键将它们链接在一起。 – corsiKa 2010-06-30 18:16:22

回答

4

这将高度依赖于您存储的数据类型,但数据库具有多个表的情况很常见。 Normalization是您要搜索和阅读的术语。

当我说“你正在存储什么样的数据”时,我并不是指像文本和数字数据这样的一般术语。它更多地取决于应用程序中表格的具体内容。如果您将客户数据和产品数据存储在同一个表中,则几乎肯定应该将其分成两个表(或可能更多)。如果您的所有数据都可以被描述为一种类型,那么只有一个表格可能是可以的。

+1

它也涉及您可能对给定信息的记录数量。例如,如果你有一个用户,你将存储他的用户名(他只有一个用户名)和他的电子邮件(哦,他可以有三封电子邮件),那么这应该在两张表。 – HLGEM 2010-06-30 20:36:25