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

МетодичкаРГР

.pdf
Скачиваний:
31
Добавлен:
12.04.2015
Размер:
752.59 Кб
Скачать

ИНСТРУМЕНТЫ РАЗРАБОТ КИ ЭЛЕМЕНТОВ БАЗ ДАННЫХ

ТАБЛИЦЫ

ПРЕДМЕТНАЯ ОБЛАСТЬ ИНФОРМАЦИОННОЙ СИСТЕМЫ

Любые данные несут информацию о состоянии какого либо объекта.

Предметной областью называют объект или группу объектов, ин-

формационную модель которых представляет БД.

Выявление предметной области является начальным этапом разработки любой информационной системы. На этом этапе определяются потребности пользователей и содержание БД.

Каждый из объектов предметной области имеет набор существенных для поль-

зователя свойств. Предметную область можно разделить на группы однородных объектов, для описания которых используется одинаковый набор таких свойств.

Это могут быть, например, товары, заказчики, заказы, сотрудники. Товар, напри-

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

ционную базу данных представляют набором взаимосвязанных таблиц, каждая из которых содержит данные об одной из групп однородных объектов. Столбцы каж-

дой из таблиц, называемые полями, состоят из данных одинакового типа (числа,

текст, даты...), а строки, называемые записями, относятся к одному и тому же объ-

екту. Назначение типа данных для каждого поля СУБД Access осуществляется в режиме конструирования таблицы. Между таблицами устанавливаются связи, пока-

зывающие, как следует объединять данные из связанных таблиц. Схема таблиц,

объединенных связями между ними, называется схемой данных. Рассмотрим при-

мер (Рис. 1) – склад магазина, имеющего несколько отделов. На склад поступают

11

товары от поставщиков. Заведующие различных отделов получают товары со скла-

да для своих отделов.

Рис. 1. Схема данных

СОЗДАНИЕ ТАБЛИЦЫ

Для создания таблицы необходимо в окне базы данных перейти на вкладку

«Таблицы» (Рис. 2) и выбрать инструмент «Создание таблицы в режиме конструк-

тора». Можно выбрать инструмент «Создать» и в окне диалога выбрать «Конструк-

тор». Результат будет тот же (Рис. 3). Окно конструктора состоит из двух частей:

списка полей вверху и окна свойств внизу. В режиме конструктора задаются только имена полей и тип данных для каждого поля. Лучше, если имена полей будут со-

стоять из одного слова (не содержать пробелов).

Сначала необходимо продумать структуру данных, решить, какие потребуются таблицы и начинать разработку с таблиц – справочников (содержание которых ме-

12

няется относительно редко). В приведенном примере это таблицы «Год», «Месяц», «Отделы», «Поставщики», «Сотрудники», «Товары». На схеме данных эти таблицы всегда со стороны «1». Во вторую очередь следует создавать оперативные таблицы,

содержание которых изменяется часто. В примере это таблицы «Заказы», «Заказа-

но», «Поступило». Как правило, такие таблицы на схеме данных расположены со стороны «многие». Значение полей оперативных таблиц, связанных с ключевыми полями таблиц справочников, могут принимать только значения, перечисленные в ключевом поле таблицы – справочника. Это имеет логический смысл, ведь заказать можно только имеющиеся товары, товары могут быть заказаны только существую-

щими отделами. В этом случае при создании поля со стороны «многие» целесооб-

разно выбирать тип данных, называемый «Мастер подстановок». При заполнении таблицы данными такое поле позволяет выбирать данные из открывающегося спис-

ка (Рис. 4).

Рис. 2. Окно базы данных

КЛЮЧЕВЫЕ ПОЛЯ

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

Назначение ключевого поля – однозначно представлять запись. Поэтому значения

13

ключевого поля в таблице не должны повторяться (должны быть уникальными).

Например, для студента это номер его зачетной книжки. Если такого поля нет, его необходимо придумать. В этом случае как нельзя лучше подходит тип данных

«Счетчик», который автоматически увеличивает на единицу значение поля в каж-

дой следующей записи, таким образом, исключая повторения. Ключевое поле, од-

нозначно определяющее запись называется простым.

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

Рис. 3. Окно конструктора таблицы

Например, в таблице «Заказано» перечислены товары, заказанные во всех зака-

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

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

14

Когда созданы все поля и задано ключевое поле, таблицу необходимо сохранить,

присвоив ей оригинальное имя. После сохранения таблицы перейдите в режим таб-

лицы (просмотра) и введите несколько записей.

Рис. 4. Поле со списком

СВЯЗИ МЕЖДУ ТАБЛИЦАМИ

После того как будут созданы все таблицы, необходимо задать связи между ни-

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

ментом или выбрав команду «Схема данных» в меню «Сервис». При первой попыт-

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

бавить в схему данных все необходимые таблицы. Далее следует расположить таб-

лицы так, чтобы будущие связи между ними не пересекались. Установка связи за-

