powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
24 сообщений из 24, страница 1 из 1
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37899384
Здравствуйте, уважаемые корифеи! Не удивляйтесь моему вопросу - ответ мне нужен для дипломного проекта. Я - студент из Киева.
Не могу разобраться в очень простой ситуации. Как проектировать схему реляционной БД, если мне нужно моделировать связь между тем или иным значением конкретного атрибута в записи одной таблицы и наименованием сторонней таблицы (или даже именами группы таблиц!). Я так думаю, что такая связь выходит за рамки строгой реляционной модели. Но я никак не могу понять, как тогда моделируется примитивная ситуация, которая возникает во многих ПрО? Попытаюсь ее описать как смогу. Простите мне многословие, если что.
Пусть ПрО - это регистратура в большой поликлинике в большом городе. Куча врачей, куча кабинетов, очередь стоит на регистрацию. Понятно, что все потребности больных регистрируются в одну таблицу РЕГИСТРАТУРА (КодПациента, КодВрача, КодДиагноза, …) подряд. В этой таблице сразу же формируется и их очередь в данный кабинет - или на исследования (на рентген, на УЗИ, на сдачу анализов, на ЭКГ и т.п.), или просто на прим к разным врачам (а наименований их - около 20, не говоря уже о структуре таблиц, каждая из которых отвечает за каждого врача). И что же мы имеем в итоге? Как я понял, типовую ситуацию. То, что зарегистрировано в простом списке (потоке) в таблице РЕГИСТРАТУРА(), со ссылками на справочник врачей, исследований, диагнозов и т.п. сущностей, должно строго связываться с разными сторонними таблицами. На руки больной получает сою очередь в конкретный кабинет конкретного врача - номерок. Все знают, что это - как билет на поезд. Тут все линейно и прозрачно. А вот дальше начинается самое интересное. Приложение же должно формировать подготовительные записи в куче формируемых новых таблиц! Если бы это была одна новая сводная (сплошная) таблица, то проблемы бы не было. Но это - 3-4 десятка разных таблиц! То есть, если атрибут КодВрача равен, скажем, 1 (больной пришел и зарегистрировался к простому терапевту), то нужно создать под него запись в таблице ПРИЕМ ТЕРАПЕВТА (), если атрибут КодВрача равен, скажем, 2 (больной пришел и зарегистрировался к кардиологу), то нужно создать под него запись в таблице ПРИЕМ КАРДИОЛОГА (). И так далее. И что ж получается? Получается, что ничем, кроме как наименованием (и само собой структурой-схемой), эти таблицы различить невозможно! Значит, нужно в справочник ВРАЧИ (КодВрача, Имя врача, ИмяСтороннейТаблицы) вносить нереляционную ссылку «имя сторонней таблицы». Потому, что по иному, как мне кажется, эти таблицы взаимодействовать не будут. А без этого - пролет работы приложения. Я уверен, что ситуация, описанная мною - типовая. И даже классическая. Но почему я ни в одном учебнике по РБД не могу найти ответ на этот вопрос? С чем я столкнулся?
Что я еще думаю. Можно, конечно же, исходить не из таблицы-списка зарегистрированных больных при создании таблиц-приемов врачей, а наоборот. То есть, при формировании информации в приложении конкретного врача терапевта на его компе, прога может цеплять к открытой (текущей) таблице ПРИЕМ ТЕРАПЕВТА (КодВрача, ) фоновую таблицу РЕГИСТРАТУРА (КодВрача, ...) по конкретному значению атрибута КодВрача, прописанному прямо в листинг приложения. Но, как мне кажется, от этого нереляционность не отпадет - хрен редьки не слаще. А разделять «регистрационную» таблицу стразу же на кучу журналов по именам врачей (как делают, например, в ЗАГСЕ – там та же ситуация, кстати), нельзя ни в коме случае. Потому, что там работают процедуры проверки целостности и непротиворечивости очередей в кабинеты. А это можно сделать только на цельной таблице.
Что это за ситуация? Где она описана, в каком учебнике? И как такое моделируют профессионалы по проектированию схем реляционных БД? Потому, что таких ПрО можно привести сотни в пример.
Да, и прошу меня извинить, если совершенно аналогичный вопрос вы обнаружите на других форумах по БД. У меня горит диплом!
Словом, помогите!!!
...
Рейтинг: 0 / 0
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37899479
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алекс-р ИвановКак проектировать схему реляционной БД, если мне нужно моделировать связь между тем или
иным значением конкретного атрибута в записи одной таблицы и наименованием сторонней
таблицы (или даже именами группы таблиц!).
На это есть простой вопрос: ТАК проектировать схему БД - не нужно. Не нужно "структуры
таблиц, каждая из которых отвечает за каждого врача". Одна таблица на всех врачей. Одна
таблица на прием ко всем врачам.

