sql - MySQL:许多连接或额外的外键?

标签 sql mysql normalization

我有以下表结构:

CREATE TABLE pilot_groups (
id INT PK,
name VARCHAR(50),
....
);

CREATE TABLE pilot_group_leaders (
id INT PK,
pilot_group_id INT FK,
name VARCHAR(50),
address TEXT,
....
);

CREATE TABLE members (
id INT PK,
pilot_group_leader_id INT FK,
country_id INT FK,
type VARCHAR(50),
name VARCHAR(50),
....
);

CREATE TABLE farms (
id INT PK,
member_id INT FK,
....
);

所以我必须生成一份报告并显示所有按 pilot_group 分组的农场。要使用当前结构来做到这一点,我必须进行 3 次连接,我认为这不是很优化和高效。我正在考虑在 farms 表中放置额外的外键,但因此我会重复。网站/应用程序的目的主要是生成报告和输入数据。哪种方法可能更好?

最佳答案

完全删除“id”键并使用自然主键可能会有很大帮助。但是,说这会让我付出业力:-)

关于sql - MySQL:许多连接或额外的外键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5016231/

相关文章:

sql - 如何从 Informix 的 syscolumns 中检索 "Is Null Allowed"属性?

mysql - 返回图像上喜欢和不喜欢的计数

sql - 如何将扩展加载到 SQLite 中?

mysql - 将 UPDATE 转换为 INSERT INTO ON DUPLICATE KEY UPDATE 语句

search - 我如何对solr/lucene分数进行归一化?

python - Django:具有不同功能的相同模型?

用于多列的 SQL UNPIVOT

mysql - 数据库设计 : inventory and sales system?

mysql - 删除重复号码状态存在吗?

sql - 创建数据库表