ключается в перетаскивании мышкой одного связываемого поля на другое, после чего нужно задать параметры объединения в открывшемся окне. Флажок «Обеспе-

чение целостности данных» означает, что MS Access будет контролировать логиче-

скую целостность (непротиворечивость) данных. Каскадное обновление и каскад-

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

лицы «Поставщики» из таблицы «Товары» будут удалены все товары, поставляе-

мые этим поставщиком (Рис. 5). Кнопка «Объединение» задает параметры объеди-

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

нию), или всех записей из одной таблицы и только тех записей из другой, значения связанных полей которых совпадают (Рис. 6).

15

Рис. 5. Окно изменения связей

Рис. 6. Окно параметров объединения

Если связывать два ключевых поля, то получится связь типа «один к одному».

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

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

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

щим это ключевое поле для подстановки данных) полем другой образуется связь

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

16

одной записи во вспомогательной таблице будет соответствовать только она запись в главной таблице.

Объединение «многие ко многим» обеспечивает для одной записи первой таб-

лицы несколько соответствующих записей во второй таблице и наоборот. В СУБД

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

ЗАПРОСЫ

ПРОСТЫЕ ЗАПРОСЫ

Простые запросы позволяют объединять данные из нескольких таблиц. Для со-

здания запроса необходимо в окне баз данных перейти на вкладку «Запросы» и вы-

брать «Создание запроса в режиме конструктора». Появится окно конструктора за-

проса и окно добавления таблиц или других запросов. Таблицы добавляются вместе со связями, если связи были установлены. Затем необходимо мышкой перетащить нужные поля из таблиц в поля запроса ( Рис. 8). Если в запросе используются все поля таблицы, нужно перетащить мышкой только звездочку. С помощью меню

«Вид» любой запрос можно представить в режиме просмотра, конструктора и ре-

жиме SQL. Последний представляет собой эквивалентную оформленному в окне конструктора запросу инструкцию SQL.

В окне конструктора запроса можно изменить параметры объединения таблиц,

используя контекстное меню (щелкнув правой кнопкой мышки по связи между таб-

лицами). Пример изменения параметров объединения в окне конструктора запроса показан на Рис. 7. В этом запросе объединяются все записи из таблицы «Товары» и

только те записи из запросов «зпПоступило» и «зпОтпущено», значения связанных полей которых совпадают.

Запрос может содержать поля, которых нет ни в одной из таблиц. Такие поля называют вычисляемыми. Они используют данные в других полях и вычисляются при помощи выражений и функций. Для создания вычисляемого поля в окне кон-

17

структора нужно написать его имя, поставить двоеточие, после которого написать выражение для вычисления значения поля, например «Стоимость: Це-

на*Количество».

Рис. 7. Изменение параметров объединения таблиц в конструкторе запроса

Рис. 8. Конструктор запроса

ЗАПРОС С УСЛОВИЕМ ОТБОРА

Запрос с условием отбора (Рис. 9)из всего результирующего набора записей оставляет только те, которые соответствуют заданному условию отбора. Условие отбора задается в конструкторе запроса в строке «Условие отбора» и должно пред-

ставлять из себя логическое выражение. Если результат выражения «Истина», за-

пись будет оставлена в результирующем наборе данных.

Логическое выражение в условиях отбора может содержать сравнение с задан-

ным значением или использовать ссылку на значение поля в форме, для построения которой удобно пользоваться построителем выражений, всегда доступным в кон-

текстном меню (Рис. 10).

18

Рис. 9. Условие отбора в запросе

Рис. 10. Окно построителя выражений

ЗАПРОС С ГРУППИРОВКОЙ ДАННЫХ

Группировка данных в запросе (Рис. 11) позволяет объединять несколько запи-

сей в одну. Принцип объединения следующий: если значения одноименных полей в объединяемых записях совпадают, то это же значение сохраняется в результирую-

щей записи, а к одноименным полям, имеющим разные значения должна быть при-

менена одна из агрегатных функций.

19

Рис. 11. Запрос с группировкой записей

Для того чтобы добавит строку «Групповая операция» в конструктор запроса,

необходимо воспользоваться меню «Вид – Групповые операции». Конструктор за-

просов позволяет выбрать из списка вместо слова «Группировка» одну из агрегат-

ных функций. В приведенном примере (Рис. 11) будут группироваться те записи,

значение поля «КодТовара» и «Товар» в которых совпадают, а в сгруппированной записи значение поля «ПоступилоКоличество» будет суммой значения поля «По-

ступило» во всех группируемых записях.

ЗАПРОСЫ ДЕЙСТВИЯ

Запросы действия при выполнении приводят к изменению (удалению, обновле-

нию или добавлению) данных. При использовании конструктора запроса запрос действия составляется как и обычный запрос. После его составления, используя ме-

ню «Запрос» выбирают тип запроса (Рис. 12). Это может быть запрос на создание таблицы, обновление, добавление и удаление данных.

20