С какого перепугу у тебя таблицы разных специалистов отличаются структурой?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37899512
офф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

ты прочитал всё что в стартовом посте написано?!

я только топик открыл, сразу потемнение в глазах, очнулся в камышах, одного зуба нет, какие-то свежие татухи и баба голая в лодке валяется с примотанными пластырем к рукам двумя береттами.
...
Рейтинг: 0 / 0
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37899529
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оффты прочитал всё что в стартовом посте написано?!
Более-менее. Я таки надеялся найти оправдание для разнесения разных врачей по разным
таблицам. Не нашёл.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37899574
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovБолее-менее. Я таки надеялся найти оправдание для разнесения разных врачей по разным
таблицам. Не нашёл.


Разносятся не врачи, а приемы врачей разных специальностей. Прием - это сущность со "снятыми" в ходе обследования атрибутами.

Понятно, что "прием терапевта" имеет несколько иной набор атрибутов, чем "прием кардиолога".

Так что вопрос сводится к классическому - куча таблиц с (по сути) общим предком ("прием специалиста"), содержащим общие атрибуты, и различными конкретными наследниками.
...
Рейтинг: 0 / 0
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37899591
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat FisherПрием - это сущность со "снятыми" в ходе обследования атрибутами.

А какой смысл раскладывать снятые атрибуты по отдельным полям? Гораздо проще весь лог
приёма свалить в BLOB.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37899600
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovА какой смысл раскладывать снятые атрибуты по отдельным полям? Гораздо проще весь лог
приёма свалить в BLOB.


Ну не знаю. А может, ему зададут среднюю температуру по больнице одним запросом вычислить.
...
Рейтинг: 0 / 0
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37899605
Cane Cat Fisher,

представь себе что атрибут приема у врача, это не физический параметр (как наличие руки или ноги). его можно в любой момент отнять или добавить, или видоизменить.

сам атрибут приема - элемент справочника.
каждому врачу накиданы/навешаны/присвоены атрибуты приемов.

даже не врачу, а "одной из работ/услуг которые выполняет врач".
...
Рейтинг: 0 / 0
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37902470
Уважаемый г-н Dimitry Sibiryakov! Так вопрос именно в этом. В описанных предметных областях (ПрО) невозможно сделать единой таблицу ПРИЕМ_ВРАЧЕЙ(). Если бы можно было, то все было бы линейно и просто. Проблема в том, что у каждого врача - своя структура таблицы. Они очень отличаются - как холодильник от бутылки водки и от туристической палатки. Поэтому группируются в одну только таблица ТЕРАПЕВТ(), КАРДИОЛОГ(), УРОЛОГ() и т.п. А если же их просто принудительно примитивно состыковать между собой (не соединить, а именно состыковать!), то полученное одоробло будет очень разреженным - как разреженная матрица. А это - тоже фигня. Дикая избыточность. Так точно нельзя. Да и ворочаться такой монстр будет жутко медленно. Представьте себе табличку, в которой по 10 атрибутов умножены на 50 разнообразий - 500 атрибутов практически всегда нули. А в день проходит через регистратуру такого ателье (а что поликлиника, что ателье. что ЗАГС, что супермаркет - все едино) 1000 посетителей. Ну и что это будет за БД?
Очень прошу, подскажите - в каких статьях такое описано? Дайте ссылочку плиз. Потому что мне в этом интерсует не метод программистского решения (их - множество), а именно теоретический анализ проблемы РМД. У меня диплом на тему проектирования схем БД (а не программирования приложений). Помогите ссылочкой!
...
Рейтинг: 0 / 0
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37902494
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алекс-р ИвановВ описанных предметных областях (ПрО) невозможно сделать единой таблицу ПРИЕМ_ВРАЧЕЙ().
Проблема в том, что у каждого врача - своя структура таблицы. Они очень отличаются - как
холодильник от бутылки водки и от туристической палатки.

