14602

Разработка многотабличных баз данных

Практическая работа

Информатика, кибернетика и программирование

Практическая работа № 21 Тема: Разработка многотабличных баз данных Цели работы: научиться создавать таблицу базы данных с помощью Мастера таблиц; закрепить навыки по добавлению и удалению записей; закрепить навыки по заполнению и редактированию таблиц б...

Русский

2013-06-08

211.5 KB

82 чел.

Практическая работа №  21

Тема: Разработка многотабличных баз данных

Цели работы:

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

Этапы работы

  1.  Проектирование структуры базы данных.
    Создадим более сложный вариант базы данных. В ней будет три таблицы: Список, Группы и Личные данные.
  2.  Конструирование пустых таблиц базы данных.
    Воспользуемся еще одним способом изготовления таблиц. Новую таблицу Личные данные создадим с помощью Мастера таблиц. Структуру таблиц Список и Группы скопируем из базы прошлого занятия.
  3.  Создание схемы базы данных.
    В данном случае таблицы Группы и Список объединены связью "один-ко-многим", таблицы Список и Личные данные - связью "один-к-одному". Таблицы Группы и Личные данные прямо не связаны.
  4.  Ввод данных в таблицы.
    Создадим форму для ввода данных и воспользуемся ею. Использование базы данных для практических задач.

Ход работы

Задание 1. Откройте учебную базу данных, созданную на прошлом занятии.

Порядок работы:

  •  Вызовите программу Access. Для этого дважды щелкните по пиктограмме Microsoft Access. Перед вами откроется окно системы управления базами данных, в котором появится меню.
  •  Включите мышкой переключатель Открыть базу данных, выделите из списка баз данных, расположенного ниже переключателя, имя вашей базы и щелкните по кнопке ОК. На экране появится окно с основными элементами базы данных.
    Замечание. Используем готовые таблицы этой базы для конструирования новой. Таблицу Группа оставим в прежнем виде, исправив испорченные значения, а из таблицы Список возьмем только структуру.

Задание 2. Откорректируйте данные в таблице Группы.

Порядок работы:

Замечание.

В предыдущей работе вы удаляли записи из таблицы Группы. Их следует восстановить.

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

Таблица 7

Учебная группа

Преподаватель

101

Верзаков С.А.

102

Белоусов А.И.

103

Масалова В.А.

104

Новикова Е.В.

105

Зачесова Т.П.

Задание 3. Удалите все записи таблицы Список, оставив ее структуру.

Порядок работы:

  •  Откройте таблицу Список.
  •  Выделите все записи.
  •  Нажмите клавишу [Delete]. Щелкните по кнопке Да в вопросе о подтверждении удаления. (Можно выполнить команду Правка - Удалить запись или щелкнуть по кнопке - Удалить запись).
  •  Закройте таблицу, сохранив ее.
    Замечание. Если теперь вводить данные в эту таблицу снова, то счетчик будет меняться с того номера, который был присвоен последней записи.
  •  Чтобы нумерация снова начиналась с 1, выполните команду Сервис - Служебные программы - Сжать базу данных. Подождите некоторое время, чтобы программа отработала.

Задание 4. Используя Мастер таблиц, создайте таблицу Личные данные с ключевым полем.

Порядок работы:

  •  Выберите закладку Таблица, если находитесь в другом окне.
  •  Щелкните по кнопке Создать. В результате перейдем к работе со следующим диалоговым окном: Новая таблица. Здесь несколько вариантов, но вы выберите Мастер таблиц и щелкните по кнопке ОК. Появится диалоговое окно, представленное на рис. 14.
  •  В этом окне следует выбрать: в поле Образцы таблиц - поле Студенты; в поле Образцы полей - поля КодСтудента,


Рис.14

Адрес, НомерТелефона, щелкая после каждого выбора по кнопке . Эти поля попадут в Поля новой таблицы. Щелкните по кнопке Далее.

  •  В диалоговом окне задайте имя новой таблицы Личные данные. Оставьте автоматический выбор ключа. Щелкните по кнопке Далее.

Замечание.

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

  •  Щелкните по кнопке Далее.
  •  После появления вопроса о действиях после создания таблицы автоматически выбирайте ввод в режиме таблицы, но можно изготовить и форму. Щелкните по кнопке Готово. Вы попадете в пустую таблицу, у которой есть поля, но отсутствуют записи.
  •  Добавьте в таблицу Личные данные еще три поля Word, Excel и Access, в которых будут находиться семестровые оценки по этим предметам. Выберите Конструктор.
  •  Добавьте в конец списка полей три поля с именами Word, Excel, Access и типом данных - числовой.
  •  Щелкните по кнопке - Сохранить.
  •  Перейдите в режим таблицы.
  •  Закройте таблицу, предварительно сохранив ее. В результате вы получите три таблицы, две из которых связаны, а третья нет.

Задание 5. Исправьте схему данных.

Порядок работы:

  •  Щелкните по кнопке - Схема данных. Появится диалоговое окно Схема данных.
  •  Щелкните по кнопке -Добавить таблицу. В появившемся окне Добавление таблицы выделите таблицу Личные данные и щелкните по кнопке Добавить, а затем - по кнопке Закрыть окна Добавление таблицы.
  •  Поставьте мышку на имя поля КодСтудента в таблице Личные данные и, не отпуская кнопку мышки, перетащите ее на поле Код в таблице Список. Отпустите мышку. Появится диалоговое окно Связи.
  •  Включите флажок Обеспечение целостности данных. Это невозможно сделать, если типы обоих полей заданы неодинаково.
  •  Щелкните по кнопке Создать. Появится связь "один-к-одному". Это значит, что одной записи в таблице Список соответствует одна запись в таблице Личные данные. Схема данных представлена на рис. 15.
  •  Закройте схему данных, сохранив ее.

Пояснение

Теперь встает задача ввода записей одновременно в разные таблицы: Список и Личные данные. ФИО мы храним в одной таблице, а адрес и номер телефона - в другой. Можно, конечно, попробовать ввести значения в каждую таблицу отдельно, поудобнее видеть клетки обеих таблиц для ввода дан-ных одновременно. Эту задачу легко решить вводом

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

Задание 6. Создайте форму для ввода данных.

Порядок работы:

  •  В окне базы данных выберите вкладку Формы.
  •  Щелкните по кнопке Создать.
  •  В диалоговом окне Новая форма выберите Мастер форм. Описание Мастера появляется в левой части диалогового окна. В нижнем поле имя таблицы или запроса в качестве источника данных можно не указывать. При использовании Мастера форм источник данных для формы следует указывать в диалоговом окне Мастера.
  •  Щелкните по кнопке ОК. Появится окно создания форм, представленное на рис.16.
  •  Выберите все поля из таблицы Список и все поля - из таблицы Личные данные. Для этого выберите имя таблицы Список в поле Таблицы/Запросы. В результате появляется список полей в окне Доступные поля. Щелкните по кнопке , которая переносит все поля из списка. Затем выберите имя таблицы Личные данные в поле Таблицы/Запросы и вновь щелкните по кнопке


Рис.16

  •  Щелкните по кнопке Далее.
  •  Оставьте внешний вид формы в один столбец (выбран по умолчанию).
  •  Щелкните по кнопке Далее.
  •  Выберите требуемый стиль (например, Обычный). Щелкните по кнопке Далее.
  •  Задайте имя формы: Общая форма. Щелкните по кнопке Готово. В результате вы получите форму, в которой можно менять существующие данные и вводить новые значения. Эти значения будут попадать в ту таблицу, в которую нужно (часть значений - в одну таблицу, часть - в другую).

Задание 7. Заполните таблицы данными.

Замечание.

Поля Код и КодСтудента заполняются автоматически.

Данные таблицы Список приведены в табл. 8, а таблицы Личные данные - в табл. 9.

Таблица 8

Код

Фамилия

Имя

Отчество

Год рождения

Школа

Класс

1

Иванникова

Анна

Ивановна

1984

1

9

2

Баранова

Ирина

Алексеевна

1983

3

10

3

Корнилова

Ольга

Владимировна

1984

5

9

4

Воробьев

Алексей

Петрович

1983

1

10

5

Воробьев

Алексей

Иванович

1984

3

9

6

Воробьев

Олег

Григорьевич

1985

5

8

7

Скоркин

Александр

Евгеньевич

1982

1

11

8

Володина

Анна

Алексеевна

1984

3

9

9

Новоселов

Алексей

Антонович

1983

5

10

10

Александрова

Елена

Алексеевна

1984

1

9

Таблица 9

КодСтудента

Адрес

Номер телефона

Word

Excel

Access

1

Центральная 11-15

51-17-22

5

5

5

2

Солнечная 8-117

51-18-22

4

4

4

3

Сиреневый 7-16

51-19-22

3

4

5

4

Центральная 14-81

51-20-22

5

5

4

5

Сиреневый 7-16

51-21-22

5

4

4

6

Солнечная 2-121

51-22-22

4

4

4

7

Школьная 5-34

51-23-22

5

5

5

8

Центральная 30-7

51-24-22

3

3

3

9

Сиреневый 7-16

51-25-22

3

4

4

10

Солнечная 6-34

51-26-22

5

5

5

  •  Закройте форму, предварительно сохранив ее.
  •  Перейдите на закладку Таблицы.
  •  Откройте таблицу Список и убедитесь, что в них появились данные.Закройте таблицу.
  •  Откройте таблицу Личные данные и убедитесь, что в них появились данные. Закройте таблицу.

Задание 8. Добавьте новое поле Портрет (рисунки или фотографии) в таблицу Список.

Пояснение.

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

  •  Откройте таблицу Список, если она закрыта.
  •  Перейдите в режим Конструктора.
  •  Добавьте еще одно поле (вводите имя поля ниже поля Учебная группа), имя которого Портрет, тип данных - Поле объекта OLE, общие свойства поля оставить по умолчанию.
  •  Щелкните по кнопке - Сохранить.
  •  Перейдите в режим таблицы, щелкнув по кнопке
  •  Щелкните мышкой по клетке, где должно быть значение поля Портрет.
  •  Выполните команду Вставка - Объект - Точечный рисунок Paintbrush - ОК.
  •  Нарисуйте портрет.
  •  Щелкните по кнопке в правом верхнем углу окна рисунка, в результате чего вы вернетесь в таблицу. Рисунок будет обозначен словами. Чтобы увидеть портрет, дважды щелкните мышкой по названию рисунка, возвращаясь в программу, где изготовлен портрет.

Самостоятельное задание.

Нарисуйте портреты всех учеников из таблицы Список

  •  

Справочная информация.

Выражения в фильтре могут состоять из точных значений, которые Access использует для сравнения в том виде, в котором они вводятся. Числа вводятся без ограничителей, например, 22. Текст должен быть заключен в кавычки, например "Александров". Даты ограничиваются символами #, например, #10/01/99#. Элементы выражения могут быть связаны операторами:

  •  арифметическими: *, +, -, /, л;
    •  сравнения: <, <=, >, >=, =, о;
    •  логическими: And (И), Not (Нет), Or (Или);
    •  Like - для использования логики замены в выражениях;
    •  In - для определения, содержится ли элемент данных в списке значений;
    •  Between-And - для выбора значений из определенного интервала.

Задание 9. Научитесь использовать фильтр.

Порядок работы:

  •  Щелкните по кнопке - Изменить фильтр. Появится окно выбора, представленное на рис. 17.


Рис.17

  •  Щелкните мышкой по полю Год рождения. У активного поля появится стрелка выбора.
  •  Выберите Год рождения 1984 и щелкните по кнопке Применить фильтр. Вы автоматически попадете в таблицу, в которой будут только выбранные записи.
  •  Отмените выбор. Для этого необходимо отжать эту же кнопку, которая теперь называется Удалить фильтр.
  •  Щелкните по кнопке Изменить фильтр.
  •  Удалите все в поле Год рождения, выделив значение и нажав клавишу [Delete].
  •  Измените фильтр так, чтобы в таблице были видны только ученики школы № 5, 10-го класса (одновременный запрос в двух полях - Школа и Класс).
  •  Щелкните по кнопке Применить фильтр.
  •  Измените фильтр. Допустимо указывать границы изменения значений. В поле Год рождения наберите >1982. Щелкнув по кнопке Применить фильтр, вы получите таблицу, в которой присутствуют записи с годами рождения больше 1982.
  •  Чтобы получить записи учеников, у которых фамилии начинаются на букву "В", в соответствующем поле наберите Like "В*" (В - в данном случае русская буква).
  •  Запрос Not "В*" будет означать все записи, кроме указанных (в данном случае все записи, у которых фамилии не начинаются на букву "В"). Составьте этот запрос, щелкнув по кнопке Применить фильтр.

Самостоятельное задание.

  1.  Выберите учеников всех школ, кроме школы № 3.
    1.  Выберите всех учеников школы № 1, фамилии которых начинаются на букву "А".
    2.  Выберите учеников, год рождения которых 1982 или 1983 (запрос: 1982 OR 1983).
    3.  Отмените все запросы.
      Замечание. Кнопка - Фильтр по выделенному позволяет оставить видимыми в таблице только те записи, в которых есть предварительно выделенный элемент.

  •  Предъявите преподавателю: таблицы Список, Группы, Личные данные на экране.

Задание 10. Завершите работу с программой Access.

Порядок работы:

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