ПРИМЕР ВЫПОЛНЕНИЯ РАБОТЫ




В качестве примерарассмотрим отношение, соответствующее варианту:

Информация банка:

ф.и.о. вкладчика; адрес; сумма вклада; вид вклада.

1. Присвоим имя таблице - «Вкладчики» и определим имена атрибутов и их типы.

ФИО_вкладчика - CHAR(20)

Адрес - CHAR(30)

Сумма_вклада – FLOAT

Вид_вклада - CHAR(20)

2. Используя какую-либо SQL - среду (например, pgAdmin), откроем файл БД.

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

Например, создадим запрос на создание таблицы «Вкладчики»:

· Выбрать: Запросыà Новый;

· В открывшемся построителе запросов ввести имя запроса (например, zap_create)

· В нижнем окне набрать текст запроса:

CREATE TABLE Вкладчики (ФИО_вкладчика CHAR(20) NOT NULL, Адрес CHAR(30), Сумма_вклада FLOAT CHECK (Сумма_вклада>0), Вид_вклада CHAR(20));

· Выбрать вкладку Выполнить запрос;

· Сохранить определение запроса;

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

4. Внесение данных в таблицы возможно с помощью меню Таблицы à Указать таблицу à Открыть.

Введем несколько записей:

ФИО_вкладчика Адрес Сумма_вклада Вид_вклада
Иванов Жукова 34/45   обычный
Петров Конева 67/89   срочный
Михайлов Жукова 87/45   зарплатный
Быков Лесной 32/201   срочный
Сидоров Конева 85/43   зарплатный

5. Выполним запрос на добавление данных.

INSERT INTO “Вкладчики” VALUES (‘Быков’, ‘Лесной 32/201’, 2000, ‘до востребования’);

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

6. Выполним запрос на удаление данных.

1)Удалить из базы данных всю информацию по данному вкладчику банка.

· Выберем: Запросыà Новый;

· В открывшемся построителе запросов введем имя запроса (например, zap_delete)

· В нижнем окне введем текст запроса:

DELETE FROM “Вкладчики” WHERE “ФИО_вкладчика”=’Иванов’;

· Выберем вкладку Выполнить запрос;

· Сохраним определение запроса;

7. Аналогично выполним запросы на обновление данных.

2)Изменить для данного вкладчика вид вклада.

UPDATE “Вкладчики” SET “Вид_вклада”=’срочный’ WHERE “ФИО_вкладчика”=’Иванов’;

3)Изменить адрес проживания данного вкладчика.

UPDATE “Вкладчики” SET Адрес=’Юбилейный 67/89’ WHERE “ФИО_вкладчика”=’Петров’;

8. Аналогично выполним запрос на создание новой таблицы на основе отбора записей из имеющейся таблицы

4)Создать новую таблицу, в которую занести всю информацию о клиентах банка, имеющих данный вид вклада.

CREATE TABLE “Вклад_срочный” AS SELECT “ФИО_вкладчика”, “Адрес”, “Сумма_вклада” FROM “Вкладчики” WHERE “Вид_вклада”=’срочный’;

9. Выполним запросы на выборку данных.

1) Выбрать все сведения о вкладчике по требуемым фамилии и инициалам.

SELECT Вкладчики.* FROM Вкладчики WHERE “ФИО_вкладчика”=’Петров’;

2) Выбрать фамилии и инициалы вкладчиков, у которых сумма вклада превышает 100 тыс. руб.

SELECT “ФИО_вкладчика” FROM “Вкладчики” WHERE “Сумма_вклада”>100000;

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

SELECT Вкладчики.* FROM Вкладчики WHERE Дом_адрес Like ‘Жукова*’;

4)Выбрать все сведения о вкладчиках, имеющих по данному виду вклада сумму, входящую в указанный диапазон.

SELECT Вкладчики.* FROM Вкладчики WHERE “Вид_вклада”=’срочный’ AND “Сумма_вклада”>20000 AND “Сумма_вклада”<100000;

5) Выбрать фамилии и.о. вкладчиков, имеющих следующие виды вклада: "срочный", "до востребования".

SELECT “ФИО_вкладчика” FROM “Вкладчики” WHERE “Вид_вклада”=’срочный’ OR “Вид_вклада”=’до востребования’;

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

1)Определить количество видов вклада, сделанных данным вкладчиком.

SELECT Count(Вкладчики.Вид_вклада) FROM Вкладчики

GROUP BY Вкладчики.ФИО_вкладчика HAVING Вкладчики.ФИО_вкладчика=’Иванов’;

2) Определить фамилию, имя и отчество вкладчика, имеющего наибольшую сумму вклада.

SELECT ФИО_вкладчика, Сумма_вклада FROM Вкладчики WHERE Вкладчики.Сумма_вклада =(SELECT Max(Сумма_вклада) FROM Вкладчики);

3)Определить фамилию, имя и отчество вкладчика, имеющего наименьшую сумму вклада.

SELECT ФИО_вкладчика, Сумма_вклада FROM Вкладчики WHERE Вкладчики.Сумма_вклада = (SELECT Min(Сумма_вклада) FROM Вкладчики);

4) Определить общую сумму денег, содержащихся в банке по вкладам.

SELECT Sum(Вкладчики.Сумма_вклада) AS Общая_Сумма_вкладов FROM Вкладчики;

11. Выполним подзапрос на выборку данных.

1)Выбрать ФИО вкладчиков, их адреса и виды вкладов, которые имеют такой же вид вклада, что и указанный вкладчик.

SELECT ФИО_вкладчика, Адрес, Вид_вклада FROM Вкладчики WHERE Вид_вклада IN (SELECT Вид_вклада FROM Вкладчики WHERE ФИО_вкладчика=’Иванов’);

12. Выполним запрос на создание представления.

1)Создать представление, содержащее: ФИО вкладчиков, их адреса и суммы вкладов, превышающих заданное значение.

CREATE VIEW “Вкладчики_пред” AS SELECT ФИО_вкладчика, Адрес, Сумма_вклада FROM “Вкладчики ” WHERE Сумма_вклада >50000;

 

ВАРИАНТЫЗАДАНИЙ

 

