Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Таким образом, созданы кнопки на панели Главной кнопочной формы



8. Нажмите кнопку Закрыть для возврата в окно Диспетчер кнопочных форм.

9. Установите курсор на кнопочную форму Таблицы. Нажмите кнопку Изменитьдля создания кнопок в кнопочной форме Таблицы.

10. Нажмите кнопку Создать. В окне Изменение элемента кнопочной формыв строке Текст введите с клавиатуры Надпись на кнопке. Например:Открыть таблицу Магазины. В строкеКоманда выберите их списка Выполнить макрос,в строке Макрос выберите из списка макрос, который будет выполнять соответствующее действие. Нажмите кнопку ОК.

ВНИМАНИЕ ! Для создания кнопок открытия Таблиц, Запросов, Модулей будут использоваться макросы, созданные выше.

11. Повторите пункт 10для создания кнопок для открытия всех таблиц базы данных Торговля.

12. Создайте кнопку Выходдля выхода из кнопочной формы Таблицы в Главную кнопочную форму. Для этого в строке Текст введите Выход,в строкеКомандавыберите из спискаПерейти к кнопочной форме,в строкеКнопочная формавыберите из спискаГлавная кнопочная форма.Нажмите кнопкуОК.

13. Нажмите кнопку Закрыть для возврата в окно Диспетчер кнопочных форм.

14. Повторите пункты 9-10 для создания кнопок кнопочных форм Формы, Запросы, Отчеты, Модули.

15. Повторите пункт 12 при создании кнопок Выход в каждой кнопочной форме.

16. После создания всех кнопок нажмите кнопку Закрыть.

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

При создании кнопочной формы с помощью Диспетчера кнопочных форм на вкладке Таблицыавтоматически создаётся таблица «Switch board Items»,которая описывает текст и действия кнопок.

 

ВНИМАНИЕ ! Нельзя удалять таблицу «Switch board Items» и Главную кнопочную форму!

Изменение кнопочной формы

Изменениекнопочной формы выполняется через пункт меню Сервис – Служебные программы –Диспетчер кнопочной формыкнопкой Изменить.

 

Удаление кнопочной формы

Главную кнопочную форму НЕ УДАЛЯТЬ !

РАЗДЕЛ 2 СЛОЖНЫЕ МНОГОТАБЛИЧНЫЕ ЗАПРОСЫ. ЗАПРОСЫ НА ЯЗЫКЕ SQL

ТЕМА 2.1 СОЗДАНИЕ ЗАПРОСОВ НА SQL

ПРАКТИЧЕСКАЯ РАБОТА №16. Виды запросов. Создание запросов в режиме конструктора

Цель: «изучить принципы подключения к SQL – совместимым базам данных и организации обмена данными между приложениями»

Ход Работы

Одним из способов, с помощью которых различные приложения могут подключиться базам данных SQL - сервера, является интерфейс Open Database Connectivity (открытый интерфейс подключения к базам данных). ODBC обеспечивает набор функций программного интерфейса приложений (API), которые упрощают подключение к базам данных самых различных форматов.



Доступ к базам данных в этом случае осуществляется с помощью драйверов ODBC, библиотек DLL, в которых содержатся функции для обеспечения таких возможностей. Драйверы ODBC устанавливаются в системе одновременно с установкой в ней утилит SQL - сервера.

Утилита Источники данных ODBC (Open Database Connectivity) позволяет настроить соединение ODBC для получения доступа объектам баз данных. Для запуска утилиты выберите соответствующий значок в Панели управления Windows. Диалоговое окно утилиты предлагает доступ к настройке трех типов источников данных (DSN - Data Source Name, имя источника данных).

В MS Access, начиная с версии XP, появилась специализированная возможность настроить подключение к MS SQL Server по OLE DB - Access Project. Как ей воспользоваться:

1) закрыть текущую базу данных (если она открыта) и в меню File выбрать New. Затем в списке New File (справа) выбрать Project (Проект с имеющимися данными) и выбрать место для сохранения файла с расширением ADB.

