Создать Базу Данных на 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
Необходимо разобрать бд так, чтобы на выходе вышли файлы в форматеЕсть БД форума и файлы форума XENFORO 1.6. Нужно сделать файл импорта в другой скрипт, но необходимо сохранить все поля. Я предоставляю файлы ТЗ и файл FAQ, какие именно поля мне нужны. ТЗ файлы на каждый отдельный тип параметров. То есть на выходе под каждое ТЗ должно быть 2… Базы данных и SQL, Парсинг данных ∙ 4 часа 48 минут назад ∙ 4 ставки |
Нужен специалист по Power BI для построения управленческой отчетности на базе BAS Бухгалтерия КОРПО компанииМы являемся дистрибьютором международных спортивных брендов в Украине. Учет ведется в BAS Бухгалтерия КОРП.Ищем специалиста, который поможет построить систему управленческой отчетности для руководства компании на базе Power BI.Важно: нас интересует не просто… Базы данных и SQL, Бухгалтерские услуги ∙ 3 дня 18 часов назад ∙ 6 ставок |
Техническое задание: Интеграция чат-бота Telegram с BAS1. Общая информация Необходимо реализовать интеграцию чат-бота с системой BAS для передачи и записи данных о товарах (заказах). 2. Входные данные (что передает чат-бот): ID группы Название товара (с кодом товара) Цена товара 3. Логика работы: При нажатии на кнопку Заказать… Автоматизация управления предприятием, Базы данных и SQL ∙ 3 дня 20 часов назад ∙ 19 ставок |
Интеграция данных 1СОрганизовать качественную подготовку и переток данных из 1С в BigQuery для дальнейшего использования в Looker:Организовать данные в соответствии с тем, какие поля нужны.Подготовить понятную структуру таблиц и промежуточных наборов данных, на которых будут строиться… Базы данных и SQL, Обработка данных ∙ 5 дней 12 часов назад ∙ 9 ставок |
Разработка простого системы контроллинга и управленческого учета в Google Sheets «под ключ»Название задания: Разработка простого системы контроля и управленческого учета в Google Sheets «под ключ» для строительной компании в Польше (+ онлайн обучение и помощь при внедрении) О компании, контексте и моей главной проблеме Добрый день, Я ищу опытного специалиста Google… Базы данных и SQL, Бухгалтерские услуги ∙ 6 дней 17 часов назад ∙ 36 ставок |