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

Kopyala
CREATE DATABASE MüzikŞirketi;

Tablo Oluşturma

Kopyala
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

Kopyala
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.

Kopyala
DROP TABLE muzisyenler;    
Kopyala
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.

Kopyala
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.

Kopyala
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;