Kluczowa różnica: DDL, co oznacza język definicji danych, służy głównie do definiowania schematu w bazie danych. Określa również relację między wpisami w bazie danych. DML, który oznacza język manipulacji danymi, jest także językiem bazy danych. Niemniej jednak, w przeciwieństwie do DDL, DML można wykorzystywać do wstawiania, usuwania, odnawiania i modyfikowania danych, a nie tylko ich określania.
DDL, co oznacza Data Definition Language, służy głównie do definiowania schematu w bazie danych. Określa również relację między wpisami w bazie danych. DDL można również użyć do zdefiniowania pewnych ograniczeń bezpieczeństwa. Jak wcześniej wspomniano, DDL wykorzystuje przede wszystkim polecenia SQL, które są używane do tworzenia, modyfikowania i niszczenia obiektów bazy danych.
Po wykonaniu polecenia DDL powstają nowe tabele, które są przechowywane w "katalogu systemowym". Ten katalog jest również nazywany słownikiem danych lub katalogiem danych. Jednak zmiany mogą jedynie definiować dane w katalogu i ich wzajemne relacje. Natomiast DML może służyć do modyfikacji samych danych.
DML, który oznacza język manipulacji danymi, jest także językiem bazy danych. Podobnie jak DDL, główną rolę odgrywa zarządzanie bazami danych. Niemniej jednak, w przeciwieństwie do DDL, DML można wykorzystywać do wstawiania, usuwania, odnawiania i modyfikowania danych, a nie tylko ich określania.
DML jest również często używany do pobierania danych. Można go podzielić na dwa segmenty, bazując na jego konstrukcjach wyszukiwania: proceduralnym DML i nietechnicznym DML. Proceduralny DML określa, jakie dane mają zostać pobrane i w jaki sposób należy pobrać wymagane dane. DML niezwiązany z procedurami określa, jakie dane należy pobrać, ale nie w jaki sposób należy pobrać wymagane dane.
Porównanie między DDL i DML w formie tabelarycznej:
DDL | DML | |
Pełna forma | Język definicji danych | Język manipulacji danymi |
Typ | Język bazy danych | Język bazy danych |
Podzbiór | Structured Query Language (SQL) | Structured Query Language (SQL) |
Używa | Służy do definiowania struktur danych, w szczególności schematów bazy danych | Służy do manipulacji danymi struktur danych |
Rodzaje | ||
Związany z | Definiowanie danych | Wstawianie, usuwanie, odnawianie i modyfikowanie danych |
Polecenia | CREATE - do tworzenia obiektów w bazie danych ALTER - zmienia strukturę bazy danych DROP - usuwanie obiektów z bazy danych TRUNCATE - usuwa wszystkie rekordy z tabeli, w tym wszystkie przestrzenie przydzielone dla rekordów są usuwane KOMENTARZ - dodaj komentarze do słownika danych RENAME - zmień nazwę obiektu | SELECT - pobieranie danych z bazy danych INSERT - wstaw dane do tabeli UPDATE - aktualizuje istniejące dane w tabeli DELETE - usuwa wszystkie rekordy z tabeli, pozostało miejsce na rekordy Operacja MERGE - UPSERT (wstaw lub zaktualizuj) CALL - wywołanie podprogramu PL / SQL lub Java EXPLAIN PLAN - wyjaśnij ścieżkę dostępu do danych LOCK TABLE - kontrola współbieżności |
Zdjęcie dzięki uprzejmości: sqa.org.uk, sqlinstructor.com