Упражнение 2. Запрос на выборку
Тема: «Проектирование и создание реляционной базы данных средствами MS Access XP. Создание запросов на выборку, запроса с параметром средствами MS Access XP».
Цель работы:Разработка и создание базы данных на примере предметной области – учебного процесса вуза. Разработка и создание запросов на выборку и запроса с параметром.
База данных- это совокупность сведений о конкретных объектах реального мира, в какой – либо предметной области или разделе предметной области.
Реляционная структура – это совокупность таблиц , связанных между собой определенными отношениями и предназначенных для хранения данных.(ПР – ученический журнал)
Основные объекты БД.
1. таблицы – основные объекты БД, в которых хранятся данные.
2. запросы – специальные структуры для поиска, обработки и выборки информации.
3. формы – предназначены для ввода в БД новых данных и просмотра имеющихся.
4. отчеты – служат для представления данных в печатном виде и так далее.
Одним из основных объектов БД являются таблицы. В таблицах элементы данных взаимосвязаны между собой в соответствующих строках и столбцах. Строки таблицы соответствуют данным об одном объекте, информация о котором хранится в БД и называются записями (record). Столбцы называются полями (fields) .Поля образуют структуру БД, а записи , представляют информацию, содержащуюся в ней. Полям задаются свойства, от которых зависит какие типы данных, могут быть внесены в поле, а какие нет, какие операции можно совершать над данными, а какие нет. Для облегчения работы с БД используются СУБД.
СУБД – это специальные пакеты программ, обеспечивающих ввод, поиск, хранение, пополнение, корректировку данных, формирование отчетов и ответов на запросы пользователей БД. СУБД также обеспечивает сохранность и перемещение данных, а также возможность их использования с другими программными средствами. Наиболее популярные СУБД: Microsoft Access, FoxPro, Paradox.
Пусть необходимо построить базу данных, содержащую информацию об учебном процессе текущего семестра. База данных будет включать в себя таблицы: Студенты, Итоги, Практика и Стипендия, а так же запросы, выводящий по коду студента его итоговую оценку и запрос, отображающий студентов проживающих в городе Воронеже.
Упражнение 1 Создание базы данных, ввод данных в таблицы:
1. Для того чтобы создать базу данных необходимо открыть программу Microsoft Access и выбрать в ней создание нового файла, которому присвоить имя Студенты, рис. 1.
Рис. 1. Создание файла новой базы данных
2. В открывшемся диалоговом окне базы данных, рис. 2, выбрать создание таблицы в режиме Конструктора и создать первую таблицу Студенты, рис.3 со следующими полями:
Имя поля | Тип данных | Свойство поля |
Код учащегося | Счетчик | |
Фамилия | Текстовый | Размер поля - 45 |
Имя | Текстовый | |
Отчество | Текстовый | |
Дата рождения | Дата/время | |
Возраст | Числовой | Значение по умолчанию - 18 |
Телефон | Текстовый | |
Адрес | Текстовый | Условие на значение – «Воронеж или Воронежская область»; |
Рис. 2 Окно базы данных
Рис..3 Таблица Студенты в режиме Конструктора
3. Аналогичным образом создаются в режиме Конструктора таблицы Итоги, Практика, Стипендия.
Структура таблицы Итоги:
Имя поля | Тип данных | Свойство поля |
Код учащегося | Счетчик | |
Фамилия | Текстовый | |
Имя | Текстовый | Размер поля - 20 |
Отчество | Текстовый | |
Итоговая оценка | Числовой | Значение по умолчанию - 4 |
4. Поле Код учащегося сделаем ключевым.
Структура таблицы Практика: Структура таблицы Стипендия:
Имя поля | Тип данных |
Код учащегося | Счетчик |
Фамилия | Текстовый |
Имя | Текстовый |
Отчество | Текстовый |
Предприятия прохождения практики | Текстовый |
Адрес предприятия | Текстовый |
Имя поля | Тип данных |
Код учащегося | Счетчик |
Фамилия | Текстовый |
Имя | Текстовый |
Отчество | Текстовый |
Сумма | Денежный |
Объявление первичного ключа обеспечивает уникальность строк и препятствует вводу повторяющихся блоков данных. Это поле не может содержать одинаковую величину в двух различных записях. Ключевое поле помогает Microsoft Access наиболее активно организовать поиск, хранение и объединение данных. В Microsoft Access можно выделить три типа ключевых полей: счетчик, простой ключ и составной ключ. Указание поля счетчика в качестве ключевого является наиболее простым способом создания ключевых полей. Если до сохранения созданной таблицы ключевые поля не были определены, то при сохранении будет выдано сообщение о создании ключевого поля. При нажатии кнопки Да будет создано ключевое поле счетчика. Ключевое поле Счетчик автоматически упорядочивает записи по возрастанию.
Простой ключопределяется полем, содержащим уникальные значения, такие как коды или инвентарные номера. Ключевое поле не может содержать повторяющиеся или пустые значения. Если устранить повторы путем изменения значений невозможно, то следует либо добавить в таблицу поле счетчика и сделать его ключевым, либо определить составной ключ.
В случаях, когда невозможно гарантировать уникальность значений каждого поля, существует возможность создать составной ключ, состоящий из нескольких полей. Чаще всего такая ситуация возникает для таблицы, используемой для связывания двух таблиц в отношении «многие-ко-многим». Если определить подходящий набор полей для составного ключа сложно, следует добавить поле счетчика и сделать его ключевым. Обычно в качестве ключа используются числовые поля.
5. Первичный ключ может быть определен только в режиме Конструктора таблиц. Для этого:
1) выделите поле, которое должно стать полем первичного ключа рис.4 и рис..5.;
2) вызовите команду Правка > Ключевое поле или нажмите пиктограмму Ключ панели инструментов.
6. Заполнить все таблицы данными (создать 10 записей).
7. Сформировав таблицы и определив ключевое поле для каждой таблицы, между таблицами можно установить взаимосвязи, которые будут поддерживаться при создании форм, отчетов и запросов и задать условия целостности данных этих таблиц.
Рис..4. Таблицы Итоги и Практика в режиме Конструктора
При определении связи ключ в одной таблице содержит ссылки на конкретные записи в другой таблице. Ключ, на который имеется ссылка в другой таблице, называют внешним ключом. Поле внешнего
Рис.5.Таблица Стипендия в режиме конструктора
ключа определяет способ связывания таблиц. Содержимое поля внешнего ключа (тип данных и размер) должно совпадать с содержимым ключевого поля. Эти поля также могут иметь одинаковые имена. Если требуется установить более чем одну связь, в диалоговом окне Связи необходимо определить связующие поля, щелкнув в правой части клетки поля на стрелке, указывающей вниз, и выбрав нужное имя поля из открывшегося списка. От полей, указанных при определении связи, зависит тип создаваемой связи, который отображается в этом же окне:
1. Отношение «один-к-одному» создается в том случае, когда оба связываемых поля являются ключевыми или имеют уникальные индексы. (Уникальный индекс — индекс, определенный для свойства Индексированное поле значением «Да (Совпадения не допускаются)». При этом ввод в индексированное поле повторяющихся значений становится невозможным. Для ключевых полей уникальный индекс создается автоматически.)
2. Отношение «один-ко-многим» создается в том случае, когда только одно из полей является ключевым или имеет уникальный индекс. В отношении «один-ко-многим» главной таблицей является таблица, которая содержит первичный ключ и составляет часть «один» в этом отношении. Таблица со стороны «много» является подчиненной таблицей. Связующее поле (или поля) в ней с таким же типом информации, как в первичном ключе главной таблицы, является полем внешнего ключа.
3. Связь с отношением «многие-ко-многим» фактически представляет две связи с отношением «один-ко-многим» через третью таблицу, ключ которой состоит, по крайней мере, из двух полей, которые являются полями внешнего ключа в двух других таблицах.
В случае, если для какой-то из таблиц не было определено ключевое поле, то в поле Тип отношения отображается текст: «Не определено». Для удаления связи: в окне Схема данных выделите ненужную связь и нажмите клавишу <Delete>.
8. С помощью пиктограммы на панели инструментов Схема данных добавить в схему таблицы Студенты, Итоги и Практика рис..6 и связать их по полю Код учащегося, связью один-к-одному.
9. Выберите команду Сервис > Схема данных.
10. Используя команду Связи > Добавить таблицу, укажите имена таблиц, которые должны быть связаны. Названия каждой из таблиц со списками полей появятся в соответствующем окне.
11. Установите курсор в любую из таблиц на поле, по которому будет установлена связь, и «перетащите» это поле на связующее поле другой таблицы.
12.. Активизируйте флажок Обеспечение целостности данных. Данное действие позволит предотвратить случайное удаление или изменение связанных данных.
Рис..6 Установка связи между таблицами
13. Теперь, если открыть таблицу Студенты и нажать на крестик рядом с любой записью, высветится информация, касающаяся этой записи из таблицы Итоги, рис..7.
Рис..7. Таблица Студенты
Создание запросов
Использование запросов позволяет осуществлять различные формы доступа к одной и той же информации. Запрос — это объект БД, допускающий многократное использование. Результат запроса — представленный в табличном виде набор данных, который задается в режиме Конструктора. Запросы могут быть созданы как с помощью мастера, так и самостоятельно.
MS Access позволяет выполнять следующие типы запросов:
• запрос на выборку; • перекрестный запрос; • запрос на создание таблицы;
• запрос на обновление; • запрос на добавление записей; • запрос на удаление записей.
Каждый из этих типов указывается в меню Запрос после вывода на экран окна Запрос в режиме Конструктора. В некоторых случаях MS Access выводит на экран диалоговое окно непосредственно перед началом запроса, в других же — изменяет список полей бланка запроса так, чтобы можно было задать необходимые действия. После сохранения запроса MS Access использует специальные обозначения в окне базы данных, показывающие тип запроса.
Упражнение 2. Запрос на выборку
1. Для того, чтобы создать запрос на выборку в окне базы данных Студенты перейдите на вкладку Запросы и выберите команду Создать запрос с помощью мастера.
2. В открывшемся диалоговом окне Мастера запросов укажите в источнике данных таблицу Студенты и выберите из нее нужные поля Рис.15.8. . Получился первый запрос, отображающий ФИО и телефоны студентов Рис.15.9..
Рис.15.8 Выбор полей запроса Рис.15.9.Запрос Студенты