N Задания
  Данные о высших учебных заведениях: название ВУЗа; город; количество факультетов; количество преподавателей; количество студентов. Запросы на изменение данных: 1)Удалить из таблицы всю информацию по данному ВУЗу. 2)Изменить для данного ВУЗа, находящегося в данном городе, количество факультетов. 3)Изменить количество студентов данного ВУЗа, находящегося в данном городе. 4)Создать новую таблицу, в которую занести наименования и города ВУЗов с количеством факультетов, не превышающим данное значение. Запросы на выборку данных: 1) Выбрать все сведения о ВУЗах заданного города. 2) Выбрать количество факультетов и преподавателей требуемого ВУЗа. 3) Выбрать наименования ВУЗов, в которых количество факультетов превышает заданное значение. 4) Выбрать наименования ВУЗов заданного города, в которых количество студентов превышает заданную величину. 5)Выбрать наименования и расположение ВУЗов, в которых обучается от 2000 до 4000 студентов. Запросы с агрегатными функциями: 1)Определить количество студентов, обучающихся в ВУЗах нашего государства. 2) Определить название и размещение ВУЗа с наибольшим количеством факультетов. 3) Определить название и размещение ВУЗа с наименьшим количеством студентов. 4) Определить общее количество студентов, обучающихся в ВУЗах заданного города. Подзапросы: 1)Выбрать названия ВУЗов, город и количества факультетов, расположенных в том же городе, что и указанный ВУЗ. Представления: 1)Создать представление, содержащее: название ВУЗа, город, количество преподавателей и количество студентов больше заданного значения.
  Данные о наличии билетов в кассе ж/д вокзала: номер поезда; вид поезда; станция отправления; станция назначения; время отправления; количество мест. Запросы на изменение данных: 1)Удалить из расписания информацию о данном поезде, следующем до данной станции. 2)Изменить для данного поезда, следующего по данному направлению, время отправления. 3)Изменить для данного поезда, отправляющегося с данной станции, количество свободных мест. 4)Создать новую таблицу, которая будет содержать все станции отправления и номера поездов, следующих до данного города. Запросы на выборку данных: 1) Выбрать станции отправления и назначения, а также время отправления по требуемому номеру поезда. 2) Выбрать количество свободных мест и номера поездов до требуемой станции. 3) Выбрать номера поездов, следующих до данной станции, количество свободных мест на которые превышает заданное значение. 4) Выбрать время отправления, номера поездов, следующих в Москву, Санкт-Петербург и Воронеж. 5) Выбрать номера и виды поездов, следующих по данному маршруту и отправляющихся в указанный промежуток времени. Запросы с агрегатными функциями: 1) Определить количество поездов, следующих до данной станции. 2) Определить номер поезда, следующего до данной станции с наибольшим количеством свободных мест. 3) Определить номер поезда, следующего до данной станции с наименьшим количеством свободных мест. 4)Определить общее количество свободных мест на поезда, следующие до данной станции. Подзапросы: 1)Выбрать номера поездов, станции отправления и назначения, следующих до той же станции, что и указанный поезд. Представления: 1)Создать представление, содержащее: номера поездов, станции назначения и количество свободных мест, превышающих заданное значение.
  Каталог книг в библиотеке: шифр книги; фамилия и.о. автора; название книги; номер шкафа; номер стеллажа. Запросы на изменение данных: 1)Удалить из базы данных всю информацию о книгах данного автора, хранящихся в данном шкафу. 2)Изменить номер шкафа, куда перенесли книги данного автора. 3)По сведениям, полученным из каталога, изменить шифр книги данного автора. 4)Создать новую таблицу, в которую занести шифры и наименования книг данного автора. Запросы на выборку данных: 1) Выбрать все сведения о книге по требуемому шифру. 2) Выбрать все названия книг требуемого автора, хранящиеся в шкафу 5. 3) Выбрать наименования книг 3 указанных авторов. 4) Выбрать наименования и авторов книг, чьи фамилии начинаются на "С". 5) Выбрать шифры книг, хранящихся в шкафах с 1 по 10. Запросы с агрегатными функциями: 1)Определить количество книг данного автора, хранящихся в данном шкафу. 2) Определить шифры книг, хранящихся на самом низком стеллаже данного шкафа. 3) Определить шифры книг, хранящихся на самом высоком стеллаже данного шкафа. 4)Определить количество шкафов с данным количеством стеллажей. Подзапросы: 1)Выбрать названия книг, их авторов и номера шкафов, которые лежат в том же шкафу, что и книги указанного автора. Представления: 1)Создать представление, содержащее: названия книг, их авторов и номера стеллажей, которые превышают заданное значение.
  Данные о футбольной команде: фамилия и.о. игрока; год рождения; стаж игры в команде; количество проведенных игр за команду; статус на поле. Запросы на изменение данных: 1)Удалить из базы данных всю информацию о данном игроке. 2)Изменить стаж игры в команде для данного игрока. 3)Изменить количество проведенных игр за команду для игрока, родившегося в данном году. 4)Создать новую таблицу, в которую занести все сведения об игроках, родившихся в заданном году. Запросы на выборку данных: 1) Выбрать все сведения об игроке по заданным фамилии и.о. 2) Выбрать фамилии и.о. игроков, стаж игры в команде и год рождения игроков, у которых количество проведенных игр за команду равно 10. 3) Выбрать фамилии и.о. игроков, имеющих статус "защитник", "нападающий". 4) Выбрать сведения об игроках, чьи фамилии начинаются с буквы "М". 5) Выбрать сведения об игроках, родившихся в 1980, 1981, 1982 годах. Запросы с агрегатными функциями: 1)Определить фамилию и.о. самого молодого игрока. 2) Определить количество игроков с наибольшим стажем игры в команде. 3) Определить количество игроков с наименьшим стажем игры в команде. 4)Определить общее количество игр за команду, проведенных игроками данного года рождения. Подзапросы: 1)Выбрать фамилию и и.о. игроков, их статус и стаж игры, которые имеют такой же стаж, что и указанный игрок. Представления: 1)Создать представление, содержащее: ФИО игроков, их год рождения и статус игры, совпадающий со значением «нападающий».
  Информация банка: ф.и.о. вкладчика; адрес; сумма вклада; вид вклада. Запросы на изменение данных: 1)Удалить из базы данных всю информацию по данному вкладчику банка. 2)Изменить для данного вкладчика вид вклада. 3)Изменить адрес проживания данного вкладчика. 4)Создать новую таблицу, в которую занести всю информацию о клиентах банка, имеющих данный вид вклада. Запросы на выборку данных: 1) Выбрать все сведения о вкладчике по требуемым фамилии и инициалам. 2) Выбрать фамилии и инициалы вкладчиков, у которых сумма вклада превышает 100 тыс. руб. 3) Выбрать все сведения о вкладчиках, проживающих в указанном микрорайоне. 4)Выбрать все сведения о вкладчиках, имеющих по данному виду вклада сумму, входящую в указанный диапазон. 5) Выбрать фамилии и.о. вкладчиков, имеющих следующие виды вклада: "срочный", "до востребования". Запросы с агрегатными функциями: 1)Определить количество видов вклада, сделанных данным вкладчиком. 2) Определить фамилию и.о. вкладчика, имеющего наибольшую сумму вклада. 3)Определить фамилию и.о. вкладчика, имеющего наименьшую сумму вклада. 4)Определить общую сумму денег, содержащихся в банке по вкладам. Подзапросы: 1)Выбрать ФИО вкладчиков, их адреса и виды вкладов, которые имеют такой же вид вклада, что и указанный вкладчик. Представления: 1)Создать представление, содержащее: ФИО вкладчиков, их адреса и суммы вкладов, превышающих заданное значение.
  Отдел кадров предприятия: фамилия и.о. сотрудника; оклад; название отдела; занимаемая должность; стаж работы. Запросы на изменение данных: 1)Удалить из базы данных всю информацию о данном сотруднике. 2)Изменить оклад всех сотрудников данного отдела, имеющих данную должность. 3)Увеличить на 10% оклад сотрудников, работающих в данном отделе. 4)Создать новую таблицу, в которую занести все сведения о сотрудниках, имеющих стаж работы более данного значения. Запросы на выборку данных: 1) Выбрать все сведения о работнике по заданным фамилии, имени и отчеству. 2) Выбрать все сведения обо всех инженерах требуемого отдела. 3) Выбрать всех служащих, чьи фамилии начинаются с буквы "К". 4) Выбрать всех служащих, которые не являются инженерами, техниками и старшими инженерами. 5) Выбрать всех служащих, зарабатывающих от 5 тыс. руб. до 10 тыс. руб. Запросы с агрегатными функциями: 1)Определить среднюю зарплату служащих данного отдела. 2)Определить общую сумму зарплаты для служащих с данной должностью. 3)Определить разницу между самой высокой и самой низкой зарплатами, получаемыми служащими. 4)Определить наибольшую зарплату служащих, работающих в данном отделе. Подзапросы: 1)Выбрать ФИО, оклад и стаж работы сотрудников, имеющих такой же стаж работы, что и указанный сотрудник. Представления: 1)Создать представление, содержащее: ФИО, оклад и отдел сотрудников, работающих в отделе «АСУ» и оклад которых превышает заданное значение.
  Отдел головных уборов в магазине: название головного убора; вид; размер; стоимость. Запросы на изменение данных: 1)Удалить из базы данных всю информацию о данном головном уборе. 2)Изменить стоимость головных уборов данного вида, имеющих данный размер. 3)Изменить наименование головного убора данного размера и данного вида. 4)Создать новую таблицу, в которую занести наименования и стоимость головных уборов данного вида. Запросы на выборку данных: 1) Выбрать все сведения обо всех головных уборах. 2) Выбрать все сведения обо всех женских головных уборах, имеющих требуемый размер. 3) Выбрать наименования головных уборов данного вида со стоимостью от 100 до 300 руб. 4) Выбрать все сведения о головных уборах данного вида, если их стоимость не превышает данного значения. 5) Определить стоимость головных уборов данного вида, имеющих 56, 57, 58 размеры. Запросы с агрегатными функциями: 1)Определить наименование товара, имеющего наибольшую стоимость. 2)Определить наименование товара, имеющего наименьшую стоимость. 3)Определить количество головных уборов данного вида и данного размера. 4)Определить наибольший размер головного убора данного вида и данной стоимости. Подзапросы: 1)Выбрать названия головных уборов, их вид и стоимость, имеющих ту же стоимость, что и указанный головной убор. Представления: 1)Создать представление, содержащее: названия головных уборов, их вид и размер которых, находится между 56 и 60 размером.
  Список абонентов ГТС: фамилия и.о. абонента; номер телефона; адрес; дата установки; Запросы на изменение данных: 1)Удалить из базы данных всю информацию по данному абоненту. 2)Изменить адрес данного абонента. 3)Изменить номер телефона у абонента, проживающего по данному адресу. 4)Создать новую базу данных и занести в нее всю информацию об абонентах, которым установили телефон в указанном году. Запросы на выборку данных: 1) Выбрать все сведения об абоненте по требуемому номеру телефона. 2) Выбрать фамилии абонентов, которые проживают по требуемому адресу и которым установлен телефон в 1993 году. 3) Выбрать адреса и фамилии и.о. абонентов, имеющих номера телефонов, начинающихся с цифр 32. 4) Выбрать фамилии и.о. абонентов, которым установили телефон в указанный промежуток времени. 5) Выбрать фамилии и.о. абонентов и дату установки им телефонов, исключая тех, которым установили телефон в 1994, 1995, 1996 годах. Запросы с агрегатными функциями: 1)Определить количество абонентов, которым установлен телефон в данном году. 2)Определить фамилии и.о. и адреса самых первых абонентов телефонной сети. 3)Определить фамилии и.о. и адреса абонентов, которым в последнюю очередь были установлены телефоны. 4)Определить число пользователей телефонной сети. Подзапросы: 1)Выбрать ФИО абонентов, номера их телефонов и дату установки телефона, совпадающую с датой установки указанного абонента. Представления: 1)Создать представление, содержащее: ФИО абонентов, номера их телефонов и их адрес, которые проживают в микрорайоне Жукова.
  Данные о членах автомобильного клуба: фамилия; инициалы; год рождения; адрес; стаж в клубе. Запросы на изменение данных: 1)Удалить из базы данных всю информацию о данном члене клуба. 2)Для данного члена клуба изменить его стаж. 3)Изменить адрес проживания данного члена клуба. 4)Создать новую таблицу, в которую занести все сведения о членах клуба данного года рождения. Запросы на выборку данных: 1) Выбрать все сведения о члене клуба по требуемым фамилии и инициалам. 2) Выбрать фамилии и инициалы игроков, у которых стаж в клубе не менее 5 лет. 3) Выбрать все сведения о членах клуба, чьи фамилии начинаются на букву "К". 4) Выбрать фамилии и.о. и год рождения членов клуба, проживающих в указанном микрорайоне. 5) Выбрать сведения об автомобилистах, чей стаж в клубе от 3 до 7 лет. Запросы с агрегатными функциями: 1)Определить фамилию и.о. самого молодого члена клуба. 2)Определить количество членов клуба с наибольшим стажем. 3)Определить количество членов клуба с наименьшим стажем. 4)Определить самого старшего члена в клубе. Подзапросы: 1)Выбрать фамилии и инициалы членов клуба, их год рождения и адрес, которые родились в том же году, что и указанный член клуба. Представления: 1)Создать представление, содержащее: фамилии и инициалы членов клуба, их год рождения, адрес и стаж в клубе, превышающий заданное значение.
  Картотека поликлиники: фамилия пациента; инициалы пациента; адрес; год рождения; пол; профессия. Запросы на изменение данных: 1)Удалить из базы данных всю информацию о данном пациенте. 2)Изменить адрес проживания данного пациента. 3)Изменить год рождения данного пациента. 4)Создать новую таблицу, в которую занести фамилии и.о. и адреса пациентов, родившихся в данном году. Запросы на выборку данных: 1) Выбрать все сведения о пациенте по требуемым фамилии и инициалам. 2) Выбрать фамилии и инициалы мужчин 1975 года рождения. 3) Выбрать все сведения о пациентах, родившихся в 1980,1981,1982 годах. 4) Выбрать фамилии и.о., год рождения пациентов, проживающих в данном микрорайоне. 5) Выбрать все сведения о пациентах, чьи фамилии начинаются на ”Н” Запросы с агрегатными функциями: 1)Определить количество пациентов, родившихся в данном году. 2)Определить количество самых старых пациентов. 3)Определить количество самых молодых пациентов. 4)Определить общее количество пациентов. Подзапросы: 1)Выбрать фамилии и инициалы пациента, адрес, профессию и год рождения, которые родились в том же году, что и указанный пациент. Представления: 1)Создать представление, содержащее: фамилии и инициалы пациента, адрес и год рождения, превышающий заданное значение.
  Данные об ассортименте телевизоров в магазине: марка телевизора; страна изготовления; размер экрана; цена. Запросы на изменение данных: 1)Удалить из базы данных всю информацию о телевизоре данной марки. 2)Изменить цену данного телевизора, изготовленного в данной стране. 3)Изменить страну изготовления для телевизора данной марки. 4)Создать новую таблицу, в которую занести всю информацию о телевизорах, изготовленных в данной стране. Запросы на выборку данных: 1) Выбрать все сведения о телевизоре по требуемой марке. 2) Выбрать марку и цену телевизоров, изготовленных в Японии. 3) Выбрать наименования телевизоров, имеющих цену в указанном диапазоне 4) Выбрать все сведения из базы данных о телевизоре, размер экрана которого не превышает данное значение. 5) Выбрать все сведения о телевизорах, изготовленных в Германии, Японии, Англии Запросы с агрегатными функциями: 1)Определить марку телевизора, имеющего наибольшую цену. 2)Определить марку телевизора, имеющего наименьшую цену. 3)Определить количество телевизоров, изготовленных в данной стране. 4)Определить марку телевизора с наименьшим размером экрана по диагонали. Подзапросы: 1)Выбрать марки телевизоров, страну изготовления и размер экрана, которые изготовлены в той же стране, что и указанная марка телевизора. Представления: 1)Создать представление, содержащее: марки телевизоров, страну изготовления и цену, превышающую заданное значение.
  Данные об ассортименте обуви в магазине: название обуви; мужская или женская; страна изготовления; размер; цена. Запросы на изменение данных: 1)Удалить из базы данных всю информацию об обуви данного названия и вида с данным размером. 2)Изменить стоимость для обуви данного названия и вида. 3)Изменить стоимость обуви данного вида, изготовленной в данной стране и имеющей данный размер. 4)Создать новую таблицу, в которую занести всю информацию об обуви, изготовленной в данной стране. Запросы на выборку данных: 1)Выбрать все сведения о мужской обуви 43 размера. 2)Выбрать наименования женской обуви, изготовленной во Франции. 3)Выбрать наименование обуви данного вида со стоимостью, входящей в данный диапазон. 4)Выбрать все сведения об обуви данного вида, если ее стоимость не превышает данного значения. 5)Определить стоимость обуви данного вида и наименования, имеющей указанные размеры Запросы с агрегатными функциями: 1)Определить наименование и вид обуви, имеющей наибольшую стоимость. 2)Определить количество моделей обуви данного вида, изготовленной в данной стране. 3)Определить наибольший размер обуви данного вида и данной стоимости. 4)Определить количество моделей обуви данного вида и данного размера. Подзапросы: 1)Выбрать наименование обуви, вид обуви и страну изготовления, которые изготовлены в той же стране, что и указанное наименование обуви. Представления: 1)Создать представление, содержащее: наименование обуви, вид обуви, страну изготовления и цену, превышающую заданное значение.

 


ПРИЛОЖЕНИЯ.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-11-19 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: