Database 合并来自不同表列的数据设计问题
我有两个表:会员表和邮件列表表Database 合并来自不同表列的数据设计问题,database,database-design,normalization,Database,Database Design,Normalization,我有两个表:会员表和邮件列表表 [Members] Username Password EmailAddress MailingListOptIn [bit] Planes [bit] Boats [bit] Cars [bit] “水果”列是用户的首选项 及 邮件列表用户可以选择接收时事通讯,但不一定是会员 我想开始存储邮件列表的首选项。我的问题是,整合这两个表数据的最佳方式是什么 我尝试过使用members表只存储用户名、密码等成员信息,使用单独的profiles表存储电子邮件地
[Members]
Username
Password
EmailAddress
MailingListOptIn [bit]
Planes [bit]
Boats [bit]
Cars [bit]
- “水果”列是用户的首选项
- 邮件列表用户可以选择接收时事通讯,但不一定是会员
或者有其他更好的方法吗?我会这样做: i) 以电子邮件地址为键的“person”表 ii)一个“成员”表,只有成员才会在此表中有一条记录,通过电子邮件地址链接到“个人”(也可输入此表) iii)“mailingList”表,具有唯一的mailingList id、描述和其他字段 iv)“mailingListSubscriber”表(一种关系),其中包含此人的电子邮件地址和邮件列表的id
很抱歉添加了表,但我认为这是考虑到需求的适当规范化的最低设置。我会这样做:
CREATE TABLE Profiles (
Username
Password
EmailAddress
MailingListOptIn [bit]
Planes [bit]
Boats [bit]
Cars [bit]
);
CREATE VIEW Members AS
SELECT * FROM Profiles WHERE Username IS NOT NULL
WITH CHECK OPTION;
CREATE VIEW MailingList AS
SELECT EmailAddress, MailingListOptIn, Planes, Boats, Cars
FROM Profiles WHERE Username IS NULL
WITH CHECK OPTION;
i) 以电子邮件地址为键的“person”表
ii)一个“成员”表,只有成员才会在此表中有一条记录,通过电子邮件地址链接到“个人”(也可输入此表)
iii)“mailingList”表,具有唯一的mailingList id、描述和其他字段
iv)“mailingListSubscriber”表(一种关系),其中包含此人的电子邮件地址和邮件列表的id
很抱歉添加表,但我认为这是考虑到需求的适当规范化的最低设置
CREATE TABLE Profiles (
Username
Password
EmailAddress
MailingListOptIn [bit]
Planes [bit]
Boats [bit]
Cars [bit]
);
CREATE VIEW Members AS
SELECT * FROM Profiles WHERE Username IS NOT NULL
WITH CHECK OPTION;
CREATE VIEW MailingList AS
SELECT EmailAddress, MailingListOptIn, Planes, Boats, Cars
FROM Profiles WHERE Username IS NULL
WITH CHECK OPTION;