纵表(垂直表):
横表(水平表):
纵表的优势:
横表的优势:
纵表:
横表:
纵表的应用场景:
横表的应用场景:
问题1:数据冗余
问题2:查询复杂
问题3:数据一致性
假设我们有一个用户实体,包含基本信息和详细信息:
纵表示例:
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
gender CHAR(1),
address VARCHAR(100),
phone VARCHAR(20),
email VARCHAR(50)
);
横表示例:
CREATE TABLE user_basic (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
gender CHAR(1)
);
CREATE TABLE user_detail (
id INT PRIMARY KEY,
user_id INT,
address VARCHAR(100),
phone VARCHAR(20),
email VARCHAR(50),
FOREIGN KEY (user_id) REFERENCES user_basic(id)
);
通过以上解释和示例,希望能帮助你更好地理解MySQL中纵表和横表的区别及其应用场景。
领取专属 10元无门槛券
手把手带您无忧上云