Лекція
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.
Що таке таблиця?