2. Общее описание лабораторного практикума
Цели лабораторного практикума
- изучить язык SQL и научиться писать SQL-запросы
- познакомиться с основами технологий работы с базами данных
Объем работы
- Самостоятельное изучение языка SQL
- Выполнение лабораторных работ обязательного минимума
- лабораторная работа 1 (раздел 1.1. Создание и модификация базы данных и таблиц. Запросы к базе данных в учебном пособии "Работа с базами данных" )
- лабораторная работа 2 (раздел 1.2. Полномочия на использование схемы базы данных. Работа с внешними базами данных в учебном пособии "Работа с базами данных" )
- лабораторная работа 3 (раздел 2.1. Работа с базой данных средствами встроенного SQL в учебном пособии "Работа с базами данных" )
- Выполнение дополнительной лабораторной работы можно выбрать в учебном пособии"Работа с базами данных" один любой из разделов:
- 2.2 - ЛР № 4,
- 2.3 - ЛР № 5,
- 2.4 - ЛР № 6,
- 2.5 - ЛР № 7,
- 2.6 - ЛР № 8.
Защита ЛР индивидуальная.
Что используется
При выполнении лабораторных работ используется СУБД PostgreSQL, установленная на сервере students.ami.nstu.ru
СУБД PostgreSQL предоставляет доступ к нескольким базам данных, каждая из которых состоит из нескольких схем. При выполенении ЛР вы будете работать с базой данных students, при этом каждая бригада создает в ней свою схему.
!!! Номер логина = номер бригады.
!!! Имя бригадной схемы должно совпадать с логином бригады с точностью до дефиса (т.е. если в логине есть дефис, в имени схемы его набирать не надо)
Для доступа к СУБД используется программа phpPgAdmin http://www.students.ami.nstu.ru/phpPgAdmin/
Языки программирования: с++, html, php, c#.
Требования к выполнению ЛР
1. При выполнении ЛР используется схема состоящая из 4 таблиц. Эти таблицы каждая бригада будет создавать в своей схеме при выполнении ЛР №1. Знание структуры таблиц (их имен, имен столбцов, какая информация содержится в каком столбце какой таблицы) - одно из основных условий успешного написания и чтения запросов. Имена таблиц и столбцов - неотъемлемая часть запросов.Поэтому имена таблиц и их столбцов в обязательном порядке должны:
- вводиться маленькими латинскими буквами
- совпадать с перечисленными ниже
|
Название таблицы |
Содержимое столбца | Имя стобца |
|
Таблица j |
номер изделия | n_izd |
| название изделия | name | |
| город изделия | town | |
| Таблица s (Поставщики) |
номер поставщика | n_post |
| имя поставщика | name | |
| ранг | reiting | |
| город поставщика | town | |
| Таблица p (Детали)
|
номер детали | n_det |
| название детали | name | |
| цвет детали | cvet | |
| вес детали | ves | |
| город детали | town | |
| Таблица spj (Поставки)
|
номер поставщика | n_post |
| номер детали | n_det | |
| номер изделия | n_izd | |
| количество | kol | |
Если эти условия не будут выполнены, отчет по лабораторной работе не принимается, а баллы - снижаются.
2. Запросы не должны содержать неявного соединения таблиц и конструкции with.
3. Данные, загруженные в таблицы в ЛР№1 - это исходное состояние таблиц. После выполнения каждой лабораторной работы необходимо ВОССТАНОВИТЬ исходное состояние таблиц. Для этого рекомендуется сохранить и доработать скрипт для ЛР№1.
4. Программы, разрабатываемые при выполнении лабораторных работ, должны:
- выполнять запросы на изменение данных только в рамках явной транзакции;
- запросы на выборку данных могут выполняться без использования явной транзакции, если иное не задано в требованиях к конкретной лабораторной работе;
- обеспечивать целостность и непротиворечивость данных
5. Лабораторные работы разделов 2.5 и 2.6 имеют более высокий уровень сложности и выполняются на схеме из 10 таблиц. Скрипт создания этих таблиц и заполнения эталонными данными есть в приложении учебного пособия. После выполнения этих работ также необходимо восстанавливать эталонные данные в таблицах.
ПРЕДУПРЕЖДЕНИЕ В формулировках некоторых запросов преднамеренно допущена неоднозначность. Будьте внимательны, не расслабляйтесь и, если нужно, задавайте вопросы преподавателю. |
Оформление отчетов
По каждой ЛР оформляется один отчет на бригаду.
- номер лабораторной работы,
- номер бригады = номер вашего логина,
- номер варианта задания
- Часть 1: подробное описание процесса создания и модификации таблиц со скриншотами(результаты запросов на выборку не нужны)
- Часть 2: запросы из варианта. Для каждого запроса :
- текст задания
- текст написанного запроса
- результат выполнения запроса в phpPqAdmin на эталонных данных
- если запрос на выборку – результат запроса
- если запрос на изменение данных – состояние данных в таблице до операции, количество обработанных записей, состояние данных в таблице после операции.
- Часть1: запросы из варианта. Для каждого запроса :
- текст задания
- текст написанного запроса (правильно отформатированный)
- результат выполнения запроса в phpPqAdmin на эталонных данных
- если запрос на выборку – результат запроса
- если запрос на изменение данных – состояние данных в таблице до операции, количество обработанных записей, состояние после операции
- Часть 2: описание хода выполнения ЛР со скриншотами: выполненные запросы, результаты и сообщения.
- Часть1: запросы из варианта. Для каждого запроса :
- текст задания
- текст написанного запроса (правильно отформатированный)
- результат выполнения запроса в phpPqAdmin на исходных данных
- если запрос на выборку – результат запроса
- если запрос на изменение данных – состояние данных в таблице до операции, количество обработанных записей, состояние после операции
- Часть 2: тексты разработанных программ
- Часть 3: результаты выполнения и тестирования программ, полученные сообщения+скриншоты
!!! ТЕКСТЫ НАПИСАННЫХ ЗАПРОСОВ должны быть отформатированы строго в соответствии с примерами из пособия Практикум по языку SQL . В противном случае баллы за лабораторную работу снижаются.
Результаты запросов должны быть получены на исходных данных. Если при проверке запроса данные были изменены, перед выполнением следующего запроса их надо привести в исходное состояние.
Шаблоны титульных листов прилагаются.
Порядок сдачи и защиты ЛР
1. После выполнения лабораторной работы отчет сдается преподавателю.
2. Если в ЛР предусмотрено написание программы, необходимо продемонстрировать преподавателю работу программы (в терминальном классе) .
3. Если в отчете нет недочетов, отчет принимается. В противном случае отчет возвращается на доработку.
4. После сдачи отчета индивидуально осуществляется защита лабораторной работы. Каждый член бригады должен:
- ответить на контрольные вопросы;
- выполнить практические задания:: получить у преподавателя задание и выполнить его до конца пары (для ЛР№1 - три задания, остальные ЛР - 1-2 задания).
5. Если в качестве дополнительной ЛР выбрана работа раздела 2.6 (триггеры), задание для нее можно получить не позднее 12 недели.
Последний срок сдачи и защиты дополнительной ЛР 16 неделя. Если на 16 неделе дополнительная лабораторная работа не защищена, баллы за нее не засчитываются даже если отчет сдан.
Оценивание ЛР
Максимальный балл за лабораторную работу выставляется в случае, когда :- ЛР защищена не позднее 16 недели
- с первой попытки приняты ответы на контрольные вопросы и практические задания.
На 17 и 18 неделе принимается только ЛР обязательного минимума, дополнительная ЛР не принимается.
При защите на 17 неделе и позже практические задания не выдаются, и студент получает за ЛР только минимальный балл.
Преподаватель может дать дополнительные баллы за лабораторную работу в случае, когда и отчет, и ответы на контрольные вопросы, и практические задания сданы с первого раза без замечаний.
Узнать, какое количество баллов можно получить за каждую ЛР и ознакомиться с правилами аттестации можно здесь
Примерный график выполнения ЛР
Каждая бригада может выполнять ЛР в индивидуальном темпе, однако рекомендуется придерживаться предлагаемого графика:
- 9-я неделя - д.б. защищены две л.р.
- 13-я неделя - д.б. защищены три л.р.
- 16-я неделя - д.б. защищены четыре л.р.
Дополнительные рекомендации
Если вы совершенно не знакомы с SQL, но желаете хорошо его освоить вам необходимо, помимо выполнения ЛР, тренироваться в написании запросов, используя упражнения для самостоятельной работы.