Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Цели проектирования




НЕОБХОДИМОСТЬ ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ

 

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

1. Возможность хранения всех необходимых данных в БД.

2. Исключение избыточности данных.

3. Сведение числа хранимых в БД отношений к минимуму.

4. Нормализация отношений для упрощения решения проблем, связанных с обновлением и удалением данных.

Цель 1: Возможность хранения всех необходимых данных в БД

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

 

Цель 2: Исключение избыточности данных

Сущность этой цели отнюдь не очевидна для начинающего проектировщика БД. Ключ к ее пониманию заключается в уяснении четкого различия между дублидарованием данных и избыточным дублированием банных. Например, обратимся к отношению С-Н, приведенному на рис. 2.1 (а). Отношение имеет два атрибута - Слж# (табельный номер служащего) и Ншчк (начальник). В отношении содержатся данные, указывающие непосредственного начальника каждого служащего предприятия. Фамилии начальников могут неоднократно появляться в отношении. В действительности фамилия начальника появляется один раз для каждого подчиненного ему служащего. Обратите внимание, однако, что хотя " Шевченко " и " Иванов " появляются дважды в экземпляре С—Н, приведенном в на рис 2. На), ни одна из дублируемых фамилий не является избыточной. Причина отсутствия избыточности включается в том, что при удалении одной из фамилий из отношения будет утеряна информация. Например, на рис 2.1(6) показан вид экземпляра отношения С-Н при удалении дублированных фамилий. В этом случае нет возможности узнать фамилии начальников служащих с номерами # 195 и # 200.

 

С-Н С-Н
Слж# Начк   Слж# Начк
  Шевченко     Шевченко
  Иванов     Иванов
  Иванов   Т95 -
  Шевченко     -

 

Рис 2.1. Дублированные данные, не являющиеся избыточными

 

На рис. 2.2 (а) приведен пример отношения с избыточным дублированием данных. Отношение С-Н-Т похоже на отношение С—Н, но включает дополнительный атрибут Нтел, представляющий собой номер телефона начальника. Предполагается, что каждый начальник имеет только один телефонный номер. В этом экземпляре отношения номера телефонов Шевченко и Иванова появятся более чем один раз и дублированная информацияо телефонных номерах является избыточной.

Причина избыточности в том, что если скажем, удалить один из номеров Шевченко, эта информация может быть получена из других кортежей отношения. На рис. 2.2(6) приведен пример того, как будет выглядеть отношение С-Н-Т в случае замещения дублированных телефонных номеров "нулями".

Понятно, что телефонные номера Шевченко и Иванова не утеряны, поскольку каждый из них обнаруживаетг ся в одном из кортежей отношения. Данный метод управления избыточностью неудовлетворителен по двум причинам. Во-первых, пустых полей в БД следует избегать, так как необходимы дополнительные усилия при программировании, направленные на определение реальных значений "нулей". В рассматриваемом случае чтение третьего кортежа < 195,Иванов,-> отношения не позволяет узнать телефонный номер Иванова. Пользователь должен уметь находить в отношении другой кортеж, для которого значением атрибута Начк является Иванов, а значением атрибута Нтел не является нулевым. Во-вторых, что более важно, отношение, представленное на рис. 2.2 (6), имеет структуру, чреватую возникновением серьезных проблем при удалении информации. Если служащий с номером Слж#=125 увольняется с предприятия и кортеж <125,Шевченко,3051> будет удален из отношении при дЬлжной регистрации факта увольнения, произойдет утеря телефонного номера Шевченко, поскольку нигде более в отношении он не представлен.

Рис 2.2(в) показывает лучший способ исключения исбыточности телефонных номеров. Здесь отношение С-Н-Т заменяется двумя отношениями, одно из которых содержит информацию о табельных номерах служащих и

   
С-Н-Т С-Н-Т
Слж# Начк Нтел
  Шевченко  
  Иванов  
  Иванов  
  Шевченко  

 

Слж# Начк Нтел
  Шевченко  
  Иванов  
  Иванов -
  Шевченко -

 

а   С-Н   б   Н-Т
Слж# Начк Нтел
  Шевченко  
  Иванов  
  Иванов -
  Шевченко -

 

Начк Нтел
Шевченко  
Иванов  

 

в
Рис.2.2. Исключение избыточности данных

фамилиях руководителей, а другое - информацию о телефонных номерах начальников.

 

Цель 3: Сведение числа хранимых в БД отношений к минимуму.

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

 

Цель 4: Нормализация отношений

Для некоторых отношений очень важна проблема удаления и обновления (например, обсуждавшаяея ныше в цели 2 потеря телефонного номера руководителя). Проектировщик должен уметь обнаруживать эти потенциально опасные отношения и " нормализовать их " посредством разбиения предписанным образом. Нормализация представляет собой разбиение одного отношения на два или более в соответствии со специальной процедурой определения разбиения.

Цели 3 и 4 противоречат друг другу, поэтому здесь требуется взаимный компромисс. Это будет частью заверщающего этапа проктирования.

 




Поделиться с друзьями:


Дата добавления: 2014-10-15; Просмотров: 442; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.