Помощь в написании студенческих работ
Антистрессовый сервис

Реляционные базы данных

РефератПомощь в написанииУзнать стоимостьмоей работы

Связи в реляционных базах данных В БД отношения могут быть связаны друг с другом. Например, в БД Факультет отношение Студенты (НомерЗачетнойКнижки, Фамилия, Имя, Отчество, КодГруппы) связано с отношением Группы (КодГруппы, Специальность, Курс). Значение поля КодГруппы в отношении Студенты допустимо только в том случае, если такое значение имеется в качестве значения первичного ключа отношения… Читать ещё >

Реляционные базы данных (реферат, курсовая, диплом, контрольная)

Любая модель данных, в том числе и реляционная, включает три взаимо.

Реляционные объекты данных

Существует специальная терминология, принятая в теории реляционных БД (рис.

Отношением называется вся таблица, отвечающая определенным свойствам (о которых более подробно - ниже).

Отношением называется вся таблица, отвечающая определенным свойствам (о которых более подробно — ниже).

Отношение характеризуется следующими понятиями:

Поле (атрибут) соответствует столбцу этой таблицы, а именно — свойствам объектов, сведения о которых хранятся в ней.

Степень отношения — количество полей отношения.

Запись (кортеж) соответствует заполненной строке таблицы.

Кардинальное число — количество записей в отношении в текущий момент времени.

Первичный ключ — это поле (или множество полей), значения которого уникально идентифицируют записи. Значения элементов первичного ключа не должны быть пустыми. Первичный ключ не должен быть избыточен.

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

Домен — это общая совокупность значений, из которой берутся значения для конкретного поля. На практике домены часто не описывают явно, а задают типом, форматом и другими свойствами полей. Каждое поле должно быть определено на единственном домене.

Для всех отношений должны выполняться следующие свойства.

1. Нет одинаковых записей.

Следствие этого свойства: в отношении всегда существует первичный ключ.

  • 2. Записи неупорядочены.
  • 3. Поля не упорядочены.
  • 4. Все значения полей неделимы.

Для обозначения таблицы (отношения) и его полей условимся использовать следующую запись:

ИмяТаблицы (ИмяПоля1, ИмяПоля2, …, ИмяПоляN),.

где будем подчеркивать поля, входящие в первичный ключ, и где N — степень таблицы (отношения).

Проектирование реляционных баз данных

Проектирование связано с построением логической структуры БД. Иными словами, нужно решить вопрос, какие базовые таблицы, с какими полями следует задать. Суть этой проблемы сводится, в конечном счете, к нормализации отношений. Нормализация отношений основана на понятии функциональной зависимости.

Процесс нормализации отношений основан на концепции нормальных форм.

Говорят, что отношение находится в некоторой нормальной форме (НФ), если оно удовлетворяет заданному набору условий.

Известно несколько НФ: первая нормальная форма (1НФ), вторая нормальная форма (2НФ), третья нормальная форма (3НФ), нормальная форма Бойса-Кодда (НФБК), четвертая нормальная форма (4НФ), пятая нормальная форма (5НФ). Причем все условия, необходимые для некоторой НФ, должны выполняться и для всех последующих НФ.

Возникает вопрос, можно ли продолжить нормализацию дальше, получить 6-ю, 7-ю и т. д. НФ? Действительно, существуют дополнительные НФ, но 5НФ считается во многих смыслах окончательной. А для практического проектирования достаточной считают 3НФ. Поэтому рассмотрим только три первые нормальные формы.

Отношение находится в 1НФ тогда и только тогда, когда значения всех полей неделимы.

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

Отношение находится во 2НФ тогда и только тогда, когда оно находится в 1НФ и каждое неключевое поле зависит от всего первичного ключа.

Например, рассмотрим отношение Успеваемость (НомерЗачетнойКнижки, Фамилия, Имя, Отчество, Дисциплина, Оценка).

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

Можно тогда в качестве первичного ключа взять множество полей {НомерЗачетнойКнижки, Дисциплина}. От такого ключа зависят все поля, но поля Фамилия, Имя, Отчество зависят только от поля НомерЗачетнойКнижки.

И при таком первичном ключе отношение не находится во 2НФ.

Чтобы получить отношения во 2НФ, произведем разбиение на два отношения:

Студенты (НомерЗачетнойКнижки, Фамилия, Имя, Отчество) Успеваемость1 (НомерЗачетнойКнижки, Дисциплина, Оценка).

Отношение находится в 3НФ тогда и только тогда, когда оно находится во 2НФ и каждое неключевое поле напрямую зависит от первичного ключа.

Например, рассмотрим отношение Студенты (НомерЗачетнойКнижки, Фамилия, Имя, Отчество, Группа, Специальность). Тогда получается, что поле Специальность зависит от первичного ключа не напрямую, а через поле Группа.

Проведем разбиение на два отношения:

Группы (КодГруппы, Специальность) и Студенты1 (НомерЗачетнойКнижки, Фамилия, Имя, Отчество, КодГруппы) Полученные отношения в 3НФ.

Если отношение не находится ни во 2НФ, ни в 3НФ, существует избыточность, которая приводит к нарушению целостности данных.

Связи в реляционных базах данных В БД отношения могут быть связаны друг с другом. Например, в БД Факультет отношение Студенты (НомерЗачетнойКнижки, Фамилия, Имя, Отчество, КодГруппы) связано с отношением Группы (КодГруппы, Специальность, Курс). Значение поля КодГруппы в отношении Студенты допустимо только в том случае, если такое значение имеется в качестве значения первичного ключа отношения Группы. В этом случае поле КодГруппы в отношении Студенты является внешним ключом, ссылающимся на первичный ключ — КодГруппы отношения Группы (см. рис. 14).

Значение внешнего ключа является ссылкой к записи, содержащей соответствующее значение первичного ключа. Отношение, содержащее внешний ключ, называется ссылающимся (подчиненным), а отношение, содержащее объект ссылки (первичный ключ) — ссылочным (главным).

Внешние ключи реализуют следующие три типа связей между двумя отношениями.

  • 1. Один-к-одному: каждой записи первого отношения соответствует не более одной записи второго отношения, а каждой записи второго отношения — не более одной записи первого отношения. Например — см. рис. 15.
  • 2. Один-ко-многим: каждой записи ссылочного (главного) отношения соответствует ноль, одна или несколько записей ссылающегося (подчиненного) отношения, а каждой записи ссылающегося (подчиненного) отношения соответствует только одна запись ссылочного (главного) отношения. Пример — см. рис. 14.
  • 3. Многие-ко-многим: каждой записи первого отношения соответствует ноль, одна или несколько записей второго отношения, и каждой записи второго отношения соответствует ноль, одна или несколько записей первого отношения. В реляционной модели данных такая связь напрямую не реализуется — она может быть смоделирована разбиением на две связи типа один-ко-многим: вводится дополнительное отношение, в качестве полей которого задаются первичные ключи связываемых отношений. Причем в этом дополнительном отношении первичный ключ будет составным, включающим оба первичных ключа. Пример — см. рис. 16.
Показать весь текст
Заполнить форму текущей работой