表之间的以下关系是否可行?
- 航空公司数据有 4000 多行,RAW DATA 有 150k 行,机场有大约 2000 行。
- 我无法为 RAW DATA 创建主键,因为有很多重复值。
http://i108.photobucket.com/albums/n32/lurker3345/ACCESSHELP-1.png
表之间的以下关系是否可行?
http://i108.photobucket.com/albums/n32/lurker3345/ACCESSHELP-1.png
关系看起来很好。我假设很多事情——对于初学者来说,数据类型与它们链接的位置相匹配。该图没有太多交流,并且显示的架构不是最佳的可能有很多原因。
你当然可以为 RAW DATA 创建一个 PK,而且你最好,因为它是庞大的。
一种常见的方法是选择多个字段作为键,因为它们一起获得唯一值。这称为复合键。它很有帮助(甚至是必不可少的),因为它自然地确保了独特的组合不会无意中重复。(在大多数情况下,您需要确保所有关键字段都设置为不允许零长度或空条目。)
有一种更简单的方法适用于许多情况。也许您不需要这种数据完整性,或者您还不确定复合密钥是由什么组成的,或者您只是想获得一个临时 PK。只需添加一个自动编号字段并将其声明为 PK。
一些开发人员采用这种简单的方法并在表外完成数据验证……而一些开发人员忽略了数据验证需求,这可能导致灾难。
声明 PK 后,确保表在关键字段(除了 PK 之外)上具有索引对于提高效率很重要。
真的,首先,帮自己一个忙,重命名所有表和字段,这样就没有空格。在此期间,重新考虑每个名称并尝试尽可能具有描述性和标准化的名称。在以后重命名事物时,访问是残酷的。避免空格是一种做法,它将极大地帮助您走得更远。