Реферат: Методические указания к лабораторным работам для студентов по направлению подготовки дипломированного специалиста



ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ

Государственное образовательное учреждение

высшего профессионального образования

Московский технический университет связи и информатики

Волго-Вятский филиал

Кафедра математических и естественнонаучных дисциплин


ИНФОРМАТИКА


Создание баз данных в Microsoft Access


Методические указания к лабораторным работам для студентов по направлению подготовки дипломированного специалиста 65440 – «Телекоммуникации» специальности 200900 – «Сети связи и системы коммутации»
дневной формы обучения



Нижний Новгород

2008 г.


^ Создание баз данных в Microsoft Access


Составитель Е.Н. Саладаев.


Издание одобрено на заседании кафедры «____» _________ 20___ г.

Протокол № ___


^ Сведения из теории


1. Нормализация структур данных


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


^ 2. Главный ключ таблицы


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

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


3. Индексация


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


^ 4. Элементы окна базы данных


Окно, которое открывается при открытии базы данных Microsoft Access. Это окно содержит вкладки Таблицы, Запросы, Формы, Отчеты, Макросы и Модули. При выборе вкладки выводится список всех объектов этого типа в базе данных. При отключенном выводе окна базы данных необходимо создать форму, обеспечивающую перемещение пользователя по базе данных или приложению. Для того чтобы вывести окно базы данных в верхний слой окна, нужно нажать кнопку Окно базы данных на панели инструментов. В режиме таблицы добавляются, редактируются или просматриваются табличные данные. Также можно проверить орфографию и напечатать табличные данные, отфильтровать и отсортировать записи, изменить внешний вид таблицы или изменить структуру таблицы, добавив или удалив столбцы. В режиме конструктора таблицы можно создать целую таблицу, добавляя новые поля или удаляя и настраивая существующие поля таблицы.


^ 5. Типы данных


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

Поле MЕМО : Длинный текст или числа, например, пометки или описание. Размер до 64 000 символов.

Числовой : Числовые данные, используемые для математических вычислений, за исключением вычислений, включающих денежные операции (используется денежный тип). Размер 16 байт только для кодов репликации.

Дата/время: Даты и время. Размер 8 байт.

Денежный: Значения валют. Денежный тип используется для предотвращения округлений во время вычислений. Предполагает до 15 символов в целой части числа и 4 - в дробной. Размер 8 байт.

Счетчик: Автоматическая вставка последовательных (отличающихся на 1) или случайных чисел при добавлении записи. Размер 4 байта, 16 байт только для репликации кодов.

Логический: Поля, содержащие только одно или два значения, таких как “Да/Нет”, “Истина/Ложь”, “Включено/Выключено”. Размер 1 бит.

^ Объекты OLE: Объекты (например, документы Microsoft Word, электронные таблицы Microsoft Excel, рисунки, звуки и другие данные), созданные в других программах, использующих протокол OLE. Объекты могут быть связанными или внедренными в таблицу Microsoft Access. Размер до 1 гигабайта (ограничено объемом диска).

Гиперссылки: Поле, в котором хранятся гиперссылки. Гиперссылка может быть либо типа путь UNC, либо URL. Размер до 64 000 символов.


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


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

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

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


7. Автоподстановка


При вводе пользователем значения в поле со списком Microsoft Access проводит в списке поиск значений, первые символы которых совпадают с символами, уже введенными в поле. Если для свойства Автоподстановка (AutoExpand) задано значение “Да”, то в поле выводится первое из найденных в списке значений, соответствующее введенным символам.

Если для свойства Ограничиться списком (LimitToList) задано значение “Да” и поле со списком раскрыто, то по мере ввода пользователем символов в поле Microsoft Access выделяет в списке соответствующие значения, даже в том случае, если для свойства Автоподстановка (AutoExpand) установлено значение “Нет”. В том случае, если пользователь нажмет клавишу ENTER, или перейдет к следующему элементу управления или записи, выбранное значение заносится в поле со списком.


^ 8. Экспорт и импорт данных


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


^ 9. Назначение и элементы формы


Формы используются для различных целей :запись в таблицу данных , для выбора других форм и запросов ,визуализации данных. Большая часть данных, представленных в форме, берется из таблицы или запроса. Другая информация, несвязанная ни с таблицей, ни с запросом, хранится в макете формы. Для создания связи между формой и записями таблицы, являющейся источником данных формы, используются графические объекты, называемые элементами управления. Чаще всего для отображения и ввода данных используется поле. Элемент управления это графический объект, например, поле, флажок, прямоугольник или кнопка, размещаемый пользователем в форме или отчете в режиме конструктора для отображения данных, выполнения макрокоманд или упрощения чтения формы или отчета.


