| 
 | 
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Здравствуйте! Совсем я что-то запутался как нормализовать данную таблицу до Нормальной формы Бойса-Кодда включительно. Может ли кто-нибудь помочь с этим? Хочется разобраться... (В таблице приведены данные о дантистах и назначениях на прием, которые они сделали своим пациентам. Пациент должен прийти на прием к дантисту в указанный кабинет в заранее назначенный день и час. В каждый из дней приема дантист имеет право занимать некоторый кабинет.) Заранее спасибо за оказанную помощь! ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.12.2016, 17:42 | 
  
  
  
   | 
||
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  В 1НФ данная таблица уже находится, так как ни одна из ее строк не содержит в любом своем поле более одного значения и ни одно из ее ключевых полей не пусто.  Во 2НФ нам надо ее разбить на разные таблицы. Я сделал так : 1 таблица - Staff_No, Dant_Name; 2 таблица - Pat_Name, Pat_No, Date 3 таблица - Staff_No, Pat_No, Date, Surgery_No Date и Surgery_No - составной первичный ключ; Верно ли это? И будет ли 2НФ уже являться 3НФ? И как привести к Нормальной форме Б-К? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.12.2016, 17:48 | 
  
  
  
   | 
||
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Andrew5422 таблица - Pat_Name, Pat_No, Date Подумайте ещё раз. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.12.2016, 19:44 | 
  
  
  
   | 
||
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  softwarer, Такого полезного ответа еще нигде не видел. Видать я так МАЛО думал, что решил сюда написать. Сами думайте, когда что-то пишите... ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.12.2016, 19:58 | 
  
  
  
   | 
||
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Andrew542, попробуйте обозначить ключи для своих таблиц - думаю, уже на этом этапе увидите ошибки. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.12.2016, 21:06 | 
  
  
  
   | 
||
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Кот Матроскин, Допустим я хочу взять за первичный ключ пару атрибутов {Номер дантиста, Дата приема}; Могу ли я тогда создать такие таблицы: 1 таблица : Номер дантиста; Имя дантиста; Кабинет; 2 таблица : Номер пациента; Имя пациента; Дата; 3 таблица : Номер дантиста; Дата; Имя пациента; Будет ли она во 2НФ? По сути имя пациента же уже полностью зависит от начального первичного ключа; ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.12.2016, 21:47 | 
  
  
  
   | 
||
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Andrew542Кот Матроскин, Допустим я хочу взять за первичный ключ пару атрибутов {Номер дантиста, Дата приема}; Могу ли я тогда создать такие таблицы: 1 таблица : Номер дантиста; Имя дантиста; Кабинет; 2 таблица : Номер пациента; Имя пациента; Дата; 3 таблица : Номер дантиста; Дата; Имя пациента; Будет ли она во 2НФ? По сути имя пациента же уже полностью зависит от начального первичного ключа; Для каждой получившейся таблицы у Вас должен быть свой первичный ключ. Потом разбейте данные по предлагаемым Вами таблицам - увидите что выходит с уникальностью и подходят ли намеченные ключи. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.12.2016, 21:58 | 
  
  
  
   | 
||
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Кот Матроскин, Получается проблема с кабинетами... ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.12.2016, 22:01 | 
  
  
  
   | 
||
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Кот Матроскин, не могли бы Вы, пожалуйста, подсказать, как тут лучше будет создать таблицы? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.12.2016, 22:08 | 
  
  
  
   | 
||
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Andrew542, 1 таблица : Имя пациента; Номер пациента; 2 таблица : Имя доктора; Номер доктора; 3 таблица : Номер доктора; Номер пациента; Дата; Кабинет; Я же такую тоже не могу создать? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.12.2016, 22:11 | 
  
  
  
   | 
||
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Кот Матроскин, 1 таблица : Имя пациента; Номер пациента; 2 таблица : Имя доктора; Номер доктора; 3 таблица : Номер доктора; Номер пациента; Дата; Кабинет; Я же такую тоже не могу создать? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.12.2016, 22:11 | 
  
  
  
   | 
