DDL – język definiowania struktury bazy danych

Wyobraź sobie, że masz pusty budynek i chcesz urządzić w nim bibliotekę. Zanim wstawisz książki (czyli dane), musisz najpierw zbudować półki, szuflady i regały – czyli ustalić strukturę.
W świecie baz danych tym właśnie zajmuje się DDL (Data Definition Language) – język definiowania danych.

Polecenia DDL pozwalają tworzyć, zmieniać i usuwać elementy struktury bazy danych, takie jak:

  • bazy danych,
  • tabele,
  • widoki,
  • indeksy.

Ważne: DDL nie zmienia danych, tylko sposób ich przechowywania.


1. CREATE – tworzenie nowych obiektów

Polecenie CREATE służy do tworzenia nowych obiektów w bazie danych: tabel, baz, indeksów czy widoków.
To jak budowanie nowych „półek” w naszej bibliotece.

Przykłady:

a) Tworzenie nowej bazy danych

CREATE DATABASE sklep;

b) Tworzenie nowej tabeli

CREATE TABLE klienci (
    id INT PRIMARY KEY,
    imie VARCHAR(50),
    nazwisko VARCHAR(50),
    wiek INT,
    miasto VARCHAR(100)
);

c) Tworzenie indeksu na kolumnie (przyspiesza wyszukiwanie)

CREATE INDEX idx_nazwisko ON klienci(nazwisko);

d) Tworzenie widoku (wirtualnej tabeli z wynikami zapytania)

CREATE VIEW aktywni_klienci AS
SELECT imie, nazwisko, miasto
FROM klienci
WHERE wiek > 18;

2. ALTER – modyfikowanie istniejących obiektów

Polecenie ALTER pozwala zmieniać strukturę istniejących tabel, bez ich usuwania.
To jak dobudowanie dodatkowej półki lub zmiana etykiety w bibliotece.

Przykłady:

a) Dodanie nowej kolumny

ALTER TABLE klienci ADD email VARCHAR(100);

b) Zmiana typu danych w kolumnie

ALTER TABLE klienci MODIFY wiek TINYINT;

c) Usunięcie kolumny

ALTER TABLE klienci DROP COLUMN miasto;

d) Zmiana nazwy tabeli

ALTER TABLE klienci RENAME TO nowi_klienci;

3. DROP – usuwanie obiektów z bazy danych

Polecenie DROP usuwa cały obiekt z bazy danych – bezpowrotnie.
To jak wyrzucenie całej półki razem z książkami.
Dlatego należy używać go z dużą ostrożnością.

Przykłady:

a) Usunięcie tabeli

DROP TABLE klienci;

b) Usunięcie bazy danych

DROP DATABASE sklep;

c) Usunięcie widoku

DROP VIEW aktywni_klienci;

d) Usunięcie indeksu

DROP INDEX idx_nazwisko ON klienci;

4. TRUNCATE – czyszczenie tabeli z danych

Polecenie TRUNCATE usuwa wszystkie rekordy z tabeli, ale zostawia jej strukturę.
Można to porównać do opróżnienia półki z książek – sama półka zostaje.

Przykład:

TRUNCATE TABLE klienci;

Po wykonaniu tego polecenia tabela klienci będzie pusta, ale nadal będzie istnieć w bazie danych.


Podsumowanie

PolecenieDziałaniePrzykład zastosowania
CREATEtworzy nowe obiektynowa baza, tabela, indeks, widok
ALTERmodyfikuje istniejące obiektydodanie lub zmiana kolumny
DROPusuwa obiekty z bazyusunięcie tabeli lub widoku
TRUNCATEusuwa dane, ale nie strukturęczyszczenie tabeli z rekordów

Polecenia DDL są fundamentem projektowania bazy danych. Dzięki nim możesz zbudować szkielet systemu, zanim zaczniesz wprowadzać dane.


Ćwiczenia praktyczne

Zadanie 1 – Utwórz prostą bazę danych
W terminalu MySQL (XAMPP) wykonaj kolejno:

  1. Utwórz bazę danych o nazwie firma.
  2. Wybierz ją poleceniem USE firma;
  3. Utwórz tabelę pracownicy z kolumnami:
    • id (INT, klucz główny)
    • imie (VARCHAR(50))
    • nazwisko (VARCHAR(50))
    • stanowisko (VARCHAR(100))

Zadanie 2 – Zmodyfikuj strukturę tabeli

  1. Dodaj kolumnę email do tabeli pracownicy.
  2. Zmień typ danych kolumny stanowisko na VARCHAR(80).
  3. Usuń kolumnę email.
  4. Zmień nazwę tabeli na personel.

Zadanie 3 – Uważaj na DROP i TRUNCATE

  1. Utwórz tabelę test z jedną kolumną nazwa.
  2. Wstaw do niej kilka rekordów (np. INSERT).
  3. Wykonaj TRUNCATE TABLE test; i sprawdź, co się stało.
  4. Następnie wykonaj DROP TABLE test; i spróbuj ponownie ją wyświetlić (SHOW TABLES;).
    – Jaka jest różnica?