^ 10. Способы построения формы. Режим мастера , режим конструктора


Использование мастера форм — это наиболее простой и быстрый способ создания формы, содержащей данные из нескольких таблиц. Мастер форм ускоряет процесс создания форм, выполняя автоматически всю основную работу. В первом окне мастера форм можно выбрать поля, которые должны быть включены в форму. Это могут быть поля из одной или нескольких таблиц. При использовании мастера форм для создания формы на основе нескольких таблиц создается инструкция SQL. Эта инструкция содержит сведения о том, какие таблицы и поля нужно использовать. С помощью мастера можно создать обычную или иерархическую форму, отображающую данные из нескольких таблиц. Примером обычной является форма, содержащая сведения о товарах и их поставщиках. Для просмотра иллюстрации этого типа формы нажмите кнопку . Иерархической является форма, содержащая одну или несколько подчиненных форм. Подчиненные формы используются для показа данных из таблиц с отношением “один-ко-многим”. Также можно создавать формы в режиме конструктора.


^ 11. Просмотр данных с помощью форм


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


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


Главная форма базируется на таблице с ключом, а подчиненная форма базируется на таблице, содержащей поле с тем же именем, что и ключевое поле, и с тем же или совместимым типом данных. Например, если ключевое поле главной формы имеет тип “Счетчик”, а в свойстве Размер поля задан размер длинное целое, то соответствующее поле в подчиненной форме должно иметь тип Числовой и указанный в свойстве Размер поля размер длинное целое. Если выбран запрос или запросы, то удовлетворять этим условиям должны базовые таблицы для запроса или запросов.


12. Запрос


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


13. Отчёт


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


^ 14. Вложенные формы


Подчиненная форма - это форма, находящаяся внутри другой формы. Первичная форма называется главной формой, а форма внутри формы называется подчиненной формой.

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

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


^ 15.Запрос на выборку и на изменения


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

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

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

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

Запрос на добавление. Добавляет группу записей из одной или нескольких таблиц в конец одной или нескольких таблиц.


^ 16.Параметрический запрос


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

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


^ Лабораторная работа N 1


Знакомство с оболочкой MS Access. Создание таблиц и схемы данных


Цель работы. Изучить вопросы, связанные с нормализацией данных, созданием таблиц в БД и заданием схемы данных.


^ Описание базы данных "Склад"

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

При создании базы выделяем следующие сущности:

^ Товары - содержит сведения о товарах;

Типы - справочник групп (типов) товаров;

Сделки - содержит сведения о заказах (проведенных операциях по закупке) каждого из товаров;

^ Закупки - содержит сведения о заказах нескольких товаров от одного поставщика;

Сотрудники - содержит сведения о сотрудниках, оформивших заказ;

Поставщики - содержит сведения о каждой организации - поставщике товаров

Доставка - справочник видов доставки.


Порядок выполнения.

Создать таблицы БД (список таблиц приведен ниже). Задать требуемые свойства полей.

Создать схему данных.

Сделать подстановки в связанных полях

Ввести тестовые данные (по 10-20 строк в таблицы "Товары" и др., по 5 строк в таблицы "Типы" и др.



^ Схема данных


^ Список таблиц и свойств полей таблиц
Таблица "Товары"


Имя поля

Тип

данных

Размер/

Формат


Подпись

Индексир.

поле

Обязат.поле

Другие

КодТовара

Счетчик

Дл целое

Код товара

Да (Совп. не доп.)







Марка

Текстовый

50

Марка

Да (Совп. доп.)

Нет




ОписаниеТовара

Текстовый

255

Описание товара

Нет

Нет




КодТипа

Числовой

Дл целое

Код типа

Да (Совп. доп.)

Нет




СерийныйНомер

Текстовый

50

Серийный номер

Да (Совп. доп.)

Нет




Цена

Денежный

Денежный

Цена

Нет

Нет




ЕдиницаИзмерения

Текстовый

50

Единица измерения

Нет

Нет




МинимальныйЗапас

Числовой

Дл целое

Минимальный запас

Нет

Нет




ПоставкиПрекращены

Логический

Да/Нет

Поставки прекращены

Нет

Нет




ВремяЗадержки

Текстовый

30

Срок

Нет

Нет





Таблица "Типы"


Имя поля

Тип

данных

Размер/

Формат


Подпись

Индексир.

поле

Обязат.поле

Другие

КодТипа

Счетчик

Дл целое

Код типа

Да (Совп. не доп.)







НазваниеТипа

Текстовый

50

Категория

Да (Совп. доп.)

Нет






Таблица "Сделки"


Имя поля

Тип

данных

Размер/

Формат


Подпись

Индексир.

поле

Обязат.поле

Другие

КодОперации

Счетчик

Дл целое

Код операции

Да (Совп. не доп.)







ДатаОперации

Дата/время

Краткий формат даты

Дата операции

Да (Совп. доп.)

Нет

Маска ввода 99.99.00;0

КодТовара

Числовой

Дл целое

Код товара

Да (Совп. доп.)

Нет




КодЗаказа

Числовой

Дл целое

Код заказа

Да (Совп. доп.)

Нет




ОписаниеОперации

Текстовый

255

Описание операции

Нет

Нет




Цена

Денежный

Денежный

Цена

Нет

Нет




ЗаказанноеКоличество

Числовой

Длинное целое

Заказанное количество

Нет

Нет




ПолученноеКоличество

Числовой

Длинное целое

Полученное количество

Нет

Нет




Продано

Числовой

Длинное целое

Продано

Нет

Нет




Усушка

Числовой

Длинное целое

Усушка

Нет

Нет





Таблица "Закупки"


Имя поля

Тип

данных

Размер/

Формат


Подпись

Индексир.

поле

Обязат.поле

Другие

КодЗаказа

Счетчик

Дл целое

Код заказа

Да (Совп. не доп.)







НомерЗаказа

Текстовый

30

Номер Заказа

Нет

Нет




ОписаниеЗаказа

Текстовый

255

Описание Заказа

Нет

Нет




КодПоставщика

Числовой

Дл целое

Код поставщика

Да (Совп. доп.)

Нет




КодСотрудника

Числовой

Дл целое

Код сотрудника

Да (Совп. доп.)

Нет




ДатаРазмещения

Дата/время

Краткий формат даты

Дата размещения

Да (Совп. доп.)

Нет

Маска ввода 99.99.00;0

ДатаНазначения

Дата/время

Краткий формат даты

Дата назначения


Нет

Нет

Маска ввода 99.99.00;0

ОбещаннаяДата

Дата/время

Краткий формат даты

Обещанная дата


Нет

Нет

Маска ввода 99.99.00;0

ДатаИсполнения

Дата/время

Краткий формат даты

Дата исполнения


Нет

Нет

Маска ввода 99.99.00;0

КодМетодаДоставки

Числовой

Длинное целое

Код доставки

Да (Совп. доп.)

Нет




СтоимостьДоставки

Денежный

Денежный

Цена доставки

Нет

Нет





Таблица "Поставщики"


Имя поля

Тип

данных

Размер/

Формат


Подпись

Индексир.

поле

Обязат.поле

Другие

КодПоставщика

Счетчик

Дл целое

Код поставщика

Да (Совп. не доп.)







НазваниеПоставщика

Текстовый

50

Название

Да (Совп. доп.)

Нет




ОбращатьсяК

Текстовый

50

Обращаться к

Да (Совп. доп.)

Нет




ДолжностьПолучателя

Текстовый

50

Должность

Нет

Нет




Адрес

Текстовый

255




Нет

Нет




Город

Текстовый

50




Нет

Нет




ПочтовыйИндекс

Текстовый

20

Индекс


Да (Совп. доп.)

Нет




ОбластьКрайРеспу

блика

Текстовый

20

Регион


Нет

Нет




Страна

Текстовый

50




Нет

Нет




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

Текстовый

30

Телефон

Нет

Нет




Факс

Текстовый

30




Нет

Нет




УсловияОплаты

Текстовый

255

Условия оплаты

Нет

Нет




АдресЭлектроннойПо

чты

Текстовый

50

Электронная почта

Да (Совп. доп.)

Нет





Таблица "Доставка"


Имя поля

Тип

данных

Размер/

Формат


Подпись

Индексир.

поле

Обязат.поле

Другие

КодМетодаДоставки

Счетчик

Дл целое

Код доставки

Да (Совп. не доп.)







МетодДоставки

Текстовый

20

Метод доставки

Нет

Нет






Таблица "Сотрудники"


Имя поля

Тип

данных

Размер/

Формат


Подпись

Индексир.

поле

Обязат.поле

Другие

КодСотрудника

Счетчик

Дл целое

Код сотрудника

Да (Совп. не доп.)







Имя

Текстовый

50




Нет

Нет




Фамилия

Текстовый

50




Да (Совп. доп.)

Нет




Должность

Текстовый

50




Нет

Нет




ЭлектроннаяПочта

Текстовый

50

Имя электронной почты

Да (Совп. доп.)

Нет




Внутренний

Текстовый

30




Нет

Нет




РабочийТелефон

Текстовый

30




Нет

Нет






^ Таблица подстановок в связанных полях



Таблица

Товары

Сделки

Закупки

Поле

Код типа

Код товара

Код поставщика













Подстановки










Тип элемента управления

Поле со списком

Поле со списком

Поле со списком

Тип источника строк

Таблица или запрос

Таблица или запрос

Таблица или запрос

Источник строк

SELECT [Типы].* FROM [Типы] ORDER BY [Типы].[НазваниеТипа];


Товары

SELECT [Поставщики].* FROM [Поставщики] ORDER BY [Поставщики].[НазваниеПоставщика];

Присоединенный столбец

1

1

1

Число столбцов

2

2

2

Заглавия столбцов

Нет

Да

Нет

Ширина столбцов

0см;5см

1см;5см

0см;5см

Число строк списка

8

8

8

Ширина списка

5

5

5

Ограничиться списком

Да

Да

Да




Таблица

Закупки

Закупки

Поле

Код сотрудника

Код метода доставки










Подстановки







Тип элемента управления

Поле со списком

Поле со списком

Тип источника строк

Таблица или запрос

Таблица или запрос

Источник строк

SELECT [КодСотрудника], [Фамилия]&","&[Имя] FROM [Сотрудники] ORDER BY [Фамилия]&","&[Имя];

SELECT [Доставка].* FROM [Доставка] ORDER BY [Доставка].[МетодДоставки];

Присоединенный столбец

1

1

Число столбцов

2

2

Заглавия столбцов

Нет

Нет

Ширина столбцов

0см;5см

0см;5см

Число строк списка

8

8

Ширина списка

5

5

Ограничиться списком

Да

Да

Содержание отчета.

1.Описание сущностей и их атрибутов.

2.Описание таблиц и определение свойств полей таблиц.

3.Модель данных «сущность – связь».

4.Описание типов связей и связываемых полей.
^ Контрольные вопросы
Основные понятия информационно-логических моделей: сущность, атрибут (реквизит), информационный объект, информационный элемент.

Основные понятия баз данных: поле, запись, таблица.

Что такое нормализация данных?

Ключи в БД (простые, составные, первичные, вторичные, внешние) и их назначение.

Индексация таблиц и ее назначение.

Какими свойствами обладают таблицы, которые находятся в1-й, во 2-й и в 3-й нормальной форме?

Какими свойствами обладают связи "один-к-одному", "один-ко-многим", "много-ко-многим"?

Каковы свойства внутреннего объединения таблиц, левого и правого внешнего объединений?

Реализация отношения "много-ко-многим" в базе данных.

^ Лабораторная работа N 2


Создание запросов на выборку, удаление, обновление, добавление данных и формирование новых таблиц


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


Порядок выполнения

Создать запросы на выборку из одной таблицы

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

Создать запросы на обновление данных

Сформировать запрос на создание новой таблицы

Создать запросы на удаление записей

Основные используемые команды

Создание запроса: окно базы данных Запросы / Создать / Конструктор / …В окне "Добавление таблицы" выбрать имена таблиц или запросов / Добавить… / Закрыть.

Выбор типа запроса: Раскрывающийся список Тип запроса на панели инструментов или меню Запрос / …выбрать тип (выборка, обновление, добавление, удаление, создание таблицы)

Переход между режимами Конструктор, Режим SQL, Режим таблицы:

раскрывающийся список Вид на панели инструментов или меню Вид / Конструктор или Режим SQL.

Выполнение запроса: кнопка "!" (Запуск) на панели инструментов.
^ Запросы на выборку из одной и нескольких таблиц
Запрос 1.

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

^ Имя запроса: "ЗакупкиЗаМесяц".

Цель запроса: выбрать закупки за последний месяц


SQL-запрос:

SELECT Закупки.*

FROM Закупки

WHERE Закупки.ДатаРазмещения > Date()-30;

^ Пояснение к запросу:
<

ВЫБРАТЬ все поля

ИЗ таблицы Закупки

ГДЕ поле ДатаРазмещения имеет значение больше, чем текущая дата минус 30 дней

>

Запрос 2.
Тип запроса: запрос на выборку из одной таблицы
^ Имя запроса: "ТоварыОдногоТипа ".

Цель запроса: выбрать все товары заданного типа.


QBE-запрос:




SQL-запрос:


SELECT Товары.КодТовара, Товары.Марка, Товары.ОписаниеТовара,

Товары.Цена, Товары.КодТипа

FROM Товары

WHERE (((Товары.КодТипа)=1))

ORDER BY Товары.Марка;


Пояснение к запросу:

<

ВЫБРАТЬ поля КодТовара, Марка, .ОписаниеТовара,Цена, КодТипа

ИЗ таблицы Товары

ГДЕ поле КодТипа=1

^ СОРТИРОВАТЬ ПО полю Марка;

>


Запрос 3.
Тип запроса: запрос на выборку из двух таблиц
^ Имя запроса: "ЗакупкиСотрудника".

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


QBE-запрос:




SQL-запрос:


^ SELECT DISTINCTROW Закупки.НомерЗаказа, Закупки.ОписаниеЗаказа,

Закупки.ДатаРазмещения, Сотрудники.Фамилия, Сотрудники.Имя

FROM Сотрудники RIGHT JOIN Закупки

ON Сотрудники.КодСотрудника = Закупки.КодСотрудника

WHERE (((Сотрудники.Фамилия)="Петров"))

ORDER BY Сотрудники.Фамилия, Сотрудники.Имя;


Пояснение к запросу:

<

ВЫБРАТЬ для ^ НЕПОВТОРЯЮЩИХСЯ ЗАПИСЕЙ поля Закупки.НомерЗаказа,

Закупки.ОписаниеЗаказа, Закупки.ДатаРазмещения, Сотрудники.Фамилия, Сотрудники.Имя

ИЗ таблицы Сотрудники ^ СВЯЗАННОЙ ПРАВОЙ ВНЕШНЕЙ СВЯЗЬЮ с таблицей Закупки ПО полям Сотрудники.КодСотрудника = Закупки.КодСотрудника

ГДЕ применяется условие отбора Сотрудники.Фамилия="Петров"

^ СОРТИРОВАТЬ ПО полям Сотрудники.Фамилия, Сотрудники.Имя;

>


Запрос 4.
Тип запроса: запрос на выборку из двух таблиц
^ Имя запроса: "ПоставщикиИЗакупки".

Цель запроса: Выбрать всех поставщиков из заданного города, у которых произведены закупки с заданным диапазоном дат размещения


QBE-запрос:




SQL-запрос:


SELECT Поставщики.Город, Поставщики.НазваниеПоставщика,

Закупки.ДатаРазмещения

FROM Поставщики INNER JOIN Закупки

ON Поставщики.КодПоставщика = Закупки.КодПоставщика

WHERE (Поставщики.Город='Москва') AND (Закупки.ДатаРазмещения Between #1/1/1999# And #1/1/2000#);


Пояснение к запросу:

<

ВЫБРАТЬ поля Поставщики.Город, Поставщики.НазваниеПоставщика,

Закупки.ДатаРазмещения

ИЗ таблицы Поставщики СВЯЗАННОЙ ВНУТРЕННЕЙ СВЯЗЬЮ с таблицей Закупки ПО полям Поставщики.КодПоставщика = Закупки.КодПоставщика

ГДЕ (значение поля Поставщики.Город совпадает с названием 'Москва') И

(значение поля Закупки.ДатаРазмещения лежит МЕЖДУ 1/1/1999 И 1/1/2000);

>


Запрос 5.
Тип запроса: запрос на выборку из трех таблиц
^ Имя запроса: "СделкиСТоваром".

Цель запроса: Выбрать первые 10% сделок с заданным товаром


QBE-запрос:




SQL-запрос:


SELECT TOP 10 PERCENT Сделки.ДатаОперации, Сделки.ОписаниеОперации, Товары.Марка, Типы.НазваниеТипа

FROM Типы RIGHT JOIN (Товары INNER JOIN Сделки ON Товары.КодТовара = Сделки.КодТовара) ON Типы.КодТипа = Товары.КодТипа

WHERE (((Типы.НазваниеТипа)="Колбасные изделия"))

ORDER BY Сделки.ДатаОперации;


Пояснение к запросу:

<

ВЫБРАТЬ ПЕРВЫЕ 10 ПРОЦЕНТОВ записей для полей Сделки.ДатаОперации, Сделки.ОписаниеОперации, Товары.Марка, Типы.НазваниеТипа

ИЗ таблицы Типы СВЯЗАННОЙ ПРАВОЙ ВНЕШНЕЙ СВЯЗЬЮ с таблицей (ТОвары СВЯЗАННОЙ ВНУТРЕННЕЙ СВЯЗЬЮ с таблицей Сделки ПО полям Товары.КодТовара = Сделки.КодТовара) ПО полям Типы.КодТипа = Товары.КодТипа

ГДЕ Типы.НазваниеТипа="Колбасные изделия"

СОРТИРОВАТЬ ПО Сделки.ДатаОперации;

>

Запросы на обновление


Запрос 6.

Тип запроса: запрос на обновление одной таблицы

Имя запроса: "ОбновитьЦены".

Цель запроса: обновить все цены товаров заданного типа, увеличив их на 10%


QBE-запрос:




SQL-запрос:

UPDATE Товары SET Товары.Цена =Товары.[Цена]*1.1

WHERE (((Товары.КодТипа)=1));


Пояснение:

<

ОБНОВИТЬ таблицу Товары,

УСТАНОВИТЬ при этом значение поляТовары.Цена равным Товары.[Цена]*1.1,

ГДЕ Товары.КодТипа=1;

>


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


Запрос 7.

Тип запроса: запрос на создание новой таблицы

^ Имя запроса: "НоваяТаблицаЗакупки".

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


QBE-запрос:

SQL-запрос:


SELECT Закупки.* INTO ЗакупкиАрхив

FROM Закупки

WHERE (((Закупки.ДатаРазмещения) >

Date()-30));


Пояснение:

<

ВЫБРАТЬ все поля и ПОМЕСТИТЬ В НОВУЮ ТАБЛИЦУ по имени ЗакупкиАрхив

ИЗ таблицы Закупки

ГДЕ значение поля ДатаРазмещения больше текущей даты минус 30 дней

>

Запросы на удаление

Запрос 8.
Тип запроса: запрос на удаление из одной таблицы
^ Имя запроса: "УдалитьСделки".

Цель запроса: Удалить все сделки с заданным диапазоном дат

QBE-запрос:




SQL-запрос:


DELETE Сделки.*, Сделки.ДатаОперации
FROM Сделки
WHERE Сделки.ДатаОперации Between #1/1/1996# And #1/1/1997#;

Пояснение:

<

УДАЛИТЬ все записи, использовать поле ДатаОперации
ИЗ таблицы Сделки,
ГДЕ ДатаОперации лежит между 1/1/1996 И 1/1/1997

>

Запрос 9.
Тип запроса: запрос на удаление из одной таблицы по результатам отбора из других таблиц
^ Имя запроса: "УдалитьЗакупкиПоАрхиву".

Цель запроса: Удалить все закупки в таблице Закупки, если они есть в таблице ЗакупкиАрхив

SQL-запрос:

DELETE Закупки.*, Закупки.ДатаРазмещения

FROM Закупки ^ INNER JOIN ЗакупкиАрхив ON Закупки.КодЗаказа = ЗакупкиАрхив.КодЗаказа

WHERE (((Закупки.ДатаРазмещения)>Date()-30));


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

Если записи удаляются из одной таблицы (Закупки), связанной с другими (ЗакупкиАрхив), в запросе нужно указывать все поля таблицы (Закупки), из которой происходит удаление, введя символ "*".

Пояснение:

<

УДАЛИТЬ все записи, использовать поле ДатаРазмещения

ИЗ таблицы Закупки ^ СВЯЗАННОЙ ВНУТРЕННЕЙ СВЯЗЬЮ

с таблицей ЗакупкиАрхив ПО полям Закупки.КодЗаказа = ЗакупкиАрхив.КодЗаказа

ГДЕ значение поля ДатаРазмещения больше текущей даты минус 30 дней

>

Запрос 10.
Тип запроса: Запрос на создание новой таблицы "НоваяТаблицаЗакупки"
^ Имя запроса: " ЗаказыЗаТекущийМесяц".

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




SQL-запрос:

SELECT Закупки.НомерЗаказа,

Закупки.КодПоставщика,

Закупки.ДатаИсполнения

INTO Нова
еще рефераты
Еще работы по разное