Лекція 3. Таблиці. Типи даних і властивості полів. Створення і заповнення таблиць.

Мета:

1.    Вивчити таблиці і типи даних полів.

2.   Освоїти створення таблиць та основні операції з таблицями.

 

Таблиці. Типи даних полів

Вся інформація в базі даних зберігається в таблицях. Таблиці це звичайні таблиці для зберігання даних. Таблиці складаються з записів.

Запис це рядок в таблиці. Вся інформація обробляється по записах.

Кожен запис складається з полів. Поле це стовпець таблиці. Кожне поле має три характеристики:

1.   Ім'я поля - використовується для звернення до поля;

2.    Значення поля - визначає інформацію, збережену в поле;

3.   Тип даних поля - визначає який вид інформації можна зберігати в поле.

У SQL сервер використовується наступні типи даних:

·        Бітові типи даних які містять послідовності нулів та одиниць: Binary (n) і Varbinary (n), де n довжина. Довжина вмісту полів типу Binary завжди дорівнює n, різниця заповнюється пробілами. Varbinary розмір поля дорівнює n або меншого;

·        Цілочисельні типи даних - типи даних для зберігання цілих чисел (в дужках вказано діапазон значень типу даних, приблизно): Tinyint (0-255), Smallint (± 215), Int (± 231), Bigint (± 263);

·        Типи даних для зберігання дробових чисел: Real сьомій знаків після коми, Float (m) може зберігати числа з m знаків, максимальне m = 38, Decimal (m, n) дробові числа з m знаків до коми і n після;

·        Спеціальні типи даних: Bit - логічний тип данних.является заміною логічному типу Boolean в Visual Basic, Text - тип для зберігання великих обсягів тексту, одне поле може зберігати до 2 Гб тексту, Image - тип даних для зберігання до 2Гб малюнків, RowGUID - унікальний ідентифікатор рядки таблиці, SQL_Variant - аналогічний типу Variant в Visual Basic;

·        Типи даних дати і часу: Datetime (1 січня 1753 - 31 грудня 9999). SmallDatetime (від 1.01.1900 до 06.06.2079);

·        Грошові типи даних для зберігання фінансової інформації: Money (від -922337203685 477,5808 до +922337203685 477,5807), Smallmoney (від -214 748,3648 до 214 748,3647);

·        Автоматично оновлювані типи даних - аналоги лічильників, але в даній ролі вони не використовуються: RowVersion унікальний ідентифікатор рядка. TimeStamp - закодоване дата і час створення рядка.

 

Створення таблиць

Для створення таблиць в SQL Server в першу чергу необхідно зробити активною ту БД, в якій створюється таблиця. Для цього в новому запиті можна набрати команду: USE <Імя БД>, або на панелі інструментів необхідно вибрати у випадаючому списку робочу БД. Після вибору БД можна створювати таблиці.

Таблиці створюються командою

CREATE TABLE <Імя таблиці>(<Імя поля1> <Тип1> [IDENTITY NULL|NOTNULL],<Імя поля2> <Тип2>, … )

Тут:

·        < Імя таблиці > - ім'я створюваної таблиці;

·        < Імя поля > - імена полів таблиці;

·        <Тип> - типи полів;

·        <IDENTITY NULL | NOT NULL> - поле лічильник.

Зауваження: Якщо ім'я поля містить пробіл, то воно береться  в квадратні дужки.

Приклад: Створити таблицю "Студент", що містить поля: Код студента (первинне поле зв'язку, лічильник),ФИО, Адрес, Код специальності (вторинне поле зв'язку):

CREATE TABLE Студент 
([Код студента] Bigint Identity,
ФИО Varchar(20),
Адрес Varchar(100),
[Код специальності] Bigint)

Зауваження: Якщо необхідно створити обчислювальне  поле, то в команді Create Table у обчислюваному полі замість типу даних потрібно вказати вираз.

Приклад: розрахувати середній бал студента за трьома його оцінками.

CREATE TABLE Оцінки
(ФИО Varchar(20),
Оцінка1 int,
Оцінка2 int,
Оцінка3 int,
[середній бал] = (Оцінка1+ Оцінка2+ Оцінка3)/3

Зауваження: Отримання інформації про таблиці здійснюється застосуванням команди: EXEC SP_HELP <Імя таблиці>. Видалення таблиці здійснюється командою: DROP TABLE <Імя таблиці>.

 

Заповнення таблиць

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

INSERT INTO <Імя таблиці> [(<Список полів>)]
VALUES (<Значення полів>)

 

де < Імя таблиці > - таблиця, куди вводимо дані, (<Значення полів >) - список полів, куди вводимо дані, якщо не вказуємо, то мається на увазі заповнення всіх полів, у списку полів поля вказуються через кому, (<Значення полів>) - значення полів через кому.

В якості значень можна вказати константу Default, тобто буде поставлено значення за замовчуванням, або можна підставити оператор Select. Тут він використовується як інструмент обчислення формул.

 

Приклад: Додавання запису має наступні значення полів ПІБ = Іванов, Адрес = Київ, Код спеціальності = 5 в таблицю "Студент".

 

INSERT INTO Студент (ПІБ, Адрес, [Код спеціальності])
VALUES ('Іванов А.А.', Київ, 5)

 

Видалення окремих стовпців і окремих рядків з таблиці

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

DELETE FROM <Імя таблиці>
[WHERE <Умова>]

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

Приклад: Видалити записи з таблиці "Студенти", у яких поле Адреса = Київ.

DELETE FROM Студенти
WHERE Адрес = 'Київ'

 

Зміна даних в таблиці

Для цього використовується наступна команда:

 

UPDATE <Імя таблиці>
SET
<Імя поля1> = <Вираз1>,
[<Імя поля2> = <Вираз2>,]…
[WHERE <Умова>]

Тут < Імя поля1>, < Імя поля2> - імена змінних полів, < Вираз1>,

 <Вираз1> - або конкретні значення, або NULL, або оператори SELECT. Тут SELECT застосовується як функція.

<Умова> - умова, якій повинні відповідати записи, поля яких змінюємо.

Приклад: У таблиці "Студенти" у студента Іванова А.А. поміняти адресу Київ на Йошкар-Ола, а код спеціальності замість 5 поставити 3.

UPDATE Студент
SET
Адрес = 'Йошкар-Ола', 
[Код спеціальності] = 3
WHERE ПІБ = 'Іванов А.А.'

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

Наприклад: SET [Середній бал]= (Оцінка1+ Оцінка2+ Оцінка3)/3)обчислює поле "Середній бал " як середнє полів "Оцінка1", "Оцінка2" і "Оцінка3". При цьому поля "Оцінка1", "Оцінка2" і "Оцінка3" мають уже існувати і тип даних поля "Середній бал" повинен бути з плаваючою комою (Наприклад Real).

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

Контрольні питання

1.   Де зберігається вся інформація в БД?

2.   Які типи даних використовуються у SQL?

3.   Якою командою створюються таблиці?

4.    Як створювати обчислювальне поле?

5.   Якою командою здійснюється видалення таблиць?

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

7.   Як з таблиці видалити окремі стовпці?

8.   За допомогою якої команди можна змінювати дані в таблиці?

9.   Яку команду треба виконати щоб видалити всі записи з таблиці але зберегти її структуру?

10. Що таке таблиця?