powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Запрет на заполнение полей таблицы
10 сообщений из 10, страница 1 из 1
Запрет на заполнение полей таблицы
    #38496239
Voskreswaja
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер! Кто может, помогите, пожалуйста, с решением небольшой проблемки.
Есть таблица КЛИЕНТЫ со следующими полями: ФИО клиента, телефон, Результат звонка1, Результат звонка2, Результат звонка3.
Результатом каждого звонка может быть: Недозвон или Оформление договора. Количество результатов по каждому клиенту может быть разное (от 1 до 3).
Например, на первый звонок клиент не ответил и сотрудник проставил в поле Результат звонка1 "Недозвон", когда сотрудник перезвонил повторно через час, клиент согласился на оформление договора и тогда сотрудник ставит Результат звонка2 "Оформление договора".
Если же до клиента дозвонились с первого раза, то должно быть заполнено только поле Результат звонка1 "Оформление договора".
Может быть и такое, что до клиента дозвонились только с третьего раза, тогда в полях Результат звонка1 и Результат звонка2 будет значение "Недозвон", а в поле Результат звонка3 "Оформление договора".
Необходимо сделать так, чтобы сотрудник не смог заполнить, например, поле Результат звонка3, пока не заполнены поля Результат звонка1 и Результат звонка2.
Обязательными поля делать нельзя, так как изначально неизвестно с какого раза сотрудник дозвонится до клиента.
Подскажите, пожалуйста, что можно сделать в этом случае?
...
Рейтинг: 0 / 0
Запрет на заполнение полей таблицы
    #38496241
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Voskreswajaчто можно сделать в этом случае?
Вариант 1, правильный: привести таблицу к третьей НФ. Тогда описанная проблема физически
не будет возможна.
Вариант 2, для неленивых: сделать CHECK CONSTRAINT или триггер BEFORE INSERT.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Запрет на заполнение полей таблицы
    #38496264
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VoskreswajaМожет быть и такое, что до клиента дозвонились только с третьего раза, тогда в полях Результат звонка1 и Результат звонка2 будет значение "Недозвон", а в поле Результат звонка3 "Оформление договора".

А "Может быть такое", "что до клиента дозвонились только" с десятого раза? Например клиент в тундре был. Тогда что будет в этой таблице?
...
Рейтинг: 0 / 0
Запрет на заполнение полей таблицы
    #38496284
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариант 2, для неленивых: сделать CHECK CONSTRAINT или триггер BEFORE INSERT.Причем с увеличением количества полей данный констрейнт становится все более и более монстрообразным, то бишь для двух полей все не так уж и плохо, то для трех уже гораздо хуже.
...
Рейтинг: 0 / 0
Запрет на заполнение полей таблицы
    #38496302
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257с увеличением количества полей данный констрейнт становится все более и
более монстрообразным, то бишь для двух полей все не так уж и плохо, то для трех уже
гораздо хуже.
Да нет, рост линейный. Но вариант действительно не для ленивых, ибо мозгами придётся
пошевелить да и набирать больше.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Запрет на заполнение полей таблицы
    #38496306
Voskreswaja
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, спасибо!
...
Рейтинг: 0 / 0
Запрет на заполнение полей таблицы
    #38496481
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VoskreswajaЕсть таблица КЛИЕНТЫ со следующими полями: ФИО клиента, телефон, Результат звонка1, Результат звонка2, Результат звонка3.
Две таблицы:
КЛИЕНТЫ ФИО клиента, телефон и т.д.
ЗВОНКИ дата время телефон результат
и нет проблем
...
Рейтинг: 0 / 0
Запрет на заполнение полей таблицы
    #38501763
_модVoskreswajaЕсть таблица КЛИЕНТЫ со следующими полями: ФИО клиента, телефон, Результат звонка1, Результат звонка2, Результат звонка3.
Две таблицы:
КЛИЕНТЫ ФИО клиента, телефон и т.д.
ЗВОНКИ дата время телефон результат
и нет проблем
Ну как нет? Скорее всего, придётся предусматривать запрет на занесение информации по четвёртому звонку.
Очень велика вероятность, что в регламенте работы подразделения есть пункт, что звонить клиенту нужно не более трёх раз. Ибо чем можно объяснить в старой, работающей и всех устраивающей структуре наличие полей для результатов только трёх звонков?
...
Рейтинг: 0 / 0
Запрет на заполнение полей таблицы
    #38501904
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проблема однакоИбо чем можно объяснить в старой, работающей и всех устраивающей структуре наличие полей для результатов только трёх звонков?
Тупостью проектировщиков
...
Рейтинг: 0 / 0
Запрет на заполнение полей таблицы
    #38501918
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проблема однако_модпропущено...

Две таблицы:
КЛИЕНТЫ ФИО клиента, телефон и т.д.
ЗВОНКИ дата время телефон результат
и нет проблем
Ну как нет? Скорее всего, придётся предусматривать запрет на занесение информации по четвёртому звонку.

А смысл? вряд ли кто-то станет заносить информацию по звонку, не совершив сам звонок? А если звонок совершен, то лучше хранить по нему информацию, чем не хранить, независимо от инструкций на количество звонков.
Клиентское ПО может выдавать предупреждения "N звонков уже совершено!", делать неактивной кнопку "занести данные о звонке" и т.п. - но на сервере блокировка занесения информации по дополнительным звонкам ничем не оправдано.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Запрет на заполнение полей таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]