YouTube Трейлер

Что вы научитесь делать, посмотрев это видео?

В этом видеоуроке вы ознакомитесь с понятием реляционной базы данных и научитесь создавать реляционные базы данных средствами MS Access 2007.

Описание видео:

Что же такое реляционная база данных? Базы данных используются в тех случаях, когда нужно хранить и обрабатывать большое количество однотипной информации, например: данные о клиентах библиотеки, телефонный справочник и так далее. На одном из предидущих видеоуроков вы узнали, как создавать таблицы базы данных MS Access. На этом уроке вы узнаете, как создавать реляцонные базы данных и в чем они отличаются от других баз.

 

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

На этапе проектирования реляционной базы данных нужно определить: из каких таблиц она будет состоять, структуру этих таблиц (названия полей и тип данных в них) и каким образом эти таблицы будут связаны между собой, то есть по каким полям.

 

Рассмотрим основные этапы создания реляционной базы данных в MS Access 2007:

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

2. Разработка структуры базы данных (распределение данных по таблицам). Здесь нужно определиться – какие именно данные будут включены в базу данных? Предположим в качестве примера, что наша база данных будет состоять из 2-х таблиц. Одна таблица будет содержать договоры компании-поставщика с клиентами — покупателями товаров. Другая таблица будет содержать дополнительную информацию о клиентах – покупателях товаров. Таким образом для создания такой базы данных нужно сформировать две таблицы: таблица «Договоры» и таблица «Покупатели». Позднее, при необходимости, можно будет добавить в базу данных другие таблицы.

Далее нужно определить, структуру таблиц, то есть из каких столбцов, или полей они будут состоять (названия и типы данных столбцов). В нашем примере таблица «Договоры» будет содержать такие поля: «Номер договора», «Дата заключения договора»,  «Код покупателя», «Сумма по договору». В строках или записях таблицы будут расположены данные по каждому отдельному договору. Таблица «Покупатели» будет состоять из таких полей: «Код покупателя», «ИНН», «Покупатель», «Адрес», в ее строках или записях будут данные по каждому покупателю.

При создании структуры таблиц нужно также задать тип данных каждого поля таблиц. Тип данных поля зависит от информации, которая будет храниться в этом поле. Например, поля «Покупатель», «Адрес», «Номер договора» должны быть Текстового типа, поле «ИНН» — Числового типа, поле «Сумма по договору» -Денежного типа, а поле «Дата заключения договора» — типа Дата/Время. Набор полей каждой таблицы в случае  необходимости можно будет изменить или дополнить. Например, можно дополнить таблицу «Покупатели» полями «Телефон», «Электронная почта», «Интернет-сайт» и так далее.

В нашем простом примере на первый взгляд кажется, что удобнее было бы разместить всю информацию базы в одной таблице, не разбивая ее на две. Но в таком случае могут возникнуть неудобства в работе с данными. Например, покупатель с кодом «П002» имеет 4 заключенных договора с компанией-поставщиком. Если бы вся информация была в одной таблице, то в ней было бы 4 записи с повторяющимися реквизитами покупателя «П002». Это привело бы к избыточности базы, связанной с большим объемом одинаковых данных в базе. Если бы возникла необходимость изменить реквизиты покупателя «П002», это пришлось бы выполнять 4 раза во всех записях, в которых встречается покупатель «П002», а это значительное неудобство в работе с базой данных.

Поэтому база данных была разбита на 2 таблицы, связанные по полю «Код покупателя». В таком случае, если нужно изменить реквизиты какого-нибудь покупателя, то это надо будет выполнить 1 раз в таблице «Покупатели», и это изменение отобразится во всех записях таблицы «Договоры», ссылающихся на этого покупателя.

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

3. Создание первичных ключей. Для создания связей между таблицами нужно, чтобы каждая таблица имела ключевое поле или набор таких полей, для однозначной идентификации каждой ее записи. Обычно для этого используется уникальный идентификационный номер. В нашем примере в таблице «Покупатели» — это поле «Код покупателя». В базах данных такое поле называется первичным ключом таблицы. Первичный ключ, то есть поле «Код покупателя» таблицы «Покупатели» однозначно идентифицирует каждую запись этой таблицы. В таблице «Договоры» первичным ключом будет поле «Номер договора».

Надо отметить, что первичный ключ, однажды назначенный на какое-то поле при создании таблицы, в дальнейшем изменить будет невозможно.

4. После определения первичных ключей можно настроить связи между таблицами. В нашем примере каждая запись таблицы «Договоры» содержит код покупателя, поэтому лучше всего связать таблицы «Договоры» и «Покупатели» по полю «Код покупателя». При этом поле «Код покупателя» в таблице «Договоры» будет являться внешним ключом, а в таблице «Покупатели» — первичным ключом. Таким образом, связь между таблицами определяется путем объединения первичных и внешних ключей.

Отметим, что для одного покупателя в таблице «Договоры» может быть несколько записей (договоров) с таким же кодом покупателя. В таком случае связь таблицы «Покупатели» с таблицей «Договоры» по полю «Код покупателя», определяется соотношением «Один ко многим».

Итак, напомним еще раз основные этапы создания реляционной базы данных в MS Access 2007

1.Определение цели создания базы данных.

2.Определить, какие именно данные будут храниться в базе, и распределить их по таблицам.

3.Задание первичных ключей для таблиц

4.Настройка связей между таблицами.

5.Наполнение базы данных, доработка и усовершенствование ее структуры.

6.Применение правил нормализации.

На завершение видеоурока покажем вам, как устанавливать связи между таблицами средствами MS Access 2007. На экране вы видите базу данных, которую мы использовали в качестве примера. Эта база состоит их 2-х таблиц «Покупатели» и «Договоры».

Покажем наглядно, как установить связи между этими таблицами. Для этого открываем вкладку «Работа с базами данных», на панели кликаем на кнопку «Схема данных», — открывается закладка «Схема данных» и появляется окно «Добавление таблицы» для установления связей. В этом окне выбираем обе таблицы «Покупатели» и «Договоры». – после чего они появляются на закладке «Схема данных». Нам нужно связать эти таблицы по полю «Код покупателя». Для этого выделим курсором поле «Код покупателя» в одной из таблиц, например «Покупатели». Затем нажав на это поле таблицы «Покупатели» и не отпуская левую кнопку мыши, перетягиваем его в таблицу «Договоры», наверх такого же поля «Код покупателя» и отпускаем левую кнопку. После этого появляется окно «Изменение связей», в котором нужно убедиться, что мы связываем таблицу «Покупатели» с таблицей «Договоры» именно по полям «Код покупателя», если все верно – нажимаем Создать. После чего окно «Изменение связей» закрывается и на закладке «Схема данных» появляется линия, соединяющая связанные поля таблиц базы данных.