Лабораторна робота 11

ЗАПОВНЕННЯ ТАБЛИЦЬ БАЗИ ДАНИХ

Мета роботи: навчитися заповнювати таблиці бази даних у середовищі SQL Server Management Studio.

 

Теоретичні відомості

У SQL Server 2008 заповнення таблиць проводиться за допомогою наступної команди:

 

INSERT INTO імʼя_таблиці(список_стовпців)

VALUES (список_значень;

 

де ім'я_таблиці таблиця, куди вставляються дані, список_стовпців ‒ список полів, в які вставляються дані, якщо він не вказується, то мається на увазі заповнення всіх полів, у списку полів поля вказуються через кому, список_значень ‒ значення полів для вставки через кому.   

 

Приклад: Додавання запису в таблицю «Orders»:

 

INSERT INTO dbo.Orders (orderid, empid, custid, qty)

VALUES (10002, 3, ‘В’, 10000);

 

        З таблиці можна видалити всі стовпці, або окремі записи. Це здійснюється командою

 

DELETE FROM <Імʼя таблиці>

[WHERE <Умова>]

 

де <Умова> умова, якій задовольняють записи, що видаляються, якщо умова не вказана, то видаляються всі стовпці таблиці.

 

        Приклад:  Видалити  записи із таблиці «Orders», у яких поле orderts < ‘20130930’.

 

DELETE FROM dbo.Orders WHERE orderts < ‘20130930’;

 

        Значення полів таблиці можна оновити (змінити), використовуючи наступну команду:

 

UPDATE <Імʼя таблиці>

SET

<Імʼя поля1> = <Вираз1>,

[<Імʼя поля2> = <Вираз2>,]

[WHERE <Умова>]

 

Тут <Ім'я поля1>, <Ім'я поля2> імена змінюваних полів; <Вираз 1>, <Вираз 2> значення, які повинні прийняти поля; <Умова> умова, якій повинні відповідати записи, поля яких змінюємо.

В якості виразу можна використовувати математичні формули.

Якщо необхідно з таблиці видалити всі записи, але зберегти її структуру, потрібно скористатися командою TRUNCATE TABLE <Ім'я таблиці>, при цьому всі дані будуть видалені, але сама таблиця залишиться.

 

Приклад виконання лабораторної роботи

Перейдемо до заповнення таблиць БД, створеної в прикладі лабораторної роботи №2.

У таблицю «Departments» записуються імена відділів музею. Ідентифікатор кожного відділу заповнюватиметься автоматично, тому що при створенні таблиці було використано властивість IDENTITY.

 

INSERT INTO dbo.Departments (Name)

VALUES ('Відділ мистецтва фотографії'),

('Відділ гравʼюри і рисунка'),

('Відділ мистецтва античного світу'),

('Відділ мистецтва Стародавнього Сходу'),

('Відділ мистецтва країн Європи XIX-XX ст.'),

('Відділ реставрації'),

('Відділ українського мистецтва XIX-XX ст.');

 

Аналогічно заповнюються і інші таблиці бази даних. Наприклад, для таблиці «Employees» запит на додавання даних може бути записаний таким чином:

 

INSERT INTO dbo.Employees

VALUES ('Іваненко', 'Іван', 'Іванович', 'Реставратор',

30000, '20130109', NULL, 6),

('Петренко', 'Петро', 'Петрович', 'Будівельник',

15000, '20130109', NULL, 1),

('Степаненко', 'Степан', 'Степанович',

'Директор', 50000, '20130109', NULL, 2),

('Федоренко', 'Ганна', 'Федорівна', 'Прибиральниця',

10000, '20130109', NULL, 3),

('Кузнєцова', 'Наталія', 'Іванівна', 'Директор', 

75000, '20130109', NULL, NULL),

('Потапов', 'Віктор', 'Сергійович',

'Реставратор', 30000, '20130109', NULL, 5),

('Сергієнко', 'Микола', 'Петрович',

'Екскурсовод', 30000, '20130109', NULL, 7),

('Коваленко', 'Марія', 'Володимирівна',

'Екскурсовод', 30000, '20130109', NULL, 1),

('Василенко', 'Вадим', 'Петрович',

'Екскурсовод', 30000, '20130109', NULL, 2),

('Сидорова', 'Тетяна', 'Вікторівна',

'Экскурсовод', 30000, '20130109', NULL, 3),

('Семенова', 'Інна', 'Миколаївна',

'Экскурсовод', 30000, '20130109', NULL, 4);

 

Якщо поле є зовнішнім ключем, то заповнювати його слід значеннями того поля, яке є первинним ключем для нього, як і було зроблено в цьому випадку для поля «DepId» (номер відділу з таблиці «Departments»).

 

Завдання

1.  Заповнити таблиці БД даними у відповідності із власним варіантом.