|
Фейковый FK
|
|||
---|---|---|---|
#18+
Мужики, вы стаю собак в проектировании съели. Подскажите, как по феншую. Есть табля с пациентами и табля с персоналом. Они все где-то проживают и эти данные надо хранить. Чтобы не городить, как минимум, две отдельные таблички, на ум пришла мысль хранить эти данные в одной Код: sql 1. 2. 3. 4. 5. 6.
и в упомянутых выше двух мастер-табличках создать "неудаляемые" записи с ID=0, а при вставке в TBL_ADDRESS в FK вставлять реальный ID из той таблички, для которой запись создана. Так нормальные люди делают или есть какой-то другое правильное решение с учетом последующего удобства выборки и проч.? ================= Док. Win7 Ultim x64, Deb 7.6 i386 (Deb 8.3 i386): FB 3.0.0.32483, диалект 3, SS(win)/CS(Deb), Lazarus 1.7; FPC 3.1.1, IBX by -Rik-; IBE 2016.4.29.1 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 10:54 |
|
Фейковый FK
|
|||
---|---|---|---|
#18+
Док, Про феншуй не знаю но вот зачем : " DEFAULT 0 NOT NULL" и " мастер-табличках создать "неудаляемые" записи с ID=0" совсем не понял ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 11:04 |
|
Фейковый FK
|
|||
---|---|---|---|
#18+
Минимальная контактная информация и должна быть общей: сегодня персонал, а завтра - уже пациент. Ну или наоборот. А вот уже различающуюся информацию - разделять: для пациента неинтересна специализация, а персоналу не требуется диагноз. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 11:09 |
|
Фейковый FK
|
|||
---|---|---|---|
#18+
Док, по фэншую ты можешь хранить информацию о физических лицах в одной табличке, а в другой табличке по 1:1 с предыдущей, хранить определение "типа" физ.лица - "Персонал"/"Пациент". Тут, конечно, не мешало бы и третью табличку прибабахать - справочник типов физ.лиц, чтобы была фэншуйная нормализация и отсутствие избыточности. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 11:11 |
|
Фейковый FK
|
|||
---|---|---|---|
#18+
m7m, еще раз: если указан адрес проживания пациента, то в FK_PATIENTS будет не 0 , а в FK_PERSONAL будет 0 . Для адреса работника ситуация будет с точностью до наоборот. Если не нравиться DEFAULT, можно в триггер на вставку завернуть ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 11:13 |
|
Фейковый FK
|
|||
---|---|---|---|
#18+
Докm7m, еще раз: если указан адрес проживания пациента, то в FK_PATIENTS будет не 0 , а в FK_PERSONAL будет 0 . Для адреса работника ситуация будет с точностью до наоборот. Если не нравиться DEFAULT, можно в триггер на вставку завернуть а чем null не угодил?? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 11:15 |
|
Фейковый FK
|
|||
---|---|---|---|
#18+
rdb_dev, блин, вроде очевидные вещи, но под этим углом я на архитектуру еще не смотрел. Спасибо, что поднял мне веки открыл глаза ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 11:16 |
|
Фейковый FK
|
|||
---|---|---|---|
#18+
Док, ты всё перевернул с ног на голову. ты перепутал объекты с атрибутами этих объектов. с точностью до наоборот. зы: не проктолог? (шутко!) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 11:16 |
|
Фейковый FK
|
|||
---|---|---|---|
#18+
Докrdb_dev, блин, вроде очевидные вещи, но под этим углом я на архитектуру еще не смотрел. Спасибо, что поднял мне веки открыл глаза А если уж совсем фэншуйно, то каждое физ.лицо либо где-то работает (id юр.лица из справочника юр.лиц), либо нет (null) и если id юр.лица совпадает с id вашего мед.учреждения, то персонал, иначе - пациент. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 11:25 |
|
Фейковый FK
|
|||
---|---|---|---|
#18+
rdb_devесли id юр.лица совпадает с id вашего мед.учреждения, то персонал, иначе - пациент.Типа, доктору больничный никогда не требуется? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 11:29 |
|
Фейковый FK
|
|||
---|---|---|---|
#18+
Basil A. Sidorov, дело не в больничном, а в том, что персонал облизывают лучше. Так-то любое физ.лицо, будь то "персонал" или "пациент" (не резидент мед.учреждения), обратившееся в мед.учреждение (попавшее в таблицу физ.лиц) уж безоговорочно является пациентом, которому время от времени нужен больничный. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 11:34 |
|
Фейковый FK
|
|||
---|---|---|---|
#18+
Док, бр... Я бы сделал табличку PEOPLE и в ней бы хранил и персонал и пациентов. Только добавил бы в неё поле PEOPLE_KIND для определения что это за чел сотрудник или пациент. А связи сотрудник-пациент в этой табле по идее быть не должно. Один и тот же человек может быть пациентом у нескольких врачей, и наоборот у одного врача может быть много пациентов. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 11:35 |
|
Фейковый FK
|
|||
---|---|---|---|
#18+
Симонов Денисбр... Я бы сделал табличку PEOPLE и в ней бы хранил и персонал и пациентов. Только добавил бы в неё поле PEOPLE_KIND для определения что это за чел сотрудник или пациентА я бы не добавлял: есть первичный ключ, вот его и задействовать в отдельных таблицах для персонала и для пациентов. P.S. Через пару-тройку лет окажется, что человек не просто может менять состояние - он может лечиться, не переставая быть сотрудником. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 11:43 |
|
Фейковый FK
|
|||
---|---|---|---|
#18+
Basil A. Sidorov, пожалуй ты прав ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 11:47 |
|
Фейковый FK
|
|||
---|---|---|---|
#18+
Симонов Денис, тут уже предлагали. Я даже в инет сунулся, рассуждая, как ты Но это Basil A. Sidorovчеловек не просто может менять состояние - он может лечиться, не переставая быть сотрудником пока сбило меня с толку, щас буду думать, стоит ли так заморачиваться в контексте задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 11:55 |
|
Фейковый FK
|
|||
---|---|---|---|
#18+
ДокЕсть табля с пациентами и табля с персоналом. Они все где-то проживают и эти данные надо хранить. Чтобы не городить, как минимум, две отдельные таблички, на ум пришла мысль хранить эти данные в одной А какой смысл вообще выносить место проживания в отдельную табличку? Добавить в основные таблицы по полю "дополнительная информация, включая место проживания в свободной форме" типа CLOB мешает что-то?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 12:05 |
|
Фейковый FK
|
|||
---|---|---|---|
#18+
ДокBasil A. Sidorovчеловек не просто может менять состояние - он может лечиться, не переставая быть сотрудником пока сбило меня с толку, щас буду думать, стоит ли так заморачиваться в контексте задачи. смотря в чем состоит задача... 19274926 19274858 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 12:12 |
|
Фейковый FK
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, как бы да, но, ИМХО, KLADR не помешает. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 12:13 |
|
Фейковый FK
|
|||
---|---|---|---|
#18+
rdb_devИМХО, KLADR не помешает. Ну, если Доку понадобится статистика типа "количество пациента по районам", тогда да, а иначе это только усложнение ввода. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 12:16 |
|
Фейковый FK
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovмешает что-то? В произвольной форме недостаточно будет, имхо. В более-менее современных МИС сейчас требуется отдельно адрес проживания и адрес прописки (регистрации). rdb_devKLADR не помешает нафиг, я решил, что в базу его пихать не буду, если только рядом положить и отдельным коннектом оттудова данные доставать и писать в свою (скорее для удобства юзверей) rdb_devсмотря в чем состоит задача... клиент для мелко-средних контор и "врачей-фрилансеров" Отсюда и контекст. Универсального софта нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 12:23 |
|
Фейковый FK
|
|||
---|---|---|---|
#18+
ДокВ произвольной форме недостаточно будет, имхо. В более-менее современных МИС сейчас требуется отдельно адрес проживания и адрес прописки (регистрации). Ну так это не исключает произвольную форму: Адрес проживания: Москва, Кремль Адрес прописки: Мухосранск, свалка Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 12:27 |
|
Фейковый FK
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovэто не исключает произвольную форму хочу оставить потенциальную возможность статобработки "Никогда не знаешь, что придет голову этим пчелам..." (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 13:21 |
|
Фейковый FK
|
|||
---|---|---|---|
#18+
Просятся три таблицы: Person(люди), Employee(персонал), Patient(пациенты). Sorry - все, что сверху не читал. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2016, 14:00 |
|
|
start [/forum/topic.php?fid=40&msg=39253563&tid=1562137]: |
0ms |
get settings: |
12ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 164ms |
0 / 0 |