DDL / DML / DCL
DDL / DML / DCL
DDL (Data Definition Language)
Veritabanı nesnelerini oluşturma ve değiştirme işlemleri için kullanılır.
CREATE: Yeni bir tablo, veritabanı, index, view, stored procedure, trigger oluşturur.
ALTER: Var olan tabloyu değiştirmek için kullanılır (sütun ekleme, değiştirme vb).
DROP: Tabloyu veya başka bir veritabanı nesnesini siler.
TRUNCATE: Tablonun içindeki bütün verileri siler.
CREATE KULLANIMI
Veritabanı Oluşturma
CREATE DATABASE MüzikŞirketi;
Tablo Oluşturma
CREATE TABLE muzisyenler(
muzisyen_ID int IDENTITY(1,1) PRIMARY KEY,
muzisyen_ad nvarchar(15) NOT NULL,
muzisyen_soyad varchar(20),
muzisyen_favori varchar(20),
muzisyen_yas int UNIQUE,
CHECK(muzisyen_yas>=24),
muzisyen_menajerID int FOREIGN KEY REFERENCES menajerler(menajer_ID));
CREATE TABLE menajerler(
menajer_ID int primary key,
menajer_ad varchar(15),
menajer_soyad varchar(20));
Constraints
Veritabanlarında constraint (kısıtlama), tabloların veri bütünlüğünü ve doğruluğunu sağlamak için kullanılan kurallardır.
Kısaca, veritabanına girilen verilerin belli kurallara uymasını zorunlu kılarlar. Başlıca kısaltmalar şunlardır;
NOT NULL= Boş bırakılamaz.
UNIQUE = Eşsiz bir değer eklenmesini sağlar.
PRIMARY KEY = Hem eşsiz hem boş bırakılamaz.
CHECK = Belirlenen bir şarta göre eklenmesini sağlar.
REFERENCES = PK - FK ilişkisini sağlar.
ALTER KULLANIMI
ALTER TABLE menajerler ADD menajer_yas int;
ALTER TABLE menajerler DROP COLUMN menajer_yas;
ALTER TABLE menajerler ALTER COLUMN menajer_ad varchar(20);
DROP ve TRUNCATE KULLANIMI
DROP: Tabloyu tamamen siler. TRUNCATE: Tablonun içindeki verilerin tamamını siler.
DROP TABLE muzisyenler;
TRUNCATE TABLE menajerler;
DML (Data Manipulation Language)
Veriler üzerinde işlem yapmak için kullanılır.
SELECT: Veritabanından veri çekmek için kullanılır.
INSERT: Yeni veri eklemek için kullanılır.
UPDATE: Var olan veriyi güncellemek için kullanılır.
DELETE: Veri silmek için kullanılır.
INSERT INTO menajerler VALUES (3,'Fatih','Terim');
UPDATE menajerler SET menajer_ID='5' WHERE menajer_ID='3';
DELETE FROM menajerler WHERE menajer_ID='5';
DCL (Data Control Language)
Kullanıcı veritabanı erişim izinlerini yönetmek için kullanılır.
GRANT: Kullanıcıya yetki vermek için kullanılır.
REVOKE: Verilen yetkileri geri almak için kullanılır.
SELECT USER_NAME()
CREATE LOGIN sefacelik WITH PASSWORD ='123';
CREATE USER sefacelik FOR LOGIN sefacelik;
GRANT SELECT ON menajerler TO sefacelik;
REVOKE SELECT ON menajerler TO sefacelik;
EXECUTE AS USER = 'sefacelik';
SELECT * FROM menajerler
REVERT;