Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КЛИЕНТ-СЕРВЕРНЫЕ ТЕХНОЛОГИИ СУБД.doc
Скачиваний:
27
Добавлен:
15.05.2015
Размер:
507.39 Кб
Скачать

Технология выполнения задания

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

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

Структура таблицы Факультет:

  • Номер факультета – ключевое поле числового типа, байтовое;

  • Наименование факультета – текстовое поле, 30 символов;

  • Декан - текстовое поле, 15 символов.

Технология создания таблицы Факультет в режиме конструктора:

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

  2. В окне Создание на вкладке Общие дважды щелкните по значку База данных. В окне Файл новой базы данных введите имя файла базы данных «Университет.mdb» и щелкните по кнопке Создать.

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

  4. В окне конструктора таблиц введите в ячейку 1-ой строки столбца Поле название 1-го поля таблицы Факультет - Номер факультета. Щелкните в этой же строке в столбце Тип данных и выберите в списке тип Числовой.

  5. Определите свойства поля Номер факультета. На расположенной в нижней части окна конструктора вкладке Общие установите значение свойства Размер поля - Байт. Для этого щелчком мыши слева от названия свойства раскройте список свойств и выберите значение Байт.

  6. Введите в ячейку 2-ой строки столбца Поле название 2-го поля таблицы Факультет - Наименование факультета. Щелкните в этой же строке в столбце Тип данных и выберите в списке тип Текстовый. Установите для этого поля значение свойства Размер поля - 30 символов.

  7. Введите в ячейку 3-ой строки столбца Поле название 3-го поля таблицы Факультет - Декан. Щелкните в этой же строке в столбце Тип данных и выберите в списке тип Текстовый. Установите для этого поля значение свойства Размер поля - 15 символов.

  8. Сделайте поле Номер факультета ключевым. Для этого выделите данное поле, щелкнув по его названию, а затем - по кнопке инструментальной панели Ключевое поле.

  9. Сохраните таблицы, щелкнув по кнопке инструментальной панели Сохранить. Появится диалоговое окно с соответствующим названием. Замените в нем имя таблицы Таблица 1 на Факультет. Щелкните по кнопке Ok.

Аналогично выполните создание остальных таблиц.

Структура таблица Специальность:

  • Код специальности – ключевое поле текстового типа, 8 символов;

  • Наименование специальности – текстовое поле, 40 символов;

  • Стоимость обучения – денежного типа.

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

Таблица Группа будет иметь следующую структуру:

  • Номер группы – ключевое поле числового типа, целое;

  • Код специальности – текстового типа, 8 символов;

  • Номер факультета – числовое поле, байтовое;

  • Курс – числовое поле, байтовое.

Структура таблицы Студент :

  • Номер зачетной книжки – ключевое поле числового типа, длинное целое;

  • Номер группы – числовое поле, целое;

  • Фамилия – текстовое поле длиной 15 символов;

  • Дата рождения – поле типа «дата»;

  • Коммерческий – логическое поле (да/нет).

После заполнения таблиц данными в окне Схемы данных необходимо установить связи между таблицами (рис. 1). Схема данных связывает таблицы Студент, Группа, Специальность и Факультет. Между ними установлены следующие связи:

  • по полю Номер факультета от таблицы Факультет к таблице Группа;

  • по полю Код специальности от таблицы Специальность к таблице Группа;

  • по полю Номер группы от таблицы Группа к таблице Студент.

Рис. 1. Вид окна со схемой данных

Задание2. Создать SQL- запрос для выборки всех сведений о студентах, родившихся в заданном году.

Технология выполнения:

  1. Выбрать в Базе данных объект Запросы и выбрать Создание запросов в режиме конструктора.

  2. Закрыть окно Добавления таблиц.

  3. В окне конструктора запросов выполнить команду Вид/Режим SQL.

  4. В окне запроса в режиме SQL набрать следующий текст запроса:

SELECT*

FROM Студент

WHERE Студент.[Дата рождения] BETWEEN #01/01/80# AND #31/12/80#;

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

  2. Вернуться в режим SQL в случае, если выборка содержит ошибки, и откорректировать запрос.

  3. Сохранить запрос с именем Задание2.

Задание3. Составить SQL- запрос для подсчета количества коммерческих студентов в каждой группе.

Технология выполнения:

  1. Открыть бланк запросов в режиме SQL и набрать следующий текст запроса:

SELECT [Номер группы], COUNT(Коммерческий) as [Количество коммерческих]

FROM Студент

WHERE Коммерческий = YES

GROUP BY [Номер группы]

ORDER BY COUNT(Коммерческий);

  1. Сохранить запрос с именем Задание3.

Задание4.Составить SQL- запрос для подсчета количества бюджетных студентов по каждому факультету.

Технология выполнения:

  1. Открыть бланк запросов в режиме SQL и набрать первый вариант текста запроса:

SELECT [Наименование факультета], COUNT(Коммерческий) as [Количество бюджетных студентов по факультету]

FROM Студент, Группа, Факультет

WHERE Группа.[Номер группы] = Студент.[Номер группы] AND Группа.[Номер факультета] = Факультет.[Номер факультета] AND Коммерческий = NO

GROUP BY [Наименование факультета];

  1. Выполнить запрос

  2. Сохранить запрос с именем Задание4а

  1. Открыть бланк запросов в режиме SQL и набрать второй вариант текста запроса:

SELECT [Наименование факультета], COUNT(Коммерческий) as [Количество бюджетных студентов по факультету] FROM Факультет INNER JOIN (Группа INNER JOIN Студент ON Группа.[Номер группы] = Студент.[Номер группы]) ON Факультет.[Номер факультета] = Группа.[Номер факультета]

WHERE Коммерческий = NO

GROUP BY [Наименование факультета];

  1. Сохранить запрос с именем Задание4б.

Примечание: Связи между таблицами в SQL могут быть установлены при помощи предложений WHERE и INNER JOIN

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

Технология выполнения:

  1. Открыть бланк запросов в режиме SQL и набрать один из вариантов текст запроса:

SELECT [Наименование специальности], SUM([Стоимость обучения]) as [Итого по специальности]

FROM Студент, Группа, Специальность

WHERE Группа.[Номер группы] = Студент.[Номер группы] AND Группа.[Код специальности] = Специальность.[Код специальности] AND Коммерческий = YES

GROUP BY [Наименование специальности]

ORDER BY [Наименование специальности] DESC;

SELECT [Наименование специальности], SUM([Стоимость обучения]) as [Итого по специальности]

FROM Специальность INNER JOIN (Группа INNER JOIN Студент ON Группа.[Номер группы] = Студент.[Номер группы]) ON Специальность.[Код специальности] = Группа.[Код специальности]

WHERE Коммерческий = YES

GROUP BY [Наименование специальности]

ORDER BY [Наименование специальности] DESC;

  1. Сохранить запрос с именем Задание5.

Задание6. Составить SQL- запрос для подсчета итоговой стоимости платы за обучение коммерческими студентами по каждой специальности в разрезе факультетов.

Технология выполнения:

  1. Открыть бланк запросов в режиме SQL и набрать один из вариантов текст запроса:

SELECT [Наименование факультета], [Наименование специальности], SUM([Стоимость обучения]) as [Итого]

FROM Студент, Группа, Факультет, Специальность

WHERE Группа.[Номер группы] = Студент.[Номер группы] AND Группа.[Номер факультета] = Факультет.[Номер факультета] AND Специальность.[Код специальности] = Группа.[Код специальности] AND Коммерческий = YES

GROUP BY [Наименование факультета], [Наименование специальности];

SELECT [Наименование факультета], [Наименование специальности], SUM([Стоимость обучения]) as [Итого]

FROM Факультет INNER JOIN (Специальность INNER JOIN (Группа INNER JOIN Студент ON Группа.[Номер группы] = Студент.[Номер группы]) ON Специальность.[Код специальности] = Группа.[Код специальности]) ON Факультет.[Номер факультета] = Группа.[Номер факультета]

WHERE Коммерческий = YES

GROUP BY [Наименование факультета], [Наименование специальности];

  1. Сохранить запрос с именем Задание6.

Задание7. Составить SQL- запрос для получения справки по стоимости обучения коммерческих студентов с учетом НДС. Сведения о студентах упорядочить по убыванию значений стоимости обучения с учетом НДС.

Технология выполнения:

  1. Открыть бланк запросов в режиме SQL и набрать один из вариантов текст запроса:

SELECT группа.[Номер группы], [Наименование специальности], [Номер зачетной книжки], Фамилия, SUM(специальность.[Стоимость обучения]*(1+0.2)) AS [Итоговая стоимость с учетом НДС]

FROM Студент, Группа, Специальность

WHERE Группа.[Номер группы] = Студент.[Номер группы] AND Специальность.[Код специальности] = Группа.[Код специальности] AND Коммерческий = YES

GROUP BY группа.[Номер группы], [Наименование специальности], [Номер зачетной книжки], Фамилия

ORDER BY SUM(специальность.[Стоимость обучения]*(1+0.2)) DESC;

