2013-11-11 2 views
-1

У меня есть эта таблица, чтобы нормализовать для проекта uni, теперь каждый раз, когда я думаю, что это должно быть только быть двумя таблицами, я тогда думаю, что это не должно быть три ... Я собираюсь бросить это одному из вас, ребята, выше как возможно, вы можете указать лучший способ, которым это должно быть сделано и почему.Может кто-нибудь нормализовать эту таблицу?

Number Type Single rate Double rate Family rate 
1  D   56   72 
2  D   56   72 
3  T   50   72 
4  T   50   72 
5  S   48  
6  S   48  
7  S   48  
8  T   50   72 
9  T   50   72 
10  D   56   72 
11  D   56   72 
12  D   56   72 
13  D   56   72 
14  F   56   72   84 
15  F   56   72   84 
16  S   48  
17  S   48  
18  T   50   72 
20  D   56   72 

Большое спасибо за всех, кто может помочь мне увидеть Corret путь

+2

Это не DoMyHomework.com – Rafael

+0

вы думаете, почему он должен быть повторно факторизованные? –

+2

Кроме того, технически вы не можете нормализовать дизайн только из данных (т. Е. Из простой * экзистенциальной * реляционной мощности). Хотя вы можете устранить возможность некоторых отношений, вы не можете определить, какие из оставшихся возможных отношений являются правильными, не зная о значении данных и их различных * потенциальных * значениях. – RBarryYoung

ответ

1

Это не представляется возможным произвести правильный дизайн таблицы, если один не понимает точно, что означают столбцы и как столбцы данных зависят друг от друга , Однако, вот попытка, которую можно уточнить, как только вы предоставите нам дополнительную информацию. Используемое именование не так хорошо, как хотелось бы, но, как я уже сказал, цель неясно в вопросе. В любом случае, это начало, надеюсь, что это вам поможет. Также обратите внимание, что нормализация не всегда требуется для всех типов приложений. Например, Business Intelligence может использовать схему, которая намеренно не полностью нормализована (например, Star Schema). Поэтому дизайн базы данных может иногда зависеть от характера приложения и того, как изменяется информация.

Main 
---- 
MainID      int   PK 
MainTypeID     Char(1)  Example: D, T, S etc. 
MainRateIntersectionID  Int 

MainRateIntersection 
-------------------- 
MainRateIntersectionID  int   PK 
MainID      int 
RateCategoryID    int 


The combination of MainID and RateCategoryID should be constrained 
using UNIQUE INDEX 

RateCategory 
------------ 
RateCategoryID    int   PK 
RateCategoryText   Varchar2(15) Not Null Example:Single, Family, etc. 
RateValue     Int   Nullable 

MainType 
--------- 
MainTypeID  Char(1)  PK 

Редактировать

на основе новой информации, я пересмотрел модель. Я удалил «искусственные» идентификаторы, так как это учебный проект для нормализации. Искусственные идентификаторы (суррогатные ключи) правильны, чтобы добавить, но не ваша цель, как я предполагаю. Мне нужно добавить таблицу бронирования, в которой будет вставлена ​​строка для каждого клиента, который делает бронирование. Вам необходимо добавить соответствующую информацию о клиентах в эту таблицу. Предоставленная вами таблица скорее представляет собой логическое представление, которое может быть возвращено из запроса, но не физической таблицы для хранения и обновления в базе данных. Вместо этого следует использовать таблицу заказов.

Надеюсь, это может вам помочь.

enter image description here

+0

Большое спасибо, давайте посмотрим, смогу ли я попытаться сообщить вам, к чему это относится. Стол относится к системе бронирования для отеля. Полагаю, что у вас будут следующие заголовки Room_ID, TYPE, тогда цены на номера зависят от типа номера, который зависит от Room_ID и т. Д. Когда я говорил с моим детекстом о нормализации, он сказал, что я могу только нормализовать одну таблицу за раз, что я нашел странным, поскольку мне нужно знать, какое отношение оно имеет к другим таблицам, но было сказано, что это правильный путь. – user2966477

+0

Хорошо, это хорошая информация.Через некоторое время я вернусь к вам, чтобы предоставить более точную версию, основанную на ваших отзывах. – NoChance

+0

Спасибо @Emmad Kareem – user2966477

Смежные вопросы