||
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Andrew542, Не только ;) По секрету, первый Ваш вариант был лучше - там только одна таблица была кривой (на которую указал softwarer), сейчас кривые все три. Можете попробовать с другой стороны - в изначальной таблице намешана информация о нескольких сущностях автоматизируемой области. Какие это сущности? Перечисляете их. Потом по каждой сущности выделяете таблицу и переносите туда атрибуты, которые относятся именно к этой сущности. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.12.2016, 22:19 | 
  
  
  
   | 
||
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Кот Матроскин, 1 таблица была кривая? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.12.2016, 22:20 | 
  
  
  
   | 
||
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Andrew542Кот Матроскин, 1 таблица : Имя пациента; Номер пациента; 2 таблица : Имя доктора; Номер доктора; 3 таблица : Номер доктора; Номер пациента; Дата; Кабинет; Я же такую тоже не могу создать? Почему не можете? Какую Вы видите проблему в таком разбиении? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.12.2016, 22:20 | 
  
  
  
   | 
||
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Кот Матроскин, я немного запутался, что тут тогда брать за первичный ключ; Дату + кабинет? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.12.2016, 22:22 | 
  
  
  
   | 
||
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Andrew542Кот Матроскин, я немного запутался, что тут тогда брать за первичный ключ; Дату + кабинет? Для третьей таблицы? Да, это один из потенциальных ключей этой таблицы, и его можно выбрать в качестве первичного. Это не единственный вариант, но допустимый. Другие варианты - (Врач + Дата), (Пациент + Дата) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.12.2016, 22:42 | 
  
  
  
   | 
||
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Кот Матроскин, по сути, тогда она уже будет и в 3НФ? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.12.2016, 22:52 | 
  
  
  
   | 
||
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Andrew542, Таблица Dentist: Staff_No (PK) string not null DentistName string not null unique constraint Таблица Patient: Pat_No (PK) string not null PatName string not null unique constraint Таблица Surgery: Surgery_No (PK) string not null Таблица Appointment: App_ID (PK) int not null Staff_No (FK -> Dentist) string not null Pat_No (FK -> Patient) string not null Surgery_No (FK -> Surgery) string not null AppointmentDateTime datetime not null ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.12.2016, 08:44 | 
  
  
  
   | 
||
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  17-77, Эта таблица уже в НФБК? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.12.2016, 11:09 | 
  
  
  
   | 
||
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Andrew542, тьфу, для НКБФ надо еще одну таблицу (дантист имеет право занимать только определенную комнату): DentistSurgery: DentistSurgery_ID (PK) int not null Staff_No (FK -> Dentist) string not null Surgery_No (FK -> Surgery) string not null ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.12.2016, 12:29 | 
  
  
  
   | 
||
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  17-77, Тогда в нас получается 4 таблицы? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.12.2016, 13:06 | 
  
  
  
   | 
||
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  чтобы нормализовать, надо знать имена  сущностей  заранее - это  знание  предметной области + ТЗ, или  выявить  их в процессе анализа предметной области. и тогда все нормализуется. формально - это не решается, либо решается, но не имеет смысла ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.01.2017, 18:49 | 
  
  
  
   | 
||
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  НФБК - это более общий случай для 3НФ для составных PK - FK. введите суррогатные PK, и задача сведется к нормализации до 3НФ. переход до НФБК, как требуется по условию задачи, будет потом простым ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 05.01.2017, 18:54 | 
  
  
  
   | 
||
| 
 
Нормализация БД 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Andrew542Здравствуйте! Совсем я что-то запутался как нормализовать данную таблицу до Нормальной формы Бойса-Кодда включительно. Может ли кто-нибудь помочь с этим? Хочется разобраться... (В таблице приведены данные о дантистах и назначениях на прием, которые они сделали своим пациентам. Пациент должен прийти на прием к дантисту в указанный кабинет в заранее назначенный день и час. В каждый из дней приема дантист имеет право занимать некоторый кабинет.) Заранее спасибо за оказанную помощь! выделить словарь дантистов, выделить словарь пациентов, и еще будет таблица приемов. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 17.03.2017, 09:08 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=32&fpage=12&tid=1540195]:  | 
    0ms | 
get settings:  | 
    10ms | 
get forum list:  | 
    13ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    44ms | 
get topic data:  | 
    13ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    62ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 14ms | 
| total: | 169ms | 

| 0 / 0 | 

    Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
    
    
    «На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
    
    
    ... ля, ля, ля ...