powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Банк крови модель
22 сообщений из 22, страница 1 из 1
Банк крови модель
    #39414018
carrot222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Посмотрите пожалуйста, есть ли какие-нибудь замечания? Делаю дз для универа. Велено разобрать в общих чертах, что от чего зависит и какие таблицы должны быть.
...
Рейтинг: 0 / 0
Банк крови модель
    #39414019
carrot222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
изначально схема была такая:
...
Рейтинг: 0 / 0
Банк крови модель
    #39414054
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrot222,

вообще-то еще пишут словесное описание:
1. Чего нужно в деталях (банк крови сильно в общем, - для этого достаточно вообще одной таблицы...)
2. Потом рисуют
3. Потом объясняют типа в этой таблице у меня то-то, в другой это....
4. Ну и потом спрашивают - что не так...

А тут такое ощущение, что вы тиснули две схемы с прошлых годов и хотите, чтоб за вас придумали что это такое....
...
Рейтинг: 0 / 0
Банк крови модель
    #39414206
carrot222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmag,

первая схема 2017 года, которую я сделала сама . задание было из старой схемы сделать новую - исправить ошибки недочеты и убрать лишнее. вот я так и постаралась сделать. и теперь перед сдачей хотела, чтобы мне посоветовали профессионалы, что я могла сделать не так.
...
Рейтинг: 0 / 0
Банк крови модель
    #39414216
bideveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде норм. А как количество поездок заграницу связано с уровнем здоровья?)
...
Рейтинг: 0 / 0
Банк крови модель
    #39414218
carrot222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bideveloper,

Donor health record это не здоровье а карточка состояния. Когда сдаешь кровь спрашивают путешестыовал ли ближайшее время куда то и если да то не допускают к сдаче крови
...
Рейтинг: 0 / 0
Банк крови модель
    #39414235
bideveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrot222bideveloper,

Donor health record это не здоровье а карточка состояния. Когда сдаешь кровь спрашивают путешестыовал ли ближайшее время куда то и если да то не допускают к сдаче крови
Наверно все же не куда-то, а в определенные регионы с определёнными болезнями ) и ещё - карточка состояния не связана напрямую с donation? я так понимаю, она заполняется каждый раз при сдаче крови
...
Рейтинг: 0 / 0
Банк крови модель
    #39414243
carrot222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bideveloper,

да вы правы, карточка состояния заполняется каждый раз когда куда-то едешь, и если что-то не так - например делала тату в последний месяц - не допускают к сдаче крови. То есть её надо не к донору привязывать, а к донации?
Спасибо за замечание!
...
Рейтинг: 0 / 0
Банк крови модель
    #39414305
bideveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrot222То есть её надо не к донору привязывать, а к донации?

Я бы привязал и к тому и к другому ) К донации для удобства перехода, если мы захотим посмотреть, какая была карточка состояния по этой донации. А к донору, потому что карточка состояния может быть и без донации, если здоровье не подошло.
...
Рейтинг: 0 / 0
Банк крови модель
    #39414318
Ы2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrot222,

Зачем вам отдельная таблица адресов? Судя по названиям полей, адреса указываются с точностью до квартиры, т.о. на каждого донора/сотрудника в ней будет отдельная запись и на запросах вы никак не сэкономите. Разве что так «морду» проще писать…
...
Рейтинг: 0 / 0
Банк крови модель
    #39414340
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ы2
Зачем вам отдельная таблица адресов? Судя по названиям полей, адреса указываются с точностью до квартиры, т.о. на каждого донора/сотрудника в ней будет отдельная запись и на запросах вы никак не сэкономите. Разве что так «морду» проще писать…
В одной квартире не может жить несколько доноров? Почему?
...
Рейтинг: 0 / 0
Банк крови модель
    #39414435
Ы2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинВ одной квартире не может жить несколько доноров? Почему?
Могут, конечно. Но с какой вероятностью? Например, двое из 10.000?
Я не считаю, что вводить такую таблицу неправильно, мне интересно, из каких соображений она вводится (помимо победившего формализма).
...
Рейтинг: 0 / 0
Банк крови модель
    #39414925
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ы2 Разве что так «морду» проще писать…Если бы проще. Намного геморнее. И никаких выгод при этом.
Та же петрушка для контактов/телефонов
...
Рейтинг: 0 / 0
Банк крови модель
    #39414931
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257Ы2 Разве что так «морду» проще писать…Если бы проще. Намного геморнее.

Создать view с присоединенными адресами - это "намного геморнее", однозначно :)

SERG1257И никаких выгод при этом.
Та же петрушка для контактов/телефонов
Выгоды стандартные - облегчение инкапсуляции логики работы с сущностью, снижение вероятности внесения ошибочной информации
...
Рейтинг: 0 / 0
Банк крови модель
    #39414980
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Матроскин Создать view с присоединенными адресами - это "намного геморнее", однозначно :)Не во вьюшке дело.
Возьмем два варианта "тупой" мой и "правильный" от топикстартера
Добавим человека
В моем варианте тупо добавляем вместе с человеком
в правильном варианте сначала ищем адрес и если не нашли добавляем адрес, затем добавляем человека

Правим адрес
В моем варианте тупо правим адрес
В правильном варианте надо создать новый адрес или обрабатывать ситуацию: данный адрес принадлежит только одному человеку и его можно править как в тупом варианте.

