Имя поля | Тип поля | Значения свойств | Описание |
NPost Ключевое поле | Числовой | Размер поля = Длинное целое Подпись = Код | Уникальный код должности. |
CName | Текстовый | Размер поля = 25 Подпись = Наименование | Наименование должности |
Таблица Teacher
Имя поля | Тип поля | Значения свойств | Описание |
NTeacher Ключевое поле | Числовой | Размер поля = Длинное целое Подпись = Код | Уникальный код преподавателя. |
CName | Текстовый | Размер поля = 25 Подпись = ФИО | ФИО преподавателя. |
NDepartment | Числовой | Размер поля = Длинное целое Подпись = Факультет | Код факультета, на котором работает преподаватель. |
NPost | Числовой | Размер поля = Длинное целое Подпись = Должность | Код должности, занимаемой преподавателем. |
Таблица Subject
Имя поля | Тип поля | Значения свойств | Описание |
NSubject Ключевое поле | Числовой | Размер поля = Длинное целое Подпись = Код | Уникальный код предмета. |
CName | Текстовый | Размер поля = 25 Подпись = Наименование | Наименование предмета. |
NHour | Числовой | Размер поля = Целое Подпись = Объем | Объем занятий по предмету (часов). |
NTeacher | Числовой | Размер поля = Длинное целое Подпись = Преподаватель | Код преподавателя, ведущего занятия. |
Таблица Marks
Имя поля | Тип поля | Значения свойств | Описание |
id Ключевое поле | Счетчик | Уникальный идентификатор | |
NStudent | Числовой | Размер поля = Длинное целое Подпись = Преподаватель | Код студента |
NSubject | Числовой | Размер поля = Длинное целое Подпись = Код | Код предмета |
NMark | Числовой | Размер поля = Длинное целое Подпись = Оценка | Оценка |
Содержимое таблиц для примеров
Содержимое таблицы Department
NDepartment | CName |
100 | Математический |
200 | Физический |
300 | Экономический |
Содержимое таблицы Post
NPost | CName |
10 | Преподаватель |
20 | Ст. преподаватель |
30 | Доцент |
40 | Профессор |
50 | Зав. кафедрой |
Содержимое таблицы Teacher
NTeacher | CName | NDepartment | NPost |
210 | 100 | 30 | |
220 | 100 | 30 | |
230 | 100 | 20 | |
310 | 200 | 30 | |
410 | 300 | 50 | |
420 | 300 | 40 | |
320 | 200 | 10 |
Содержимое таблицы Subject
NSubject | CName | NHour | NTeacher |
103 | Информационные системы | 90 | 210 |
42 | Исследование операций | 60 | 220 |
111 | Практикум на ЭВМ | 30 | 230 |
201 | Физика | 30 | 310 |
305 | Экономическая география | 90 | 420 |
302 | Бухгалтерский учет | 50 | 410 |
317 | Экономическая информатика | 80 | 210 |
193 | Электротехника | 60 | 310 |
218 | Банковские операции | 30 | 410 |
Содержимое таблицы Student
NStudent | CName | NDepartment | NIQ | NTeacher |
3467589 | 100 | 99 | 210 | |
4678455 | 300 | 30 | 410 | |
5934508 | 200 | 64 | 310 | |
7459876 | 100 | 41 | 410 | |
2227778 | 100 | 100 | 220 | |
4678466 | 300 | 64 | 410 | |
5934512 | 200 | 58 | 310 |
В поле OPhoto вставьте произвольные графические файлы.
В поле Remark введите произвольный текст.
Запросы для подготовки к тесту по SQL
В запросах используются те же самые таблицы, что и в примерах.
1. Создайте запрос, который позволит получить наименования предметов и объемы занятий по ним только для предметов с объемом занятий не менее 50 часов.
2. Создайте запрос, который позволит получить коды всех преподавателей, ведущих занятия. Дублирование кодов должно быть исключено.
3. Не используя операции отношения, создайте запрос, который позволит получить все сведения о предметах с объемом занятий от 40 до 70 часов.
4. Не используя операции отношения, создайте запрос, который позволит получить расположенные в алфавитном порядке названия предметов, занятия по которым ведут преподаватели с кодами от 200 до 400.
5. Создайте запрос, который позволит получить ФИО преподавателя и суммарный объем занятий для каждого преподавателя. Сведения упорядочить по убыванию объема занятий.
6. Создайте запрос, который позволит получить код и ФИО преподавателя и суммарный объем занятий для преподавателей с суммарным объемом занятий более 50 часов. Сведения упорядочить по возрастанию объема занятий, а при равном объеме – по кодам преподавателей в порядке убывания.
7. Создайте запрос, который позволит получить все сведения о предметах, в названиях которых имеется фрагмент «информ» или «эконом».
8. Определите средний, минимальный и максимальный объемы занятий по предметам, для которых объем занятий лежит в диапазоне от 35 до 85 часов.
9. Создайте запрос, который позволит получить таблицу, содержащую две колонки – наименования предметов и фамилии преподавателей, ведущих занятия. Сведения должны располагаться в алфавитном порядке по наименованиям предметов.
10. Создайте запрос, который позволит получить ФИО преподавателей (без дублирования), которые ведут занятия более чем по одному предмету.
11. Создайте запрос, который позволит проверить уникальность кодов преподавателей в таблице Subject. Результирующая таблица должна содержать два столбца с названиями предметов, имеющих одинаковые коды преподавателей.
12. Создайте запрос, который позволит получить сведения о предметах, занятия по которым ведут преподаватели математического и физического факультетов (считать известными коды факультетов). В результирующей таблице должны указываться наименования предметов, объем часов, фамилия преподавателя, его должность, наименование факультета.
13. Создайте запрос, который позволит получить список преподавателей математического и экономического факультета (считать известными коды факультетов), общий объем занятий у которых не более 60 часов. В результирующей таблице должны указываться фамилии преподавателей, объемы занятий, наименования факультетов.
14. Сформулировать запрос, который позволит выявить все предметы, занятия по которым ведут преподаватели в должности «доцент». При работе с таблицей Post использовать подзапрос. В результирующей таблице должны быть названия предметов.
15. Создайте запрос, который выявит все предметы, объем занятий по которым выше среднего по всем предметам. В результирующей таблице должны быть названия предметов.
16. Создайте запрос, который выявит все предметы, объем занятий по которым выше среднего по тем предметам, занятия по которым ведут преподаватели математического факультета (известен код факультета). В результирующей таблице должны быть названия предметов.
17. Сформулировать запрос, который позволит получить список студентов, научными руководителями которых являются преподаватели, ведущие занятия по предметам, в названиях которых есть фрагменты «эконом» или «бух». При работе с таблицей Subject использовать подзапрос. В результирующей таблице должны быть ФИО студентов.
18. Сформулировать запрос, позволяющий выбрать студентов с наибольшим показателем интеллекта. В результирующей таблице должны быть названия ФИО студентов.
19. Сформулировать запрос, позволяющий среди студентов, научными руководителями которых являются преподаватели экономического факультета (задан кодом), выбрать тех, чей показатель интеллекта выше хотя бы одного показателя интеллекта для студентов с научными руководителями с других факультетов. В результирующей таблице должны быть ФИО студентов.
20. Создайте запрос, который позволит получить в виде одной таблицы список преподавателей и студентов математического факультета (с пояснениями «Студент» возле фамилий студентов и наименований занимаемых должностей возле фамилий преподавателей). В результирующей таблице первыми в списке должны идти все студенты, а за ними все преподаватели. Фамилии студентов должны быть упорядочены по алфавиту. Преподаватели должны располагаться в порядке убывания кода должности, а при наличии нескольких преподавателей с одной должностью они должны быть также упорядочены по алфавиту.
21. Создайте запрос, который позволит получить в виде одной таблицы список студентов, у которых руководителями являются преподавателями факультета, в названии которого есть фрагмент «матема» и список предметов, занятия по которым ведут преподаватели того же факультета (определяется так же). Используйте подзапросы. В результирующей таблице должны быть ФИО студентов.
Часть II Работа в СУБД MS SQL Server или MySQL
Создание базы данных
Задание 16. Создайте все таблицы Вашего индивидуального задания с помощью команды Create Table.
Задание 17. Установите связи между таблицами согласно Вашему индивидуальному заданию с помощью команды Alter Table. Для каждой связи установите каскадное обновление.
Задание 18. Добавьте записи в каждую таблицу с помощью команды Insert.
Задание 19. Измените содержимое записей в таблицах с помощью команды Update.
Задание 20. Удалите несколько записей в таблицах с помощью команды Delete.
Задание 21. Создайте таблицу, в которой будут все поля, которые входят в один из отчетов, разработанных в задании 14.
Задание 22. Создайте процедуру, которая очищает таблицу для отчета, заполняет ее записями согласно введенному параметру и выводит содержимое таблицы.
Задание 23. Создайте представление, в которой будут все поля, которые входят в один из отчетов, разработанных в задании 14.
Задание 24. Создайте триггер для проверки правильности вводимых в одну из таблиц данных. Условие правильности должно включать данные из нескольких таблиц или данные из нескольких записей таблицы, для которой создается триггер.
Задание 25. Создайте триггер для согласования данных, хранящихся в таблицах согласно семантики предметной области.
Часть III Создание курсового проекта
Задание 26. Создайте курсовой проект, содержащий:
1. Титульный лист.
2. Глава 1. Словесное описание предметной области (Предметная область выбирается самостоятельно, она должна быть такой, чтобы ее инфологическая модель содержала хотя бы шесть классов и хотя бы одну связь «многие-ко-многим». Словесное описание предметной области включает описание основного вида деятельности в предметной области, описание назначения и функций разрабатываемой программной системы, описание объектов предметной области и их взаимосвязей).
3. Глава 2. Инфологическая модель предметной области.
4. Глава 3. Реляционная модель данных. Схема данных.
Оформление титульного листа курсового проекта
На рисунке ниже представлен пример оформления титульного листа курсового проекта.
График выполнения работ
В таблице ниже представлен график выполнения заданий, сформулированных в тексте Комплекса лабораторных работ. В первом столбце указан номер занятия по счету, во втором столбце – номера заданий, которые должны быть выполнены на соответствующем занятии и на этом же занятии сданы преподавателю.
№ занятия | Задания |
1 | 1 – 6 |
2 | 7 – 10 |
3 | 10 – 13 |
4 | 14 – 15 |
5 | 16 – 21 |
6 | 22 – 25 |
7 | 26 |
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 |



