42329

Внесение изменений в базу данных

Лабораторная работа

Информатика, кибернетика и программирование

Внесение изменений в базу данных Цель работы Изучить используемые в реляционных СУБД операторы изменения данных. Заполнить таблицы разрабатываемой базы данных тестовыми данными для последующего использования. Исходные данные Студент получает индивидуальный вариант исходных данных с кратким описанием предметной области который используется при выполнении всех лабораторных работ. Теоретические сведения В SQL имеется три оператора относящиеся к группе операторов DML Dt Mnipultion Lnguge которые предназначены для выполнения запросов...

Русский

2013-10-29

96 KB

17 чел.

10     

  1.  Лабораторная работа №6. Внесение изменений в базу данных
    1.  Цель работы

Изучить используемые в реляционных СУБД операторы изменения данных. Получить навыки работы с SQL-операторами INSERT, DELETE и UPDATE. Заполнить таблицы разрабатываемой базы данных тестовыми данными для последующего использования.

Время выполнения: 2 часа.

  1.   Исходные данные

Студент получает индивидуальный вариант исходных данных с кратким описанием предметной области, который используется при выполнении всех лабораторных работ. При этом каждая очередная лабораторная работа является продолжением выполненной ранее и поэтому они должны обязательно выполняться последовательно.

  1.  Используемые программы

Все операции выполняются с помощью приложения "IBExpert". Отчет создается в редакторе "OpenOffice.pro".

  1.  Теоретические сведения

В SQL имеется три оператора, относящиеся к группе операторов DML (Data Manipulation Language), которые предназначены для выполнения запросов на добавление, удаление и обновление данных.

  1.  Добавление новых данных

Новые данные добавляются оператором INSERT. Наименьшей единицей информации, которую можно добавить в реляционную базу данных, является одна строка таблицы.

Немного упрощенный синтаксис оператора INSERT имеет вид:

INSERT INTO Имя_Таблицы [(Колонка [, Колонка ])]

   {VALUES(<величина> [, <величина> …])

   | <оператор SELECT>};

<величина> = {:Переменная | <константа> | <выражение>

   |  <функция> | udf([<величина> [, <величина> ...]])


   | NULL | USER}

<константа> = Число | 'Строка'

<функция> = CAST(<величина> AS <тип данных>)

   | UPPER(<величина>)

   | GEN_ID(Имя_Генератора, <величина>)

<выражение> = SQL выражение, возвращающее единичное значение

В этом описании можно выделить два варианта оператора:

  1.  Вставка одной строки. Для этого после ключевого слова VALUES в круглых скобках указывают вставляемые величины.
  2.  Вставка в таблицу нескольких строк, выбранных с помощью оператора SELECT *.

В этой лабораторной работе рассматривается только первый вариант оператора INSERT.

Если не задан список столбцов (или вместо списка указан символ "*"), то значения вставляются в столбцы по порядку их следования, определенном при создании таблицы. Поскольку порядок столбцов может изменяться, то такая конструкция является потенциально опасной и ее лучше не применять. Если список столбцов задан на множестве всех доступных столбцов, то во все не перечисленные столбцы автоматически вставляется или значения по умолчанию, или NULL.

Если список столбцов опущен, предложение VALUES должно содержать значения для всех столбцов таблицы по порядку их следования.

Чтобы вставить одну строку данных, в SQL запросе должно присутствовать предложение VALUES, содержащее определенный список значений.

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

Пример, когда в качестве вставляемых величин применены константы:

INSERT INTO Person(Pr_ID, Pr_LastName, Pr_FirstName)

   VALUES(150, 'Иванов', 'Петр');

Пример использования для вставки значений переменных:

DECLARE Person_Number INTEGER; -- объявление

DECLARE LastName VARCHAR(30); -- локальных

DECLARE FirstName VARCHAR(30); -- переменных

BEGIN


  Person_Number = 150;

  LastName = 'Иванов';

  FirstName = 'Петр';

  INSERT INTO Person(Pr_ID, Pr_LastName, Pr_FirstName)

      VALUES(:Person_Number, :LastName, :FirstName);

