En Taze Makaleler

Monthly Archives: Mayıs 2014

Veri Kontrol Dili (DCL)

DCL, bir veri tabanı ile ilişkili kullanıcıları ve rollerin izinlerini değiştirmek için kullanılır. Diğer bir deyişle verilere erişim yetkilerini düzenlemede kullanılır. Bazı temel DCL komutları aşağıdaki şekildedir:

Temel DCL Komutları
GRANT: Bir kullanıcının verileri kullanmasına ve T-SQL komutlarını çalıştırmasına izin verir.
DENY:  Bir kullanıcının verileri kullanmasını kısıtlar.
REVOKE: Daha önce yapılan tüm kısıtlama ve izinleri iptal eder. 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.
Bunun için;
CREATE LOGIN handan WITH PASSWORD =’123456’
Bu rol ile veri tabanına bir kullanıcı olarak erişim için aşağıdaki satırlar yazılmalıdır:
CREATE USER Herdag
FOR LOGIN handan
Eğer User adı ile Login adı aynı ise FOR LOGIN satırına gerek kalmaz.
Veri tabanında uygulama rolü oluşturulması için de aşağıdaki satırlar kullanılabilir:
CREATE APPLICATION ROLE Lab1
WITH PASSWORD = ‘sifre’,
DEFAULT_SCHEMA=Lab1;

GRANT Komutu

Veri tabanı kullanıcısına, veri tabanı rolüne veya uygulama rolüne izinler vermek için kullanılan komuttur.

  • Genel Yazımı
  • Örnek :  
  • Örnek II:  

GRANT {ALL veya izinler}

ON {izin_verilenler}

TO {hesaplar}

ALL ifadesi, tüm hakların verilebileceğini gösterir.

handan adlı kullanıcıya tablo oluşturma izni şöyle verilebilir:

GRANT CREATE TABLE

TO handan

Aynı anda Lab1 rolüne de aynı izin verilebilir.

GRANT CREATE TABLE TO Lab1, handan

Bir kullanıcıya hem veri tabanı hem de tablo oluşturma izni şöyle verilir:

GRANT CREATE DATABASE, CREATE TABLE TO seco

DENY Komutu

Kullanıcıların haklarını kısıtlayan komuttur.

  • Genel Yazımı
  • Örnek :  
  • Örnek II:  

DENY { ALL veya izinler} TO {kullanıcılar}

DENY CREATE TABLE

TO handan

handan adlı kullanıcının tablo oluşturma yetkisi kısıtlanır.

DENY SELECT ON PERSONEL TO handan

10

PERSONEL tablosunda hadnan adlı kullanıcı SELECT komutuyla ilgili işlem

REVOKE Komutu

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.

  • Genel Yazımı
  • Örnek :  
  • Örnek II:  

REVOKE {ALL veya izinler} {TO veya FROM} {hesaplar}

REVOKE ALL TO PUBLIC

PUBLIC rolüne verilmiş olan tüm yetkiler kaldırılır.

REVOKE SELECT ON PERSONEL TO PUBLIC

PUBLIC rolüne PERSONEL tablosunda seçim için verilen izin kaldırılır.

Veri İşleme Dili (DML)

Veri tabanı içindeki veriler ile ilgili işlemler yapılmasını sağlar. Bazı temel DML komutları aşağıdaki şekildedir:

Temel DML Komutları
SELECT: Veri tabanındaki verileri seçmeyi sağlar.
INSERT: Veri tabanına yeni veriler eklemek için kullanılır.
UPDATE: Veriler üzerinde değişiklik (güncelleme) yapmak için kullanılır.
DELETE: Veri tabanından veri silmek için kullanılır.

SELECT Komutu
Verilere erişmek için en sık kullanılan komuttur. Bir tablodaki bir veya daha çok alan için SELECT komutu yazılabilir.

  • Genel Yazımı
  • Örnek I:  
  • Örnek II:  
  • Örnek III:  
  • Örnek IV:  

SELECT sütun_adi1, [sütun_adi2],…………. [*]

FROM tablo_adi

SELECT * FROM PERSONEL

Bu şekilde PERSONEL tablosundaki tüm alanlar seçilmiş olur.

SELECT PERSONEL_ID, AD

FROM PERSONEL

Bu yazım ile de PERSONEL tablosundaki PERSONEL_ID ve AD alanları seçilmiş olmaktadır.

SELECT AD+ ‘ ‘ + SOYAD

FROM PERSONEL

PERSONEL tablosunda yer alan AD ve SOYAD alanlarını tek bir sütun gibi birleştirerek göstermeyi sağlayan SELECT ifadesidir.

SELECT * FROM rehber WHERE ad=’Ali’

ifadesiyle ad alanındaki Ali ismindeki tüm kayıtların elde edilmesini sağlar.

SELECT * FROM rehber WHERE ad=’Tuncay’ ORDER BY ad ASC

Verilen koşullara göre sütundaki bilgileri artan (ASC) ya da azalan (DESC) sırada ekrana getirir. WHERE ile oluşturulan koşul ifadelerinde mantıksal operatörler de kullanılabilir (and, or,not).

INSERT Komutu

Veri tabanına yeni bir kayıt eklemek için kullanılır.

  • Genel Yazımı
  • Örnek :  

INSERT INTO tablo_adi (sütunadi1 [,sütunadi2,……..])

VALUES (deger1 [,deger2, ……..])

INSERT INTO PERSONEL (AD,SOYAD)

VALUES (‘Ceylin’,’Yılmaz’)

şeklindeki ifadeyle Personel tablosunun ad ve soyad alanlarına yeni değerler ekler.

UPDATE Komutu

Kayıtları güncellemek için kullanılır. Hangi kayıtların güncelleneceği bir koşul veya koşullarla belirtilebilir.

  • Genel Yazımı
  • Örnek :  

UPDATE tablo_adi SET alan_adi=deger WHERE şart

UPDATE PERSONEL SET AD=’Ceylin’ WHERE SOYAD=’Yılmaz’

biçimindeki bir bildirim soyadı Yılmaz olan kayıtların ad bilgisini Ceylin olarak değiştirir. Eğer birden fazla Yılmaz soyadı olsaydı hepsinin ad alanı Ceylin olarak değiştirilecekti. SET sözcüğü değiştirilecek kolonları ve değerleri belirtir. WHERE sözcüğü ise değiştirilecek satırı belirtir.

DELETE Komutu

Tablodan kayıt silmek için kullanılır.

  • Genel Yazımı
  • Örnek :  

DELETE FROM tablo_adi

WHERE şart

DELETE FROM PERSONEL

WHERE SOYAD=’Yılmaz’

ifadesiyle SOYAD değeri Yılmaz olan tüm kayıtları siler.

Veri Tanımlama Dili (DDL)

SQL Server içinde veri tabanı, tablo ve kullanıcı tanımlı veri tipleri gibi nesneler oluşturmak ve bunları yapılandırmak için DDL yani Veri Tanımlama Dili kullanılır. Bazı temel DDL komutları aşağıdaki şekildedir:

Temel DDL Komutları
CREATE: Nesne oluşturmak için kullanılır.
ALTER: Nesneler üzerinde değişiklik yapmak için kullanılır.
DROP: Nesneleri silmek için kullanılır.

CREATE (Nesne Oluşturmak)
Veri tabanındaki nesnelerin oluşturulabilmesi için CREATE komutu kullanılır. Oluşturulacak nesnenin özellikleri dikkate alınarak farklı parametreler kullanılmalıdır.

  • Genel Yazımı
  • Örnek I:  
  • Örnek II:  
  • Örnek III:  

CREATE nesne_adi

CREATE DATABASE Personel

Personel adında bir veri tabanı oluşturulur.

CREATE TABLE PERSONEL(

PERSONEL_ID int,

AD varchar(10),

SOYAD varchar(10)

)

Bu şekilde bir yazımla PERSONEL adında bir tablo oluşturulur. Tablo sütunları da PERSONEL_ID, AD, SOYAD’dır.

CREATE TABLE PERSONELYAKIN(

PERSONEL_ID int,

YAKIN_ID int,

YAKIN_AD varchar(10),

YAKIN_SOYAD varchar(10)

)

Bu örnekte de PERSONELYAKIN adında bir tablo oluşturulmuştur. Tablo sütunlarıda PERSONEL_ID, YAKIN_ID, YAKIN_AD, YAKIN_SOYAD’ dır.

ALTER (Nesnelerde Değişiklik Yapmak)
Daha önceden oluşturulmuş bir nesne özelliğinin değiştirilmesini sağlar.

  • Genel Yazımı
  • Örnek I:  
  • Örnek II:  

ALTER nesne nesne_adi değişim_cümlesi

ALTER TABLE PERSONEL

ADD BABA_AD varchar(20) NOT NULL

Bu şekildeki bir yazımla PERSONEL tablosuna BABA_AD sütunu eklenmiştir.

[NOT: NULL ile de bu sütuna veri girişi zorunlu hâle getirilmiştir.]

ALTER TABLE PERSONEL

ALTER COLUMN AD varchar(15) NOT NULL

Bu yazım ile de varolan AD sütununun alabileceği karakter sayısı 15 olarak değiştirilmiş ve veri girişi zorunlu hâle getirilmiştir.

DROP (Nesne Silmek)
Bir nesnenin silinmesini sağlayan komuttur. DROP komutu tüm nesneler için kullanılır.

  • Genel Yazımı
  • Örnek I:  

DROP nesne nesne_adi

DROP TABLE PERSONEL

Bu şekilde bir yazımla PERSONEL tablosu silinmiş olur.