Цель работы: Изучение возможностей создания БД, средствами языка запросов SQL, изучение возможностей формирования запросов из БД.
Задание к лабораторной работе, вариант 6:
Создать БД из лабораторной работы №1 средствами языка запросов SQL. Создать и заполнить БД sveden, содержащую поля: фамилия, имя, отчество студента, группа, факультет, предмет, оценка, семестр, учебник, автор, стоимость. Выполнить запросы: вывод минимального, максимального и среднего значения поля размер стипендии; вывод фамилии всех студентов кроме обучающихся на факультетах РТФ и ФТФ; выборка фамилий всех студентов факультета АВТ.
Текст программы:
--Создание базы данных
//Создание базы данных с заданными параметрами
CREATE DATABASE dsveden
//Создание таблицы со сведеньями о студентах
CREATE TABLE sveden ;
(фамилия C(20) PRIMARY KEY,;
имя C(15),;
отчество C(20),;
группа C(8),;
курс N(1) ,;
факультет C(10),;
предмет C(20),;
оценка N(1),;
семестр N(2),;
учебник C(20),;
автор C(20),;
стоимость N(6);
);
//Создание таблицы со сведеньями о стипендии
CREATE TABLE stipendia;
(фамилия C(20),;
группа C(8),;
стипендия I,;
FOREIGN KEY фамилия TAG стипендия REFERENCES sveden)
CLOSE DATABASES ALL
CLEAR
--Вставка данных в базу данных
USE sveden
//Вставка с сведений в заданные поля
INSERT INTO sveden (фамилия,имя,отчество,группа,курс,факультет,предмет,оценка,семестр,учебник,автор,стоимость);
VALUES ("Чистяков", "Николай", "Александрович","АМ-811",4,"АВТ","Экономика",4,7,"Основы экономики","Быков А.А.",160)
INSERT INTO sveden (фамилия,имя,отчество,группа,курс,факультет,предмет,оценка,семестр,учебник,автор,стоимость);
VALUES ("Грибенников", "Алексей", "Анатольевич","АМ-811",4,"АВТ","Экология",4,7,"Основы экологии","Быков А.А.",260)
INSERT INTO sveden (фамилия,имя,отчество,группа,курс,факультет,предмет,оценка,семестр,учебник,автор,стоимость);
VALUES ("Жуков", "Алексей", "Николаевич","ФТ-81",4,"ФТФ","Экология",4,7,"Основы экологии","Быков А.А.",260)
INSERT INTO sveden (фамилия,имя,отчество,группа,курс,факультет,предмет,оценка,семестр,учебник,автор,стоимость);
VALUES ("Рудаков", "Николай", "Анатольевич","РТ-81",4,"РТФ","Экология",4,7,"Основы экологии","Быков А.А.",260)
INSERT INTO sveden (фамилия,имя,отчество,группа,курс,факультет,предмет,оценка,семестр,учебник,автор,стоимость);
VALUES ("Сучков", "Алексей", "Александрович","ФТ-82",4,"РТФ","Экология",3,7,"Экологии с нами","Рыбин А.А.",160)
INSERT INTO sveden (фамилия,имя,отчество,группа,курс,факультет,предмет,оценка,семестр,учебник,автор,стоимость);
VALUES ("Юшин", "Олег", "Петрович","АМ-811",4,"АВТ","Экология",4,7,"Моделирование","Шалагинов А.В.",360)
INSERT INTO sveden (фамилия,имя,отчество,группа,курс,факультет,предмет,оценка,семестр,учебник,автор,стоимость);
VALUES ("Зюзин", "Олег", "Яковлевич","ФЛ-81",4,"ФЛА","Зоология",4,7,"Зоологическое моделирование","Шалагинов А.А.",260)
CLOSE DATABASES
USE stipendia
INSERT INTO stipendia (фамилия,группа,стипендия);
VALUES ("Чистяков","АМ-811",300)
INSERT INTO stipendia (фамилия,группа,стипендия);
VALUES ("Грибенников","АМ-811",260)
INSERT INTO stipendia (фамилия,группа,стипендия);
VALUES ("Жуков","ФТ-81",360)
INSERT INTO stipendia (фамилия,группа,стипендия);
VALUES ("Рудаков","РТ-81",60)
INSERT INTO stipendia (фамилия,группа,стипендия);
VALUES ("Сучков","ФТ-82",160)
INSERT INTO stipendia (фамилия,группа,стипендия);
VALUES ("Юшин","АМ-811",100)
INSERT INTO stipendia (фамилия,группа,стипендия);
VALUES ("Зюзин","ФЛ-81",130)
CLOSE DATABASES ALL
--Запросы
//Вывод всех студентов стипендия которых от 100 до 300
SELECT STIPENDIA.Фамилия,STIPENDIA.Группа,STIPENDIA.Стипендия;
FROM DSVEDEN!STIPENDIA STIPENDIA;
WHERE (STIPENDIA.СТИПЕНДИЯ>=100.0000 AND STIPENDIA.СТИПЕНДИЯ<=300.0000);
ORDER BY STIPENDIA.Стипендия
//Вывод всех студентов обучающихся на АВТ
SELECT SVEDEN.Фамилия,SVEDEN.Факультет;
FROM DSVEDEN!SVEDEN SVEDEN;
WHERE (SVEDEN.ФАКУЛЬТЕТ = 'АВТ');
ORDER BY SVEDEN.Фамилия
//Вывод всех студентов кроме студентов факультетов РТФ и ФТФ
SELECT SVEDEN.Фамилия,SVEDEN.Группа,SVEDEN.Факультет;
FROM DSVEDEN!SVEDEN SVEDEN;
WHERE (SVEDEN.ФАКУЛЬТЕТ<>'РТФ' AND SVEDEN.ФАКУЛЬТЕТ<>'ФТФ');
ORDER BY SVEDEN.Фамилия
//Средняя стипендия
SELECT AVG(STIPENDIA.Стипендия);
FROM DSVEDEN!STIPENDIA STIPENDIA;
//Вывод максимальной стипендии
SELECT TOP 1 STIPENDIA.Фамилия,STIPENDIA.Группа,STIPENDIA.Стипендия;
FROM DSVEDEN!STIPENDIA STIPENDIA;
ORDER BY STIPENDIA.Стипендия DESC;
//Вывод минимальной стипендии
SELECT TOP 1 STIPENDIA.Фамилия,STIPENDIA.Группа,STIPENDIA.Стипендия;
FROM DSVEDEN!STIPENDIA STIPENDIA;
ORDER BY STIPENDIA.Стипендия ;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.