Рис 28 Поля в окне «Файл новой базы данных»

 

2. в стандартном окне настроить параметры подключения по OLE DB.

Рис 29 Параметры подключения

Все таблицы в базе данных SQL Server будут помещены в контейнер ‘Таблицы’ все представления и хранимые процедуры - в контейнер ‘Запросы’.

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

 

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

 

1. Создать формы для ввода данных во все таблицы базы данных «Учебный процесс».



2. Выполните запуск процедур, расположенных на сервере.

3. Создайте соединение с базой данных sklad.

4. Создайте формы ввода данных для таблиц.

5. Создайте отчёты для базы данных sklad.

6. Создайте соединение с индивидуальной базой данных.

7. Создайте формы ввода данных для таблиц индивидуальной базы данных.

8. Спроектируйте главную кнопочную форму для индивидуальной базы данных.

«Структурированный Язык Запросов SQL. Команда SELECT»

Цель: «Изучить структуру оператора sql, выработать навыки построения запросов на выборку»

Ход Работы

 

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

1. Формат команды SELECT

Общий вид команды: SELECT * | { [ DISTINCT | ALL] < value expression >.,..} FROM { < table name > [ < alias > ] }.,.. [ WHERE ] [ GROUP BY { | }.,..] [ HAVING ] [ ORDERBY { | }.,..] В самой простой форме, команда SELECT просто инструктирует базу данных чтобы извлечь информацию из таблицы. Например, вы могли бы вывести таблицу ‘Студент’ напечатав следующее: SELECT ns,fio FROM studentЭта команда просто выводит все данные из таблицы.SELECTКлючевое слово которое сообщает базе данных что эта команда - запрос. Все запросы начинаются этим словомns, fio Это - список столбцов из таблицы которые выбираются запросом. Любые столбцы не перечисленные здесь не будут включены в вывод команды. Это, конечно, не значит что они будут удалены или их информация будет стерта из таблиц, потому что запрос не воздействует на информацию в таблицах; он только показывает данные/FROM- ключевое слово, подобно SELECT, которое должно быть представлено в каждом запросе. Оно сопровожда- ется пробелом и затем именем таблицы используемой в качестве источника информации. В данном случае - это таблица studentЕсли вы хотите видеть каждый столбец таблицы, имеется необязательное сокращение которое вы можете использовать. Звездочка (*) может применяться для вывода полного списка столбцов следующим образом: SELECT * FROM student; Это приведет к тому же результату что и наша предыдущая команда. DISTINCT (ОТЛИЧИЕ) - аргумент который обеспечивает Вас способом устранять двойные значения из вашего предложения SELECT. Предположим что вы хотите знать какие студенты получали оценки. SELECT DISTINCT nsFROM uspevaemost Другими словами, DISTINCT следит за тем, какие значения были ранее, так что бы они не были продублированы в списке. Это - полезный способ избежать избыточности данных. DISTINCT опускает строки где все выбранные поля идентичны. Строки в которых некоторые значения одинаковы а некоторые различны - будут сохранены. WHERE - предложение команды SELECT, которое позволяет вам устанавливать предикаты, условие которых может быть или верным или неверным для любой строки таблицы. Команда извлекает только те строки из таблицы для которой такое утверждение верно. Например, предположим вы хотите видеть номера групп с количеством студентов более 20 человек.SELECT ngFROM gruppaWHERE kol > 20 Когда предложение WHERE представлено, программа базы данных просматривает всю таблицу по одной строке и исследует каждую строку чтобы определить верно ли утверждение.

2. Реляционные операторы

Реляционный оператор - математический символ который указывает на определенный тип сравнения между двумя значениями. Реляционные операторы которыми располагает SQL : = Равный к> Больше чем < Меньше чем >= Больше чем или равно <= Меньше чем или равно <> Не равно Основные Булевы операторы также распознаются в SQL. . Стандартными операторами Буля распознаваемыми в SQL являются: AND, OR,иNOT Задание 1. Вывести наименования предметов, с количеством часов равным 40 или 50. SELECT npFROM predmetWHERE chas = 40 or chas = 50 Задание 2. Вывести наименования предметов, у которых количество часов не равно сумме лекционных и практических. SELECT npFROM predmetWHERE chas<> lek + pr 3 Использование специальных операторов в условиях. SQL использует специальные операторы IN, BETWEEN, LIKE, и IS NULL. Мы рассмотрим как их использовать и как реляционные операторы позволяют создавать более сложные и мощные предикаты. Обсуждение оператора IS NULL будет включать отсутствие данных и значение NULL, которое указывает на то: что данные отсутствуют. Вы также узнаете о разновидностях использования оператора NOT применяющегося с этими операторами.

Оператор IN

Оператор IN определяет набор значений в которое данное значение может или не может быть включено. Задание 3.Вывести номера студентов и номера предметов, по которым получали оценки 3 или 4 SELECT ns, npFROM uspevaemostWHERE ozenka in ( 3, 4)

Оператор BETWEEN

Оператор BETWEEN похож на оператор IN. В отличии от определения по номерам из набора, как это делает IN, BETWEEN определяет диапазон, значения которого должны уменьшаться что делает предикат верным. Вы должны ввести ключевое слово BETWEEN с начальным значением, ключевое AND и конечное значение. В отличие от IN, BETWEEN чувствителен к по-рядку, и первое значение в предложении должно быть первым по алфавитному или числовому порядку. Задание 4. Выведите из таблицы predmet все наименования предметов с количеством часов, принадлежащих интервалу 100 - 140 : SELECT *FROM predmetWHERE chas BETWEEN 100 AND 140; Контрольные задания. 1.Из таблицы Успеваемость выведите код предмета, табельный номер преподавателя, номер студента, который получал двойку.2.Выведите на экран количество студентов в ‘101’ группе3.Создайте запрос, который выводит на экран код кафедры ‘математика’4.Из таблицы Преподаватель выведите на экран фамилии и табельные номера преподавателей с кафедры ‘02’5.Из таблицы Изучение выведите на экран номер группы и табельный номер преподавателя, который ведёт предмет с количеством часов ( chas) более 50 .6.По разработанной базе данных сформулируйте и выполните запросы с использованием операторов: AND, OR, IN, BETWEENПрактическая работа №17. Запрос на выборку.«Управляющие конструкции языка запросов SQL »

Цель: «Сформировать навыки и умения реализации запроса с использованием управляющих конструкций»

Ход Работы

 

1.Операторные скобки Как им все алгоритмические языки Transact-SQL содержит в своём составе операторные скобки. Синтаксис конструкции имеет следующий видBEGIN <команда 1> <команда 2> ENDЗадание 1. Вывести фамилии преподавателей с кафедры ‘02’ и список студентов из группы ‘101’

begin

use uch_proc

select fio as фио_преподавателей from prepodavatel where kkaf = '02'

 

select fio as фио _студентов from student where ng = '101'

end2 Операторы ветвления Для организации ветвления используется конструкция IF…ELSE. Синтаксис конструкции: IF <условие> <команда 1>ELSE <команда 2>Если в какой-либо ветке алгоритма необходимо выполнить более чем по одной команде, то следует воспользоваться конструкцией BEGIN.. END Задание 2. Определить содержится ли фамилия ‘Иванов’ в таблице Преподаватель.Код запроса имеет вид:

use uch_proc

IF 'Глухов' in (select fio from prepodavatel )

print 'фамилия есть в списке преподавателей'

else

print 'фамилия нет в списке преподавателей'

Если разветвлений в алгоритме много и они одиночные, то для их замены можно воспользоваться конструкцией Case …..EndCASE <входное выражение> WHEN < выражение 1> THEN < выражение результат> WHEN < выражение 2> THEN < выражение результат> ELSE < выражение результат> End

