Тема: "SQL-запити  на створення таблиць".

 

Щоб створити нову таблицю в Access за допомогою Access SQL, необхідно присвоїти таблиці ім'я, імена полів та визначити типи даних, які будуть у цих полях. Для визначення нової таблиці за допомогою  SQL використовують речення CREATE TABLE.

Припустимо, що слід створити базу рахунків. Першим кроком є створення початкової таблиці клієнтів.

 CREATE  TABLE tblCustomers 

        (CustomerID INTEGER,

         [Last Name] TEXT(50),

         [First Name] TEXT(50),

         Phone TEXT(10),

         Email TEXT(50))

 

Якщо ім'я поля містить пробіл або будь-який інший неальфанумерний символ, необхідно вставити це ім'я поля у квадратні дужки ([ ]).

Якщо ви не оголосите довжину текстових полів, за замовчанням вони будуть 255 символів. Для забезпечення узгодженості та зручності читання коду завжди слід визначати довжину полів.

Поле можна оголосити як NOT NULL, що означає, що значення NULL не можуть бути вставлені в це конкретне поле; значення завжди є обов'язковим. Значення NULL не слід плутати з порожнім рядком або 0; це просто представлення бази даних невідомого значення.

 

CREATE TABLE tblCustomers 

        (CustomerID INTEGER NOT NULL,

        [Last Name] TEXT(50) NOT NULL,

        [First Name] TEXT(50) NOT NULL,

        Phone TEXT(10),

        Email TEXT(50))

 Для знищення таблиці слід використовувати інструкцію DROP TABLE

 DROP TABLE tblCustomers

 СТВОРЕННЯ І ВИДАЛЕННЯ ІНДЕКСІВ

 Індекс - це зовнішня структура даних, яка використовується для сортування або розміщення вказівників на дані в таблиці. При застосуванні індексу до таблиці, вказується  певне розташування даних, щоб до них можна було швидше звертатися. Однак якщо до таблиці застосовується занадто багато індексів, продуктивність може знизитися через додаткові накладні витрати, пов'язані з обслуговуванням індексу, а також через те, що індекс може викликати проблеми з блокуванням при використанні у багатокористувацькому  середовищі. Індекс, який використовується у правильному контексті, може значно підвищити продуктивність програми.

 Щоб створити індекс у таблиці, необхідно присвоїти ім'я індексу, присвоїти таблиці ім'я для побудови індексу, присвоїти ім'я поля або полям у таблиці, що використовується, а також присвоїти ім'я параметрам, які ви хочете використовувати. Для створення індексу використовується інструкція CREATE INDEX. Наприклад, можна створити індекс на основі таблиці customers у базі даних виставлення рахунків, згаданої раніше, за допомогою наступного коду:

 CREATE INDEX idxCustomerID 

              ON tblCustomers (CustomerID)

 Індексовані поля можна сортувати одним із двох способів: за зростанням (ASC) або за зменшенням (DESC). Порядок за замовчуванням зростає, і його не потрібно оголошувати. Якщо використовується порядок зростання, дані будуть відсортовані від 1 до 100. Якщо вказати порядок зменшення, дані будуть відсортовані від 100 до 1. НЕОБХІДНО ОГОЛОСИТИ ПОРЯДОК СОРТУВАННЯ З КОЖНИМ ПОЛЕМ В ІНДЕКСІ !

 CREATE INDEX idxCustomerID 

         ON tblCustomers (CustomerID DESC)

 Існує чотири основні параметри, які можна використовувати з індексом: PRIMARY, DISALLOW NULL, IGNORE NULL та UNIQUE. Параметр PRIMARY визначає індекс як первинний ключ для таблиці. Для кожної таблиці може бути лише один індекс первинного ключа, хоча індекс первинного ключа можна оголосити кількома полями. Використовуйте ключове слово WITH для оголошення параметрів індексу.

CREATE INDEX idxCustomerID 

      ON tblCustomers (CustomerID)

            WITH PRIMARY

 Щоб створити індекс первинного ключа для кількох полів, додайте всі імена полів до списку полів.

 CREATE INDEX idxCustomerName 

     ON tblCustomers ([Last Name], [First Name])

          WITH PRIMARY

 Параметр DISALLOW NULL запобігає вставці даних NULL у поле. (Це схоже на оголошення NOT NULL, що використовується в інструкції CREATE TABLE ).

CREATE INDEX idxCustomerEmail 

        ON tblCustomers (Email)

          WITH DISALLOW NULL

 Параметр IGNORE NULL призводить до того, що дані NULL у таблиці ігноруються для індексу. Це означає, що будь-який запис, який має значення NULL в оголошеному полі, не використовуватиметься (або підраховуватиметься) в індексі.

 CREATE INDEX idxCustomerLastName 

        ON tblCustomers ([Last Name])

             WITH IGNORE NULL

 Крім параметрів PRIMARY, DISALLOW NULL та IGNORE NULL можна також оголосити індекс як UNIQUE. Це означає, що в індексовані поля можна вставити лише унікальні неповторні значення.

 CREATE UNIQUE INDEX idxCustomerPhone 

        ON tblCustomers (Phone)

 Щоб видалити індекс з таблиці, скористайтеся інструкцією DROP INDEX .

 DROP INDEX idxName

        ON tblCustomers

ТИПИ ДАНИХ, ЯКІ МОЖНА ЗАСТОСОВУВАТИ ДЛЯ СТВОРЕННЯ ТАБЛИЦЬ..

BINARY

1 байт на каждый символ

В поле этого типа может храниться любой тип данных. Нет перевода данных (например, в текст). То, как данные входят в двоичное поле, определяет, как они будут выглядеть в качестве выходных.

BIT

1 байт

Значения "Да" и "Нет" и поля, содержащие только одно из двух значений.

TINYINT

1 байт

Целое число от 0 до 255.

MONEY

8 байтов

Масштаб целого числа от 922 337 203 685 477,5808 до 922 337 203 685 477,5807.

DATETIME (см. DOUBLE)

8 байтов

Значение даты и времени между годами от 100 до 9999.

UNIQUEIDENTIFIER

128 битов

Уникальный идентификационный номер, используемый с удаленными вызовами процедур.

REAL

4 байта

Значение с плавающей запятой одинарной точности с диапазоном от –3,402823E38 до –1,401298E-45 для отрицательных значений, от 1,401298E-45 до 3,402823E38 для положительных значений, а также 0.

FLOAT

8 байтов

Значение с плавающей запятой двойной точности с диапазоном от –1,79769313486232E308 до –4,94065645841247E-324 для отрицательных значений, от 4,94065645841247E-324 до 1,79769313486232E308 для положительных значений, а также 0.

SMALLINT

2 байта

Короткое целое число в диапазоне от –32 768 до 32 767. (См. "Примечания")

INTEGER

4 байта

Длинное целое число в диапазоне от –2 147 483 648 до 2 147 483 647. (См. "Примечания")

DECIMAL

17 байтов

Тип точных числовых данных, содержащих значения от 1028 – 1 до –1028 – 1. Можно задать два параметра: precision (в диапазоне от 1 до 28) и scale (в диапазоне от 0 до заданного значения параметра precision). По умолчанию значения параметров precision и scale равны 18 и 0, соответственно.

TEXT

2 байта на каждый символ (см. "Примечания")

Значение от 0 до 2,14 гигабайт.

IMAGE

В соответствии с требованием

Значение от 0 до 2,14 гигабайт. Используется для объектов OLE.

CHARACTER

2 байта на каждый символ (см. "Примечания")

Значение от 0 до 255 символов.

Остання зміна: середа 29 березня 2023 22:36 PM