Создать Базу Данных на PostgreSQL
41 USDТехническое задание на разработку БД на PostgreSQL
ОБЩЕЕ ОПИСАНИЕ:
База данных необходима для того чтобы хрантить список e-mail адресов по которым производится рассылка новостей, а так же для того, чтобы экспортировать с нужными критериями список email адресов в текстовый файл в формате один адрес - одна строка, а так же для того чтобы списком "пакетом" при импорте присваивать новые значения для хранящихся в бд адресов.
ОПИСАНИЕ БД:
База данный должна обладать следующими значениями (по красным номерам на прикрепленном изображении)
1 и 2. Валид/Невалид (параметр импорта текстового файла) - по умолчанию false. Это статус состояния почтового адреса. Каждый email адрес может находится в двух статусах (булево значение) Валид или Невалид. Для простоты понимания это как бы статус говорящий о том готов ли email адрес принимать почту или не готов.
3. Новость (параметр импорта текстового файла) - это короткое тектовое поле с уникальным названием. Примеры: "Пожар в Сургуте", "Цунами в Египте" и т.д.
4. Дата (параметр импорта текстового файла) - это дата отправки конкретной новости на конкретный email адрес.
5. Импорт - это кнопка импорта списка email адресов из текстового файла в формате один email адрес в одной строке.
11. Добавить новость - это кнопка добавление новости в таблицу новостей (п.3)
6. Дата (параметр экспорта в текстовый файл) - НЕбязательный параметр (может быть отключен простановкой галочки). Это дата, при указании которой не должен происходить экспорт записей, находящихся во временном промежутке между указанной датой и текущим моментом. То есть другими словами должен происходить экспорт записей с датой, до указанной в данном поле. В случае отключения данного параметра - он не учитывается.
7. Валид/Невалид/Любой (параметр экспорта в текстовый файл) - Обязательный параметр. Это булевое значение, которое присвоено каждой почте. В случае выбора "любой" данный параметр экспорта должен учитывать email адреса как со значение true так и со значением false.
8. Количество (параметр экспорта в текстовый файл) - Обязательный параметр. Может принимать значения от 1 до бесконечности. Это количество значений (строк) при экспорте базы данных.
9. Новость (параметр экспорта в текстовый файл) - Обязательный параметр. Может быть "любые новости" (когда учитываются все не пустые существующие нововсти), может быть "без новостей", когда на email ни разу не была отправлена ни одна новость и может быть с какой-то конкретной новостью. В случае выбора конкретной новости из выпадающего списка должен происходить экспорт email, на которые НЕ БЫЛА (то есть инверсионно) отправлена выбранная новость.
10. Экспорт - это кнопка экспорта списка email адресов в текстового файла в формате один email адрес в одной строке (аналогичен файлу импорта п.5)
ВАЖНЫЕ УСЛОВИЯ:
Импорт:
а) Параметр "новость" email адресу без даты не может быть присвоен. Если email адресу отправлялась новость, то должна быть дата отправляемой новости обязательно. Соответственно параметр "дата" рассылки так же не может быть присвоена без конкретной новости.
б) Статус "валид" почте не может быть присвоен без указания даты и новости.
в) Статус "НЕ валид" почте может быть присвоен либо без указания даты и новости одновременно, либо с указанием даты и новости одновременно.
Экспорт:
а) Поле "Дата" пустым быть не может. Оно может либо содержать какую-то дату, либо игнорироваться.
б) Если полю "Дата" присвоена дата, то в п.7 может быть любой из трек радиобатонов. Если поле "дата" не учитывается, то в п.7 может быть только значение "не валид".
в) Если в п.6 "дата" не учитвыается значение (стоит чекбокс), то в п.9 может быть только одно значение "без новости", остальные должно быть невозможно установить.
г) Если в п.6 "дата" установлена дата, то в п.9 нельзя выбрать параметр "без новостей".
д) Если пользователь устанавливает чекбокс в п.9 "без новостей, то автоматически должна проставляться галка в поле "дата" на значение "не учитывать дату", а в п.7 радиобаттон должен быть только "не валид".
е) Повторящихся значений email адресов в бд быть не должно (ключевое поле). Если импортируется список email адресов, а в базе имеются данные email адреса, то должно происходить обновление указанных при импорте параметров у имеющихся email адресов. Однако если в базе имеются email адреса со статусом "валид" то они ни при каких обстоятельствах не могут получить статус "не валид".
ж) При импорте списка с присвоенной новостью и датой должна происходить проверка записей в бд на предмет такой же новости, присвоенной email адресу. В случае совпадения имени новости значение даты должно перезаписываться в существующую в бд запись, а не добавление новой записи с аналогичтной новостью и уникальной датой. Другими словами email адресу может быть присвоена один раз уникальная новость с более поздней датой и одинаковых email адресов с одинаковой новостью, но с разными датами в бд храниться не должно.
ВЫДАЧА СООБЩЕНИЙ:
При импорте:
а) Если при импорте имелись совпадения с email адресами в бд, то по окончанию импорта выводить сообщение о количестве свопадений записей.
При экспорте:
а) Если указанного количества адресов не достаточно (х найденные адреса <y запрашиваемые адреса), то пользователю должен выводится вопрос: "по данным кретериям в базе имеется X адресов, а вы запрашиваете Y адресов. Всё равно экспортировать?" Если пользователь отвечает "да", то производить экспорт найденного количества адресов, которое меньше запрашиваемого. Если "нет" то не экспортировать вообще.
ТРЕБОВАНИЯ К БД:
а) Плаинруется работать с десятками миллионов адресов, поэтому Импорт и Экспорт списка должен происходить максимально быстро. Процедура импорта и экспорта должна быть максимально оптимизирована науличшим для данного действия образом.
Applications 1
Client's review of cooperation with Yury Surzhikov
Создать Базу Данных на PostgreSQLИсполнитель очень скурпулёзно подходит к заданию, планирует и делает в точном соответствии с ТЗ. Сотрудничеством доволен.
![]()
Freelancer's review of cooperation with client
Создать Базу Данных на PostgreSQLХороший заказчик. Всегда был на связи, в любой момент можно уточнить интересующие вопросы по ТЗ. Приятно работать с такими людьми!
-
182 5 0 Готов взяться за ваш проект прямо сейчас. Имеется большой опыт работы с базами данных, в частности с PostgreSQL. Для обсуждения всех вопросов пишите в личку, или в телеграм: yuriy_su (в телеграме отвечаю сразу)
-
665 28 0 Добрый день. Заинтересовал ваш проект. Интересуют следующие моменты:
1) выбор СУБД - вы просто захотели postge и все? Если упора на бд нет, то предлагаю использовать mssql.
2) можно ли предоставить примеры входных и выходных файлов? Чтобы понимать структуру экспортируюмых файлов.
Готов обсудить подробности в личной переписке.
Current freelance projects in the category Databases & SQL
Web Application & Database Security Audit for Custom CRM — BaaS / Database-as-API Specialist (PenetrProject Overview We operate a custom-built customer relationship management (CRM) platform that runs two service businesses on a single system. It is a modern JavaScript web application backed by a backend-as-a-service (BaaS) database and deployed on a serverless hosting… Databases & SQL, Testing & QA ∙ 5 hours 6 minutes back ∙ 3 proposals |
Database synchronizationSynchronization of Microsoft Access programs and CRM SalesDrive. Data transfer from CRM to Microsoft Access in the first stage (changing the funnel status). Data transfer from Microsoft Access to CRM in the second stage (changing the status in the program). Databases & SQL ∙ 10 hours 58 minutes back ∙ 8 proposals |
Setting up a backup system and optimizing server infrastructureObjective of the work: Ensure reliable data storage for the CRM system and application by implementing an automated backup system, as well as carry out a series of server improvements to enhance the stability, security, and performance of the infrastructure. DevOps, Databases & SQL ∙ 1 day 9 hours back ∙ 23 proposals |
PIM system
225 USD
A PIM system needs to be created. The number of products is several million. There are several suppliers providing data in different formats: csv, xml, API. The data is limited, and often it is necessary to find product characteristics from other sources and supplement them. A… Databases & SQL, Web Programming ∙ 1 day 11 hours back ∙ 43 proposals |
Integration of BAS Shveyka 8
225 USD
Good day, it is necessary to integrate BAS Shveyka 8, connect the website and CRM Sales Drive, set up reports and other data. Databases & SQL ∙ 1 day 12 hours back ∙ 10 proposals |