Защита и представление проектов

Защита и представление проектов

Методические указания для

Выполнения практических работ

По дисциплине «Разработка и эксплуатация удалённых баз данных»

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

230105 «Программное обеспечение вычислительной техники и автоматических систем»


Содержание

Введение
Практическая работа № 1 «Создание таблиц базы данных в среде MS SQL Server 2005»
Практическая работа № 2 «Создание таблиц зрительными средствами SQL Server»
Практическая работа № 3 «Структурированный Язык Запросов SQL. Команда SELECT»
Практическая работа Защита и представление проектов № 4 «Управляющие конструкции языка запросов SQL»
Практическая работа № 5 «Групповые операции. Агрегатные функции»
Практическая работа № 6 «Создание многотабличного запроса»
Практическая работа № 7 «Использование подзапросов»
Практическая работа № 8 «Реализация запросов для нахождения малого и наибольшего значений»
Практическая работа № 9 «Добавление, изменение, удаление записей в таблицах»
Практическая работа № 10 «Деловая игра по теме ‘Создание запросов на языке Защита и представление проектов SQL’»
Практическая работа № 11 «Создание триггеров в ИС «Учебный процесс» для поддержания целостности данных»
Практическая работа № 12 «Создание триггеров в ИС «Учебный процесс» для поддержания целостности данных»
Практическая работа № 13 «Хранимые процедуры в SQL Server»
Практическая работа № 14 «Создание запросов с внедрением наружного соединения»
Практическая работа № 15 «Транзакции. Уровни изоляций транзакций. Резервирование данных»
Практическая работа № 16 «Обеспечение безопасности Защита и представление проектов юзеров в SQL Server»
Практическая работа № 17 «Создание обычного клиента с помощью MS Access»
Приложение А
Приложение Б
Литература


Введение.

В данном методическом пособии представлены указания для выполнения практических работ по дисциплине «Разработка и эксплуатация удалённых баз данных» для специальности 230105 «Программное обеспечение вычислительной техники и автоматических систем».

Цели и Защита и представление проектов задачки предлагаемого пособия:

· получение практических способностей реализации базы данных в среде MS SQL Server 2005 ;

· формирование способностей построения обычных и сложных запросов при помощи языка SQL Transact

· управление транзакциями в базе данных

· получение практических способностей построения процедур и триггеров.

· обеспечение безопасности работы юзеров в архитектуре «клиент - сервер»

· получение практических способностей Защита и представление проектов разработки «клиентской» части приложения в MS Access.

·

Рассматриваемый курс содержит: 17 практических занятия; приложений, перечня литературы.

Каждое занятие состоит из последующих структурных частей:

· исследование теоретического материала;

· выполнение заданий.

· выполнение контрольных заданий


Практическая работа №1

«Создание таблиц базы данных в среде MS SQL Server 2005»

Цель: «Сформировать способности проектирования таблиц в среде MS SQL Server 2005, выстроить Защита и представление проектов схему данных»

Ход Работы

1. Вид оператора CREATE TABLE

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

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

CREATE TABLE [databasename].Имя Таблицы ( [, | )

= _ опр_столбца{тип_данных }

[DEFAULT USER]

[NOT NULL] []

[COLLATE collation]

DEFАULТ определяет значение, которое по дефлоту заносится в столбец при разработке записи таблицы; это значение будет находиться в Защита и представление проектов соответственном столбце данной записи до того времени, пока юзер не изменит его любым образом; значения по дефлоту.

- ограничения, накладываемые на значения столбца.

COLLATE collation - определяет порядок сортировки знаков

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

Таблицы создаются в среде SQL Server Management Studio. Запустите виртуальную машину. Для пуска программки изберите Запуск | Все программки | Microsoft SQL Server 2005 | SQL Server Management Studio. Появится окно Connect to Server. ( Подключение к серверу). Нажмите кнопку Cоnnect. После чего появится окно:

Рис 1. Окно SQL Server Management Studio

Слева находится Защита и представление проектов окно обозревателя объектов Obejct Explorer. В нём отображается дерево объектов SQLсервера. Чтоб сделать новейшую базу данных, выделите мышью Databases и из контекстного меню изберите New Database, появится окно

Рис 2. Окно для сотворения новейшей базы.

В строке Database name укажите имя вашей базы, нажмите на OK. В обозревателе объектов появится новенькая Защита и представление проектов база данных.

Рис. 3. Отображение новейшей базы данных

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

Схема данных приведена в приложении А. Первичный ключ задаётся: primary key (ng).

Наружный ключ для связи 2-ух таблиц по главному полю ng :

constraint FK_NG foreign key (ng) references gruppa (ng)

Задание 1. Сделайте таблицы с внедрением операторов Transact SQL

Структуры таблиц приведённые ниже

Use uch Защита и представление проектов_proz Create table gruppa ( ng varchar(3) not null, kol int , pball float , primary key (ng) ) Use uch_proz Create table student ( ng varchar(3) not null, ns varchar(3) not null, fio varchar(20) not null, pball float , primary key (ng, ns) constraint FK_NG foreign key (ng) references gruppa Защита и представление проектов (ng) )
Use uch_proz Create table kafedra ( kkaf varchar(3) not null, namekaf varchar(20) not null, primary key (kkaf) ) Use uch_proz Create table predmet ( kp varchar(3) not null, np varchar(30) not null, chas int, lek int, pr int, ch int, primary key (kp) )
Use uch_proz Create table prepodavatel Защита и представление проектов ( tabn varchar(3) not null, fio varchar(30) not null, kkaf varchar(3) not null, primary key (tabn) , constraint FK_prepk foreign key (kkaf) references kafedra (kkaf) ) Use uch_proz Create table isuchenie ( ng varchar(3) not null kp varchar(3) not null tabn varchar(3) not null, vidz varchar(3) not null, chas int, primary Защита и представление проектов key (ng, tabn, kp, vidz ))
Use uch_proz Create table uspevaemost ( ng varchar(3) not null, ns varchar(3) not null, kp varchar(3) not null tabn varchar(3) not null, vidz varchar(3) not null, ozenka int, primary key (ng,ns, tabn, kp, vidz ))

Задание 2.Построение диаграммы базы данных.

Для установления отношений меж Защита и представление проектов таблицами нужно выстроить диаграмму.

a) Щёлкните правой кнопкой мыши по Database Diagramm.

b) В показавшемся контекстном меню изберите New Database Diagramm. Появится список таблиц, которые можно включить в схему. Изберите таблицы и нажмите на Close.

c) Установите дела меж таблицами, переместив главные поля с таблиц мощности 1 на поля «многие»

Контрольные задания Защита и представление проектов.

1. Заполните данными построенные таблицы базы «Учебный процесс»

2. Постройте концептуальную модель по избранной вами предметной области.

3. Преобразуйте концептуальную модель в реляционную.

Практическая работа №2 «Создание таблиц зрительными средствами SQL Server»

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

Ход Работы

1. Создание таблицы.

Для сотворения таблицы в Защита и представление проектов Sql Server Management Studio нужно выполнить последующие деяния:

В окне обозревателя Object Explorer откройте объект Databases, а потом узел базы данных.

Щёлкните правой кнопкой мыши по объекту Tables, в контекстном меню изберите команду New Tables.

Раскроется окно конструктора таблиц

Рис 4 Конструктор таблиц

Окно создано для ввода сведений о полях таблицы. В конструкторе Защита и представление проектов три колонки: имя поля Column Name, тип данных Data Type и разрешение не вводить значение в поле при добавлении новейшей записи в таблицу Allow Nulls.

Задание 1.

Спроектируйте концептуальную модель вашей базы данных. Преобразуйте её в реляционную модель. Сделайте в среде SQL Server Management Studio вашу базу данных.

Задание 2.

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

Добавить поле в таблицу можно исключительно в окне Table, а корректировать его заглавие и тип данных можно как в этом окне, так Защита и представление проектов и в окне Column Properties. При выборе в качестве типа данных Decimal в окне Column Properties возникают дополнительные строчки: точность Precesion и степень Scale, которые содержат наибольшее количество десятичных символов и наибольшее количество символов после десятичной точки.

2. Просмотр инфы о таблице

Sql Server Management Studio даёт возможность юзеру получить информацию о таблице Защита и представление проектов. Для этого

1) В окне обозревателя изберите подходящую базу данных.

2) Откройте перечень её объектов, щёлкнув по значку плюс, расположенному слева от наименования базы.

3) Откройте узел таблиц Tables

4) Щёлкните правой кнопкой мыши по наименованию таблицы, информацию о которой необходимо получить.

5) В показавшемся контекстном меню изберите характеристики Properties.

6) Раскроется окно «Таблица свойств»

В показавшемся Защита и представление проектов окне три вкладки: общие ‘general’, разрешения ‘Permissions’ и расширенные ‘extended Properties’. На этих вкладках содержится:

· Размер таблицы на жёстком диске ( Data Spase)

· Размер области, которую занимают индексы ( Index Spase)

· Количество строк в таблице (Row Count )

· Дата сотворения таблицы (Data Created)

· Дата последней модификации ( Last Update)

Задание 3

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

3. Копирование, переименование и удаление таблиц

Для сотворения копии таблицы идеальнее всего использовать Transact SQL. На панели нажмите кнопку New Query.

