相关疑难解决方法(0)

存储查找表id或纯数据之间的决定

我发现这很多,我不确定接近它的最佳方法.

我的问题是如何在使用外键查找表或直接在请求它的表中使用查找表值之间做出决定,完全避免查找表关系.

要记住的要点:

  • 使用第二种方法,如果在查找表中更改了数据,则需要对引用数据的所有记录进行批量更新.

  • 这更侧重于有很多列引用许多查找表的表.因此,每次查询表时,许多外键意味着很多连接.

  • 此数据将来自下拉列表,这些列表将从查找表中提取.为了在重新加载时匹配数据,值必须在现有列表中(与第一个点相关).

这里有最佳实践,还是需要考虑的关键点?

sql database lookup database-normalization

14
推荐指数
2
解决办法
6999
查看次数

正常化一个人的名字走得太远了吗?

您通常会规范化数据库以避免数据冗余.在一个充满名称的表格中很容易看到有足够的冗余.如果你的目标是创建一个地球上每个人的名字目录(祝你好运),我可以看到规范化名称是如何有益的.但在平均业务数据库的背景下是否过度杀伤?

(当然我知道你可以采取任何极端的事情......如果你将音节标准化为音节......或者甚至是相邻的角色对.我看不到这么远的好处)

更新:

一个可能的理由是随机名称生成器.这就是我能想到的一切.

database normalization

14
推荐指数
4
解决办法
7034
查看次数

我的数据库是否过度设计?

好的我是数据库设计的新手,请给我建议.

1 何时应使用复合索引?

我不知道索引做了什么,但我知道我们应该把它放在像WHERE Verified = 1那样重载,并在搜索中像company.name = something.我对吗 ?

2 MySQL索引 - 有多少足够?

它够了吗?

3 数据库规范化

它恰到好处吗?

alt text http://i28.tinypic.com/awp2cz.png

谢谢.

编辑*

规则.

  1. 每个用户(公司成员或所有者)可以是公司的成员
  2. 每个公司都有一些用户.
  3. 有公司管理员(首席执行官,管理员),有公司成员(插入产品)
  4. 每个公司都可以有产品.

对于数字3,我将在users_company中添加一点 - 1表示admin - 0表示成员

mysql database-design normalization

8
推荐指数
1
解决办法
398
查看次数