Докажи. Покажи таблицы терапевта и уролога.

Алекс-р ИвановОчень прошу, подскажите - в каких статьях такое описано?
Для полных чайников. У тебя недостаточно глубоко произведено выделение сущностей.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37902694
Ну так давайте просто порассуждаем. Пусть мы можем с вами скрестить ужа с ежом. Пусть в эту таблицу-решето войдут все услуги предоставляемые такой поликлиникой-ателье. И УЗИ, И вырывание зубов, и ЭКГ, и прием всех врачей. Тогда такое огромедное решето будет же очень медленно работать, если таких клиентов к нему - пару сотен врачей одновременно! Это - раз.
А второе - получается все та же нереляцоинная ссылка, что и в моем описании. Только она замаскирована в листинге запроса. Какая же разница, а? Ведь все равно же при загрузке приложения на рабочем месте скажем УЗИста процедура запроса в соответствии с значением кода услуги из справочника ИССЛЕДОВАНИЯ (КодУслуги, ...), скажем, 15 - УЗИ, врач-узист получает доступ к отфильтрованному решету. Ему то ведь сто лет в обед не нужно трогать записи в решете об посещении терапевтов, кардиологов и т.п. Что же получается? Та же нереляционная ссылка. То же самое взаимодействие данных и метаданных. Только не в явном виде прямо в справочнике, а замаскировано в листинге хранимой "на века вечные" процедуры запроса. Так что никуда от такого фильтра не деться. Хоть в лоб, хоть по лбу. Ведь так?
Поэтому прошу не отвлекаться от вопроса нереляционной ссылки. Она обязательно имеет место.
Прошу просто подсказать, где такое описано, если вообще описано...
Сейчас, после 3 дней дискуссии в 6 основных форумах, я в этом сильно засомневался...
...
Рейтинг: 0 / 0
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37902714
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алекс-р ИвановПроблема в том, что у каждого врача - своя структура таблицы
Давайте для начала свою версию своей нетленки. А то пока что это выглядит как бред сумасшедшего, уж извините. Будем по факту наваянного тыкать и искать ошибки.
...
Рейтинг: 0 / 0
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37902720
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы, Алекс-р Иванов, переплюнули всех, кто здесь когда-либо что-либо писал. Глупых сообщений было достаточно, но одновременно безаппеляционных и настолько глупых - нет, не помню.

> Ну так давайте просто порассуждаем.

Давайте. Начните с чтения литературы. Например, с МКБ-10. Постарайтесь осознать, что физиологическое строение человека стереотипно. Уникальные органы - отклонение, а не норма. Физиологические параметры (химические, электрические и пр.) также имеют предсказуемый разброс. Массовые процедуры диагностики, терапии и пр. - стандартный процесс. Ваша задача - этот процесс описать.

На самом деле это простая задача. Я не знаю, чему вас все это время учили, но первое, что вы должны уметь делать, - составлять семантически корректное описание задачи. Вот этим и займитесь.

> Прошу просто подсказать, где такое описано, если вообще описано...

