Учебно-методический комплекс по дисциплине Информатика (название дисциплины)

Вид материалаУчебно-методический комплекс
4.2.3 Сортировка таблицы
Записи – Сортировка – По возрастанию
Записи  Удалить фильтр
4.2.4 Связи между таблицами
Типы используемых ключевых полей
Ключевые поля счетчика
Простой ключ
Составной ключ
Типы связей
Создание связей между таблицами.
Связи  Добавить таблицу
Страны для тех стран, которые указаны в таблице Командировки
Подобный материал:
1   ...   15   16   17   18   19   20   21   22   ...   35

4.2.3 Сортировка таблицы


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

Чтобы отсортировать таблицу Служащие по значению поля Почтовый Индекс, нужно открыть таблицу в режиме таблицы:
  1. Выделите поле Почтовый Индекс, щелкнув по его заголовку левой кнопкой мыши.
  2. Выберите команду Записи – Сортировка – По возрастанию или нажмите кнопку Сортировка по возрастанию на панели инструментов.

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

Код служащего

Имя

Адрес

Город

Почтовый индекс

Телефон

1

Иванов А.А.

Первый тупик, 1

Киев

123123

11-58-96

4

Иванов П.А.

Новая, 98

Омск

123124

43-19-46

3

Петров А.А.

Деловая, 29

Минск

452136

56-58-49

2

Смирнов П.И.

Крайняя, 23

Киев

478123

45-86-71

Чтобы отменить сортировку таблицы, выберите команду Записи  Удалить фильтр.

Задание 1.
  1. Создайте в базе данных base.mdb таблицу Командировки. Поле Код служащего в таблице Командировки имеет тип Числовой и формат Длинное целое.
  2. Создайте в новой базе данных data.mdb таблицу Адреса с полями: Адресат, Фамилия, Имя, Телефон, Улица. По полю Адресат установите ключ и счетчик. Заполните таблицу. Отсортируйте таблицу таким образом, чтобы фамилии располагались по алфавиту.

4.2.4 Связи между таблицами


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

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

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



Рис. 2. Компоненты связей


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

Типы используемых ключевых полей


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

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

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

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

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

Типы связей

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

Связанные поля не обязательно должны иметь одинаковые имена, однако они должны иметь одинаковые типы данных. Кроме того, связываемые поля типа "Числовой" должны иметь одинаковые значения свойств Размер поля. Например, нельзя создать связь между полям типа Счетчик и Байт или Целое и Денежный. Исключениями из этого правила являются поля счетчика с последовательной нумерацией, которые могут связываться числовыми полями размера Длинное целое.

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

Создание связей между таблицами.


Откройте базу данных base.mdb.
  1. Выберите команду Сервис  Схема данных. Появится окно Схема данных, в горизонтальном меню выберите команду Связи  Добавить таблицу. Появится диалоговое окно Добавление таблицы.
  2. На вкладке Таблицы в списке таблиц выберите Служащие и нажмите кнопку Добавить, затем выберите Командировки и еще раз нажмите кнопку Добавить. Закройте диалоговое окно.
  3. Связь между таблицами Служащие и Командировки строится по значению полей Код Служащего. Поместите указатель мыши над полем Код Служащего в таблице Служащие, нажмите левую кнопку мыши и, не отпуская ее, перетащите появившийся значок поля на поле Код Служащего таблицы Командировки. Появится диалоговое окно Связи.
  4. Нажмите кнопку Объединение. Появится диалоговое окно Параметры объединения. Создаем связь один ко многим, поэтому выберите переключатель 3. Нажмите кнопку Ok.
  5. В диалоговом окне Связи можно установить режим обеспечения ссылочной целостности, установив флажок у соответствующего параметра.
  6. Нажмите кнопку Создать, чтобы подтвердить создание связи.

Задание 2.

П
о приведенной ниже схеме (рис. 3) данных достройте базу данных base. Перед созданием связей заполните таблицу Страны для тех стран, которые указаны в таблице Командировки.

Рис. 3. Схема данных для базы данных base.mdb