Удаление
В моем варианте адрес удаляется вместе с человеком
В правильном варианте адрес либо не удаляется вообще или отслеживая удаление последнего человека ссылающегося на этот адрес

На практике разработчики идут по простому пути и не парятся с правкой адреса - ищется подходящий и создается новый. В результате таблица адресов становится отстойником мусора.

Кот Матроскин Выгоды стандартные - облегчение инкапсуляции логики работы с сущностью, снижение вероятности внесения ошибочной информации Не в этом случае.
...
Рейтинг: 0 / 0
Банк крови модель
    #39415012
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257Кот Матроскин Создать view с присоединенными адресами - это "намного геморнее", однозначно :)Не во вьюшке дело.
Возьмем два варианта "тупой" мой и "правильный" от топикстартера

Возможность что-то делать "тупо" - это не совсем достоинство :)
Возьмем то же исправление адреса - это вообще не вполне правильное название операции.
Почему мы его правим? человек/организация переехали? Ранее была введена неправильная информация? Произошло какое-то изменение в системе адресов (улицу переименовали, etc.)? Это вообще-то разные кейсы, вполне возможно требующие разной обработки (скажем, при переезде старый адрес сохранить полезно, а при исправлении ошибки - нет).
Это не говоря уже о возможностях развития системы - вот завтра понадобилось хранить на человека два адреса - адрес фактический и адрес регистрации. Все, Ваша система приехала - в лучшем случае придется копипастить весь код валидации адресов для новых полей.
Понадобилось ввести еще одну сущность, у которой есть адрес (этих сущностей, кстати, уже прямо сейчас в системе две - донор и банк) - опять же приходится все дублировать.
...
Рейтинг: 0 / 0
Банк крови модель
    #39416055
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrot222vmag,

первая схема 2017 года, которую я сделала сама . задание было из старой схемы сделать новую - исправить ошибки недочеты и убрать лишнее. вот я так и постаралась сделать. и теперь перед сдачей хотела, чтобы мне посоветовали профессионалы, что я могла сделать не так.
Вот это поворот!
Ничё, что старая схема тупо скопирована с Databaseanswers и выдана, как "старая"?
...
Рейтинг: 0 / 0
Банк крови модель
    #39417535
Фотография Wizandr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewiczcarrot222vmag,

первая схема 2017 года, которую я сделала сама . задание было из старой схемы сделать новую - исправить ошибки недочеты и убрать лишнее. вот я так и постаралась сделать. и теперь перед сдачей хотела, чтобы мне посоветовали профессионалы, что я могла сделать не так.
Вот это поворот!
Ничё, что старая схема тупо скопирована с Databaseanswers и выдана, как "старая"?

"старая" схема - та которая в первом сообщении была сделана на базе модели из Databaseanswers
что не так?
...
Рейтинг: 0 / 0
Банк крови модель
    #39419551
carrot222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
waszkiewicz,

да эта схема насколько мне известно взята с databaseanswers, более того, новую схему я делала на основе давно открытой темы на данном форуме. возможно мне надо было быть более точной в цитировании источников.

В любом случае, приношу свои извинения за недопонимание.

Если кому-нибудь данная схема еще пригодится: препод сказал убрать таблицу донации и соединить ее в donor_health_record, при этом мягко намекнул, что схема на 99% неправильна в связи с тем, что при данной схеме на вопрос "сколько доноров живут в том же городе, что и сдали кровь?" невозможно будет ответить силами SQL...
...
Рейтинг: 0 / 0
Банк крови модель
    #39419880
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrot222Если кому-нибудь данная схема еще пригодится: препод сказал убрать таблицу донации и соединить ее в donor_health_record, при этом мягко намекнул, что схема на 99% неправильна в связи с тем, что при данной схеме на вопрос "сколько доноров живут в том же городе, что и сдали кровь?" невозможно будет ответить силами SQL...
Что, правда невозможно? :)
...
Рейтинг: 0 / 0
Банк крови модель
    #39420418
carrot222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот Матроскин,

не знаю если честно... ведь тогда надо по идее выбирать таблицу банков из этой таблицы выбирать все таблицы health_record смотреть была ли донация в принципе потом по донации определять доноров по донорам смотреть персональную дату из нее ссылаться к таблицу адресов и оттуда уже сравнивать город с городом блад банка. Замудрено так и как это воплотить в жизнь не очень представляю.

Если у вас есть идеи, буду очень признательна если Вы ими поделитесь.
...
Рейтинг: 0 / 0
Банк крови модель
    #39420448
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrot222,
Да какие тут особые идеи-то
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SELECT a1.city, count(distinct dn.donor_id)
FROM Donor dn
         JOIN Personal_data pd
         ON dn.personal_data_id = pd.personal_data_id
         JOIN Address a1
         ON a1.address_id = pd.address_id
         JOIN Address a2
         ON a2.city = a1.city and
              a2.state_province_county = a1.state_province_county and
              a2.country = a1.country 
         JOIN Blood_bank bb
         ON bb.address_id = a2.address_id
         JOIN Donation d
         ON d.blood_bank_id =  bb.blood_bank_id and
              d.donor_id = dn.donor_id
GROUP BY a1.city
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Банк крови модель
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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