К. Дж. Дейт, "Введение в системы баз данных". Это букварь.
...
Рейтинг: 0 / 0
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37902741
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алекс-р ИвановНу так давайте просто порассуждаем. Пусть мы можем с вами скрестить ужа с ежом. Пусть в эту таблицу-решето войдут все услуги предоставляемые такой поликлиникой-ателье. И УЗИ, И вырывание зубов, и ЭКГ, и прием всех врачей.

А почему несправедливо проигнорирован вариант, когда тип услуги вынесен в отдельную таблицу?

И что будет, если терапевт и кардиолог проверят у одного и того же пациента, например, ТПД? А потом хирург захочет узнать, каким же был ТПД у пациента до того, как несчастный таки попал под скальпель? Ведь у каждого специалиста своя структура таблицы...

Хотя, пожалуй, на горящем дипломе думать некогда, пилить надо ©
...
Рейтинг: 0 / 0
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37903257
Я решил свою проблему.
Описанный мною процесс - это действительно классика. Только назван он денормализацией. И ни о каком выходе за пределы РМД речь не идет.
http://www.lcard.ru/~nail/sybase/perf/1088.htm
"Как правило, горизонтальное разделение ... требует различные имена таблиц в запросах, в зависимости от значений в таблице"
Я надеюсь, статья от Сайбес ни у кого не вызовет недоверия? Оказалось, что таких статей в инете - куча.
Но помощь эту я получил не от форумов России. Везде одна и та же картина. Жаль, что корифеи оказались столь не начитанными...

И по поводу того, что любому врачу ОБЯЗАТЕЛЬНО нужен навязанный доступ ко всем данным пациента - вот это по настоящему безапеляционная глупость! Получить ответ на запрос - это само собой. Но зачем, спрашивается, "молотить" терапевту информацию о пломбе 7-го нижнего? Или знать результаты операции на мизинце? Вот это - 100 процентный бред!
И как же вы, интересно, иначе отфильтруете из вашего решета все эти сведения? Только значением кода врача (то бишь пользователя приложения). А это - что? Это и есть нереляционная ссылка. Значение кода врача ведь берется из справочника врачей данной поликлиники. А кто его формирует? Сисадмин. А какое отношение сисадмин имеет к листингу тригера фильтра решета? НИКАКОГО! Значит, запрос на это значение прошивается в тригер изначально разработчиком. А тригер, получив само значение, может фитльтровать решето на данном пользовательском месте.
Вот я и говорю - те же, только сбоку...

Словом, всем спасибо... Все мне очень помогли ... зарядом злости, который дал возможность прогнуться перед преподом "соседнего" ВУЗа, дать ему коньяк и просто по детски спросить, где такое может быть? Но при этом показать ему (посредством этих форумов), что узнать у коллег хоть что то серьезное и нестандартное практически невозможно! Но тогда, в чем смысл таких форумов, а? В забалтывании проблемы?...
Очень всем спасибо за науку о форумах...
...
Рейтинг: 0 / 0
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37903317
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Я решил свою проблему.

Нет, Алекс-р Иванов, вы не решили свою проблему. Вы как не имели, так и не имеете ни малейшего представления о проектировании.

> И как же вы, интересно, иначе отфильтруете из вашего решета все эти сведения?

Решето у вас в голове. Ваша задача имеет простое традиционное решение. И ограничение доступа - тоже стандартная задача.

> узнать у коллег хоть что то серьезное и нестандартное практически невозможно!

Думаете, кто-то из присутствующих обрадован тем, что вы записали его в коллеги? Дружище, никто не будет заниматься вашим образованием на общественных началах. Имеете конкретный вопрос - задайте, получите конкретный ответ. Читать вам лекции по курсу проектирования... напишите в форум "Работа", может, и найдутся желающие.

> Но тогда, в чем смысл таких форумов, а?

