
- •Часть 1. Практические задания 2
- •Часть 2. Основы теории 37
- •Часть 1. Практические задания Общие указания по выполнению практикума
- •1. Базы данных ms Excel
- •I. Подготовительные действия
- •II. Простейшие запросы на выборку данных из списка (автофильтр)
- •III. Контрольное задание
- •V. Контрольное задание
- •2. Создание базы данных ms Access
- •I. Создание файла базы данных
- •I. Создание таблицы в режиме конструктора
- •II. Создание таблицы путем ввода данных
- •III. Создание таблицы бд путем импорта данных из таблицы ms Excel
- •I. Контрольное задание
- •3. Ввод, изменение, удаление и отображение данных
- •I. Использование режима таблица
- •II. Контрольное задание
- •4. Просмотр и выбор информации из таблиц
- •I. Использование режима «Таблица»
- •I. Контрольное задание
- •II. Использование мастера запросов для создания простых запросов на выборку
- •IV. Создание запросов на выборку в режиме конструктора
- •IV. Контрольное задание
- •5. Вычисления в ms access
- •Использование в запросах вычисляемых полей
- •Быстрый подсчет
- •Контрольное задание
- •Вычисления с группировкой значений
- •Использование мастера запросов для создания простых запросов с группированием данных
- •Вычисления с группировкой значений (Создание запросов с использованием конструктора)
- •VI. Контрольное задание
- •6. Подготовка отчетов
- •I. Формирование автоотчетов
- •II. Использование мастера отчетов
- •III. Использование конструктора отчетов
- •IV. Контрольное задание
- •7. Связывание таблиц
- •7.I. Связь 1:1
- •7.II. Связь 1:m
- •7.III. Связь m:n
- •Часть 2. Основы теории Некоторые термины и определения, используемые при работе с базами данных
- •Введение
- •Классификация бд
- •Классификация субд
- •Модели представления данных
- •Иерархическая модель
- •Сетевая модель
- •Реляционная модель Определение
- •Груз (Номер, Тип, Вес, Трюм, Код)
- •Операция связывания
- •Связь вида 1:1
- •Связь вида 1:м
- •Связь вида m:n
- •Ссылочная целостность реляционной базы данных
- •Основные стратегии поддержания ссылочной целостности
- •Постреляционные модели данных
Связь вида m:n
Связь вида M : N используется тогда, когда при связывании таблиц нескольким записям в одной таблице должно соответствовать несколько записей в другой таблице..
Например, Судно имеет четыре трюма Погрузку (выгрузку) судна в некотором порту выполняет несколько бригад докеров. При этом каждый из трюмов может одновременно обрабатываться одной или несколькими бригадами. С другой стороны каждая из бригад докеров может одновременно обрабатывать один или несколько трюмов судна.
Таким образом, мы имеем две таблицы:
Бригады(Номер, Бригадир) и Судно(Трюм, Вес груза).
Первичным ключом первой таблицы является поле «Номер», а первичным ключом второй таблицы – поле «Трюм». Примеры записей таблиц приведены ниже:
Бригады |
|
|
Судно |
|
Номер |
Бригадир |
|
Трюм |
Вес груза |
1 |
Иванов |
|
1 |
SPB |
2 |
Петров |
|
2 |
SPB |
3 |
Сидоров |
|
3 |
HEL |
|
|
|
4 |
SPB |
Для связи этих таблиц в соответствии с условием задачи необходимо:
Создать дополнительную третью таблицу (назовем эту таблицу «Расписание»). В этой дополнительной таблице в качестве первичного ключа следует использовать составной ключ, состоящий из первичных ключей двух связываемых таблиц:
Расписание(Номер, Трюм, Бригадир)
Кроме того, в дополнительную таблицу могут быть включены любые другие поля из двух связываемых таблиц (в нашем примере это поле «Бригадир» из таблицы «Бригады»)
2. Установить связь вида 1 : М дополнительно созданной таблицы с двумя первым таблицами («Судно» и «Груз»)
В итоге в таблице «Расписание» могут быть внесены записи, удовлетворяющие условиям задачи, например:
Расписание
Трюм |
Номер |
Бригадир |
1 |
1 |
Иванов |
1 |
2 |
Петров |
2 |
2 |
Петров |
2 |
3 |
Сидоров |
4 |
1 |
Иванов |
4 |
2 |
Петров |
То есть, трюм номер 1 обрабатывается двумя бригадами – бригадой номер 1 и бригадой номер 2. С другой стороны – бригада номер 2 выполняет грузовые операции как в трюме номер 1, так и в трюмах номер 2 и 4.
Ссылочная целостность реляционной базы данных
Ссылочная целостность обеспечивает выполнение свойства непротиворечивости данных, содержащихся в связанных таблицах.
Основное правило соблюдения условий ссылочной целостности – это правило соответствия внешних ключей первичным – в каждой строке дополнительной таблицы значению внешнего ключа должно соответствовать значение первичного ключа в одной строке основной таблицы
Ссылочная целостность может нарушиться в результате операций вставки (добавления) новой записи, удаления записей и редактирования полей записи (обновления) в таблицах.
В определении ссылочной целостности участвуют две таблицы - основная и дополнительная, для каждой из них возможны эти операции, поэтому существует шесть различных вариантов, которые могут привести либо не привести к нарушению ссылочной целостности.
Для основной таблицы:
Добавление новой записи. Поскольку существование записей в основной таблице, на которые нет ссылок из дополнительной таблицы допустимо, операция никогда не нарушает ссылочной целостности.
Обновление. Изменение значения первичного ключа (поля связи), может привести к тому, что в дополнительной таблице появятся записи, для которых в поле связи будет значение не соответствующее ни одному из значений первичного ключа в основной таблице, то есть может привести к нарушению ссылочной целостности. Если же в дополнительной таблице не было записей ссылающихся на изменяемое значение первичного ключа – операция не нарушит ссылочной целостности.
Удаление записи. При удалении записи удаляется значение первичного ключа основной таблицы. Если есть записи в дополнительной таблице, ссылающиеся на это значение удаляемого первичного ключа, то значения внешних ключей станут некорректными. Следовательно, операция может привести к нарушению ссылочной целостности. Если же в дополнительной таблице не было записей ссылающихся на удаляемое значение первичного ключа – операция не нарушит ссылочной целостности.
Для дополнительной таблицы:
Добавление новой записи. Нельзя вставить запись в дополнительную таблицу, если для новой записи значение поля связи (внешнего ключа) не будет соответствовать значению первичного ключа какой-либо записи основной таблицы. Поэтому операция может привести к нарушению ссылочной целостности. В этой ситуации, необходимо предварительно добавить в основную таблицу запись с необходимым значением первичного ключа, и только после этого вносить запись в дополнительную таблицу.
Обновление. Если при обновлении записи в дополнительной таблице значение поля связи (внешнего ключа) будет изменено так, что в основной таблице не будет записи с таким же значением первичного ключа, то это приведет к нарушению ссылочной целостности.
Удаление записи. При удалении записи в дополнительной таблице ссылочная целостность никогда не нарушается.
Таким образом, ссылочная целостность потенциально может быть нарушена при выполнении одной из четырех операций, выполнение которых должно производится с особым вниманием:
Обновление записей в основной таблице.
Удаление записей в основной таблице.
Вставка записей в дополнительной таблице.
Обновление записей в дополнительной таблице.