Кузин А.В., Левонисова С.В. Базы данных (5-е издание, 2012) (1084448), страница 3
Текст из файла (страница 3)
она получила широкое распространение. Такимобразом реляционные СУБД оказались промышленным стандартом.Реляционная модель опирается на систему понятий реляционной алгебры, важнейшими из которых являются таблица, строка,столбец, отношение и первичный ключ, а все операции в этомслучае сводятся к манипуляциям с таблицами.В реляционной модели информация представляется в виде прямоугольных таблиц, каждая из которых состоит из строк и столбцов и имеет имя, уникальное внутри базы данных.Таблица отражает объект реального мира — сущность, а каждаяее строка (запись) отражает один конкретный экземпляр объекта — экземпляр сущности.
Каждый столбец таблицы имеет уникальное для данной таблицы имя. Располагаются столбцы в соответствии с порядком следования их имен, принятом при создании таблицы.В отличие от столбцов строки не имеют имен, порядок их следования в таблице не определен, а число — логически не ограничено. Так как строки в таблице не упорядочены, невозможно выбрать строку по ее позиции. Номер, имеющийся в файле у каждой12Название таблицыТ а б л и ц а ! . СОТРУДН И КНомер пропуска...... ....VГ___ __ _ДолжностьФИОНазвание отделаГЛПервичный ключ табл. 1ТелефонВнешний ключ табл.
1Название таблицыТ а б л и ц а 2. ОТДЕЛН азвание отделакРасположение отделаН азначение отдела_\Первичный ключ табл. 2Рис. 1.4. Организация ссылки от одной таблицы к другойстроки, не характеризует ее, так как его значение изменяется приудалении строк из таблицы. Логически не существует первой ипоследней строк.Реляционные системы исключили необходимость сложной навигации, поскольку данные представлены в них не в виде одногофайла, а независимыми наборами, и для отбора данных используются операции реляционной алгебры — прикладной теориимножеств.В каждой таблице реляционной модели должен быть столбец(или совокупность столбцов), значение которого однозначно идентифицирует каждую ее строку.
Этот столбец (или совокупностьстолбцов) и называется первичным ключом таблицы (рис. 1.4).Если таблица удовлетворяет требованию уникальности первичного ключа, она называется отношением. В реляционной модели все таблицы должны быть преобразованы в отношения. Отношения реляционной модели связаны между собой. Связи поддерживаются внешними ключами. Внешний ключ — это столбец(совокупность столбцов), значение которого однозначно характеризует значения первичного ключа другого отношения (таблицы).Говорят, что отношение, в котором определен внешний ключ,ссылается на соответствующее отношение, в котором та же совокупность столбцов является первичным ключом.В приведенном на рис.
1.4 примере отношение СОТРУДНИКссылается на отношение ОТДЕЛ через название отдела.Схема реляционной таблицы (отношения) представляет собойсовокупность имен полей, образующих ее запись:13НАЗВАНИЕ ТАБЛИЦЫ (Поле 1, Поле 2, ..., Поле п).Например, для таблиц, показанных на рис. 1.4, имеем следующие схемы (курсивом выделены первичные ключи):СОТРУДНИК (Номер пропуска, ФИО, Должность, Названиеотдела, Телефон);ОТДЕЛ (Название отдела, Расположение отдела, Назначениеотдела).Объектно-ориентированная модель баз данных начала разрабатываться в связи с появлением объектно-ориентированных языков программирования в 90-е годы XX века.
Такого рода базы хранят методы классов, а иногда и постоянные объекты классов, чтопозволяет осуществлять беспрепятственную интеграцию междуданными и их обработкой в приложениях.Доминирование реляционной модели в современных СУБДопределяется:наличием развитой теории (реляционной алгебры);наличием аппарата сведения других моделей данных к реляционной модели;наличием специальных средств ускоренного доступа к информации;наличием стандартизированного высокоуровневого языка запросов к БД, позволяющего манипулировать ими без знания конкретной физической организации БД во внешней памяти.1.5. Типы взаимосвязей в моделиНа практике часто используются связи, устанавливающиеразличные виды соответствия между объектами «связанных» типов, — это один к одному (1:1), один ко многим (1:М ), многиеко многим (М :М ).Связь один к одному означает, что каждому экземпляру первогообъекта (А) соответствует только один экземпляр второго объекта(В) и, наоборот, каждому экземпляру второго объекта (В) соответствует только один экземпляр первого объекта (А).Связь один ко многим означает, что каждому экземпляру одного объекта (А) может соответствовать несколько экземпляровдругого объекта (В), а каждому экземпляру второго объекта (В)может соответствовать только один экземпляр первого объекта(А).Связь многие ко многим означает, что каждому экземпляру одного объекта {А) могут соответствовать несколько экземпляроввторого объекта (В) и, наоборот, каждому экземпляру второго14объекта (В) могут соответствовать тоже несколько экземпляровпервого объекта (А).Пример 1.1.
Рассмотрим совокупность следующих информационныхобъектов:СТУДЕНТ (Номер студента, ФИО, Дата рождения, Номер группы);СТИПЕНДИЯ (Номер студента, Размер стипендии);ГРУППА {Номер группы, Специальность);ПРЕПОДАВАТЕЛЬ (Код преподавателя, ФИО, Должность).Здесь информационные объекты СТУДЕНТ и СТИПЕНДИЯ связаны отношением один к одному, так как каждый студент может иметьтолько одну стипендию и каждая стипендия может быть назначена только одному студенту.Информационные объекты ГРУППА и СТУДЕНТ связаны отношением один ко многим, так как одна группа может включать в себя многостудентов, в то время как каждый студент может обучаться только водной группе.Информационные объекты СТУДЕНТ и ПРЕПОДАВАТЕЛЬ связаныотношением многие ко многим, так как один студент может обучаться умногих преподавателей и один преподаватель может обучать многих студентов.1.6.
Обеспечение непротиворечивости и целостностиданных в базеДля пользователей АИС важно, чтобы база данных отображалапредметную область однозначно и непротиворечиво, т.е. чтобыона удовлетворяла условию целостности.Выделяют два основных типа ограничений по условию целостности данных в базе.1. Каждая строка таблицы должна отличаться от остальных еестрок значением хотя бы одного столбца.Пример 1.2.
Сотрудники одного отдела могут оказаться полными тезками, иметь одинаковые должность и телефон. Наличие в табл. 1.4 столбца Номер пропуска превращает ее в отношение. Таким образом, первоеограничение по условию целостности данных в базе обеспечивается наличием в таблице-отношении первичного ключа.2. Внешний ключ не может быть указателем на несуществующуюстроку той таблицы, на которую он ссылается. Это ограничениеназывается ограничением целостности данных в базе по ссылкам.Пример 1.3. В столбце Название отдела таблицы СОТРУДНИК (см.рис.
1.4) хранятся сведения о принадлежности сотрудников к отделу, т.е.этот столбец является внешним ключом для ссылки на таблицу ОТДЕЛ.Для обеспечения ограничения целостности данных по ссылкам каждое15название отдела из таблицы СОТРУДНИК должно принадлежать конкретному столбцу из таблицы ОТДЕЛ.В реальных базах данных названия не делают ключевыми из-заих длины, замедляющей процесс поиска, и возможности изменения, создающей сложности с сопровождением системы.1.7. Основы реляционной алгебрыПоскольку каждая таблица в реляционной БД является отношением, действия над ними базируются на операциях реляционной алгебры. Исключение составляют лишь операции создания изаполнения таблиц данными (присваивания), а также операцииописания и переименования столбцов таблицы.В теории реляционной алгебры отношение рассматривается какмножество, строки таблицы называются кортежами, столбцы —атрибутами. Над отношениями выполняются традиционные операции теории множеств.1.
Ограничение отношения (выборка) — создание нового отношения отбором в него строк отношения-операнда (исходногоотношения), которые удовлетворяют условию ограничения.2. Проекция отношения — создание нового отношения отбором в него определенных столбцов отношения-операнда.3. Объединение отношений — создание нового отношения, содержащего все кортежи отношений-операндов. При этом операнды должны иметь одинаковые атрибуты.Пример 1.4. Объединить поступающие из цехов отчеты о выпуске новой продукции за прошедший месяц, содержащие следующие данные:номер цеха, код продукции, дату выпуска и количество выпущеннойпродукции, с данными общей таблицы ВЫПУСК ПРОДУКЦИИ, имеющей ту же структуру. Для этого к кортежамВЫПУСК ПРОДУКЦИИ (Номер цеха, Код продукции, Дата выпуска, Количество)добавляют кортежиНОВАЯ ПРОДУКЦИЯ (Номер цеха, Код продукции, Дата выпуска,Количество).Поскольку атрибуты приведенных операндов совпадают, таблицаНОВАЯ ПРОДУКЦИЯ объединяется с исходной.4.
Пересечение отношений — создание нового отношения, содержащего строки, общие для сравниваемых операндов. При этомоперанды должны иметь одинаковые атрибуты.Пример 1.5. Рассмотрим пересечение отношений с выполнением операций ограничения и проекции.16Т а б л и ц а 1.1ЭКЗАМЕНАЦИОННАЯ ВЕДОМОСТЬ но математикеНомерГруппа зачетнойкнижкиФИО студентаДатаДисциплинаОценка11Иванов И. И.10.01.05 МатематикаОтлично12Петров П.П.10.01.05 МатематикаХорошо13Сидоров С. С.10.01.05 МатематикаУдовлетворительно14Прохоров Н. И.10.01.05 МатематикаОтлично15Симонов В. В.10.01.05 МатематикаХорошоТ а б л и ц а 1.2ЭКЗАМЕНАЦИОННАЯ ВЕДОМОСТЬ то физикеНомерГруппа зачетнойкнижкиФИО студентаДатаДисциплинаОценка11Иванов И.