DDL - це підмножина SQL, що означає Data Definition Language. Він служить для визначення та модифікації об'єктів баз, наприклад, створення або вилучення таблиць, індексів, представлень, процедур і т.п.
В Database Tour термін DDL застосовується до коду SQL, який потрібен для створення вибраного об'єкта бази даних та (опціонально) його дочірніх об'єктів, з (опціонально) відповідними дозволами користувачів.
Приклад коду DDL для створення таблиці в базі даних PostgreSQL:
-- Create table
CREATE TABLE detail.contracts (
id serial not null,
source_type_id smallint not null,
state_id smallint not null,
type_id smallint not null,
client_id integer not null,
contract_date date not null,
contract_number varchar(25),
close_date date,
ts timestamp without time zone default now()
);
-- Add object comments
COMMENT ON table detail.contracts is 'Contracts';
-- Create primary key
ALTER TABLE detail.contracts
ADD CONSTRAINT contracts_pkey
PRIMARY KEY (id);
-- Create foreign keys
ALTER TABLE detail.contracts
ADD CONSTRAINT fk_contracts_client
FOREIGN KEY (client_id) REFERENCES detail.client (id) ON DELETE no action ON UPDATE no action NOT DEFERRABLE;
ALTER TABLE detail.contracts
ADD CONSTRAINT fk_contracts_contract_state
FOREIGN KEY (state_id) REFERENCES detail.dic_contract_state (id) ON DELETE no action ON UPDATE no action NOT DEFERRABLE;
-- Create indices
CREATE INDEX contracts_contract_nubmer_idx
ON detail.contracts (contract_number);
CREATE INDEX contracts_ts_idx
ON detail.contracts (ts);
-- Grant object privileges
GRANT SELECT ON detail.contracts TO reports_role;
GRANT SELECT ON detail.contracts TO john_gabriel;
Інтерфейс роботи з DDL
В Database Tour є кілька місць, де можна подивитися DDL об'єктів бази даних:
Щоб подивитися DDL існуючого об'єкт, виберіть об'єкт в Навігаторі об'єктів і перейдіть на закладку Скрипт.
Щоб згенерувати DDL для нового об'єкта на основі існучого, виберіть існуючий об'єкт в Навігаторі об'єктів та клікніть кнопку Дублювати над списком об'єктів. В діалозі Дублювання об'єкта виберіть опцію Згенерувати SQL та перевірте інші опції нижче, потім клікніть OK.
Щоб отримати DDL для багатьох об'єктів, виберіть потрібні об'єкти в Навігаторі об'єктів, клікніть виділені об'єкти правою кнопкою миші та виберіть Згенерувати SQL | DDL | Створення скрипта DDL... or Згенерувати SQL | DDL | Збереження DDL до файлу(ів).... В обох випадках буде показано новий діалог, де ви можете обрати опції DDL і змінити порядок об'єктів. Ці дві задачі відрізняються наступним:
- Створення скрипта DDL. Буде створено нове вікно SQL з новим скриптом DDL для всіх вибраних об'єктів.
- Збереження DDL до файлу(ів). Тут можна вказати, чи зберігати код всіх об'єктів до одного цільового файлу чи розкидати код по багатьох файлах (один файл на об'єкт бази даних). В останньому випадку ви використовуєте просту формулу, яка будує шлях до файлу на основі імені об'єкту.
Див. також: