Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


РАЗРАБОТКА ИНФОЛОГИЧЕСКОЙ МОДЕЛИ И СОЗДАНИЕ СТРУКТУРЫ РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ



КРАТКАЯ СПРАВКА

Организация данных

Слово " реляционная" происходит от английского relation - отношение. Отношение - тематическое понятие, но в терминологии моделей данных отношения удобно изображать в виде таблицы. При этом строки таблицы соответствуют кортежам отношения, а столбцы - атрибутам. Ключом называют любую функцию от атрибутов кортежа, которая может быть использована для идентификации кортежа. Такая функция может быть значением одного, из атрибутов (простой ключ), задаваться алгебраическим выражением, включающим значения нескольких атрибутов (составной ключ). Это означает, что данные в строках каждого из столбцов составного ключа могут повторяться, но комбинация данных каждой строки этих столбцов является уникальной. Например, в таблице Ученики есть столбцы Фамилии и Год рождения. В каждом из столбцов есть некоторые повторяющиеся данные, т.е. одинаковые фамилии и одинаковые года рождения. Но если Ученики, имеющие одинаковые фамилии, имеют разные года рождения, то эти столбцы можно использовать в качестве составного ключа. Как правило, ключ является уникальным, т.е. каждый кортеж определяется значением ключа однозначно, но иногда используют и неуникальные ключи (ключи с повторениями). В локализованной (русифицированной) версии Access 97 вводится термин ключевое поле, которое можно трактовать как первичный ключ.

В Access можно выделить три типа ключевых полей: простой ключ, составной ключ и внешний ключ.

Одно из важнейших достоинств реляционных баз данных состоит в том, что вы можете хранить логически сгруппированные данные в разных таблицах и задавать связи между ними, объединяя их в единую базу. Для задания связи таблицы должны иметь поля с одинаковыми именами или хотя бы с одинаковыми форматами данных. Связь между таблицами устанавливает отношения между совпадающими значениями в этих полях. Такая организация данных позволяет уменьшить избыточность хранимых данных, упрощает их ввод и организацию запросов и отчетов. Поясним это на примере. Допустим, вам в базе надо хранить, данные о учениках (фамилия, изучаемая дисциплина) и преподавателях (фамилия, номер кафедры, ученая степень, преподаваемая дисциплина). Если хранить данные в одной таблице, то в строке с фамилией ученика, изучающего конкретную дисциплину, будут храниться все атрибуты преподавателя, читающего эту дисциплину. Это же огромная избыточность данных. А если хранить данные о студенте в одной таблице, о преподавателе - в другой и установить связь между полями " Читаемая дисциплина" - " Изучаемая дисциплина" (фактически это одинаковые поля), то избыточность хранимых данных многократно уменьшится без ущерба для логической организации информации.

В Access можно задать три вида связей между таблицами; Один-ко-многим,, Многие-ко-многим и Один-к-одному.

Связь Один-ко-многим - наиболее часто используемый тип связи между таблицами. В такой связи каждой записи в таблице А может соответствовать несколько записей в таблице В (поля с этими записями называют внешними ключами), а запись в таблице В не может иметь более одной соответствующей ей записи в таблице А.

При связи Многие-ко-многим одной записи в таблице А может соответствовать несколько записей в таблице В, а одной записи в таблице В - несколько записей в таблице А. Такая схема реализуется только с помощью третьей (связующей) таблицы, ключ которой состоит по крайней мере из двух полей, одно из которых является общим с таблицей А, а другое - общим с таблицей В.

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

Тип создаваемой связи зависит от полей, для которых определяется связь:

· связь Один-ко-многим создается в том случае, когда только одно из полей является ключевым или имеет уникальный индекс, т.е. значения в нем не повторяются;

· связь Один-к-одному создается в том случае, когда оба связываемых поля являются ключевыми или имеют уникальные индексы;

· связь Многие-ко-многим фактически представляет две связи типа один-ко-многим через третью таблицу, ключ которой состоит, по крайней мере, из двух полей, общих для двух других таблиц.

Целостность данных

Целостность данных означает систему правил, используемых в СУБД Access для поддержания связей между записями в связанных таблицах (таблиц, объединенных с помощью связи), а также обеспечивает защиту от случайного удаления или изменения связанных данных. Контролировать целостность данных можно, если выполнены следующие условия:

