Створення бази даних в InterBase

 

Є два способи створення баз даних в InterBase. Перший спосіб полягає у використанні деякої програми адміністрування, наприклад, IB Console.

 

Ввійшовши до сервера виберіть команду DataBase – Create DataBase. У рядку FileName вкажіть ім’я бази даних (із розширення gdb) і повний шлях доступу до файла. Параметр Page size повинен містити значення 4096. Параметр Default Character Set для роботи з кирилицею обов’язково встановлюється в WIN 1251.

SQL Dialect обов’язково вибирається рівним 1. При поміченому параметрі Register DataBase створена база даних автоматично реєструється на сервері. Параметр Alias задає ім’я бази даних, під яким вона буде зареєстрована на сервері.

 

Інший спосіб створення бази даних полягає у виконанні команд SQL у вікні інтерактивного SQL. Для цього необхідно задати команду Tools – Interactive SQL, ввести у вікні послідовність SQL-команд:


SET NAMES WIN1251;
CREATE DATABASE 'Localhost:S:\Student\…\Database\my.gdb’
USER 'SYSDBA' PASSWORD 'masterkey'
PAGE_SIZE 4096
DEFAULT CHARACTER SET WIN1251;

 

і виконати команду Execute Query. В разі безпомилкового вводу SQL-команд вони виконаються і база даних, що міститься у файлі S:\Student\… \Database\my.gdb буде створена.

 

З А В Д А Н Н Я

 

1. Зареєструйте на сервері навчальну базу даних EMPLOYEE.gdb.

2. Перегляньте за допомогою IB Console елементи цієї бази даних.

3. Створіть двома способами базу даних Sales.gdb.

4. Вилучіть базу даних, яка створювалася за допомогою команд SQL.

5. Оформіть звіт по роботі.

 

КОНТРОЛЬНІ ЗАПИТАННЯ

1. Які СУБД Вам відомі?

2. Що таке InterBase Console?

3. Які можливості надає InterBase Console?

4. Як запустити програму InterBase Console на виконання?

5. Які дії необхідно виконати для реєстрації нової бази даних?

6. Яка команда SQL створює нову базу даних?


Лабораторна робота № 2

Тема роботи: Створення таблиць в базах даних в InterBase.

Мета роботи: Навчити створювати домени та таблиці у середовищі сервера InterBase.

 

ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ

 

1. Типи даних InterBase.

 

Поля таблиць в InterBase можуть мати один із типів, що описані в таблиці:
Ім’я Розмір Діапазон/точність
BLOBCHAR(n)DATETIMETIMESTAMPDECIMAL(L, F)DOUBLE PRECISIONFLOATINTEGERNUMERIC(L, F)SMALLINTVARCHAR(n) Зміннийn символів64 біти64 біти64 бітиЗмінний64 біти32 біти32 бітиЗмінний16 бітn символів Без обмеження, розмір сегмента 64 КВід 1 до 32767 байт1 січня 100 року – 11 грудня 5941 рокувід 0 до 23.59.99991 січня 100 року – 11 грудня 5941 рокуДовжина L = 1 – 15, дріб F = 1 – 15Від 1.7*10-308 до 1.7*10308Від 3.4*10-38 до 3.4*1038Від –2147483648 до 2147483648Довжина L = 1 – 15, дріб F = 1 – 15Від 1 до 32767Від 1 до 32767 байт
Поля типу BLOB зберігають великі об’єми даних, таких як графіки тексти, звук. Поля типу DATA у версіях до 6 додатково включають дані про час. У версії після 6 з’явився тип даних TIME – 64 біт, який зберігає час і TIMESTAMP, що є аналогом DATA (при цьому тип DATA містить дату без часу). Типи даних DECIMAL(L, F) та NUMERIC(L, F) – числа із вказаною кількістю десяткових цифр, наприклад DECIMAL(10, 3) має формат ccccccc.ddd. Тип даних CHAR(n) використовує для зберігання в базі даних точно n символів. Якщо значення, що розміщується у конкретному полі має менше символів, воно доповнюється пробілами. Тип даних VARCHAR(n) зберігає кількість символів, що відповідає реальній довжині рядка. Хоча цей тип більш раціонально використовує пам’ять, за це доводиться розплачуватися повільнішим виконанням операції.

 

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

Створимо деяку таблицю:

CREATE TABLE IZMER_NAMES
(
ID_NUM IZMER_NUM,
NAME NAMES_TYPE,
USER_NAME BY_USER,
CHANGE_DATE BY_DATE
);

Оператор CREATE TABLE власне і створює таблицю, далі йде її унікальне в межах БД ім’я. Між дужками стоять визначення полів таблиці і додаткові оператори. Ми бачимо, що таблиця складається з чотирьох полів, а їх тип описано через домени, які ми створили раніш. Якщо ви створите ще одну таблицю з полем типу NAMES_TYPE, то кількість доменів у вас не збільшиться, а якщо б ви створили дві таблиці, у яких було б по одному полю типу VARCHAR (45), то це призвело б до створення двох доменів, що описують ці поля. Причому, імена цих доменів присвоїлися б за замовчуванням, а значить, цілком нечитабельні.

В таблиці ще можуть створюватися первинні та зовнішні ключі, але ми це питання розглянемо далі.

 

База даних Sales містить чотири таблиці, які з урахування введених нами типів даних мають таку структуру:

Таблиця відомостей про покупця CUSTOMER має такі поля:

 

CUSTOMER_ID INTEGER NOT NULL,

FNAME VARCHAR (45) NOT NULL,

LNAME VARCHAR (45) NOT NULL,

CREDIT SMALLINT NOT NULL,

WORK_ADDRESS VARCHAR (45),

ALT_ADDRESS VARCHAR (45),

CITY VARCHAR (45),

STATE VARCHAR (45),

WORK _PHONE VARCHAR (45),

ALT_PHONE VARCHAR (45),

COMPANY VARCHAR(40).

 

Таблиця PART являє собою відомість товарів на складі. Вона складається з таких полів:

PART_NUMBER VARCHAR(10) NOT NULL,

DESCRIPTION VARCHAR(18),

QUANTITY SMALLINT NOT NULL,

LIST_PRICE Double NOT NULL,

RETAIL_PRICE Double NOT NULL,

DEALER_PRICE Double NOT NULL,

JOBBER_PRICE Double NOT NULL

 

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

SALE_NUMBER INTEGER NOT NULL,

CUSTOMER_ID INTEGER,

SALE_DATE TIMESTAMP,

TOTAL_PRICE DOUBLE PRECISION

 

В таблиці ITEMS містяться відомості про товари, відпущені покупцю по певній накладній (окремій операції продажу). Вона складається з таких полів:

SALE_NUMBER INTEGER,

ITEM_NO INTEGER,

PART_NO VARCHAR(10),

QTY SMALLINT

 

З А В Д А Н Н Я

 

1. Зареєструйте на сервері базу даних Sales (якщо вона не зареєстрована), яку ви створили в попередній роботі.

2. Виділіть на дереві IB Console вашу базу даних.

3. За допомогою ISQL створіть таблиці Customer, Part, Sales та Items.

4. Перегляньте за допомогою IB Console створені вами елементи бази даних.

5. Оформіть звіт по роботі.

КОНТРОЛЬНІ ЗАПИТАННЯ

1. Вкажіть типи даних що використовуються в InterBase?

2. Яка команда SQL створює нову таблицю в базі даних?

3. Які існують типи обмежень?

4. Яке обмеження створює первинний ключ?

5. Що виконує обмеження NOT NULL?



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: