Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Нужно опытное мнение по решению задания.  [new]
Михаил11111
Member

Откуда:
Сообщений: 42
Читаю книгу Программирование баз данных MSQL 2005_Базовый курс. В конце 8ой главы предлагается нормализовать таблицу. Сначала сделал сам, как мне показалось правильным, потом посмотрел как в книге. Решение не совпало. Нормализация до 3 НФ.
[IMG]http://s8.hostingkartinok.com/uploads/thumbs/2015/10/f5bdf1d82990325faaccc1b78f7878be.png[/IMG]

[IMG]http://s8.hostingkartinok.com/uploads/thumbs/2015/10/4992987f4fb37c3fa1b4462f819e2125.png[/IMG]

[IMG]http://s8.hostingkartinok.com/uploads/thumbs/2015/10/0999e1fd5f027d37894cd4c4c47e5fa6.png[/IMG]
12 окт 15, 08:08    [18265654]     Ответить | Цитировать Сообщить модератору
 Re: Нужно опытное мнение по решению задания.  [new]
Михаил11111
Member

Откуда:
Сообщений: 42
http://hostingkartinok.com/show-image.php?id=f5bdf1d82990325faaccc1b78f7878be
http://hostingkartinok.com/show-image.php?id=4992987f4fb37c3fa1b4462f819e2125
http://hostingkartinok.com/show-image.php?id=0999e1fd5f027d37894cd4c4c47e5fa6
12 окт 15, 08:10    [18265657]     Ответить | Цитировать Сообщить модератору
 Re: Нужно опытное мнение по решению задания.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Михаил11111,

снимок 1 верный, 0 не верный.
12 окт 15, 11:08    [18266314]     Ответить | Цитировать Сообщить модератору
 Re: Нужно опытное мнение по решению задания.  [new]
Михаил11111
Member

Откуда:
Сообщений: 42
Владислав Колосов,

А по чему не верный мне хотелось бы понять. Я часто в жизни видел составные ключи и большей длинны чем 2 столбца. Расшифрую как я это понимаю: TreatmentNO в таблице PatientTreatment аналог VisitID в т Visit. Первичный ключ TreatmentNo + PatientID уникальный, тк TreatmentNo - счетчик. Или дело в том, что это не 3 нормальная форма получается:?
12 окт 15, 12:21    [18266762]     Ответить | Цитировать Сообщить модератору
 Re: Нужно опытное мнение по решению задания.  [new]
Glory
Member

Откуда:
Сообщений: 104760
Михаил11111
Или дело в том, что это не 3 нормальная форма получается:?

Скорее всего дело в том, что нормализацию надо проводить так, как описано в этой самой книге Программирование баз данных MSQL 2005_Базовый курс. А не по тому, какие конкретные примеры вы встретили в своей жизни.
12 окт 15, 12:26    [18266784]     Ответить | Цитировать Сообщить модератору
 Re: Нужно опытное мнение по решению задания.  [new]
o-o
Guest
Михаил11111
TreatmentNO в таблице PatientTreatment аналог VisitID в т Visit. Первичный ключ TreatmentNo + PatientID уникальный, тк TreatmentNo - счетчик.

потому что неправильный смысл вкладываете в это TreatmentNO.
это не счетчик всех процедур, вообще когда-либо кем-либо проделанных.
это TreatmentID,
т.е.
1, ингаляция
2, ионофорез
...
а вот уже в Visits собрали, кто у кого и что именно сделал.
почему они выбрали NO вместо ID?
без понятия

а вы да, "недонормализовали",
потому что у вас каждому Patient приписано это Treatment *названием*,
а не его id.
т.е. одну сущность -- Treatment -- вы так и не выделили
12 окт 15, 12:41    [18266871]     Ответить | Цитировать Сообщить модератору
 Re: Нужно опытное мнение по решению задания.  [new]
Михаил11111
Member

Откуда:
Сообщений: 42
o-o,

Спасибо, действительно не так для себя понял определние treatmentID. А на первый взгляд ни чего сложного.
12 окт 15, 13:00    [18267000]     Ответить | Цитировать Сообщить модератору
 Re: Нужно опытное мнение по решению задания.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Михаил11111,

возможно, Вы неверно понимаете физический смысл нормализации. Он состоит в том, чтобы максимально исключить повторение хранимой информации. Это требование выполняется путем выделения логических сущностей в отдельные таблицы.
Пациентов, врачей, госпитали, методы лечения ничто не связывает. Пациент может пойти в любой госпиталь к любому врачу и получить любой метод лечения. Отсюда четыре независимые таблицы.

Однако, придя на приём, пациент создает прецедент: один врач, один пациент, один госпиталь, один метод лечения, время прибытия, время убытия. Т.е. его приход заполняет журнал события. Этот журнал и ссылается на 4 справочника.
12 окт 15, 13:43    [18267237]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить