русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Особым случаем является пример запроса 4!


Дата добавления: 2014-03-21; просмотров: 1170; Нарушение авторских прав


Запрос – это специальный приём работы с приложением БД для оперативного поиска (или модификации) записей в таблицах.

Запросы. Выборка данных из таблиц БД. Условия поиска для отбора записей.

Связь между таблицами в базе данных.

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

Для связывания таблиц используются или ключевые поля или индексированные.

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

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

Поля, которые являются внешними ключами индексируются по умолчанию.

На примере, приведенном ниже, главной является таблица Группа, подчинённой – Студент, потому что между ними присутствует функциональная зависимость «один – ко - многим» (в одной группе учатся много студентов).

Таблица на стороне «один» всегда является главной (родительской).

Поле ГРУППА в таблице СТУДЕНТ является внешним ключом. По определению, список значений этого поля должен полностью или частично совпадать со списком значений соответствующего поля главной таблицы (Название). В нашем примере – это частичное совпадение (присутствуют значения ОМЛ-09 1/9 и РПЗ-11 1/9 из главной таблицы).

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


Организация связей между таблицами базы данных средствами MS Access



1. Активизировать окно Схема данных2. Выбрать и добавить те таблицы, между которыми нужно установить связи.

При необходимости воспользоваться кнопкой

3. Закрыть окно Добавление таблицы

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

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

Для изменения данной ситуации нужно выйти из режима создания связей и в таблице ГоловаРабсоздать ключевое поле в режиме Конструктора.

После этого выполнить процедуру создания связей между таблицами заново

(выполнив п. 1-4)

 

 
 


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

Тип отношений «Один-ко-многим»

 

План

1. Назначение запросов.

2. Типы запросов.

3. Проектирование простого запроса на выборку при помощи Мастера.

4. Формирование запроса в режиме Конструктора.

5. Правила записи разнообразных условий выборки в запросах

Запросы в MS Access являются универсальным инструментом обработки информации в БД. Практически все операции по управлению данными можно выполнить при помощи запросов.

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

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

- вывод записей на экран,

- изменение значений какого-либо поля,

- удаление записей,

- вставка новых записей.

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

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

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

Например, у нас есть таблица в реляционной БД:

СтудБилет фамилия имя отчество год_рожд спец ИД
К-2847 Кравец Сергей Владимирович СОЗ
К-2848 Кравец Сергей Владимирович РПЗ
К-2849 Кравченко Антон Борисович МЕЕП

Какие запросы можно составить на выборку данных из этой таблицы?

Запрос 1 устно формулируется так: найти все записи для студентов 1993 года рождения.

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

СтудБилет фамилия имя отчество год_рожд спец ИД
К-2847 Кравец Сергей Владимирович СОЗ
К-2849 Кравченко Антон Борисович МЕЕП

 

Запрос 2 устно формулируется так: найти все записи для студентов специальности СОЗ.

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

СтудБилет фамилия имя отчество год_рожд спец ИД
К-2847 Кравец Сергей Владимирович СОЗ

 

Запрос 3 устно формулируется так: вывести ФИО студентов, у которых отчество «Владимирович». В результате работы данного запроса на экран будет выведена таблица:

фамилия имя отчество
Кравец Сергей Владимирович
Кравец Сергей Владимирович

В результирующем запросе выведены только данные из тех полей, которые указаны в задании (здесь ФИО).

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

Запрос 4 устно формулируется так: найти все записи для студентов специальности ТВПР

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

СтудБилет фамилия имя отчество год_рожд спец ИД
             

Это так называемый, «пустой» запрос. Если такая таблица появилась на экране, значит сам запрос составлен правильно, но по данному запросу в базе данных ничего не найдено.

 

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

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

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

Типы запросов:

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

· Запрос на добавление(вставку) записи;

· Запрос на удаление записи;

· Запрос на обновление записи;

· Запрос на создание новой пустой таблицы;

· Запрос на поиск повторяющихся значений в связанных таблицах;

· Перекрестный запрос (запрос, в котором и по столбцам и по строкам есть заголовки.

· Пример результат работы перекрёстного запроса

  математика информатика физика
ФИО студента1
ФИО студента2
ФИО студента3

Запросы в Access могут конструироваться разными средствами. При помощи:

1. Мастера,

2. Конструктора,

3. В SQL режиме.

Можно основу запроса выполнить в одном режиме, а завершить(отредактировать) запрос в любом другом режиме.

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

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

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


Проектирование простого запроса на выборку

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

Формирование запроса в режиме Мастера

1. Открыть окно базы данных → вкладка Запросы.

2. Щелчком выбрать команду «Создание запроса в режиме мастера»

Вместо этого можно:

3. Щелчком выбрать команду «Создать» и в диалоговом окне «Новый запрос» выбрать вариант «Простой запрос».

4. Далее точно следовать указаниям Мастера.

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

Формирование запроса в режиме Конструктора

1. Открыть окно базы данных → вкладка Запросы.

2. Щелчком выбрать команду «Создание запроса в режиме конструктора»

3. В открывшемся диалоговом окне Добавление таблицы выбрать последовательно одну или несколько таблиц (после выбора каждой нажать на кнопку Добавить),

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

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

5. Щелкнуть мышью в строке Сортировка и из списка выбрать требуемый способ сортировки.

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

Если необходимо вывести на экран ВСЕ записи из исходной таблицы, то процесс на этом можно завершить. Запрос сохраняется, ему даётся оператором какое-то имя.

Но так бывает крайне редко!! Обычно существуют некоторые условия, по которым нужно вывести только часть записей из БД. Таких условий может быть и два и более.

7. Чтобы определить условие отбора записей, в строку «Условие отбора» в столбце соответствующего поля вводят одно из следующих значений:

- для проверки на тождество с конкретным значением ввести это значение (например, «СОЗ»)

текстовые значения полей вводят в кавычках, числовые без них.

- для сравнения значений следует использовать операторы <, >, <=, =>, и <>

например, в поле СТИПЕНДИЯ ввести условие >0 (без кавычек)

- составные условия задаются логическими операторами AND, OR.

Более подробно правила составления условий рассмотрены ниже

8. Строка ИЛИ используется для задания совместной обработки условий в одном или нескольких полях по OR.

9. Чтобы протестировать работу запроса необходимо щелкнуть по кнопке Запуск.

Пример работы запроса:

Пусть в режиме конструктора создан запрос на вывод ФИО, группы и аттестата студентов специальности ЗВ, при условии, что аттестат более или равен 4 баллам.

Бланк запроса будет выглядеть так:

Результат работы запроса тогда будет таким:



<== предыдущая лекция | следующая лекция ==>
Типы данных и свойства полей | Использование полей типа –дата- в запросах


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.006 сек.