Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Реляционная модель данных. Сетевая модель данных




Сетевая модель данных

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

 

Рис. 3. Сетевая модель данных

 

В сетевой модели к элементу данных может быть более одного пути. Наряду с вертикальными, могут использоваться и горизонтальные связи между элементами данных.

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

Самой популярной моделью данных в настоящее время является реляционная модель.

База данных в реляционной модели – это совокупность взаимосвязанных таблиц с информацией.

В каждой таблице хранятся данные об объектах определенного вида.

Например, в базе, хранящей кадровую информацию, в одной таблице записываются данные сотрудников (Табельный номер, ФИО, пол, дата рождения, адрес и т.п.), в другой – информация о продвижении сотрудника по службе (Табельный номер, дата, должность и т.п.), в третьей – поощрения и наказания сотрудников и т.д.

Каждая строка таблицы хранит данные о каком-либо одном объекте и называется записью. Например, в таблице Сотрудники в каждой строке будут записаны сведения о каком-то одном сотруднике.

Столбцы таблиц – это какие-то характеристики объектов. Они называются полями. Каждое поле имеет строго определенный тип и размер в байтах.

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

Ключи используются для:

· предотвращения дублирования записей,

· для связывания таблиц

· для быстрого поиска нужной записи по её ключу.

При назначении ключа следует учитывать следующее:

· ключевое поле никогда не может быть пустым

· в составе ключа используется минимально возможный набор полей

· из двух возможных ключей выбирают обычно более короткий

· введенные значения ключевых полей в таблице по возможности должны как можно реже изменяться

Выбор того или иного поля в качестве ключевого зависит от назначения данных.

Например, в таблице имеются следующие поля:

ФИО пол телефон номер паспорта номер зачетки номер читательского билета адрес

 

Если это сведения о студентах ВУЗа, то целесообразно в качестве ключевого выбрать поле номер зачетки, так как зачетка есть у каждого студента, номера зачеток гарантированно разные и в течение срока обучения номер зачетки обычно не изменяется. Паспорт же студент за время обучения может поменять, а читательского билета у него может и не быть.

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

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

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

Таблица 1. Экзамены

номер зачетки дата сдачи предмет оценка экзаменатор
  02.06.11 история   Иванов
  04.06.11 химия   Петров
  09.06.11 физика   Семенов
  15.06.11 математика   Васильев
  02.06.11 история   Иванов
  04.06.11 химия   Петров
  09.06.11 физика   Семенов
  15.06.11 математика   Васильев

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

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

Если названия предметов, которые сдает студент за всё время обучения, никогда не повторяются, то ключом может быть номер зачетки + предмет. При этом названия одних и тех же предметов, сдаваемых в разных семестрах, обязательно должны отличаться, например, математика-1, математика-2 и т.п.

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

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

Помимо ключей в таблицах могут назначаться индексы.

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

При вводе или изменении данных в таблице индексы тоже обновляются (перестраиваются), на что требуется некоторое время. Как следствие, в больших таблицах со множеством индексов ввод новых данных может слегка "притормаживать". Зато поиск данных по индексным полям будет почти мгновенным.

Вопросы для самоконтроля

1. Дайте определение иерархической модели данных.

2. Дайте определение сетевой модели данных.

3. Дайте определение реляционной модели данных.




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


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


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



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




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