· связанное поле (поле, посредством которого осуществляется связь) одной таблицы является ключевым полем или имеет уникальный индекс;

· связанные поля имеют один тип данных. Здесь существует исключение. Поле счетчика может быть связано с числовым полем, если оно имеет тип Длинное целое,

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

ЗАДАНИЕ 6

Создание реляционной базы данных.

1.Создайте базу данных Школа.

2.Создайте структуру таблицы Ученики.

3.Создайте структуру таблицы Предметы.

4. Измените структуру таблицы Преподаватели.

5. Создайте структуру таблицы Оценки.

6.Разработайте схему данных, т.е. создайте связи между таблицами.

 

 

ТЕХНОЛОГИЯ РАБОТЫ

1. Создайте базу данных Школа, выполнив следующие действия:

· загрузите Access, в появившемся окне выберите пункт Новая база данных, затем щелкните по кнопке < ОК>;

· в окне < Файл новой базы данных> задайте имя (пункт Имя файла) и выберите папку (пункт Папка), где ваша база будет находиться. По умолчанию Access предлагает имя базы dbl, а тип файла - Базы данных Access. Имя задайте Школа, а тип файла оставьте прежним, так как другие типы файлов нужны в специальных случаях;

· щелкните по кнопке < Создать>

2. Создайте структуру таблицы Ученики. Для этого:

· в окне базы данных выберите вкладку Таблицы, а затем щелкните по кнопке < Создать>;

· в окне " Новая таблица" выберите пункт Конструктор и щелкните по кнопке < ОК>. В результате проделанных операций открывается окно таблицы в режиме конструктора, в котором следует определить поля таблицы;

· определите поля таблицы в соответствии с табл.1.4;

· в качестве ключевого поля задайте " Код ученика". Для этого щелкните по полю " Код ученика" и по кнопке на панели инструментов или выполните команду Правка, Ключевое поле;

· закройте таблицу, задав ей имя Ученики.

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

3. Создайте структуру таблицы Предметы аналогично п. 2 в соответствии с табл. 1.5.

Таблица 1.5

В качестве ключевого поля задайте " Код предмета". Заполняться эта таблица будет также в режиме формы.

4. Структура таблицы Преподаватели уже создана в работе 1 и заполнена данными, этому для работы используйте эту таблицу с одним лишь изменением - в соответствии с рис. 1.6 в структуру таблицы надо добавить поле " Код Предметы" и заполнить его в соответствии с данными табл. 1.5.

 

Рис. 1.6

5. Создайте структуру таблицы Оценки аналогично п. 2 в соответствии с табл. 1.7.

Таблица 1.7

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

6. Разработайте схему данных, т.е. создайте связи между таблицами. Для этого:

· щелкните по кнопке на панели инструментов или выполните команду Сервис, Схема данных. На экране появится окно " Схема данных";

· щелкните по кнопке на панели инструментов или выполните команду Связи, Добавить таблицу;

· в появившемся окне будет выделено название одной таблицы. Щелкните по кнопке < Добавить>;

· переведите выделение на имя следующей таблицы и щелкните по кнопке < Добавить>. Аналогично добавьте оставшиеся две таблицы;

· закройте окно, щелкнув по кнопке < 3акрыть>;

· создайте связь между таблицами Предметы и Оценки. Для этого подведите курсор мыши к полю " Код Предметы" в таблице Предметы щелкните левой кнопкой мыши и, не отпуская ее, перетащите курсор на поле " Код Предметы" в таблицу Оценки, а затем отпустите кнопку мыши. На экране откроется окно " Связи";

· установите флажок (" галочку" ) в свойстве Обеспечение целостности данных, щелкнув по нему;

· установите флажок в свойстве Каскадное обновление связанных полей и Каскадное удаление связанных записей;

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

· щелкните по кнопке < Создать>. Связь будет создана;

· аналогично создайте связи между полем " Код предмета" в таблице Предметы и полем " Код предмета" в таблице Преподаватели, а также между полем " Код ученика" в таблице Ученики и полем " Код ученика" в таблице Оценки. Результат представлен на рис. 1.8;

· закройте окно схемы данных, ответив ДА на вопрос о сохранении макета.

Рис. 1.8. Структура таблицы Ученики

 

ЗАДАНИЕ 7


Поделиться:



Популярное:

Последнее изменение этой страницы: 2017-03-09; Просмотров: 834; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.029 с.)
Главная | Случайная страница | Обратная связь