SQL Türleri
SQL'nin çeşitli türleri ve alt kategorileri vardır. Farklı amaçlar için kullanılır ve veritabanı yönetiminde farklı roller üstlenir. Bazı SQL türleri şunlardır:
1. DDL (Data Definition Language) Veri Tanımlama Dili
Verilerin tutulduğu nesneler olan tabloların yaratılmasını, silinmesini ve bazı temel özelliklerinin düzenlenmesini sağlar. En yaygın kullanılan DDL komutları şunlardır:
- CREATE TABLE: Veritabanı üzerinde bir tablo yaratmak için kullanılır.
- ALTER TABLE: Tabloda değişiklik yapmak, yeni bir sütun eklemek, sütunun tipini veya uzunluğunu değiştirmek gibi yapısal değişiklikler yapılması için kullanılır.
- DROP TABLE: Tabloyu fiziksel olarak siler. (verilerle birlikte)
- TRUNCATE TABLE: Tablodaki verileri siler fakat tablo yapısı kalır.
- CREATE INDEX: Index oluşturmak için, tablonun sütun adı üzerinde indeks oluşturur.
- CREATE VIEW: Görüntü oluşturmak için kullanılır.
- DROP VIEW: Görüntüyü siler.
2. DML (Data Manipulation Language) Veri İşleme Dili
Veri girmek, değiştirmek, silmek ve verileri almak için kullanılan DML komutlarının tümü olarak tanımlanır. Kısaca veritabanında bilgi üzerinde çalışmayı sağlar. Bilgiyi çağırma, bilgiye yeni bir şeyler ekleme, bilgiden bir şeyler silme, bilgiyi güncelleştirme işlemlerini yapar. Temel dört komutu vardır:
- SELECT: Veritabanındaki nesneden alan çağırmayı ve gereken bilgiyi görebilmeyi sağlar.
- UPDATE: Nesnede bilgi güncellemeyi sağlar.
- INSERT: Nesneye alan eklemeyi sağlar.
- DELETE: Nesneden alan silmeyi sağlar.
3. DCL (Data Control Language) Veri Kontrol Dili
Veri Kontrol Dili bir veritabanı kullanıcısı veya rolü ile ilgili izinlerin düzenlenmesini sağlar. DCL komutlarını kullanabilmek için SQL Server'da varsayılan değer (default) olarak yetki sahibi olan gruplar: sysadmin , dbcreator , db_owner , db_securityadmin 'dir. Sunucuya dışarıdan bir erişim sağlamak için bir giriş (login) oluşturulmalıdır. Temel DCL komutları şunlardır:
- GRANT: Veritabanı kullanıcısına, veri tabanı rolüne veya uygulama rolüne izinler vermek için kullanılan komuttur.
- DENY: Kullanıcıların haklarını kısıtlayan komuttur.
- REVOKE: Daha önce yapılan tüm kısıtlama ve izinleri iptal eden komuttur. Bir nesneyi oluşturan kullanıcının REVOKE ile nesne üzerindeki yetkilendirme ve kullanma hakkı yok edilemez. REVOKE komutunu, sys_admin rolüne veya db_owner, db_securityadmin sabit veri tabanı rollerine sahip kullanıcılar ve nesne için dbo olan kullanıcı çalıştırabilir.
4. TCL (Transaction Control Language) İşlem Kontrol Dili
Bir veritabanı yönetim sisteminde işlemlerin yönetimi ve kontrolü için kullanılan bir SQL komutları grubudur. TCL komutları, veritabanı işlemlerinin ACID (Atomicity, Consistency, Isolation, Durability) özelliklerini sağlamak için kullanılır. TCL, bir SQL sorgusunun sonunda yer alır ve işlemleri doğrulamak, geri almak veya işlemi kalıcı hale getirmek için kullanılır. İşlemlerin doğrulanması, bir işlemin tamamlanmadan önce başka bir işlem tarafından etkilenmesini önleyen "Isolation" özelliğini sağlar. İşlemin geri alınması, bir hata oluştuğunda işlemi geri alarak "Atomicity" özelliğini sağlar. İşlemin kalıcı hale getirilmesi, veritabanındaki değişikliklerin "Durability" özelliğini sağlar. TCL'nin en sık kullanılan komutları şunlardır:
- COMMIT: Bir işlemi kalıcı hale getirir.
- ROLLBACK: Bir işlemi geri alır.
- SAVEPOINT: Bir işlemin bölünmesine olanak tanır ve daha sonra geri alınabilir.
- SET TRANSACTION: Bir işlemi başlatır ve işlemin özelliklerini belirler.
TCL, veritabanı işlemlerinin doğruluğunu ve güvenilirliğini sağlamak için önemlidir ve birçok veritabanı yönetim sistemi tarafından desteklenir.
5. DQL (Data Query Language) Veri Sorgulama Dili
Bir veritabanı yönetim sistemi üzerindeki verileri sorgulamak ve almak için kullanılan bir SQL komutları grubudur. DQL, SQL'in temel bileşenlerinden biridir ve birçok veritabanı yönetim sistemi tarafından desteklenir. DQL, veritabanındaki verileri sorgulamak için kullanılan bir dizi komut içerir. Bu komutlar, bir veya daha fazla tablodan veri seçmek, verileri filtrelemek, sıralamak, gruplamak, birleştirmek ve istatistiklerini hesaplamak gibi işlemleri gerçekleştirmek için kullanılabilir. DQL'nin en sık kullanılan komutları şunlardır:
- SELECT: Veritabanındaki bir veya daha fazla tablodan veri seçmek için kullanılır. Bu komut, WHERE, ORDER BY ve GROUP BY gibi diğer komutlarla birlikte kullanılarak verilerin filtrelenmesini, sıralanmasını ve gruplandırılmasını sağlar.
- JOIN: İki veya daha fazla tablodan veri birleştirmek için kullanılır.
- WHERE: Verilerin belirli bir koşula göre filtrelenmesini sağlar.
- ORDER BY: Verilerin belirli bir sıraya göre sıralanmasını sağlar.
- GROUP BY: Verilerin belirli bir sütuna göre gruplanmasını sağlar.
- HAVING: GROUP BY komutu ile birlikte kullanılarak, belirli bir koşulu sağlayan grupların seçilmesini sağlar.
DQL, bir veritabanı yönetim sistemi için temel bir bileşen olduğundan, verilerin sorgulanması ve alınması için yaygın bir şekilde kullanılır.