Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Базы данных освоение работы в MS Access 2007. Электронное пособие

.pdf
Скачиваний:
0
Добавлен:
06.09.2026
Размер:
1 Мб
Скачать
Отношения
Любой предикат определяет некоторое множество элементов из какого-то универсума. А именно множество тех элементов, для которых он истинен.
Универсум, в этом случае,– все целые числа.
Предикат Р(х) одной переменной определяет множество элементов, при постановке которых вместо х этот предикат становится истинным высказыванием. Однако предикаты могут содержать и несколько переменных Р(х1, х2, х3….хn) такие предикаты определяют множества элементов х1, х2, хn, которые называются кортежами. В общем случае элементы кортежей х1, х2, хn могут выбираться не из одного множества, а из нескольких.
Пусть переменные х1, х2, хn пробегают значения из множества А1,А2,Аn соответственно, тогда говорят, что этот предикат определяет отношения между множествами А1, А2, Аn или элементами этих множеств.
Поэтому можно считать, что отношение есть множество элементов, которые являются кортежами, которые в свою очередь состоят из элементов других множеств.
Способы представления отношений
В зависимости от n, отношения могут быт:
В вырожденном случае мы имеем дело с обычными множествами (n = 1)
Двухместные отношения можно представить в виде графа (n=2)
Трехместные это (тернарные) отношения (n=3)
При табличном представлении каждому кортежу отношения взаимнооднозначно соответствует строка таблицы (запись). Но не всякая таблица представляет некоторое отношение, потому что в разных строках таблицы могут содержаться одинаковые данные.
Каждое отношение может быть представлено в виде таблицы. Табличное представление обеспечивает создание и широкое применение реляционной БД. Но то обстоятельство, что отношение – просто множество позволило изучить проблемы создания реляционной БД и на теоретическом уровне. В общем случае отношение обозначают <имя отношения >(<список атрибутов>). Например R(A1, A2…An).
31
Свойства отношений:
- каждое отношение должно иметь имя,
- множества А1,А2,…,Аn для которых определено отношение R имеют
различные имена, которые называют атрибутами отношений,
- совокупность всевозможных значений любого множества называется
доменом этого атрибута,
- в отношении не может быть двух и более атрибутов с одинаковыми
именами, хотя их домены могут быть одинаковыми в смысле равенства множеств,
- порядок перечисления атрибутов в структуре отношения не имеет
никакого значения, то есть перестановка атрибутов местами не меняет само отношение,
- элементами отношения является кортежи, то есть последовательность
значений атрибутов отношения,
- в отношении не может быть двух и более одинаковых кортежей, а
порядок расположения их не имеет никакого значения.
(кортеж = запись = строка).
Операции над отношениями
Всего в реляционной алгебре (определенной Э.Ф.Коддом) было предложено 8 операций для работы БД:
Объединение – результатом является отношение, имеющее состав атрибутов и совокупность кортежей исходных отношений.
Пересечение - результатом является отношение, содержащее кортежи, которые есть в каждом из двух исходных отношениях.
Разность (вычитание R1-R2) - результатом является отношение, с идентичным набором атрибутов, содержащее только те кортежи первого отношения R1, которые не входят в другое отношение R2.
Декартово произведение - результатом является отношение, которое включает все атрибуты исходных соотношений. Результирующее отношение состоит из всевозможных сочетаний кортежей исходных отношений.
Специальные операции:
Выбор - операция над одним отношением. Для этого отношения по
заданному условию (предикату) осуществляется выборка подмножества кортежей.
32
Проекция - операция над одним отношением. Результирующее отношение содержит заданное подмножество атрибутов исходного отношения.
Соединение - результатом является отношение, структура которого является совокупностью всех атрибутов исходных отношений.
Деление (R1/R2) - результатом является отношение, структура которого получается исключением из множества атрибутов отношения R1 множества атрибутов отношения R2.
В общем случае все 8 операций не нужны, так как отдельные операции могут получаться из других. Однако, такая избыточность обеспечивает удобство при реализации сложных запросов к БД.
Ключи отношений и типы связей между таблицами
Так как все строки таблицы различны, то, по крайней мере, существует один набор атрибутов, который однозначно определяет любую строку таблицы. Такой набор называют ключом.
В таблице может быть несколько ключей, которые могут использоваться в качестве возможных ключей. Выбранный из возможных ключей ключ – является первичным ключом.
Простой ключ – состоит из одного атрибута. составной ключ – состоит из нескольких атрибутов.
Взаимосвязь должны отражать связи между объектами той предметной области, для которой вы проектируете БД. Теория реляционной БД требует, что эти связи должны осуществляться только на основе значения общих столбцов.
Выделяют несколько типов связи:
Один к одному 1:1 предполагает, что каждая запись в одной таблице может быть связана не более чем с одной записью другой таблицы.
Не обязательно что все стоки одной таблицы были связаны со всеми строками другой таблицы. Если все строки первой таблицы связаны со всеми строками другой таблицы, то скорее всего их надо объединить в одну таблицу.
Один ко многим 1:М. связь чаще всего применяемая при разработке реляционной БД. При этом элементы одной таблицы связаны со многими элементами другой таблицы.
Записи второй таблицы могут быть связаны только с одной записью первой таблицы. Таблицы связываются по первичному ключу и внешнему ключу. Внешний ключ – ключ подчиняемой таблицы.
Многие ко многим М:N. Напрямую реализовать связь в БД М:М нельзя. Нет таких средств. Приходится создавать промежуточные таблицы (таблицу­посредник), которая связывается с таблицами зависимостью 1:М.
33
Нормализация отношений
Преподаватель
Дни
Пара
Тип занятий
Иванов
Пн
1
Лекция
Вт 3 Практика
Ср 2 Лекция
Преподаватель
Дни
Пара
Тип занятий
Иванов
Пн
1
Лекция
Иванов
Вт 3 Практика
Иванов
Ср 2 Лекция
Код студента
ФИО
Группа
Дисциплина
Оценка
1
Иван
2
БД
5 1 Иван
2
ИС
3
Чтобы создаваемая БД работала корректно, данные в ней должны быть правильно организованы. При этом необходимо устранить дублирование данных и обеспечить корректную взаимозависимость связанных данных.
Нормализация – это подход, позволяющий формализовать построение реляционной БД.
Процесс проектирования путем нормализации осуществляется в несколько этапов.
Первая нормальная форма (1НФ).
На 1 этапе данные распределяются в двумерные таблицы со столбцами простой структуры. При этом получается первая нормальная форма (1НФ). Отношение находятся в первой нормальной форме тогда и только тогда, когда на пересечении каждого столбца и каждой сроки находятся только элементарные значения атрибутов. Например.
Это ненормализованная таблица.
В нормализованной фамилия преподавателя прописывается все 3 раза. Вся таблица заполнена – это первая нормальная форма
Вторая нормальная форма (2НФ).
Определенные отношения находятся во второй нормальной форме (2НФ), тогда и только тогда, когда они находится в первой нормальной форме (1НФ) и не содержат неполных функциональных зависимостей и первичных атрибутов от атрибутов первичного ключа.
34
Данное Отношение имеют дублирующую информацию. Отношение
Код студента
ФИО
Группа
1
Иван
2
Код студента
Дисциплина
Оценка
1
БД
5 1 ИС
3
можно декомпозировать (разделить) на два меньших отношения:
Третья нормальная форма (3НФ).
Третья нормальная форма – отношение находится в ней тогда и только тогда, когда оно находится во второй нормальной форме и не содержит транзитивных зависимостей, т.е. отсутствуют функциональные зависимости между неключевыми атрибутами.
Код студента ФИО Группа Специальность Дисциплина
В данном отношении есть следующие функциональные зависимости:
Код студента > ФИО Код студента > Группа Код студента > Специальность Группа > Специальность Специальность > Дисциплина
Данное отношение не находится в 3НФ, т.к. есть транзитивная зависимость между Код студента > Группа > Специальность
Для приведения отношения к 3НФ его следует разбить на три отношения:
1. Код студента ФИО Группа
2. Группа Специальность
3. Специальность Дисциплина
Определяем для данных отношений Первичные ключи:
1 – код студента,
2 – группа,
3 - специальность.
«сущностьсвязь», или ER – метод. Суть метода состоит в построении ER –
Проектирование БД с использованием ER – технологии
Для разработки логической модели можно использовать метод
35
диаграмм, отображающих в графической форме основные объекты предметной области и связи между ними и в определении характеристик этих связей.
Сущность – это объект, информация о котором должна быть представлена в БД. Экземпляр сущности –это информация о конкретном представителе объекта. Для отображения сущностей используются прямоугольники.
Связь – соединение между двумя и более сущностями. Экземпляр связи – это конкретная связь между конкретными представителями объектов.
Для отображения связей используются ромбы.
Атрибут – свойство сущности или связи.
Атрибут или набор атрибутов, используемый для однозначной
идентификации экземпляра сущности, называется ключом сущности.
Различают ER –диаграммы для экземпляров сущностей и ER –диаграммы для классов сущностей.
Рассмотрим ER технологию на примере института. Пример Преподаватель читает дисциплину. Есть преподаватели П1, П2, П3 и П4 и дисциплины Математика, Информатика, Экономика и Иностранный язык. Используя графический язык, получаем
ER – диаграмма для экземпляров сущностей и классов.
ER – диаграмма классов
36
Рассмотрим возможные ситуации
Ситуация 1
Каждый преподаватель может читать только одну дисциплину, каждая дисциплина читается не более чем одним преподавателем.
Связь 1:1 для этой ситуации.
Для данной ситуации потребуется одно отношение.
Ситуация 2
Каждый преподаватель может читать одновременно несколько дисциплин, но каждая Дисциплина читается не более одним преподавателем.
Связь 1:М.
Для данной ситуации необходимо два отношения. Первое описывает всех преподавателей, а второе - дисциплины с указанием тех преподавателей, которые их читают.
Ситуация 3
Преподаватель может читать несколько дисциплин, и дисциплина может читаться несколькими преподавателями. В этом случае связь будет M:N
37
Для этой ситуации нужно три отношения. Первое описывает преподавателей, второе - дисциплины, а третье; какие дисциплины какими преподавателями читаются.
Средства Access для анализа таблиц
Можно воспользоваться средствами Access для анализа построенных таблиц.
Автозамена имен полей ( Параметры Access).
Мастер анализа таблиц - (для выявлении повторяющихся данных с последующим их разделением таблицы. Запуск Работа с базами данных – Анализ.
Анализатор быстродействия – для оптимизации быстродействия
созданной БД.
Практическая работа № 3
Спроектировать методом нормализации отношений базу данных по вариантам, выданным преподавателем.
Этапы проектирования:
1. Определить сущности, связи и атрибуты предметной области.
2. Построить ER – диаграмму и определить характеристики связи
3. Все данные занести в двумерные таблицы со столбцами простой
структуры (первая нормальная форма).
4. Исходя из первой, получить вторую нормальную форму отношений.
5. Исходя из второй, получить третью нормальную форму отношений.
Пример выполнения работы
Учеба в институте.
Заданы атрибуты: ФИО преподавателя, код, должность, кафедра, дисциплина, шифр, специальность, число часов.
1. Выделяем сущности и строим ER- диаграмму.
38
2. Определяем ситуацию. Пусть преподаватель может читать
Код
ФИО
преподавателя
Должность
Кафедра Шифр
Дисциплина
Специальность
Число
часов
Код
одновременно несколько дисциплин, но каждая дисциплина читается не более одним преподавателем. Тогда имеем ER – диаграмму для экземпляров сущностей и классов.
Получаем связь 1:М
Для данной ситуации необходимо два отношения. Первое описывает всех преподавателей, а второе - Дисциплины с указанием тех преподавателей, которые их читают.
3. Разбиваем данные атрибуты на два отношения.
Первое:
Ключевым будет поле Код. Отношение находится в 3НФ, т.к. вся информация зависит от ключевого поля.
Тип данных: Код – текстовое, Фио преподавателя – Текстовое, Должность и Кафедра – Текстовые.
Второе отношение:
Ключевое поле Шифр. Для организации связи с первым отношением включаем в это отношение поле Код.
Отношение находится в 3НФ
39
Тип данных: Число часов – числовое, все остальные – Текстовые.
Задания к лабораторной работе №3
Для каждой предметной области построить ER- диаграмму, перейти к отношениям. Все оставшиеся атрибуты приписать к полученным отношениям и проверить, находятся ли эти отношения в 3НФ. Определить тип данных.
ВАРИАНТ 3.1
Кинотеатры.
Название, Адрес, Телефон, Категория, Вместимость, Число залов, Кинотеатр, Кинофильм, Время, Дата, Режиссер, Год выпуска, Страна, Число серий, Тематика, Краткое содержание.
ВАРИАНТ 3.2 Поликлиника
Карта, Фамилия, Адрес, Возраст, Место работы, Профессия, Дата последнего посещения, Особые отметки, Номер кабинета, Название, Врач, Дата, Время, Жалобы, Диагноз, Назначение.
ВАРИАНТ 3.3
Аптека
Номер, Дата, Врач, Поликлиника, лекарство, Количество, Режим приема, Стоимость, Особые замечания, Шифр, Название, Группа, краткая рекомендация по применению, Срок действия рецепта, Дата поступления, Цена, Единица измерения, Количество, Срок годности.
ВАРИАНТ 3.4
Управление троллейбусами
Номер маршрута, Протяженность, Время, число остановок, Начало движения, Конец движения, Состояние, Число машин, Название остановки, Номер остановки, Время отправления. Интервал.
40
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]