В обмене знаниями, разумеется. Не очевидно? Но у форумов есть еще и воспитательная функция. Светы из Иваново должны иметь представление об уровне собственной подготовки и иметь соответствующую самооценку. Польза обсуждения в данном случае для вас просто невероятна: вы получили исчерпывающее представление о вашем уровне знаний: плинтус - это если оптимистично.
...
Рейтинг: 0 / 0
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37903355
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алекс-р Ивановзачем, спрашивается, "молотить" терапевту информацию о пломбе 7-го
нижнего?
Затем, что из пломбы может утекать мышьяк, который и приводит к наблюдаемым терапевтом
судорогам, тошноте и т.п.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37903433
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алекс-р ИвановОписанный мною процесс - это действительно классика. ...
Ну что же - одним классиком больше.
Правда само описание, возможно, следует отнести к каком-нибуть сю реализму.
Фраза "связь между тем или иным значением конкретного атрибута в записи одной таблицы и наименованием сторонней таблицы" произвела впечатление как преодление всех стереотипов и догм не тока РМД, но и вообще.
Мои восхисчения тем, кто его осилил описание до конца.
...
Рейтинг: 0 / 0
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37903572
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алекс-р ИвановНо тогда, в чем смысл таких форумов, а? В забалтывании проблемы?...Смысл в помощи людям в решении проблем.

Но вы же сами лучьше всех всё знаете, зачем вам помощь? Вы помогающих разве что дибилами не обозвали :-)

ЗЫ, То, что вы написали выше - полный бред от начала до конца.
...
Рейтинг: 0 / 0
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37903648
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgТо, что вы написали выше - полный бред от начала до конца.
Может быть это новое слово в денормализации? Только пока разобрать его не могу (((
...
Рейтинг: 0 / 0
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37903754
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovАлекс-р Ивановзачем, спрашивается, "молотить" терапевту информацию о пломбе 7-го
нижнего?
Затем, что из пломбы может утекать мышьяк, который и приводит к наблюдаемым терапевтом
судорогам, тошноте и т.п.


Мышьяк - это еще ерунда. Читал когда-то о реальном случае в середине 20-го века в США, когда пациент попал к психиатру: "Голоса в голове" настойчиво советовали ему приобретать различную бытовую технику. Оказалось, недавно поставленная пломба образовала полупроводник, и получился простейший детекторный приемник. А по соседству шпарила мощная рекламная радиостанция...
...
Рейтинг: 0 / 0
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37904261
Sgt.Pepper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алекс-р ИвановА какое отношение сисадмин имеет к листингу тригера фильтра решета?
Жаль, что корифеи оказались столь не начитанными...
Я бы вынес это эпиграфом к топику...

Алекс-р ИвановВсе мне очень помогли ... зарядом злости, который дал возможность прогнуться перед преподом "соседнего" ВУЗа, дать ему коньяк и просто по детски спросить, где такое может быть?
И что он Вам ответил? Нет, позвольте сам догадаюсь: "Я люблю коньяк сам по себе, не надо портить впечатления от нашей встречи пришитыми мизинцами, гнилыми семерками и статьями Сайбейс!"
Или он Вам таки рассказал как надо?

Алекс-р ИвановЯ решил свою проблему
Это ему кажется (с)

Вот и приходят товарищи молодые специалисты кандидатами на работу, которые говорят словами из эпиграфа и обижаются на отказ. Правда с моей колокольни это "ничего не знаю, ничего не умею, диплом за коньяк, но 50к (это в Питере) мне вынь и положь!"
...
Рейтинг: 0 / 0
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37904391
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sgt.PepperАлекс-р ИвановЯ решил свою проблему
Это ему кажется (с)Почему кажется? Решил ведь - зачёт за коньяк, вполне недорого.
...
Рейтинг: 0 / 0
Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
    #37904405
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgПочему кажется? Решил ведь - зачёт за коньяк, вполне недорого.

Потому что не зачёт был его проблемой.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Связь между значением атрибута в записи одной таблицы и наименованием сторонней таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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