ИНФОРМАЦИОННЫЕ СИСТЕМЫ и БАЗЫ ДАННЫХ
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

УТВЕРЖДАЮ

и.о. Зав. кафедрой ПИ

______________/В.А. Макаров/

«___»__________20__

 

ПРАКТИКУМ ПО ДИСЦИПЛИНЕ

ИНФОРМАЦИОННЫЕ СИСТЕМЫ и БАЗЫ ДАННЫХ

(наименование дисциплины)

Направление подготовки

 

(код и наименование)

  Профиль  

(код и наименование)

 

Форма обучения

ОЧНАЯ

 

(очная, очно-заочная, заочная)

 

Программа подготовки

БАКАЛАВРИАТ

 

(академический, прикладной бакалавриат)

 

Квалификация выпускника

Бакалавр

 

               

 

 

Москва 2018


 


Содержание

1. Введение ...................................................................................................... 4

2. Основные понятия MS Access ................................................................... 4

3. Постановка задачи на разработку базы данных ...................................... 9

4. Запуск Microsoft Access ........................................................................... 10

5. Таблицы...................................................................................................... 11

5.1. Таблица «Группы» ................................................................................. 11

5.2. Таблица «Дисциплины» ......................................................................... 12

5.3. Таблица «ФормаКонтроля» ................................................................... 13

5.4. Таблица «Оценки» .................................................................................. 13

5.5. Таблица «Преподаватели» ..................................................................... 14

5.6. Подчиненные (связанные) таблицы ...................................................... 15

5.7 Подчиненная таблица «Студенты» ........................................................ 15

5.8 Подчиненная таблица «Успеваемость». Мастер подстановок ............ 17

5.9 Сортировка и фильтрация записей в таблицах ..................................... 26

5.10. Вопросы по теме «Таблицы» ............................................................... 27

6. Схема данных ............................................................................................. 28

6.1. Вопросы по теме «Схема данных» ....................................................... 30

7. Целостность данных .................................................................................. 30

7.1 Правила целостности .............................................................................. 31

7.2 Каскадное обновление связанных полей............................................... 32

7.3 Каскадное удаление связанных записей ............................................... 32

7.4 Вопросы по теме «Целостность данных» ............................................. 33

8. Запросы ....................................................................................................... 33

8.1. Запрос на выборку .................................................................................. 33

8.2. Запрос с параметром .............................................................................. 34

8.3. Запрос «без подчиненных» .................................................................... 34

8.4. Запрос «повторяющиеся записи» .......................................................... 35

8.5. Запрос на основе нескольких таблиц ................................................... 35

8.6. Перекрестный запрос.............................................................................. 36

8.7. Вопросы по теме «Запросы» ................................................................. 37

9. Вычисления в запросах. Построитель выражений. ................................ 37

9.1. Запрос с группировкой ........................................................................... 37

9.2. Запрос с условием отбора по полю с типом данных Дата .................. 38

9.3. Запрос с вычисляемым полем ............................................................... 39

9.4. Построитель выражений......................................................................... 39

9.5. Вопросы по теме «Вычисления в запросах» ........................................ 42

10. Формы………............................................................................................ 42

10.1. Форма «Студенты» …........................................................................... 43

10.2. Форма «Успеваемость» ........................................................................ 43

10.3. Элементы управления в форме ........................................................... 44

10.4. Вопросы по теме «Формы» ................................................................. 46

11. Отчеты ...................................................................................................... 46

11.1. Отчет Студенты .................................................................................... 46

11.2. Отчет «Успеваемость».......................................................................... 49

11.3. Вопросы по теме «Отчеты» ................................................................. 50

12. Управляющая форма................................................................................ 50

12.1. Запрос «Студенты группы» ................................................................. 50

12.2. Форма «Управляющая» ....................................................................... 51

12.3. Организация связи управляющей формы с запросом «Студенты группы»…………………………………………………………………………….. 52

12.4. Самостоятельная работа ...................................................................... 53

12.5. Вопросы по теме Управляющая форма .............................................. 53

13. Контрольные вопросы ............................................................................. 54

14. Контрольные задания .............................................................................. 55

15. Заключение ............................................................................................... 58

16. Список литературы .................................................................................. 59


 


ВВЕДЕНИЕ

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

От студентов требуется умение работать в операционной системе Microsoft Windows, а также в электронных таблицах Microsoft Excel. Практикум рассчитан на 10-12 аудиторных часов. Практикум может быть использован при преподавании дисциплин, связанных с информационными системами и технологиями. В результате выполнения практикума студент получит базовые знания и навыки по разработке и использованию баз данных.

ОСНВНЫЕ ПОНЯТИЯ MS Access

Система управления базами данных (СУБД) – программа для создания и использования баз данных.

База данных (БД) – хранилище данных некой предметной области, организованное для удобного накопления, быстрого поиска и обработки данных.

Объекты базы данных Access – таблицы, запросы, формы, отчеты, макросы и модули.

Таблица – множество строк (записей), содержащих данные, разнесенные по поименованным столбцам (полям).

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

Тип данных – характеристика поля, определяющая тип данных, который может содержать это поле. Существуют следующие типы данных: текстовый, числовой, дата/время, денежный, логический, счетчик, гиперссылка, MEMO, OLE и др.

Свойства поля — это набор характеристик, обеспечивающих дополнительные возможности управления хранением, вводом и отображением данных в поле. Перечень доступных свойств зависит от типа данных поля. Например, есть такие свойства, как: Размер поля, Обязательное поле, Условие на значение и др.

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

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

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

Запись – строка таблицы. Каждая запись таблицы содержит сведения о каком-либо конкретном объекте предметной области.

Поле записи – пересечение строки и столбца (ячейка таблицы).

Значение поля записи – содержимое соответствующей ячейки таблицы.

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

Свойства подстановки поля со списком: Свойство «Источник строк» содержит имя таблицы, из которой берутся данные для поля со списком. Свойство «Присоединенный столбец» содержит номер столбца указанной таблицы. Столбцы нумеруются слева направо, начиная с единицы.

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

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

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

Линия связи – линия, соединяющая ключевое поле главной таблицы и внешний ключ подчиненной таблицы. Если включено обеспечение целостности, то у концов линии появляются символы, показывающие тип связи (1 ко многим, или 1:1).Типы межтабличных связей: "один-к-одному", "один-ко-многим", "многие-ко-многим".

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

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

Главная и подчиненная таблица: если таблицы связаны связью «один-ко-многим», то таблица на стороне «один» называется главной, а на стороне «многие» – подчиненной таблицей. Первичный ключ главной таблицы связан с внешним ключом подчиненной таблицы. Если таблицы связаны связью «один-к-одному», то левая таблица в окне "Изменение связей" называется главной, а правая - подчиненной (связанной) таблицей.

