Архитектура базы данных службы рассылки (с php) - PullRequest
2 голосов
/ 19 июня 2011

Я создаю сервис, который предоставляет пользователям систему новостной рассылки.

У меня вопрос, как организовать это в базе данных? пользователь открывает аккаунт -> в базе данных есть строка новостей -> как будет храниться электронная почта? Я думал о чем-то вроде:

user@mail.com,HASHCODE|user2@anothermail.com,HASHCODE|someone@mail.com,HASHCODE ..

(будет храниться в одном поле строки пользователя, HASHCODE для удаления электронной почты)

Затем используйте explode(), чтобы упорядочить его в массиве. но я не знаю, если это лучший способ заказать почту .. как вы думаете?

Ответы [ 4 ]

1 голос
/ 19 июня 2011

Вы должны рассмотреть возможность использования структуры таблицы следующим образом:

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

Это приведет к необходимости вставки в таблицу новой строки с идентификатором и адресом электронной почты (которые оба будут уникальными, поэтому вы не получите двойные записи)

1 голос
/ 19 июня 2011

Я бы создал таблицу для хранения новостных рассылок, а другую - для связи между пользователями и новостными рассылками, чтобы вы могли лучше контролировать свою информацию.

Три таблицы: Пользователь, User_Newsletter, Newsletter

User_Newsletter будет хранить только user_id и newsletter_id

1 голос
/ 19 июня 2011

Почему бы вам не хранить электронную почту в отдельной таблице UserEmails и не устанавливать отношения с таблицей пользователей. Для начала вы можете посмотреть эту ссылку В таблице useremail будет три поля. UseremailID email UserID

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

Я бы порекомендовал вам прочитать некоторую реляционную базу данных, чтобы вы имели представление о таблицах и отношениях

0 голосов
/ 20 марта 2014

Услуги баз данных не кажутся такими гибкими (даже если они были введены).Обычная иерархия файловой системы UNIX и текстовые файлы - лучший способ хранения информации.Вы не знаете внутреннюю структуру базы данных.Но вы знаете все о своей файловой системе, включая права доступа к файлам и шифрование

Например, возьмите Croud Mail , бесплатный почтовый сервис от меня.Я не пользуюсь базами данных, но кодирование очень гибкое и безопасное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...