Тема: «Создание таблиц и связей между ними»

ЛАБОРАТОРНАЯ РАБОТА № 1

  • Запустите MS Access. Создайте новую базу данных «Колледж».
  • В режиме Конструктора создайте таблицу Студенты для хранения данных о студентах, которая будет иметь следующую структуру:
Имя поля Тип данных
№ зачетки числовой
Фамилия текстовый
Имя текстовый
Отчество текстовый
Дата рождения Дата/Время
Город текстовый
Улица текстовый
Дом текстовый
Квартира числовой
Специальность текстовый
Группа текстовый
Форма обучения текстовый
  • Для реализации функции, чтобы введенные значения в поле Номер зачетки были исключительно шестизначные для этого задайте дополнительные свойства для поля № зачетки. Для этого установите курсор в строке № зачетки. В нижней части окна в строке Условие на значение введите следующее: >=100000 AND <=999999
  • Для реализации функции заполнения по умолчанию значениями поля перейдите к полю Специальность, и в строке Значение по умолчанию введите ВКСС.
  • Поле № зачетки сделайте ключевым.

Для хранения информации о успеваемости в режиме Конструктора создайте таблицу Экзамены, которая будет иметь следующую структуру:

Имя поля Тип данных
№ зач числовой
Предмет текстовый
Оценка числовой
Дата сдачи Дата/Время
ФИО экзаменатора текстовый
  • Данная таблица не будет содержать ключевого поля, так как один и тот же студент за время учебы сдает более одного экзамена.
  • Задайте дополнительные свойства для поля Оценка. Данные, вводимые в это поле при заполнении таблицы не должны быть меньше 2 и больше 5.(как задать условие на значение, смотри выше). В противном случае должно появляться сообщение о не правильном вводе данных с пояснением.
  • Текст сообщения введите в строке Сообщение об ошибке.
  • При сохранении структуры таблицы на вопрос Создать ключевое поле, нажмите НЕТ.

В режиме Конструктора создайте таблицу Стипендия, которая будет иметь следующую структуру:

Имя поля Тип данных
№ зачет числовой
Код стипендии числовой
Номер месяца числовой
Год числовой
К выдаче денежный

Ключевое поле отсутствует, поясните почему.

  • При сохранении структуры таблицы на вопрос Создать ключевое поле, нажмите НЕТ.
  • В режиме Конструктора создайте таблицу Виды стипендий, которая будет иметь следующую структуру:
Имя поля Тип данных
Код стипендии числовой
Вид стипендии текстовый

Ключевое поле – Код стипендии.

Заполните эту таблицу следующими данными:

Код стипендии Вид стипендии
  Обычная
  Республиканская
  Президентская

Использование Мастера подстановок при вводе данных в таблицы

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

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

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

Для создания комбинированного списка:

§ войти в режим конструктора таблицы Экзамены,

§ перейти в колонку Тип данных для поля № зач.

§ Из списка доступных типов полей выбрать элемент Мастер подстановок.

§ Первое диалоговое окно (рис. 1)Мастера подстановок предлагает выбрать источник формирования списка: на основе данных таблицы \запроса или фиксированный набор значений. В данном случае нужно выбрать первый вариант (на основе таблицы) и нажать на кнопку Далее.

рис.1 Диалоговое окно мастера подстановок

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

В третьем окне Мастера подстановок из списка Доступные поля нужно выбрать поля, значения которых фигурируют в списке. В данном случае можно выбрать поля Фамилия и Имя, которые сделают список более информативным. Уберите галочку в строке Скрыть ключевой столбец. После этого можно нажать кнопку Готово для завершения процесса проектирования комбинированного списка. Сохранив проект таблицы, можно открыть таблицу Экзамены и просмотреть результат работы.

Рис.2 Использование комбинированного списка

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

§ Откройте таблицу Студенты в режиме конструктора.

§ Поместите курсор в поле Специальность.

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

На следующем шаге нужно создать список этих значений: ВКСС, ТМС, Электроэнергетика. После чего можно завершить процесс создания списка и сохранить изменения в структуре. Теперь при вводе данных в поле Специальность нет необходимости печатать значения, а достаточно просто выбрать из предлагаемого списка нужное.

После определения структуры таблиц БД нужно указать Access способ, которым эти таблицы связаны.

Определение связей между таблицами

Для определения связей нужно перейти в окно базы данных и выполнить команду Сервис\Схема данных или на панели инструментов нажать кнопку Схема данных . После этого Access откроет окно Схема данных и окно Добавление таблицы.

В окне Добавление таблицы нужно выделить имена таблиц Студенты, Экзамены, Стипендия, Виды стипендий и нажать на кнопку Добавить. После этого данное окно можно закрыть.

В окне Схема данных появятся имена всех указанных таблиц вместе со списками полей. Имена общих полей выделены полужирным шрифтом.

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

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

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

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

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

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

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

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

В этом окне Access заполнил первую строку именем поля, по которому связывались таблицы.

· Щелкнуть по флажкам Обеспечение целостности данных, Каскадное обновление связанных полей и Каскадное удаление связанных полей.

· Создайте связи между таблицами Студенты и Стипендия, перетаскивая поле № зачет на поле № зачетки. Также создайте связь между таблицами Виды стипендий и Стипендия, перетащив поле таблицы Стипендия Код стипендии на поле Код стипендии таблицы Виды стипендий.

После закрытия этого окна все установленные связи будут сохранены.

· Заполните данными таблицы. В таблицу Студенты поместите фамилии студентов вашей подгруппы и 5 произвольных фамилий. При вводе данных в таблицу Экзамены, используйте созданный с помощью Мастера подстановок список в поле №зач. Студенты должны обучать на разных курсах и специальностях.

· Заполните таблицу Экзамены 25 записями.

· В таблице Стипендия заполните 15 записями.

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

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

· удалить одну из записей в таблице Студенты. Перейти в таблицу Экзамены и проверить, удалены ли в ней соответствующие записи.

· Попробуйте ввести код стипендии 5 в таблице Стипендия и нажмите Enter. Обратите внимание на возникшую ошибку.

КОНТРОЛЬНЫЕ ВОПРОСЫ:

  1. Как создать таблицу в режиме Конструктора?
  2. Какие дополнительные свойства можно задать полям таблицы?
  3. Как создать ключевое поле?
  4. Как создать связь между таблицами?
  5. Что такое обеспечение целостности таблиц?
  6. Что такое каскадное удаление и изменение данных?
  7. Как просмотреть Схему данных?
  8. Как создать поле с комбинированным списком?
  9. Как создать поле для ввода, которое будет содержать список с фиксированными значениями?

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: