Temel Fark: Veri Tanımlama Dili anlamına gelen DDL, temel olarak bir veritabanındaki şema tanımlamak için kullanılır. Ayrıca, veritabanındaki girişler arasındaki ilişkiyi de tanımlar. Veri İşleme Dili anlamına gelen DML, aynı zamanda bir Veritabanı Dilidir. Bununla birlikte, DDL'den farklı olarak, DML, verileri belirtmek yerine eklemek, silmek, yeniden canlandırmak ve değiştirmek için kullanılabilir.
Veri Tanımlama Dili anlamına gelen DDL, temel olarak bir veritabanındaki şemayı tanımlamak için kullanılır. Ayrıca, veritabanındaki girişler arasındaki ilişkiyi de tanımlar. DDL ayrıca belirli güvenlik kısıtlamalarını tanımlamak için de kullanılabilir. Daha önce belirtildiği gibi DDL, öncelikle veritabanı nesnelerini oluşturmak, değiştirmek ve yok etmek için kullanılan SQL komutlarını kullanır.
Gerçekleştirildiğinde, DDL komutları "sistem kataloğu" nda depolanan yeni tablolarla sonuçlanır. Bu katalog aynı zamanda bir veri sözlüğü veya veri dizini olarak da adlandırılır. Ancak, değişiklikler yalnızca dizin içindeki verileri ve bunların birbirleriyle ilişkilerini tanımlayabilir. Oysa DML, verilerin kendisini değiştirmek için kullanılabilir.
Veri İşleme Dili anlamına gelen DML, aynı zamanda bir Veritabanı Dilidir. DDL gibi, esas olarak rolü veritabanı yönetimi içindedir. Bununla birlikte, DDL'den farklı olarak, DML, verileri belirtmek yerine eklemek, silmek, yeniden canlandırmak ve değiştirmek için kullanılabilir.
DML aynı zamanda verilerin alınmasında da kullanılır. Alım yapılarına göre iki bölüme ayrılabilir: Prosedürel DML ve Prosedürel Olmayan DML. Prosedürel DML, hangi verilerin alınması gerektiğini ve gerekli verilerin nasıl alınması gerektiğini belirtir. Prosedürel olmayan DML, hangi verilerin alınması gerektiğini ancak gerekli verilerin nasıl alınması gerektiğini belirtmez.
Tablo Şeklinde DDL ve DML'nin Karşılaştırması:
DDL | DML | |
Tam form | Veri Tanımlama Dili | Veri işleme dili |
Bir çeşit | Veri Tabanı Dili | Veri Tabanı Dili |
Alt kümesi | Yapılandırılmış Sorgu Dili (SQL) | Yapılandırılmış Sorgu Dili (SQL) |
Kullanımları | Veri yapılarını, özellikle de veritabanı şemalarını tanımlamak için kullanılır | Veri yapılarının veri manipülasyonu için kullanılır |
Türleri | ||
İle ilgili | Veri tanımlama | Veri ekleme, silme, yeniden canlandırma ve değiştirme |
Komutları | CREATE - veritabanında nesneler oluşturmak için ALTER - veritabanının yapısını değiştirir DROP - veritabanından nesneleri silmek TRUNCATE - kayıtlar için ayrılan tüm alanlar da dahil olmak üzere tüm kayıtları bir tablodan kaldır YORUM - veri sözlüğüne yorumlar ekleyin RENAME - bir nesneyi yeniden adlandır | SELECT - veritabanından veri al INSERT - bir tabloya veri ekle GÜNCELLEME - bir tablodaki mevcut verileri günceller SİL - bir tablodaki tüm kayıtları siler, kayıtlar için alan kalır MERGE - UPSERT işlemi (ekleme veya güncelleme) ARAMA - PL / SQL veya Java alt programını arayın EXPLAIN PLAN - verilere erişim yolunu açıklar LOCK TABLE - kontrol eşzamanlılığı |
Resim Nezaket: sqa.org.uk, sqlinstructor.com