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_pk
  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.

Щоб згенерувати DDL для нового об'єкта на основі існучого, виберіть існуючий об'єкт в Навігаторі об'єктів та клікніть кнопку Дублювати над списком об'єктів. В діалозі Дублювання об'єкта виберіть опцію Згенерувати SQL та перевірте інші опції нижче, потім клікніть OK.

Щоб отримати DDL для багатьох об'єктів, виберіть потрібні об'єкти в Навігаторі об'єктів, клікніть виділені об'єкти правою кнопкою миші та виберіть Згенерувати SQL | DDL | Створення скрипта DDL... or Згенерувати SQL | DDL | Збереження DDL до файлу(ів)...; ці дві задачі відрізняються наступним:

Повнота та точність згенерованого коду DDL залежить від використовуваних движка бази даних та типу бази даних. Ця функціональність найбільш повно впроваджена для баз даних Oracle, PostgreSQL, Interbase, Firebird, і частково SQL Server. Для інших типів баз даних імплементовано лише DDL таблиць.

Див. також:

 Об'єкти бази даних