Целостность данных – правила, которые СУБД автоматически соблюдает при вводе и удалении значений в связанных полях таблиц. Обеспечение целостности данных можно включить либо отключить при создании связи в схеме данных. Правила целостности:

1. первичный ключ должен содержать уникальные непустые значения,

2. внешний ключ должен содержать только те значения, которые уже имеются среди значений первичного ключа. Из этого следует:

- нельзя вводить во внешний ключ значения, которых нет в первичном ключе,

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

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

Каскадное обновление связанных полей: для автоматического обновления значений внешнего ключа в подчиненной таблице при изменении значения первичного ключа в главной таблице, установите флажки «Обеспечение целостности данных» и «Каскадное обновление связанных полей». Для предотвращения изменений значения первичного ключа в главной таблице, если существуют связанные записи в подчиненной таблице, установите флажок «Обеспечение целостности данных» и снимите флажок «Каскадное обновление связанных полей».

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

Фильтр – набор условий, применяемых для отбора или сортировки записей.

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

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

·  Числа вводятся без ограничителей, например, 21

·  Текст заключается в кавычки, например «Иванов»

·  Даты ограничиваются символами #, например, #10/01/99#

Операторы, используемые в выражениях:

· - арифметические: *, +, -, /,^;

· - сравнения: <, <=, >, >=, =, < >;

· - логические: And (И), Not (Нет), Or (Или);

· - Like — для нахождения части значения поля;

· - In - для определения, содержится ли элемент данных в списке значений;

· Between… And - для выбора значений из определенного интервала.

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

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

Свободная форма – форма, для которой не указан источник данных. Используется для построения управляющих форм.

Элемент управления. – Объект графического интерфейса пользователя (такой как поле, флажок, полоса прокрутки или кнопка), позволяющий пользователям управлять приложением. Элементы управления используются для отображения данных или параметров, для выполнения действий, либо для упрощения работы с интерфейсом пользователя.

Присоединенное поле – текстовое поле в форме, в котором отображается информация из поля текущей записи таблицы или запроса, на основе которых построена форма.

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

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

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

Запрос на обновление – средство обновления устаревших данных в таблице.

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

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

Запрос на создание таблицы – средство создания новой таблицы на основе существующих таблиц.

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

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

Вычисляемое поле – поле, определенное в запросе для вычисления выражения для каждой записи с использованием данных из одного или нескольких полей.

Построитель выражений – средство, позволяющее автоматизировать построение сложных выражений.

Отчет – объект базы данных, обеспечивающий формирование печатных документов на основе информации из базы данных.

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

Связь между формой и запросом может быть организована так:

- В форме создать свободное поле (или поле со списком)

- В запросе в условии отбора сделать ссылку на это поле

- В форме сделать кнопку для запуска этого запроса

Связь между формой и отчетом можно установить так:

- Создать отчёт на основе запроса

- В форме создать свободное поле (или поле со списком)

- В запросе в условии отбора использовать ссылку на поле (или поле со списком), расположенное в форме

- В форме создать кнопку для открытия отчета.

Этапы решения задачи

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

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

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

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

5. Для удобства работы создадим формы ввода, изменения и просмотра данных.

6. Потребуется также создание печатных отчетов.

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

ЗАПУСК Microsoft Access

После запуска открывается окно программы Microsoft Access с вкладками Главная, Создание, Внешние данные и Работа с базами данных. В области переходов видны объекты Access: Таблицы, Запросы, Формы, Отчеты.

Рисунок 4.1. Вид окна MS Access. Вкладка «Главная».

Для создания таблицы надо перейти на вкладку «Создание» и выбрать «Конструктор таблиц».

Рисунок 4.2. Фрагмент окна MS Access. Вкладка «Создание».

 

 

ТАБЛИЦЫ

Исходя из анализа предметной области, нам потребуются следующие таблицы: Группы, Дисциплины, Формы контроля, Возможные оценки, Преподаватели, Студенты и Успеваемость.

Таблица «Группы»

Создадим таблицу «Группы» в режиме «Конструктор» (Создание/Конструктор таблиц). В таблице будет только одно поле (столбец таблицы), в котором будем вести список кодов групп студентов. Примеры кодов групп: 1721, 1761, 2763, СП13Ю-24, СП13Ю-25В, СП13Э-21. Длина кода группы не более 10 знаков.

Имя поля: Группа. Тип данных: Текстовый. Размер поля: 10 знаков. Поле – Ключевое. Ключевые поля могут содержать только уникальные непустые значения, что страхует нас от возможных ошибок при вводе данных. Например, мы не сможем ввести дважды один и тот же код группы. Сохраним таблицу, дав ей имя: Группы (рис. 5.1).

Рисунок 5.1. Таблица «Группы» в режиме «Конструктор».

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

Рисунок 5.2. Таблица «Группы» в режиме таблицы.

Таблица «Дисциплины»

Создадим таблицу «Дисциплины» в режиме «Конструктор» (Создание/Конструктор таблиц). В таблице будет пока только одно поле (столбец таблицы), в котором мы будем вести список учебных дисциплин.

Имя поля: Дисциплина. Тип данных: Текстовый. Размер поля: 100 знаков. Поле – Ключевое. Сохраним таблицу, дав ей имя: Дисциплины (рис. 5.3).

Рисунок 5.3. Таблица «Дисциплины» в Конструкторе.

Переключитесь в режим таблицы и введите учебные дисциплины.

Таблица «ФормаКонтроля»

Создадим таблицу «ФормаКонтроля» в режиме «Конструктор» (Создание/Конструктор таблиц). В таблице будет пока только одно поле (столбец таблицы), в котором мы будем вести перечень форм контроля.

Имя поля: Контроль. Тип данных: Текстовый. Размер поля: 20 знаков. Поле – Ключевое. Сохраним таблицу, дав ей имя: ФормаКонтроля (рис. 5.4).

Рисунок 5.4. Таблица «ФормаКонтроля» в Конструкторе.

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

Таблица «Оценки»

Создадим таблицу «Оценки» в режиме «Конструктор» (Создание/Конструктор таблиц). В таблице будет пока только одно поле (столбец таблицы), в котором мы будем вести перечень возможных оценок.

Имя поля: Оценка. Тип данных: Текстовый. Размер поля: 20 знаков. Поле – Ключевое. Сохраним таблицу, дав ей имя: Оценки (рис. 5.5).

Рисунок 5.5. Таблица «Оценки» в Конструкторе.

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

Таблица «Преподаватели»

Создадим таблицу «Преподаватели» в режиме «Конструктор» (Создание/Конструктор таблиц). В таблице два поля (столбца таблицы). Поле Код и поле Преподаватель. Поле Код – ключевое поле. Тип данных – Счетчик. При добавлении в таблицу нового преподавателя счетчик автоматически увеличивается на 1. Это избавит нас от необходимости вручную вводить код преподавателя и автоматически обеспечит отсутствие повторений. Поле Преподаватель – текстовое, размер поля – 100 знаков. В поле будем вести список преподавателей (Фамилия, Имя, Отчество). (Рис. 5.6).

Рисунок 5.6. Таблица «Преподаватели» в Конструкторе.

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

Свойства поля «Группа»

Выделите поле «Группа». Перейдите на вкладку Подстановка в разделе Свойства поля и убедитесь, что Тип элемента управления – Поле (рис. 5.7). Для удобства ввода данных в поле «Группа» таблицы «Студенты» нам надо будет изменить это свойство на Поле со списком. Удобно это сделать с помощью Мастера подстановок.

Поле со списком «Группа» таблицы «Студенты»

Поле «Группа» таблицы «Студенты» преобразуем в Поле со списком с помощью Мастера подстановок. Для этого надо открыть таблицу «Студенты» в режиме Конструктора, выделить поле «Группа», выбрать тип данных "Мастер подстановок". Далее, действуя по инструкциям мастера, надо выбрать таблицу «Группы», а в ней выбрать связываемое поле «Группа». Сделайте это самостоятельно. В результате поле «Группа» таблицы «Студенты» будет преобразовано в поле со списком. Это можно увидеть на вкладке Подстановка раздела Свойства поля (рис. 5.8).

Рисунок 5.8. Таблица «Студенты» в Конструкторе. Вкладка «Подстановка» поля со списком «Группа».

Переключитесь в режим таблицы и посмотрите, как работает поле со списком «Группа» в таблице «Студенты». Теперь при вводе данных в поле «Группа» открывается список значений, который берется из поля «Группа» таблицы «Группы». Это значительно облегчает работу по вводу данных и снижает риск ошибок (рис. 5.9).

Рисунок 5.9. Таблица «Студенты». Использование поля со списком «Группа».

Ввод данных в таблицу «Студенты»

Заполните подчиненную таблицу «Студенты», связанную с главной таблицей «Группы», данными. Данные нужно вводить построчно (запись за записью), как в реальной жизни. Не надо копировать данные, это может привести к ошибкам. Добавьте в эту таблицу данные о себе.

5.8. Подчиненная таблица «Успеваемость». Мастер подстановок

Создадим подчиненную таблицу «Успеваемость». Включим в неё следующие поля: №зачетки, Семестр, Дисциплина, ФормаКонтроля, Оценка, Дата и Преподаватель. В этой таблице не будем задавать ключевые поля (рис. 12). Эта таблица будет связана сразу с несколькими, главными для неё, таблицами.

Рисунок 5.10. Таблица «Успеваемость» в Конструкторе.

Поставим следующие задачи по организации ввода информации в таблицу «Успеваемость»:

1. Номер зачетки брать из таблицы «Студенты»,

2. Номер семестра брать из заранее заготовленного списка значений,

3. Название учебной дисциплины брать из таблицы «Дисциплины»,

4. Название формы контроля знаний брать из таблицы «ФормаКонтроля»,

5. Название оценки брать из таблицы «Оценки»,

6. Код преподавателя брать из таблицы «Преподаватели».

Для этого нам потребуется преобразовать соответствующие поля таблицы «Успеваемость» в поля со списком. Такое преобразование удобно делать с помощью Мастера подстановок.

Поля со списками «Дисциплины», «ФормаКонтроля», «Оценки» таблицы «Успеваемость»

С помощью Мастера подстановок самостоятельно преобразуйте поля «Дисциплина», «ФормаКонтроля», «Оценка» таблицы «Успеваемость» в поля со списками и организуйте связи между таблицей «Успеваемость» и таблицами «Дисциплины», «ФормаКонтроля», «Оценки».

Вопросы по теме «Таблицы»

1. Что такое таблица базы данных? Способы создания таблиц.

2. Что такое поле таблицы?

3. Что такое тип данных поля? Какие существуют типы данных?

4. Что такое свойства поля таблицы? Какие существуют свойства поля таблицы? Зависят ли свойства поля от типа данных поля?

5. Что такое ключевое поле? Для чего оно используется? Допустимо ли использовать несколько полей таблицы в качестве ключевого поля? Особенности ключевого поля с типом данных Счетчик?

6. Что такое запись таблицы?

7. Что такое поле записи?

8. Что такое ячейка таблицы?

9. Что такое значение поля записи?

10. Отличие режима таблицы от режима конструктора?

11. Что такое область выделения записей в таблице?

12. Что такое поле со списком в таблице? В чем преимущество его использования? Какие свойства подстановки поля со списком Вы знаете? Для чего они используются?

13. Как создать поле со списком в таблице с помощью Мастера подстановок? Как преобразовать поле со списком в таблице в обычное поле?

14. Как осуществляется сортировка и фильтрация записей?

СХЕМА ДАННЫХ

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

Откроем окно Схема данных (Работа с базами данных/Схема данных). Добавим в Схему данных все наши таблицы (Конструктор/Отобразить таблицу) (рис. 6.1).

Рисунок 6.1. Схема данных после создания полей со списками.

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

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

Чтобы удалить связь надо щелкнуть правой кнопкой мыши по линии связи и дать команду Удалить. Удалите связь между таблицами «Группы» и «Студенты» (рис 6.2).

Рисунок 6.2. Удаление связи по полю «Группа» между таблицами «Группы» и «Студенты» в схеме данных.

Чтобы создать связь надо навести указатель мыши на поле, нажать левую кнопку мыши и, удерживая её нажатой, протащить на соответствующее поле другой таблицы. Появится окно Изменение связей. Восстановите связь между таблицами «Группы» и «Студенты» (рис.6.3).

Рисунок 6.3. Создание связи по полю «Группа» между таблицами «Группы» и «Студенты».

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

Вопросы по теме «Схема данных»

1. Что такое Схема данных? Для чего она используется? Что такое список полей в схеме данных? Как связываются таблицы? Можно ли связывать таблицы уже заполненные значениями?

2. Что такое межтабличная связь? Какие существуют типы межтабличных связей? Что такое линия связи в схеме данных? Каковы требования к связываемым полям?

3. Что такое первичный ключ и внешний ключ?

4. Что такое главная и подчиненная таблица? Может ли главная таблица одновременно быть и подчиненной таблицей? Какова очередность заполнения главной и подчиненной таблиц? Чем это вызвано?

ЦЕЛОСТНОСТЬ ДАННЫХ

Обеспечение целостности данных нам нужно для того, чтобы одна и та же информация в связанных таблицах была представлена одинаково. Например, человек может при вводе ошибиться и ввести в одном случае код группы 1721, а в другом код группы 1721_. Это разные коды с точки зрения Access. Обеспечение целостности страхует нас от таких ошибок.

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

Рисунок 7.1. Окно «Изменение связей». Включено Обеспечение целостности.

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

Рисунок 7.2 Схема данных с обеспечением целостности.

У концов линий связи появятся знаки "1" и "∞". Таблицы на стороне "1" называются главными, а на стороне "∞" – подчиненными или связанными. Например, таблица «Группы» – главная, а таблица «Студенты» – подчиненная. Тип связи между ними "один-ко-многим". Это обозначает, что в одной группе может быть много студентов, а может и ни одного. Бывают еще типы связи "один-к-одному" и "многие-ко-многим". Например, таблица «Успеваемость» обеспечивает связь "многие-ко-многим". Один студент сдает экзамены по многим дисциплинам, одну дисциплину сдают многие студенты.

Правила целостности

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

 «Группа» таблицы «Студенты») будет содержать только те значения, которые ранее были введены в соответствующий первичный ключ.

Самостоятельно проверьте, как работает Обеспечение целостности. Для этого, надо открыть какую-нибудь таблицу, например «Группы», и попробовать изменить или удалить код какой-нибудь группы. Если у этой группы есть подчиненные записи в таблице Студенты, то Access не позволит нам это сделать. Действительно, как же можно удалять группу, если в ней есть студенты. А вот если студентов в группе нет, тогда можно и удалить код группы, и изменить его. А теперь откроем подчиненную таблицу «Студенты» и попробуем изменить код группы у какого-либо студента, если такой группы нет в главной таблице Группы, то Access не позволит нам это сделать, в то же время перевести студента из одной группы в другую можно. Поэкспериментируйте.

Вопросы по теме «Целостность данных»

1. Что такое межтабличная связь? Какие существуют типы межтабличных связей? Что такое линия связи в схеме данных? Каковы требования к связываемым полям?

2. Что такое первичный ключ и внешний ключ?

3. Что такое главная и подчиненная таблица? Может ли главная таблица одновременно быть и подчиненной таблицей? Какова очередность заполнения главной и подчиненной таблиц? Чем это вызвано?

4. Что такое целостность данных? Для чего она используется? Проанализируйте схему данных. Как конкретно обеспечивается целостность данных для связанных таблиц?

5. Что такое Каскадное обновление связанных полей?

6. Что такое Каскадное удаление связанных записей?

7. Почему надо тщательно продумать и создать схему базы данных до ввода данных в таблицы?

ЗАПРОСЫ

Запросы используются для выборки данных из таблиц или других запросов, для изменения данных, для вычислений. В меню "Создание" представлены два основных способа создания запросов: Мастер запросов и Конструктор запросов. При создании запроса появится меню Конструктор, в котором можно указать тип запроса. Существует несколько типов запросов: "Выборка" (тип запроса по умолчанию), "Создание таблицы", "Добавление", "Обновление", "Удаление" и др. Есть несколько режимов просмотра запроса, основными режимами являются "Режим таблицы" и "Конструктор".

Запрос на выборку

С помощью Мастера запросов (Простой запрос) создайте запрос на выборку. Включите в запрос две таблицы «Группы» и «Студенты», выберите в запрос поля Группа, №Зачетки, Фамилия, Имя (рис. 8.1). Сохраните запрос с именем "Список студентов". Проверьте запрос в работе.

Рисунок 8.1. Запрос на выборку.

Запрос с параметром

С помощью Конструктора запросов создайте запрос с параметром на выборку студентов указываемой группы. Включите в запрос две таблицы «Группы» и «Студенты», выберите в запрос

поля Группа, №Зачетки, Фамилия, Имя. В условии отбора по полю «Группа» введите подходящий текст в квадратных скобках, например, [Введите группу] (рис. 8.2). Проверьте запрос в работе.

Рисунок 8.2. Запрос с параметром.

Запрос «без подчиненных»

С помощью Мастера запросов (запрос "без подчиненных") узнайте, в каких группах нет студентов. У нас в группе с кодом 9999 нет студентов. Выполните запрос, он покажет группу, в которой нет студентов. Обратите внимание, что по полю «Группа» в условии отбора Мастер запросов поставил выражение Is Null (рис. 8.3.

Рисунок 8.3. Запрос без подчиненных.

Перекрестный запрос

С помощью Мастера запросов (перекрестный запрос), на основе предварительно специально нами подготовленного запроса "Успеваемость студентов", постройте перекрестную таблицу со сведениями об успеваемости студентов по учебным дисциплинам. Этот запрос должен показать нам в качестве заголовков строк - Дисциплины, в качестве заголовков столбцов - Фамилии, а на пересечении строк и столбцов - оценки. В конструкторе наш перекрестный запрос будет выглядеть примерно так (рис. 8.5).

Рисунок 8.5. Перекрестный запрос в Конструкторе.

Выполните запрос. Должно получиться примерно так (рис. 8.6).

Рисунок 8.6. Перекрестный запрос.

Вопросы по теме «Запросы»

1. Что такое запрос на выборку? Способы создания запросов.

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

3. Режимы работы с запросом: Режим таблицы, Сводная таблица, Сводная диаграмма, Режим SQL, Конструктор.

4. Бланк запроса? Для чего он используется? Можно ли изменять межтабличные связи в бланке запроса?

5. Источник данных для запроса? Позволяет ли запрос использовать в качестве источника данных другие запросы, несколько таблиц или запросов?

6. Что такое условие отбора для поля в запросе?

7. Что такое запрос с параметром?

8. Что такое перекрестный запрос?

9. Какую информацию позволяет получить "Запрос без подчиненных"?

10. Какую информацию позволяет получить "Запрос Повторяющиеся записи"?

Запрос с группировкой

Создадим в Конструкторе запрос с группировкой для подсчета количества студентов в группах. Включим в запрос таблицы «Группы» и «Студенты». Из них выберем два поля «Группа» и «№Зачетки». Далее надо показать в запросе строку Групповая операция, которая обычно скрыта. Для этого можно в меню Конструктор нажать кнопку Итоги. В строке Групповая операция для поля «Группа» задать функцию Группировка, а для поля «№Зачетки» - функцию Count, что обозначает количество. Таким способом можно производить группировку и подсчет количества записей в запросах (рис. 9.1).

Рисунок 9.1. Запрос с группировкой.

Выполните запрос. Результат на рис. 9.2.

Рисунок 9.2. Результат выполнения запроса с группировкой.

Запрос с вычисляемым полем

Создадим в Конструкторе запрос с вычисляемым полем, в котором отображается Фамилия и инициалы (рис. 9.4).

Рисунок 9.4. Запрос с вычисляемым полем.

Добавим в запрос таблицу «Студенты». В поле введем выражение: ФИО: [Студенты]![Фамилия] & " " & Left([Студенты]![Имя];1)

Поясним, что обозначает это выражение.

ФИО - это название вычисляемого поля, оно заканчивается двоеточием. [Студенты]![Фамилия] - это поле Фамилия из таблицы Студенты. & - это символ конкатенации, он объединяет текстовые строки. " " - это пробел в двойных кавычках. Left([Студенты]![Имя];1) - это встроенная функция Left.

У функции два аргумента: первый – поле Имя из таблицы Студенты, второй – число 1, которое указывает, сколько символов взять из имени, считая слева. То есть эта функция вернет нам первую букву имени.

Построитель выражений

Для записи таких выражений лучше всего использовать Построитель выражений. Для вызова Построителя можно щелкнуть правой кнопкой мыши по вычисляемому полю в запросе и выполнить команду Построить. Появится окно Построитель выражений (рис. 9.5).

Рисунок 9.5. Построитель выражений.

Раскройте таблицы по знаку плюс, выберите таблицу «Студенты», выберите поле «Фамилия» и нажмите кнопку «Вставить» (рис. 9.6).

Рисунок 9.6. Построение выражения [Студенты]![Фамилия].

Введите знак конкатенации &, нажав соответствующую кнопку на панели инструментов Построителя выражений, затем введите вручную пробел в двойных кавычках “ “, введите ещё один знак & (рис. 9.7).

Рисунок 9.7. Панель инструментов Построителя выражений. Добавление пробела &” “&

Выберите «Встроенные функции», затем категорию «Текстовые», затем функцию Left. Нажмите кнопку «Вставить» (рис. 9.8).

Рисунок 9.8. Вставка функции Left в Построителе выражений.

У функции Left заменим первый аргумент «stringexpr» на выражение [Студенты]![Имя], для этого выделим первый аргумент, затем выберем таблицу «Студенты, выберем поле «Имя» и нажмем кнопку «Вставить» (рис. 9.9).

Рисунок 9.9. Замена первого аргумента функции Left на выражение [Студенты]![Имя].

Вручную удалите текст «Выражение», а вместо второго аргумента «n» введите цифру 1. Окончательный вид построенного выражения на рис. 9.10.

Рисунок 9.10. Окончательный вид построенного выражения в Построителе выражений.

Нажмите кнопку ОК. Построенное выражение появится в вычисляемом поле в виде:

Выражение1: [Студенты]![Фамилия] & " " & Left([Студенты]![Имя];1)

Остается только заменить текст «Выражение1» на «ФИО». Запрос с вычисляемым полем построен. Проверьте его в работе.

Вопросы по теме «Вычисления в запросах»

1. Что такое условие отбора для поля? Выражение в условии отбора. Условия отбора с логическими операторами And и Or?

2. Что такое вычисляемое поле в запросе?

3. Что такое выражение?

4. Что такое Построитель выражений? Как им пользоваться?

5. Как провести сортировку записей в запросе?

6. Как провести группировку записей в запросе и подсчитать количество записей?

ФОРМЫ

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

Форма «Студенты»

С помощью Мастера на основе таблицы Студенты создайте форму для ввода персональных данных о студенте. Отформатируйте форму по своему вкусу. Добавьте в форму фото. Дайте форме имя «Студенты» (рис. 10.1).

Рисунок 10.. Форма «Студенты».

Форма «Успеваемость»

Создадим форму для учета успеваемости студентов. С помощью Мастера форм создадим форму с подчиненными формами на основе трех таблиц: "Группы", "Студенты", "Успеваемость", выбирая из этих таблиц необходимые поля (рис. 10.2). Дайте форме имя «Успеваемость».

Рисунок 10.2. Форма «Успеваемость».

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

Опробуйте работу с формой: просмотрите информацию по группе, по студенту, добавьте новую группу, нового студента, добавьте данные о своей успеваемости.

Элементы управления в форме

В форму можно вставлять элементы управления для удобства работы. На рисунке 10.2 в форме «Успеваемость» есть кнопка "Персональные данные студентов". Она создана для перехода в форму «Студенты». Создадим и мы такую кнопку.

Откройте форму «Успеваемость» в Конструкторе. Проверьте, что в меню Конструктор нажата кнопка "Использовать мастера", она поможет нам в создании кнопки (рис. 10.3).

Рисунок 10.3. Элементы управления в меню Конструктор.

Нажмите элемент Кнопка и проведите мышкой там, где планируете создать кнопку. Откроется Мастер создания кнопок, которому надо указать, что мы хотим открыть форму «Студенты». Форма «Успеваемость» в Конструкторе представлена на рис. 10.4.

Рисунок 10.4. Форма «Успеваемость» в Конструкторе.

Обратите внимание на структуру формы в режиме конструктора. Форма состоит из разделов: Заголовок и Примечание формы, Колонтитулы страницы, Область данных. В разделах Заголовок и Примечание формы отображается общая информация для всей формы, в колонтитулах страницы отображается информация для страницы (если форма состоит из страниц), в разделе Область данных отображаются собственно данные.

Перейдите в режим формы и опробуйте кнопку "Персональные данные студентов".

Вопросы по теме «Формы»

1. Что такое форма ввода-вывода? Для чего используются формы? Преимущества использования форм по сравнению с таблицами?

2. Способы создания форм: Мастер форм, Конструктор форм?

3. Режимы работы с формами: Режим формы, Режим макета, Режим Конструктор?

4. Разделы формы: Заголовок и примечание, Колонтитулы, Область данных.

5. Элементы управления в форме.

6. Страница свойств формы и её элементов. Свойство Источник записей формы?

7. Список полей формы?

8. Что такое подчиненная форма?

ОТЧЕТЫ

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

Отчет Студенты

С помощью Мастера отчетов создайте отчет на основе таблицы "Студенты", включив в отчет поля №зачетки, Фамилия, Имя, Отчество, Группа. Добавьте уровень группировки по полю «Группа». Задайте сортировку по фамилии, имени, отчеству. Отчет будет примерно как на рис. 11.1.

Рисунок 11.1. Отчет «Студенты», сделанный с помощью мастера.

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

Рисунок 11.2. Отчет «Студенты» в режиме просмотра.

Форматирование отчета «Студенты» в режиме макета

Откройте отчет «Студенты» в режиме макета. В меню Формат нажмите кнопку Группировка. Внизу макета отчета появится раздел Группировка, сортировка и итоги (рис. 11.3).

Рисунок 11.3. Отчет «Студенты» в режиме макета. Группировка, сортировка и итоги.

Сгруппируйте записи по группам студентов, подсчитайте количество студентов по группам, подсчитайте общее количество студентов, отсортируйте записи по фамилии, имени, отчеству.

Форматирование отчета «Студенты» в Конструкторе

Откройте отчет Студенты в режиме конструктора (рис. 11.4).

Рисунок 11.4. Отчет «Студенты» в Конструкторе.

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

Выделите свободное поле, затем откройте Страницу свойств свободного поля и на вкладке Данные укажите (рис. 11.5): Данные =1; Сумма с накоплением Для группы.

Рисунок 11.5. Страница свойств поля, вкладка Данные.

Результат форматирования должен выглядеть примерно как на рис. 11.6.

Рисунок 11.6. Отчет «Студенты» в Конструкторе с нумерацией студентов внутри групп.

Отчет «Успеваемость»

С помощью Мастера отчетов на основе таблиц "Студенты" и "Успеваемость" создайте отчет "Успеваемость студентов" примерно как на рис. 11.7.

Рисунок 11.7. Отчет «Успеваемость студентов».

Отформатируйте отчет в режиме макета:

1) Задайте группировку по Группе, №зачетки, Семестру, Форме контроля.

2) Задайте сортировку по Дисциплине.

Вопросы по теме «Отчеты»

1. Что такое отчет? Способы создания отчетов: Мастер отчетов, Конструктор отчетов.

2. Режимы работы с отчетом: Представление отчета, Предварительный просмотр, Режим макета, Конструктор.

3. Разделы отчета: Заголовок, Примечание, Заголовок группы, Примечание группы, Верхний колонтитул, Нижний колонтитул, Область данных.

4. Что такое свободное поле и вычисляемое поле в отчете? Для чего используются?

5. Как пронумеровать страницы отчета?

6. Как сортировать записи в отчете?

7. Как сгруппировать записи в отчете? Как сделать несколько уровней группировки записей в отчете?

8. Как пронумеровать записи в отчете? Как пронумеровать записи внутри группы в отчете?

9. Как подсчитать количество записей в отчете? Как подсчитать количество записей внутри группы в отчете? В каком разделе отчета следует поместить вычисляемое поле для подсчёта количества записей в группе?

10. Что делать если появляется предупреждение, что некоторые данные в отчете могут не выводиться?

11. Какие элементы управления могут быть добавлены в отчет? Как отличить элемент Надпись от элемента Поле в макете отчёта?

Управляющая форма

Наша задача – быстро и удобно получить список студентов выбранной группы.

Запрос «Студенты группы»

Чтобы сформировать список студентов создайте запрос на основе таблицы "Студенты". Включите в запрос следующие поля: Группа, №зачетки, Фамилия, Имя, Отчество. Дайте запросу имя "Студенты группы" (рис. 12.1).

Рисунок 12.1. Запрос «Студенты группы» в Конструкторе.

Этот запрос покажет нам студентов всех групп. Чтобы выбрать студентов определенной группы, надо задать условие отбора по полю «Группа». Можно сделать запрос с параметром, например, записать в условии отбора по полю «Группа» выражение [Введите код группы]. Но это не очень удобно, надо помнить код группы и правильно его ввести. Удобнее сделать управляющую форму, в которой создать поле со списком, которое поможет нам выбрать код группы из таблицы «Группы». Этот код группы надо будет подставить в условие отбора. Покажем, как это можно сделать.

Форма «Управляющая»

С помощью Конструктора форм создайте свободную (пустую) форму. Сохраните её, дав её имя "Управляющая". В управляющей форме создайте поле со списком, которое будет использовать значения из поля «Группа» таблицы «Группы», а также создайте кнопку для открытия запроса "Студенты группы" (рис. 12.2).

Рисунок 12.2. Форма «Управляющая». Поле со списком «Группа». Кнопка «Студенты группы».

Выделите поле со списком и на странице свойств дайте ему имя "Выберите группу" (рис. 12.3).

Рисунок 12.3. Задание имени полю со списком.

Организация связи управляющей формы с запросом «Студенты группы»

В запросе "Студенты группы" в условии отбора для поля "Группа" (рис.12.4) с помощью Построителя выражений создайте ссылку на поле со списком "Выберите группу" из формы "Управляющая":

=[Forms]![Управляющая]![Выберите группу]

Рисунок 12.4. Организация связи формы «Управляющая» с запросом «Студенты группы».

Проверьте работу управляющей формы. Для этого откройте форму «Управляющая», выберите какую-либо группу с помощью поля со списком «Группа», нажмите кнопку «Студенты группы». Откроется запрос со списком студентов выбранной группы.

Самостоятельная работа

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

Рисунок 12.5. Пример управляющей формы базы данных «Успеваемость студентов».

Вопросы по теме Управляющая форма

1. Что такое управляющая форма? Преимущества использования управляющих форм?

2. Что такое свободная форма? Что такое свойство Источник записей формы?

3. Что такое элемент управления? Какие элементы можно поместить в форму?

4. Элементы управления: Надпись, Кнопка, Поле, Поле со списком. Их назначение? Что такое присоединенное поле и свободное поле, в чем их отличие? Можно ли использовать свободное поле для вычислений?

5. Кнопка Использовать мастера? Для чего используется?

6. Что такое страница свойств? Свойства элементов управления: свойство Имя, свойство Данные.

7. Разделы формы: Заголовок и примечание формы, Колонтитулы, Область данных.

8. Список полей формы?

9. Как организовать связь управляющей формы с запросом?

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

1. Системы управления базами данных. Назначение, возможности.

2. Базы данных. Назначение. Преимущества.

3. Понятие реляционной базы данных. Её преимущества.

4. Основные этапы проектирования баз данных.

5. Объекты базы данных, их назначение и взаимосвязь.

6. Таблица. Её структурные элементы. Способы создания и работы с ней.

7. Поле таблицы. Типы данных поля. Свойства поля.

8. Понятие ключевого поля.

9. Поле со списком в таблице. Свойства поля со списком.

10. Запись в таблице. Сортировка и фильтрация записей в таблице.

11. Схема данных. Нарисуйте схему данных и поясните, что на ней изображено.

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

13. Связи между таблицами. Типы связей.

14. Главная и подчиненная таблицы. Очередность их заполнения

15. Целостность данных. Преимущества целостной базы данных.

16. Запрос. Типы запросов. Конструирование запроса.

17. Сортировка и отбор записей в запросе. Построитель выражений.

18. Вычисления в запросе. Вычисляемые поля в запросе. Построитель выражений.

19. Условия отбора в запросе. Формирование запросов с операциями AND и OR.

20. Сортировка и группировка записей в запросе.

21. Форма. Назначение. Структура формы. Способы создания. Работа с формой.

22. Элементы управления, используемые в форме. Построитель выражений.

23. Отчет. Структура отчета. Способы создания и форматирования.

24. Нумерация записей в отчете.

25. Группировка и сортировка записей в отчете.

26. Элементы управления, используемые в отчете. Построитель выражений.

27. Управляющая форма. Назначение. Свойство Источник записей формы.

28. Элементы управления, используемые в управляющей форме. Построитель выражений.

29. Защита информации в базе данных.

КОНТРОЛЬНЫЕ ЗАДАНИЯ

Задание 01

Создать базу данных "Расписание занятий". Календарь на семестр. Расписание пар. Аудитории. Группы студентов. Учебные дисциплины и количество аудиторных часов в семестре. Преподаватели. Подсчитать количество часов для групп по дисциплинам, для преподавателей по дисциплинам, для аудиторий. Показать расписание для группы, для преподавателя, для аудитории.

Задание 02

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

Задание 03

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

Задание 04

Создать базу данных "Учебные планы" Список дисциплин. Список специальностей. Список семестров. Количество часов (всего, лекции, практикум, самработа) на дисциплину в семестре. Формы контроля (зачет, дифзачет, экзамен). Учебный план по специальностям на все семестры.

Задание 05

Создать базу данных "Сотрудники". Университет состоит из нескольких отделов. Имеется список сотрудников университета. Известен уровень образования сотрудников. Известны даты рождения, адреса и телефоны сотрудников. Справки и отчеты о количестве сотрудников в целом по университету, в каждом отделе, а также количество сотрудников с высшим или средним образованием. По запросу представить список сотрудников выбранного отдела, список сотрудников из выбранного населенного пункта (с телефонами и адресами). Конкретному сотруднику выдать отчет-поздравление с днем рождения.

Задание 06

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

Задание 07

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

Задание 08

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

Задание 09

Создать базу данных "Издательский отдел". Издательский отдел издает учебные материалы преподавателей университета. Ведется список преподавателей института, список кафедр института. Каждый преподаватель входит в состав какой-либо кафедры. Ведется перечень изданных учебных материалов с указанием названия, авторов, года издания, количества страниц. Учебные материалы подразделяются по типам (учебники, учебные пособия, конспекты лекций, практикумы и т.д.) и по учебным дисциплинам (математика, информатика, социология и т.д.). Учет авторов, кафедр, изданий. Перечень изданий, сгруппированный по кафедрам и учебным дисциплинам. Количество изданий кафедр и института за год, за последние 5 лет. Перечень и количество изданий по типам учебных материалов за определенный период. Перечень и количество изданий автора за определенный период.

Задание 10

Создать базу данных "Информационный отдел". Информационный отдел накапливает и хранит электронные учебные материалы (издания) преподавателей университета. Ведется список преподавателей, список кафедр университета. Каждый преподаватель входит в состав какой-либо кафедры. Ведется перечень электронных учебных материалов с указанием названия, авторов, года издания. Электронные учебные материалы подразделяются по типам (учебники, практикумы, тесты и т.д.), по учебным дисциплинам (математика, информатика, социология и т.д.). Учет авторов, изданий. Перечень изданий, сгруппированный по кафедрам и учебным дисциплинам. Количество изданий кафедр и университета, за год, за последние 5 лет. Перечень и количество изданий по типам учебных материалов за определенный период. Перечень и количество изданий автора за определенный период.

ЗАКЛЮЧЕНИЕ

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


 


СПИСОК ЛИТЕРАТУРЫ

1. Скачать пробную 60-дневную полнофункциональную версию MS Office 2013 (с Access)

2. Учебный курс MS Access 2013 от Microsoft (видео)

3. Основные сведения о создании баз данных. Справка Access 2007.

4. Видеоуроки Microsoft Access 2012.

5. Базы данных. С.Д. Кузнецов. Академия, Серия: Университетский учебник, 2012 г.

6. Кошелев В.Е. Access 2007. – М.: ООО «Бином-Пресс», 2008 г. – 592 с.

7. Геннадий Гурвиц. Microsoft Access 2010. Разработка приложений на реальном примере. BHV, 2010. – 462 с.

8. Введение в системы баз данных, 8-е издание. Дейт К. Д.: Пер. с англ. — М.: Издательский дом "Вильямс", 2005.

9. Основы баз данных. Илья Тетерин. Видеолекции. 2012.

10. Нереляционные базы данных. К.Ю. Поляков. Журнал "Информатика" №6 2013.

11. Базы данных. Учебное пособие. Кабанов В.А. Сергиев Посад 2005.

12. Практикум Access 2003. Кабанов В.А. Сергиев Посад 2006

13. Мастер-самоучитель Microsoft Access 2002, В. Михеева и др., Alex Soft, М., 2002

 

УТВЕРЖДАЮ

и.о. Зав. кафедрой ПИ

______________/В.А. Макаров/

«___»__________20__

 

ПРАКТИКУМ ПО ДИСЦИПЛИНЕ

ИНФОРМАЦИОННЫЕ СИСТЕМЫ и БАЗЫ ДАННЫХ

(наименование дисциплины)

Направление подготовки

 

(код и наименование)

  Профиль  

(код и наименование)

 

Форма обучения

ОЧНАЯ

 

(очная, очно-заочная, заочная)

 

Программа подготовки

БАКАЛАВРИАТ

 

(академический, прикладной бакалавриат)

 

Квалификация выпускника

Бакалавр

 

               

 

 

Москва 2018


 


Содержание

1. Введение ...................................................................................................... 4

2. Основные понятия MS Access ................................................................... 4

3. Постановка задачи на разработку базы данных ...................................... 9

4. Запуск Microsoft Access ........................................................................... 10

5. Таблицы...................................................................................................... 11

5.1. Таблица «Группы» ................................................................................. 11

5.2. Таблица «Дисциплины» ......................................................................... 12

5.3. Таблица «ФормаКонтроля» ................................................................... 13

5.4. Таблица «Оценки» .................................................................................. 13

5.5. Таблица «Преподаватели» ..................................................................... 14

5.6. Подчиненные (связанные) таблицы ...................................................... 15

5.7 Подчиненная таблица «Студенты» ........................................................ 15

5.8 Подчиненная таблица «Успеваемость». Мастер подстановок ............ 17

5.9 Сортировка и фильтрация записей в таблицах ..................................... 26

5.10. Вопросы по теме «Таблицы» ............................................................... 27

6. Схема данных ............................................................................................. 28

6.1. Вопросы по теме «Схема данных» ....................................................... 30

7. Целостность данных .................................................................................. 30

7.1 Правила целостности .............................................................................. 31

7.2 Каскадное обновление связанных полей............................................... 32

7.3 Каскадное удаление связанных записей ............................................... 32

7.4 Вопросы по теме «Целостность данных» ............................................. 33

8. Запросы ....................................................................................................... 33

8.1. Запрос на выборку .................................................................................. 33

8.2. Запрос с параметром .............................................................................. 34

8.3. Запрос «без подчиненных» .................................................................... 34

8.4. Запрос «повторяющиеся записи» .......................................................... 35

8.5. Запрос на основе нескольких таблиц ................................................... 35

8.6. Перекрестный запрос.............................................................................. 36

8.7. Вопросы по теме «Запросы» ................................................................. 37

9. Вычисления в запросах. Построитель выражений. ................................ 37

9.1. Запрос с группировкой ........................................................................... 37

9.2. Запрос с условием отбора по полю с типом данных Дата .................. 38

9.3. Запрос с вычисляемым полем ............................................................... 39

9.4. Построитель выражений......................................................................... 39

9.5. Вопросы по теме «Вычисления в запросах» ........................................ 42

10. Формы………............................................................................................ 42

10.1. Форма «Студенты» …........................................................................... 43

10.2. Форма «Успеваемость» ........................................................................ 43

10.3. Элементы управления в форме ........................................................... 44

10.4. Вопросы по теме «Формы» ................................................................. 46

11. Отчеты ...................................................................................................... 46

11.1. Отчет Студенты .................................................................................... 46

11.2. Отчет «Успеваемость».......................................................................... 49

11.3. Вопросы по теме «Отчеты» ................................................................. 50

12. Управляющая форма................................................................................ 50

12.1. Запрос «Студенты группы» ................................................................. 50

12.2. Форма «Управляющая» ....................................................................... 51

12.3. Организация связи управляющей формы с запросом «Студенты группы»…………………………………………………………………………….. 52

12.4. Самостоятельная работа ...................................................................... 53

12.5. Вопросы по теме Управляющая форма .............................................. 53

13. Контрольные вопросы ............................................................................. 54

14. Контрольные задания .............................................................................. 55

15. Заключение ............................................................................................... 58

16. Список литературы .................................................................................. 59


 


ВВЕДЕНИЕ

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

От студентов требуется умение работать в операционной системе Microsoft Windows, а также в электронных таблицах Microsoft Excel. Практикум рассчитан на 10-12 аудиторных часов. Практикум может быть использован при преподавании дисциплин, связанных с информационными системами и технологиями. В результате выполнения практикума студент получит базовые знания и навыки по разработке и использованию баз данных.

ОСНВНЫЕ ПОНЯТИЯ MS Access

Система управления базами данных (СУБД) – программа для создания и использования баз данных.

База данных (БД) – хранилище данных некой предметной области, организованное для удобного накопления, быстрого поиска и обработки данных.

Объекты базы данных Access – таблицы, запросы, формы, отчеты, макросы и модули.

Таблица – множество строк (записей), содержащих данные, разнесенные по поименованным столбцам (полям).

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

Тип данных – характеристика поля, определяющая тип данных, который может содержать это поле. Существуют следующие типы данных: текстовый, числовой, дата/время, денежный, логический, счетчик, гиперссылка, MEMO, OLE и др.

Свойства поля — это набор характеристик, обеспечивающих дополнительные возможности управления хранением, вводом и отображением данных в поле. Перечень доступных свойств зависит от типа данных поля. Например, есть такие свойства, как: Размер поля, Обязательное поле, Условие на значение и др.

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

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

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

Запись – строка таблицы. Каждая запись таблицы содержит сведения о каком-либо конкретном объекте предметной области.

Поле записи – пересечение строки и столбца (ячейка таблицы).

Значение поля записи – содержимое соответствующей ячейки таблицы.

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

Свойства подстановки поля со списком: Свойство «Источник строк» содержит имя таблицы, из которой берутся данные для поля со списком. Свойство «Присоединенный столбец» содержит номер столбца указанной таблицы. Столбцы нумеруются слева направо, начиная с единицы.

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

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

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

Линия связи – линия, соединяющая ключевое поле главной таблицы и внешний ключ подчиненной таблицы. Если включено обеспечение целостности, то у концов линии появляются символы, показывающие тип связи (1 ко многим, или 1:1).Типы межтабличных связей: "один-к-одному", "один-ко-многим", "многие-ко-многим".

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

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

Главная и подчиненная таблица: если таблицы связаны связью «один-ко-многим», то таблица на стороне «один» называется главной, а на стороне «многие» – подчиненной таблицей. Первичный ключ главной таблицы связан с внешним ключом подчиненной таблицы. Если таблицы связаны связью «один-к-одному», то левая таблица в окне "Изменение связей" называется главной, а правая - подчиненной (связанной) таблицей.

Целостность данных – правила, которые СУБД автоматически соблюдает при вводе и удалении значений в связанных полях таблиц. Обеспечение целостности данных можно включить либо отключить при создании связи в схеме данных. Правила целостности:

1. первичный ключ должен содержать уникальные непустые значения,

2. внешний ключ должен содержать только те значения, которые уже имеются среди значений первичного ключа. Из этого следует:

- нельзя вводить во внешний ключ значения, которых нет в первичном ключе,

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

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

Каскадное обновление связанных полей: для автоматического обновления значений внешнего ключа в подчиненной таблице при изменении значения первичного ключа в главной таблице, установите флажки «Обеспечение целостности данных» и «Каскадное обновление связанных полей». Для предотвращения изменений значения первичного ключа в главной таблице, если существуют связанные записи в подчиненной таблице, установите флажок «Обеспечение целостности данных» и снимите флажок «Каскадное обновление связанных полей».

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

Фильтр – набор условий, применяемых для отбора или сортировки записей.

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

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

·  Числа вводятся без ограничителей, например, 21

·  Текст заключается в кавычки, например «Иванов»

·  Даты ограничиваются символами #, например, #10/01/99#

Операторы, используемые в выражениях:

· - арифметические: *, +, -, /,^;

· - сравнения: <, <=, >, >=, =, < >;

· - логические: And (И), Not (Нет), Or (Или);

· - Like — для нахождения части значения поля;

· - In - для определения, содержится ли элемент данных в списке значений;

· Between… And - для выбора значений из определенного интервала.

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

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

Свободная форма – форма, для которой не указан источник данных. Используется для построения управляющих форм.

Элемент управления. – Объект графического интерфейса пользователя (такой как поле, флажок, полоса прокрутки или кнопка), позволяющий пользователям управлять приложением. Элементы управления используются для отображения данных или параметров, для выполнения действий, либо для упрощения работы с интерфейсом пользователя.

Присоединенное поле – текстовое поле в форме, в котором отображается информация из поля текущей записи таблицы или запроса, на основе которых построена форма.

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

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

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

Запрос на обновление – средство обновления устаревших данных в таблице.

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

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

Запрос на создание таблицы – средство создания новой таблицы на основе существующих таблиц.

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

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

Вычисляемое поле – поле, определенное в запросе для вычисления выражения для каждой записи с использованием данных из одного или нескольких полей.

Построитель выражений – средство, позволяющее автоматизировать построение сложных выражений.

Отчет – объект базы данных, обеспечивающий формирование печатных документов на основе информации из базы данных.

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

Связь между формой и запросом может быть организована так:

- В форме создать свободное поле (или поле со списком)

- В запросе в условии отбора сделать ссылку на это поле

- В форме сделать кнопку для запуска этого запроса

Связь между формой и отчетом можно установить так:

- Создать отчёт на основе запроса

- В форме создать свободное поле (или поле со списком)

- В запросе в условии отбора использовать ссылку на поле (или поле со списком), расположенное в форме

- В форме создать кнопку для открытия отчета.

Дата: 2019-03-05, просмотров: 575.