Лабораторные_БД_ЭВМ_20 (AutoRecovered). Методические указания по выполнению лабораторных работ по дисциплине (модулю)
Скачать 0.75 Mb.
|
Оборудование персональный компьютер с установленной операционной системой Windows XP/7/8, браузер (Например, InternetExplorer, GoogleChrome, Opera), СУБД PostgreSQL. Задание на работу 1. Напишите три SQL запроса, создающие таблицы в соответствии с вашим вариантом. В работе вы должны продемонстрировать использование различных типов данных: целочисленные, числа с плавающей точкой, числа с фиксированной точкой, строковые типы (с фиксированной и с переменной длиной строки), дата. Чем больше разных типов данных вы используете, тем лучше. Приведите в отчете скриншоты терминала с выполненными командами и их результатом. 2. С помощью pgAdmin заполните таблицы данными: в каждую таблицу добавьте 10 строк. 7. Контрольные вопросы Создать базу данных basa1, причем для данных на приросте 10%, для журнала транзакций – на диске E один файл с начальным размером 50 Мб, но не более 100 Мб, с величиной прироста 10 Мб. Создать базу данных basa1, причем для данных на диске D определить два файла с начальным размером по 100 Мб, но не более 500 Мб, с величиной прироста 10%, для журнала транзакций - на диске E один файл с начальным размером 50 Мб, но не более 100 Мб, с величиной прироста 10 Мб. Создать базу данных basa1, причем для данных на диске D определить два файла с начальным размером по 100 Мб, но не более 500 Мб, с величиной прироста 10%, для журнала транзакций - на диске E один файл с начальным размером 50 Мб, но не более 100 Мб, с величиной прироста 10 %. Создать базу данных basa1, причем для данных на диске D определить два файла с начальным размером по 100 Мб, но не более 500 Мб, с величиной прироста 10%, для журнала транзакций - на диске E один файл с начальным размером 50 Мб, но не более 100 Мб, с величиной прироста 10 Мб. Лабораторная работа №3 Операторы модификации данных 1. Цель и задачи работы Целью лабораторной работы является изучение и практическое применение операторов модификации данных. 2. Порядок выполнения работы - ознакомится с теоретическими сведениями; - выполнить задание; - оформить отчет; - ответить на контрольные вопросы, заданные преподавателем. 3. Оформление отчета Отчет должен содержать: титульный лист, цель работы, описание пунктов выполнения лабораторной работы в соответствии с заданием, ответы на контрольные вопросы и выводы по работе. 4. Теоретические сведения В SQL для выполнения операций ввода данных в таблицу, их изменения и удаления предназначены три команды языка манипулирования данными (DML). Это команды – INSERT (вставить), UPDATE (обновить), DELETE (удалить). Команда INSERT осуществляет вставку в таблицу новой строки. В простейшем случае она имеет следующий вид: INSERTINTO<имя таблицы>VALUES (<значение>, <значение>, ...); При такой записи указанные в скобках после ключевого слова VALUES значения вводятся в поля добавленной в таблицу новой строки в том порядке, в котором соответствующие столбцы указаны при создании таблицы, то есть в операторе INSERT'>CREATE TABLE. Добавление одной строки в таблицу films: INSERT INTO films VALUES ('UA502', 'Bananas', 105, '1971-07-13', 'Comedy', '82 minutes'); В этом примере столбец len опускается и, таким образом, получает значение по умолчанию: INSERT INTO films (code, title, did, date_prod, kind) VALUES ('T_601', 'Yojimbo', 106, '1961-06-16', 'Drama'); В этом примере для столбца с датой задаётся указание DEFAULT, а не явное значение: INSERT INTO films VALUES ('UA502', 'Bananas', 105, DEFAULT, 'Comedy', '82 minutes'); INSERT INTO films (code, title, did, date_prod, kind) VALUES ('T_601', 'Yojimbo', 106, DEFAULT, 'Drama'); Добавление строки, полностью состоящей из значений по умолчанию: INSERT INTO films DEFAULT VALUES; В случаях, когда необходимо ввести значения полей в порядке, отличном от порядка столбцов, заданного командой CREATE TABLE, или если требуется ввести значения не во все столбцы, то следует использовать следующую форму команды INSERT: INSERT INTO STUDENT (STUDENT_ID, CITY, SURNAME, NAME) VALUES (101, ' Москва ',' Иванов ', ' Саша '); Столбцам, наименования которых не указаны в приведенном в скобках списке, автоматически присваивается значение по умолчанию, если оно назначено при описании таблицы (команда CREATE TABLE), либо значение NULL. Применение оператора INSERT с подзапросом позволяет загружать сразу несколько строк в одну таблицу, используя информацию из другой таблицы. В то время как оператор INSERT, использующий VALUES добавляет только одну строку, INSERT с подзапросом добавляет в таблицу столько строк, сколько подзапрос извлекает из другой таблицы. При этом количество и тип возвращаемых подзапросом столбцов должно соответствовать количеству и типу столбцов таблицы, в которую вставляются данные. С помощью команды INSERT можно извлечь значение из одной таблицы и разместить его в другой, к примеру, запросом следующего вида: INSERT INTO STUDENT 1 SELECT* FROM STUDENT WHERE CITY = ^ Москва '; При этом таблица STUDENT 1должна быть предварительно создана командой CREATE TABLE и иметь структуру, идентичную таблице STUDENT. Команда DELETE удаляет из указанной таблицы строки, удовлетворяющие условию WHERE. Если предложение WHERE отсутствует, она удаляет из таблицы все строки, в результате будет получена рабочая, но пустая таблица. Удаление всех фильмов, кроме мюзиклов: DELETE FROM films WHERE kind <> 'Musical'; Очистка таблицы films: DELETE FROM films; Удаление завершённых задач с получением всех данных удалённых строк: DELETE FROM tasks WHERE status = 'DONE' RETURNING *; Команда UPDATE позволяет изменять, то есть обновлять, значения некоторых или всех полей в существующей строке или строках таблицы. UPDATE изменяет значения указанных столбцов во всех строках, удовлетворяющих условию. В предложении SET должны указываться только те столбцы, которые будут изменены; столбцы, не изменяемые явно, сохраняют свои предыдущие значения. Изменить строки в таблице, используя информацию из других таблиц в базе данных, можно двумя способами: применяя вложенные запросы или указав дополнительные таблицы в предложении FROM. Выбор предпочитаемого варианта зависит от конкретных обстоятельств. Изменение слова Drama на Dramatic в столбце kind таблицы films: UPDATE films SET kind = 'Dramatic' WHERE kind = 'Drama'; Изменение значений температуры и сброс уровня осадков к значению по умолчанию в одной строке таблицы weather: UPDATE weather SET temp_lo = temp_lo+1, temp_hi = temp_lo+15, prcp = DEFAULT WHERE city = 'San Francisco' AND date = '2003-07-03'; 5. Оборудование Персональный компьютер с установленной операционной системой WindowsXP/7/8, браузер (Например, InternetExplorer, GoogleChrome, Opera), СУБДPostgreSQL. 6. Задание на работу 1. Предположим, что вам нужно вставить в таблицу строчку и значение одного из полей вставляемой строки вам еще не известно. Напишите запрос в двух вариантах: в одном укажите названия вводимых полей явно, в другом - не указывайте имена полей. 2. Напишите запрос, обновляющий значение двух полей одной строки. 3. Напишите запрос, удаляющий значение одной строки. 4. Напишите запрос, переносящий для нескольких строк значение одного поля в другое поле. 5. Напишите запрос, переносящий несколько строк одной таблицы в другую таблицу. 6. Продемонстрируйте, каким образом можно заполнять значение первичного ключа таблицы автоматически. Создайте секвенцию, определите значение, генерируемое секвенцией по умолчанию. 7. Выполните запрос на вставку данных и получите только что вставленное значение первичного ключа (конструкция RETURNING ID) . 7. Контрольные вопросы Даны таблицы Город и Разговор. Удалить данные об абонентах, суммарная продолжительность телефонных разговоров которых оказалась меньше 10 мин.
Даны таблицы Автор и Книга. Удалить сведения об авторах, издавших только одну книгу.
Увеличить на 10% стоимость билетов, проданных в день вылета рейса. Уменьшить на 50% продолжительность телефонных разговоров тех абонентов, которые за последний месяц сделали более 1000 звонков. Даны таблицы
Удалить информацию о городах, с которыми не было ни одного телефонного разговора. Даны таблицы
Удалить сведения о блюдах, стоимость которых меньше средней стоимости компонентов. Даны таблицы:
Удалить сведения об авторах, чьи произведения не издаются. Лабораторная работа №4 Извлечение информации из таблиц Цель и задачи работы Целью лабораторной работы является изучение и практическое применение возможностей SQL для извлечения информации из таблиц. Порядок выполнения работы - ознакомится с теоретическими сведениями; - выполнить задание; - оформить отчет; - ответить на контрольные вопросы, заданные преподавателем. Оформление отчета Отчет должен содержать: титульный лист, цель работы, описание пунктов выполнения лабораторной работы в соответствии с заданием, ответы на контрольные вопросы и выводы по работе. Теоретические сведения Запрос - команда, которую вы даете вашей СУБД и которая сообщает ей чтобы она вывела определенную информацию из таблиц в память. Эта информация обычно посылается непосредственно на экран компьютера или терминала, которым вы пользуетесь, хотя, в большинстве случаев, ее можно также послать на принтер, сохранить в файле (как объект в памяти компьютера), или представить, как вводную информацию для другой команды или процесса. В самой простой форме, команда SELECT просто инструктирует базу данных, чтобы извлечь информацию из таблицы. Например, можно вывести таблицу «Продавцов» напечатав следующее: SELECTsnum, sname, sity, commFROMSalespeople; Другими словами, эта команда просто выводит все данные из таблицы. Большинство программ будут также давать заголовки столбца как выше, а некоторые позволяют детальное форматирование вывода, но это уже вне стандартной спецификации. Имеется объяснение каждой части этой команды:
Оператор SELECT имеет следующий вид: SELECT [ ALL | DISTINCT [ ON ( выражение [, ...] ) ] ] [ * | выражение [ [ AS ] имя_результата ] [, ...] ] [ FROM элемент_FROM [, ...] ] [ WHERE условие ] [ GROUP BY элемент_группирования [, ...] ] [ HAVING условие [, ...] ] [ ORDERBY выражение ] Формат запроса с использованием данного оператора: SELECT список полей FROM список таблиц WHERE условия… Основные ключевые слова, относящиеся к запросу SELECT: WHERE — используется для определения, какие строки должны быть выбраны или включены в GROUP BY. GROUP BY — используется для объединения строк с общими значениями в элементы меньшего набора строк. HAVING — используется для определения, какие строки после GROUP BY должны быть выбраны. ORDER BY— используется для определения, какие столбцы используются для сортировки результирующего набора данных. Если вы хотите видеть каждый столбец таблицы, имеется необязательное сокращение, которое вы можете использовать. Звездочка (*) может применяться для вывода полного списка столбцов следующим образом: SELECT * FROM Salespeople; Условия использующие ключевое слово WHERE.
|