END;

  1.  Удаление существующих данных

Для удаления строк из таблицы используется оператор DELETE. Вот его упрощенный синтаксис:

DELETE FROM Имя_Таблицы

  [WHERE <условие поиска>];

<условие поиска> = как в операторе SELECT

Если не использовать предложение WHERE, то будут удалены все строки в таблице.

-- Удаление всех служащих:

DELETE FROM Employee;

-- Удаление всех людей с номерами 150 и больше:

DELETE FROM Person WHERE Pr_ID >= 150;

  1.  Обновление существующих данных

Оператор UPDATE обновляет значения одного или нескольких столбцов в выбранных строках одной таблицы. Строки для обновления указываются в предложении WHERE. Если пропустить предложение WHERE, то изменятся все строки таблицы.

UPDATE Имя_Таблицы

   SET Колонка = <величина> [,

           Колонка = <величина> ...]

   [WHERE <условие поиска>]

<величина> = { Колонка | :Переменная | <константа>

  | <выражение> | <функция>

  | udf([<величина> [, <величина> ...]]) | NULL | USER}

<выражение> = SQL выражение, возвращающее единичное значение

<условие поиска> = как в операторе SELECT


Примеры:

-- Увеличить зарплату всем служащим на 10%:

UPDATE Employee

  SET Salary = 1.1*Salary;

/* Увеличить зарплату всем служащим, которые имеют зарплату меньше 10000 на 15%: */

UPDATE Employee

  SET Salary = 1.15*Salary;

  WHERE Salary <= 10000; 

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

Например, можно выполнить такой запрос: увеличить зарплату на 10% всем служащим, работающим в отделе продаж, которые обслужили за последний месяц клиентов больше чем в полтора раза, чем в среднем по их отделу.

  1.   Порядок выполнения работы

Лабораторную работу следует выполнять в следующем порядке:

  1.  Создать аналогично предыдущим лабораторным работам рабочую папку и назвать ее "ЛР6".
  2.  Открыть окно "Редактор скриптов" в приложении "IBExpert".
  3.  Используя кнопку   [Загрузить из файла] на панели инструментов, открыть диалоговое окно "Open SQL File" и с его помощью открыть файл сценария,  созданный при выполнении лабораторной работы №5.
  4.  Используя кнопку [Save as] на панели инструментов, сохранить загруженный сценарий в папке "sqledu02:\D:\Data\ЛР6".  
  5.  Изменить в сценарии путь до файла с базой данных, чтобы база данных создавалась в папке "ЛР6".   
  6.  Вызвать SQL-редактор приложения IBExpert (Инструменты > SQL редактор). Добавить в конец сценария для каждой имеющейся таблицы по три оператора, выполняющих операции INSERT, UPDATE и DELETE.
  7.  Выполнить сценарий и сохранить его в папке "ЛР6".
  8.  Зарегистрировать созданную базу данных в программе "IBExpert" и подключиться к ней.
  9.  Заполнить созданные ранее таблицы согласованными данными в диалоговом режиме программы "IBExpert". В каждой таблице должно быть не менее 10 строк (кроме справочников с ограниченным количеством данных).


  1.  С помощью SQL-редактора изменить содержимое любого поля всех записей, удовлетворяющих условию.
  2.  С помощью SQL-редактора удалить все записи, удовлетворяющие условию.
  3.  Создать в папке "ЛР6" резервную копию базы данных.
  4.  Создать и сохранить в папке "ЛР6" файл с отчетом о выполнении лабораторной работы №6, который должен называться "Отчет6-xx.odt", где xx — это номер варианта задания.
    1.  Варианты заданий

Вариант задания (Таблица 1) выбирается по формуле (N mod 24)+1, где N – последние две цифры зачетной книжки студента.

Таблица : Варианты заданий к лабораторной работе №6

№ варианта

Имя пользователя

Имя файла БД

Имя таблицы

Условие

1

TEAM001

SALARY.FDB

Рабочий

Цех ID

2

TEAM002

STUFF.FDB

Собрано

Количество

3

TEAM003

STUFFPLUS.FDB

Изделия

Стоимость_сборки

4

TEAM004

TELEPHONE.FDB

Разговоры

Дата

5

TEAM005

TOOLS.FDB

Поставщик

Город

6

TEAM006

EXAMIN.FDB

Студент

Фамилия

7

TEAM007

LIBRARY.FDB

Книга

Дата_поступления

8

TEAM008

AVIA.FDB

Рейс

Время_вылета

9

TEAM009

SHOP.FDB

Ассортимент

Наименование

10

TEAM010

HCOMMAND.FDB

Спортсмен

Забитых_голов

11

TEAM011

STUDENT.FDB

Студент

Общежитие

12

TEAM012

SERVIS.FDB

Исполнитель

Фамилия

13

TEAM013

REGION.FDB

Регион

Численность

14

TEAM014

OPTSHOP.FDB

Товар

Количество

15

TEAM015

OPTLEKI.FDB

Лекарства

Срок_годности

16

TEAM016

SPORTSMEN.FDB

Спортсмен

Классификация

17

TEAM017

DANCING.FDB

Танцор

Возрастная_группа

18

TEAM018

BIRTHDOM.FDB

Мать

Дата_выписки

19

TEAM019

TENNIS.FDB

Спортсмен

Возраст

20

TEAM020

CURSES.FDB

Расценки

Стоимость

21

TEAM021

TEACHER.FDB

Преподаватель

Ученое_звание

22

TEAM022

HOSPITAL.FDB

Больной

Выписан

23

TEAM023

SOLDAT.FDB

Призывник

Здоровье


24

TEAM024

YUSHOP.FDB

Изготовитель

Стаж

  1.   Ход работы 

Для заполнения созданной базы данных тестовой информацией в диалоговом режиме программы "IBExpert" необходимо выполнить следующие действия:

  1.  Подключиться к базе данных.
  2.  Открыть окно с таблицей, в которую будет заноситься информация.
  3.  Перейти на вкладку "Данные" (Рис. 1). На этой вкладке располагается сетка со строками и столбцами, а также навигатор.

При вводе полей есть возможность использования различных диалогов, таких как календарь, калькулятор или окно ввода поля внешнего ключа.

  1.  Ввести данные, используя для добавления строки клавишу [Insert] или кнопку Insert навигатора, а для удаления строки – клавиши [Ctrl+Delete] или кнопку Delete Навигатора.
  2.  После ввода данных для сохранения их в базе данных необходимо зафиксировать изменения кнопкой [Подтвердить транзакцию] (Ctrl+Alt+C). Чтобы отменить сделанные изменения, можно воспользоваться кнопкой [Откатить транзакцию] (Ctrl+Alt+R).

  1.  Отчет о выполнении работы

Отчет о выполнении лабораторной работы №6 необходимо оформить на листах формата A4. Для создания отчета следует использовать шаблон отчета для соответствующей лабораторной работы, который необходимо открыть с помощью приложения OpenOffice.


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

  1.  Цель работы.
  2.  Краткое описание предметной области в соответствии с вариантом.
  3.  Данные о версии СУБД, использованной в лабораторной работе.
  4.  Перечисление всех использованных при выполнении лабораторной работы команд главного меню приложения "IBExpert" с краткими пояснениями выполняемых действий.
  5.  Перечень файлов, полученных при выполнении лабораторной работы с указанием их имен, места расположения, даты изменения и размеров (сценарий, база данных, резервная копия базы данных, файл с отчетом).
  6.  Письменные ответы на контрольные вопросы.
  7.  Выводы.
  8.  Распечатку сценария создания базы данных с комментариями, которые должны содержать сведения об авторе, дате создания, всех выполняемых действиях и пояснения к выполняемым действиям.

 

  1.  Контрольные вопросы
  2.  Что такое DML?
  3.  Какие бывают разновидности оператора вставки новых данных?
  4.  Как удалить из таблицы сразу все строки?
  5.  Как удалить из таблицы только некоторые строки?
  6.  Как изменить все строки таблицы?
  7.  Как изменить только некоторые строки?
  8.  Написать синтаксис оператора вставки данных.
  9.  Написать синтаксис оператора удаления данных.
  10.  Написать синтаксис оператора обновления данных.
  11.  Привести примеры операторов INSERT, DELETE, UPDATE.
  12.  Как добавить данные в несколько таблиц?
  13.  Как удалить данные из нескольких таблиц?
  14.  Как изменить данные в нескольких таблицах?
  15.  Как запретить уменьшать значение какого-либо поля, но разрешить его увеличивать?
  16.  Как разрешить вносить изменения в базу данных только в определенные дни недели?
  17.  Как разрешить вносить изменения только определенным пользователям?