SELECT группа.[Номер группы], [Наименование специальности], [Номер зачетной книжки], Фамилия, SUM(специальность.[Стоимость обучения]*(1+0.2)) AS [Итоговая стоимость с учетом НДС]

FROM Специальность INNER JOIN (Группа INNER JOIN Студент ON Группа.[Номер группы] = Студент.[Номер группы]) ON Специальность.[Код специальности] = Группа.[Код специальности]

WHERE Коммерческий = YES

GROUP BY группа.[Номер группы], [Наименование специальности], [Номер зачетной книжки], Фамилия

ORDER BY SUM(специальность.[Стоимость обучения]*(1+0.2)) DESC;

  1. Сохранить запрос с именем Задание7.

Задание8. Составить SQL- запрос на создание новой таблицы Дисциплина. В запрос включить следующие поля: Код дисциплины, Наименование дисциплины, Лекции (часов), Практика (часов).

Технология выполнения:

  1. Открыть бланк запросов в режиме SQL и набрать следующий текст запроса:

CREATE TABLE Дисциплина ([Код дисциплины] Byte CONSTRAINT [Код дисциплины] PRIMARY KEY, [Наименование дисциплины] Text (30), Лекции Byte, Практика Byte);

  1. Сохранить запрос с именем Задание8.

Задание9.Составить SQL- запрос на создание новой таблицы Вспомогательная. В запрос включить следующие поля: Оценка.

Технология выполнения:

  1. Открыть бланк запросов в режиме SQL и набрать следующий текст запроса:

CREATE TABLE Вспомогательная ([Оценка] Byte);

  1. Сохранить запрос с именем Задание9.

Задание10. Составить SQL- запрос на добавление записи в таблицу Дисциплина.

Технология выполнения:

  1. Открыть бланк запросов в режиме SQL и набрать следующий текст запроса:

INSERT INTO Дисциплина ([Код дисциплины], [Наименование дисциплины], Лекции, Практика)

VALUES (1, “Информатика”, 100, 20)

INSERT INTO Дисциплина ([Код дисциплины], [Наименование дисциплины], Лекции, Практика)

VALUES (2, “Математика”, 200, 50)

  1. Сохранить запрос с именем Задание10.

Примечание: С помощью одного запроса можно добавить в таблицу только одну запись.

Задание11. Составить SQL- запрос на добавление записи в таблицу Вспомогательная.

Технология выполнения:

  1. Открыть бланк запросов в режиме SQL и набрать следующий текст запроса:

INSERT INTO Вспомогательная (Оценка)

VALUES (NULL)

  1. Сохранить запрос с именем Задание11.

Задание12. Составить SQL- запрос на добавление записей в таблицу Ведомость1.

Технология выполнения:

  1. Открыть бланк запросов в режиме SQL и набрать следующий текст запроса:

SELECT Студент.[Номер группы], Дисциплина.[Код дисциплины],

Дисциплина.[Наименование дисциплины], Фамилия, [Номер зачетной книжки], Оценка

INTO Ведомость1

FROM Студент, Дисциплина, Вспомогательная

WHERE Дисциплина.[Код дисциплины]=1;

  1. Сохранить запрос с именем Задание12.

Задание13. Составить SQL- запрос на увеличение стоимости обучения на 20% для двух специальностей.

Технология выполнения:

  1. Открыть бланк запросов в режиме SQL и набрать следующий текст запроса:

UPDATE Специальность

SET [Стоимость обучения] =[Стоимость обучения]*0.2

WHERE [Код специальности] = 1 OR [Код специальности] = 2

  1. Сохранить запрос с именем Задание13.

Примечание: значения 1 и 2 в запросе являются кодами специальностей.

Содержание

Клиент-серверные технологии СУБД 1

Общие положения 3

Таблица выбора варианта индивидуального задания 3

Требования к оформлению работы студентами 4

ПРОГРАММА по дисциплине «Клиент – серверные информационные технологии СУБД» 5

Вариант 1. 7

Вариант 2 7

Вариант 3 8

Вариант 4 9

Вариант 5 10

Вариант 6 11

Вариант 7 12

Вариант 8 13

Вариант 9 14

Вариант 10 15

Вариант 11 16

Вариант 12 17

Вариант 13 18

Вариант 14 19

Вариант 15 19

Вариант 16 20

Вариант 17 21

Вариант 18 22

Вариант 19 23

Вариант 20 24

Вариант 21 25

Вариант 22 26

Вариант 23 27

Вариант 24 29

Вариант 25 30

Вариант 26 31

Вариант 27 32

Вариант 28 32

Вариант 29 33

Вариант 30 34

Пример выполнения задания 35

Технология выполнения задания 36

46