Конструкция фактически представляет собой функцию. У функции имеется один параметр (входное выражение). Он указывается после Case, но не в скобках. Функция возвращает результат, поэтому эта конструкция должна входить в состав какого либо выражения. Если в примере, рассмотренном далее убрать PRINT, то система выдаст сообщение об ошибке, т.к. это будет неверный вызов функции.

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

 

Задание 3 Вывести на экран значение суммы прописью, использую конструкцию Case …..End

declare @rub char(25)

set @rub = ‘6 руб’

PRINT

CASE @rub WHEN ‘ 1 руб’ THEN ‘ один рубль’ WHEN ‘ 2 руб’ THEN ‘ два рубля’ WHEN ‘ 3 руб’ THEN ‘ три рубля’ ELSE ‘ таких денег в кассе нет’ End

Результат выполнения команды : таких денег в кассе нет

В следующем примере рассмотрим применение конструкции в запросе.

 

Задание 4 В запросе формируется список номеров студентов, оценок и добавлен столбец , в котором указано одно из значений ( двоечник, троечник, хорошист, отличник )

 

declare @o int

use uch_proc

select ozenka, ns, kp ,tit=

case ozenka

when 2 then 'двоечник'

when 3 then 'троечник'

when 4 then 'хорошист'

when 5 then 'отличник'

end

from uspevaemost

 

3 Операторы цикла

 

В Transact-SQL имеется конструкция для организации многократных повторений команд в программе : WHELE………CONTINUE. Одна обеспечивает выполнение цикла одного типа. Это цикл с предусловием. Синтаксис конструкции:

WHELE < условие>

{ команда | блок }

[BREAK]

{ команда | блок }

 

[ CONTINUE ]

Цикл можно завершить принудительно, для этого в нужном месте цикла нужно поместить служебное слово BREAK .

 

Задание 5 Вычислите и выведите на экран квадраты и кубы чисел от 1 до 5.

declare @r int

PRINT ' Число квадрат куб'

 

set @r = 1

WHILE @r <= 5

BEGIN

PRINT STR(@r )+ STR(@r*@r )+ STR(@r*@r*@r )

SET @r = @r+1

END

 

4 Оператор LIKE

LIKE применим только к полям типа CHAR или VARCHAR, с которыми он используется чтобы находить подстроки. Т.е. он ищет поле символа чтобы видеть, совпадает ли с условием часть его строки. Задание 5 Вывести фамилии преподавателей, начинающихся с буквы ‘А’

USE uch_proc

SELECT * FROM prepodavatel

where fio like 'А%'

 

5 Операторы для обработки исключений

 

В Transact-SQL существует возможность обработки исключений:

BEGIN TRY

----- ЗАПРОС, ВЫЗЫВАЮЩИЙ ОПАСЕНИЯ

END TRY

 

BEGIN CATCH

----- ОБРАБОТКА ОШИБКИ, КОТОРАЯ МОЖЕТ ВОЗНИКНУТЬ

END CATCH

 

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

1. По таблице ‘успеваемость’ определить получал студент с номером ‘01’ оценки. Если получал, то вывести на печать сообщение ‘Студент опрашивался’ в противном случае напечатать ‘Студент не получал оценок’ .

2. Если вид занятия ‘лек’, то в сформированном столбце записать «лекционное занятие», если вид занятия ‘пр’, то в сформированном столбце записать «практическое занятие»

3. В индивидуальной базе данных сформулировать и привести пример с использованием оператора LIKE

4. В индивидуальной базе данных сформулировать и привести пример с использованием оператора Case …..End

5.

Практическая работа №18. Создание запросов на основе нескольких связанных таблиц.

Цель: «Сформировать навыки и умения реализации запроса, построенного на основе данных из нескольких таблиц»

Ход Работы

 

Одна из наиболее важных особенностей запросов SQL - это их способность определять связи между многочисленными таблицами и выводить информацию из них в терминах этих связей. Эта особенность часто используется просто для эксплуатации связей встроенных в базу данных. Полное имя столбца таблицы фактически состоит из имени таблицы, сопровождаемого точкой и затем именем столбца. Имеются несколько примеров имен :Student. NsStudent.fioPredmet.npДо этого, вы могли опускать имена таблиц, потому что вы запрашивали только одну таблицу одновременно.

 

Когда данные выбираются из таблиц, связанных отношением один ко многим, то кроме условия запроса после ключевого слова WHERE записываются связи по ключевым полям. Например, если данные выбираются из таблиц student, gruppa , то необходимо указать равенство по связующим полям:

student.ng= gruppa.ng

 

Задание 1. Вывести на экран фамилии студентов, номер группы, в которой учится более 30 человек.

USE uch_proc

select student.fio, gruppa.ng, gruppa.kol

from student, gruppa

where student.ng= gruppa.ng and gruppa.kol>30

 

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

 

Задание 2. Вывести на экран фамилии преподавателей математики.

Таблицы ‘преподаватель’ и ‘предмет’ не связаны между собой. Но они имеют общие связующие поля с таблицей ‘изучение’

Рис 5 схема данных запроса

 

USE uch_proc

select prepodavatel.fio, predmet.np

from prepodavatel, predmet, isuchenie

where prepodavatel.tabn = isuchenie.tabn and

isuchenie.kp= predmet.kp and predmet.np='математика'

 

Задание 3 Вывести на экран фамилии преподавателей , количество часов, код предмета, номера групп, в которых ведут преподаватели с кафедры ‘информатика’

 

Рис 6 схема данных запроса

 

USE uch_proc

select prepodavatel.fio, isuchenie.ng, isuchenie.chas, isuchenie.kp

from prepodavatel, isuchenie, kafedra

where prepodavatel.tabn = isuchenie.tabn and

prepodavatel.kkaf =kafedra.kkaf and kafedra.namekaf='информатика'

 

Задание 4 Определите номер и фамилию студентов, которые получали оценку 4

Рис 7 схема данных запроса

 

USE uch_proc

select student.fio, student.ns , uspevaemost.ozenka

from student, uspevaemost

where student.ng= uspevaemost.ng and student.ns= uspevaemost.ns and uspevaemost.ozenka=4

Задание 5 Определите наименования предметов, по которым студенты получали 2

 

Рис 8 схема данных запроса

 

USE uch_proc

select uspevaemost.ozenka , predmet.np

from uspevaemost, isuchenie, predmet

where uspevaemost.ng = isuchenie.ng and uspevaemost.kp = isuchenie.kp and

uspevaemost.tabn = isuchenie.tabn and uspevaemost.vidz = isuchenie.vidz and

isuchenie.kp= predmet. kp and uspevaemost.ozenka=2

 

 

Контрольные задания.
  1. Выведите на экран фамилии студентов, которые получали оценки 3 или 4.
  2. Определите количество студентов, получивших каждую оценку. ( 2, 3, 4, 5)
  3. Выведите на экран оценки, вид занятия, наименование предмета, по которому студент ‘Аристов’ получал оценки
  4. Выведите номер группы, количество человек в группе, в которой обучается студентка ‘Борисова’
  5. Укажите фамилии преподавателей и номера групп, в которых изучаются предметы с количеством часов больше 100
  6. Определите наименования предметов, которые читаются преподавателями с кафедры ‘информатика’
  7. Выведите на экран фамилии преподавателей, которые ведут предметы в группе ‘102’
  8. Сформулируйте и создайте несколько многотабличных запросов в индивидуальной базе данных

ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ № 1

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

 

комплекса ______________________

Название комплекса

Этапы работы


Эта страница нарушает авторские права

allrefrs.ru - 2019 год. Все права принадлежат их авторам!