* Оператор SELECT изучается в следующей лабораторной работе.  

    ?


 

А также другие работы, которые могут Вас заинтересовать

16995. Робота з файловими менеджерами для ОС MS-DOS. Настройка і створення меню користувача 294.5 KB
  Практична робота №2 Тема: Робота з файловими менеджерами для ОС MSDOS. Настройка і створення меню користувача. Мета: Навчитися працювати з каталогами файлами а також створювати і настроювати меню користувача. Устаткування: ПК. Файловий менеджер NC операційна система M...
16996. Робота з вікнами. Створення папок, текстових файлів. Копіювання, переміщення, перейменування, відновлення файлів. Створення ярликів 5.35 MB
  Практична робота №4 Тема: Робота з вікнами. Створення папок текстових файлів. Копіювання переміщення перейменування відновлення файлів. Створення ярликів. Мета: Навчитися виконувати основні операції над файлами. Устаткування: ПК. Операційна система Windows. ...
16997. Поняття і сутність менеджменту 6.35 MB
  ТЕМА 1. Поняття і сутність менеджменту Еволюція поглядів на сутність менеджменту Організація як об’єкт управління. Менеджмент як вид професійної діяльності. Для позначення діяльності з координації роботи людей на практиці використовують різні по...
16998. Розвиток науки управління 1.77 MB
  ТЕМА 2. Розвиток науки управління. Виникнення науки менеджменту. Ранні теорії менеджменту. 1. Еволюція управлінської думки Хоча організації як форма об’єднання людей для досягнення спільної мети існують не одне тисячоліття але до середини ХІХ столітт
16999. Прийняття управлінських рішень 6.78 MB
  ТЕМА 3. Прийняття управлінських рішень. Основи теорії прийняття рішень. Процес прийняття рішень. Методи творчого пошуку альтернатив. 1. Основи теорії прийняття рішень У науковій літературі зустрічається як розширене так і вузьке розуміння процесу
17000. Методи обґрунтування управлінських рішень 5.46 MB
  ТЕМА 4. Методи обґрунтування управлінських рішень. Класифікація методів обґрунтування управлінських рішень. Інструменти обґрунтування управлінських рішень. Обґрунтування рішень в умовах невизначеності. 1. Класифікація методів обґрунтування управ
17001. Планування в організації 13.06 MB
  ТЕМА 5. Планування в організації. Сутність планування як функції управління. Цілі управлінського планування. Стратегічне планування. 1. Сутність планування як функції управління Щоб спільні зусилля співробітників організації були успішними вон
17002. Організація як функція управління 20.37 MB
  ТЕМА 6. Організація як функція управління. Сутність функції організації. Основи теорії організації. Основи організаційного проектування. Типи організаційних структур управління. 1. Сутність функції організації В процесі вивчення цієї теми важл
17003. Мотивація в управлінні 10.35 MB
  ТЕМА 7. Мотивація Поняття і сутність мотивації. Змістовні теорії мотивації. Процесні теорії мотивації. 1. Поняття і сутність мотивації Привести у дію організовану систему для отримання необхідного результату можливо лише шляхом певного впливу на не...