Задание 4.

Выполним копирование таблицы kafedra. Копию таблицы назовём kafedra_copy

use test

select * into kafedra_copy from kafedra

Для удаления либо Защита и представление проектов переименования таблицы нужно выполнить деяния:

Задание 5.

Переименуйте таблицу kafedra_copy в таблицу copy. Удалите эту таблицу.

4. Построение диаграммы базы данных.

5. Ввод данных в таблицу, просмотр данных в таблице.

Для того, чтоб ввести данные в таблицу, нужно избрать таблицу базы данных из перечня Tables, из контекстного меню этой таблицы Защита и представление проектов избрать Open Table. Раскроется окно таблицы, в нижней части которого расположены кнопки для перехода по записям.

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

1. Сделайте структуры таблиц вашей базы данных.

2. Постройте диаграмму данных.

3. Заполните данными построенные таблицы .

4. Просмотрите характеристики нескольких таблиц. Опишите характеристики таблиц в отчёте.

5. Сделайте копию одной из таблиц.

6. Переименуйте скопированную таблицу, удалите её.


Практическая Защита и представление проектов работа №3

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

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

Ход Работы

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

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

Вид команды: SELECT * | [ DISTINCT FROM { [ ] }.,.. [ 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. Реляционные операторы

Реляционный оператор - математический знак Защита и представление проектов который показывает на определенный тип сопоставления меж 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 чувствителен к по-рядку, и 1-ое значение в предложении должно быть первым по алфавитному либо числовому порядку. Задание 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Практическая работа №4 «Управляющие конструкции языка Защита и представление проектов запросов SQL »

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

Ход Работы

1.Операторные скобки Как им все алгоритмические языки Transact-SQL содержит в своём составе операторные скобки. Синтаксис конструкции имеет последующий видBEGIN 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 ELSE Если в какой-нибудь ветке метода нужно выполнить более чем по одной команде, то следует пользоваться конструкцией BEGIN.. END Защита и представление проектов Задание 2. Найти содержится ли фамилия ‘Иванов’ в таблице Педагог.Код запроса имеет вид:

use uch_proc

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

print 'фамилия есть в перечне педагогов'

else

print 'фамилия нет в перечне педагогов'

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

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

Работает конструкция последующим образом. Если значение входного выражения и 1-го из перечисленных, стоящих после WHEN, совпадают, то ворачивается выражение – итог, обозначенное после соответственного THEN. Если не 1-го совпадения не отмечено, то ворачивается итог, стоящий после 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. Одна обеспечивает выполнение цикла 1-го типа. Это цикл с предусловием. Синтаксис конструкции:

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

«Групповые операции. Агрегатные функции »

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

Ход Работы

1. Агрегатные функции Запросы могут создавать обобщенное групповое значение полей точно также как и значение 1-го поля. Это делает при помощи агрегатых функций. Агрегатные функции создают одиночное значение Защита и представление проектов для всей группы таблицы. Имеется перечень этих функций: · COUNT производит номера строк либо не-NULL значения полей которые избрал запрос.· SUM производит арифметическую сумму всех избранных значений данного поля.· AVG производит усреднение всех избранных значений данного поля.· MAX производит наибольшее из всех избранных значений данного поля.· MIN производит меньшее из всех Защита и представление проектов избранных значений данного поля. Только числовые поля могут употребляться с SUM и AVG. С COUNT, MAX, и MIN, могут употребляться и числовые либо символьные поля. Задание 1.Вывести среднюю оценку по таблице Успеваемость для студента с номером ‘01’

USE uch_proc

SELECT AVG(ozenka) FROM uspevaemost

where ns='01'

Функция COUNT несколько отличается Защита и представление проектов от всех. Она считает число значений в данном столбце, либо число строк в таблице. Когда она считает значения столбца, она употребляется с DISTINCT чтоб создавать счет чисел разных значений в данном поле.

Задание 2.Найти в таблице Студент количество студентов в таблице

USE uch_proc

SELECT count(ns) FROM student

Чтоб подсчитать общее число Защита и представление проектов строк в таблице, используйте функцию COUNT со звездочкой заместо имени поля, как в последующем примере:

USE uch_proc

SELECT count(*) FROM student

2. Групповые операции

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

Задание 3.Найти для каждого студента по таблице Успеваемость наименьшую оценку.

USE uch_proc

SELECT ns, min(ozenka) as 'наихудшая'

FROM uspevaemost

group by ns

GROUP BY применяет агрегатные функции независимо от серий групп которые определяются при помощи значения поля в целом. В данном случае Защита и представление проектов, любая группа состоит из всех строк с этим же самым значением поля ns, и MIN функция применяется раздельно для каждой таковой группы. Это значение поля, к которому применяется GROUP BY, имеет, по определению, только одно значение на группу вывода, также как это делает агрегатная функция. Результатом является сопоставимость которая позволяет агрегатам Защита и представление проектов и полям объединяться таким макаром.Вы сможете также использовать GROUP BY с бессчетными полями. Задание 4. Совершенствуя вышеупомянутый пример дальше, представим что вы желаете узреть меньшую оценку полученную каждым студентом по каждому предмету. Чтоб сделать это, вы должны сгруппировать таблицу uspevaemost по студентам и кодам предметов, и Защита и представление проектов применить функцию MIN к каждой таковой группе, подобно этому:

USE uch_proc

SELECT ns, min(ozenka) as 'наихудшая' , kp

FROM uspevaemost

group by ns, kp

3.Предложение HAVING

Представим, что в прошлом примере, вы желали бы узреть MIN оценку только студента ‘01’ Вы не можете использовать агрегатную функцию в предложении WHEREВы не можете сделать чего-нибудть подобно последующему:

USE Защита и представление проектов uch_proc

SELECT ns, min(ozenka) as 'наихудшая' , kp

FROM uspevaemost

group by ns, kp

WHERE ns = ‘01’ Предложение HAVING определяет аспекты применяемые чтоб удалять определенные группы из вывода, точно также как предложение WHERE делает это для личных строк.

Задание 5. Вывести меньшую оценку полученную студентом ‘01’ по каждому предмету.

USE uch_proc

SELECT ns, min Защита и представление проектов(ozenka) as 'наихудшая' , kp

FROM uspevaemost

group by ns, kp

HAVING ns = ‘01’

4. Упорядочение вывода полей. Команда ORDER BY

Таблицы - это неупорядоченные наборы данных, и данные которые выходят из их, не непременно возникают в некий определенной последовательности. SQL употребляет команду ORDER BY чтоб позволять вам упорядочивать ваш вывод. Эта команда упорядочивает вывод запроса Защита и представление проектов согласно значениям в том либо ином количестве избранных столбцов. Бессчетные столбцы упорядочиваются один снутри другого, также как с GROUP BY, и вы сможете определять возрастание ( ASC ) либо убывание ( DESC ) для каждого столбца. По дефлоту установлено - возрастание.

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

Задание 6. Вывести по алфавиту перечень фамилий педагогов

USE uch_proc

SELECT fio

FROM prepodavatel

order by fio

ORDER BY может не считая того, употребляться с GROUP BY для упорядочения групп. Если это так, то ORDER BY всегда приходит последним. Вот вам наглядный пример из Задания 4 с добавлением предложения ORDER BY Защита и представление проектов. Перед группированием вывода, порядок студентов был произвольным.

Задание 7. Вывести по порядку номера студентов в задании 4

USE uch_proc

SELECT ns, min(ozenka) as 'наихудшая' , kp

FROM uspevaemost

group by ns, kp

order by ns

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

1. По таблице Успеваемость найти среднюю оценку в каждой группе.

2. По таблице Успеваемость найти количество оценок в каждой группе.

3. Из Защита и представление проектов таблицы Студент вывести перечень студентов по алфавиту.

4. По таблице Исследование найти суммарное количество часов по предметам в каждой группе.

5. По таблице Исследование найти суммарное количество часов по предметам с vidz =’пр’ в каждой группе

6. Найти количество групп, изучающих предмет с кодом ‘01’

7. Обусловьте количество педагогов на каждой кафедре.

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


Практическая работа №6

«Создание многотабличного запроса»

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

Ход Работы

Одна из более принципиальных особенностей запросов 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. Сформулируйте и сделайте несколько многотабличных запросов в персональной базе данных

Практическая работа №7

«Использование подзапросов»

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

Ход Работы

1. Построение подзапросов.

Нередко нереально решить намеченную цель методом использования 1-го запроса. Это в особенности животрепещуще в тех Защита и представление проектов случаях, когда при использовании условия поиска в предложении WHERE

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

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

Внутренний подзапрос представляет собой также оператор SELECT и кодирование его предложений подчиняется этим же правилам, что и для основного оператора SELECT.

В общем случае оператор SELECT с подзапросом имеет вид

SELECT ...

FROM ...

WHERE SELECT ...

FROM ... WHERE ...

Задание 1. При помощи подзапроса вывести номера студентов, обучающихся в группе Защита и представление проектов с количеством человек >32

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

use uch_proc

select fio

from student

where ng in ( select ng

from gruppa

where kol > 32 )

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


zashititelnaya-rech-advokata.html
zashitnaya-funkciya-toksinov.html
zashitnie-dejstviya-boevim-nozhom-v-blizhnem-boyu.html