Создать Базу Данных на PostgreSQL
1698 UAHТехническое задание на разработку БД на 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 адресов. Всё равно экспортировать?" Если пользователь отвечает "да", то производить экспорт найденного количества адресов, которое меньше запрашиваемого. Если "нет" то не экспортировать вообще.
ТРЕБОВАНИЯ К БД:
а) Плаинруется работать с десятками миллионов адресов, поэтому Импорт и Экспорт списка должен происходить максимально быстро. Процедура импорта и экспорта должна быть максимально оптимизирована науличшим для данного действия образом.
Додатки 1
Відгук замовника про співпрацю з Юриєм Суржиковим
Создать Базу Данных на PostgreSQLИсполнитель очень скурпулёзно подходит к заданию, планирует и делает в точном соответствии с ТЗ. Сотрудничеством доволен.
![]()
Відгук фрилансера про співпрацю з замовником
Создать Базу Данных на PostgreSQLХороший заказчик. Всегда был на связи, в любой момент можно уточнить интересующие вопросы по ТЗ. Приятно работать с такими людьми!
-
182 5 0 Готов взяться за ваш проект прямо сейчас. Имеется большой опыт работы с базами данных, в частности с PostgreSQL. Для обсуждения всех вопросов пишите в личку, или в телеграм: yuriy_su (в телеграме отвечаю сразу)
-
665 28 0 Добрый день. Заинтересовал ваш проект. Интересуют следующие моменты:
1) выбор СУБД - вы просто захотели postge и все? Если упора на бд нет, то предлагаю использовать mssql.
2) можно ли предоставить примеры входных и выходных файлов? Чтобы понимать структуру экспортируюмых файлов.
Готов обсудить подробности в личной переписке.
Актуальні фриланс-проєкти в категорії Бази даних та SQL
Аудит безпеки веб-додатків та бази даних для кастомного CRM — спеціаліст з BaaS / бази даних як API (пенетраціяОгляд проекту Ми експлуатуємо спеціально розроблену платформу управління взаємовідносинами з клієнтами (CRM), яка обслуговує два сервісні бізнеси на єдиній системі. Це сучасний веб-додаток на JavaScript, підтримуваний базою даних як послугою (BaaS) і розгорнутий на безсерверній… Бази даних та SQL, Тестування та QA ∙ 7 годин 6 хвилин тому ∙ 3 ставки |
Синхронізація баз данихСинхронізація програм Microsoft Access та CRM SalesDrive. Передача даних з CRM в Microsoft Access на першому етапі (зміна статусу воронки). Передача даних з Microsoft Access в CRM на другому етапі (зміна статусу в програмі). Бази даних та SQL ∙ 12 годин 58 хвилин тому ∙ 8 ставок |
Налаштування системи резервного копіювання та оптимізація серверної інфраструктуриМета робіт:Забезпечити надійне збереження даних CRM-системи та додатку шляхом впровадження автоматизованої системи резервного копіювання (Backups), а також провести ряд серверних доробок для підвищення стабільності, безпеки та продуктивності інфраструктури. DevOps, Бази даних та SQL ∙ 1 день 11 годин тому ∙ 23 ставки |
Pіm система
10 000 UAH
Треба зробити PIM систему. Кількість товарів — декілька мільйонів. Є декілька постачальників, які дають дані в різних форматах: csv, xml, API. Дані обмежені, часто треба знаходити характеристики товарів в інших джерелах та доповнювати. Треба зробити таблицю, де будуть… Бази даних та SQL, Веб-програмування ∙ 1 день 13 годин тому ∙ 43 ставки |
Інтеграція BAS швейка 8
10 000 UAH
Доброго дня, потрібно інтегрувати BAS швейка 8, підʼєднати сайт та crm sales drive, налагодити звіти та інші дані Бази даних та SQL ∙ 1 день 14 годин тому ∙ 10 ставок |