时事通讯服务的数据库体系结构(使用php)

时事通讯服务的数据库体系结构(使用php),php,mysql,sql,database,database-design,Php,Mysql,Sql,Database,Database Design,我正在建立一个为用户提供新闻稿系统的服务 我的问题是,如何在数据库中组织它?用户打开帐户->数据库中有一个新闻行->如何存储电子邮件?我想到了这样的事情: user@mail.com,HASHCODE|user2@anothermail.com,HASHCODE|someone@mail.com,HASHCODE .. (将存储在用户行的一个字段中,即用于删除电子邮件的哈希代码) 然后使用explode()在数组中对其排序。但我不知道这是否是订购邮件的最佳方式。。您觉得怎么样?为什么不将电子邮

我正在建立一个为用户提供新闻稿系统的服务

我的问题是,如何在数据库中组织它?用户打开帐户->数据库中有一个新闻行->如何存储电子邮件?我想到了这样的事情:

user@mail.com,HASHCODE|user2@anothermail.com,HASHCODE|someone@mail.com,HASHCODE ..
(将存储在用户行的一个字段中,即用于删除电子邮件的哈希代码)


然后使用
explode()
在数组中对其排序。但我不知道这是否是订购邮件的最佳方式。。您觉得怎么样?

为什么不将电子邮件存储在单独的表UserEmails中,并与user表建立关系。对于起点,您可以查看链接 Useremail表将有三个字段UseremailID email UserID

UseremailID    email         UserID
1           sss@ss.com        1
2           asasf@ssf.com     1

<>我建议您阅读一些关系数据库,以便了解表和关系

,您应该考虑使用这样的表结构:

Table 'subscription'
id int(20) PK auto_increment
email varchar(100) UNIQUE index

这将导致您必须在表中插入一个带有ID和电子邮件地址的新行(两者都是唯一的,这样您就不会得到双重记录)

我将创建一个表来存储新闻稿,另一个表来创建用户和新闻稿之间的关系,这样您就可以更好地控制信息

三个表格:用户,用户通讯,通讯


用户通讯将只存储用户id,而通讯id数据库服务似乎没有那么灵活(即使它们被引入)。普通UNIX文件系统层次结构和明文文件是存储信息的最佳方式。您不知道数据库的内部结构。但是您知道关于文件系统的所有信息,包括文件权限和加密


例如,以我提供的免费电子邮件时事通讯服务为例。我不使用数据库,但它的编码非常灵活和安全。

但电子邮件将如何存储在现场?这是我将要做的,但重要的是-电子邮件如何存储在表格新闻稿上?每个用户都有一行,然后有一个emails字段或类似的内容?在这个字段上,如何存储电子邮件?您将只在用户表上存储电子邮件,而在其他任何地方,用户与新闻稿、用户与新闻稿之间的关系将处理它…电子邮件如何存储在用户表上?每个用户在表格UserEmail上都有一行,那么在这一行,电子邮件将如何存储?我想过这个想法,但它有效吗?可能是一种情况,我有数千行..这将是有效的,如果你按照你的方法,你的数据库将不会在第一个正常的形式,这是最低的要求。几乎所有的实际应用都有大量的数据,dbms能够有效地处理这些数据。如果你遵循基本原则,那么你的代码将是可维护的,例如,如果你想标记主要电子邮件地址,你将来会怎么做。你的网站已损坏。