1. Kısıtlar: Veritabanı üzerinde iş kurallarını zorunlu kılmak ve tablolar arasında ilişki kurarak veri bütünlüğünü sağlamak amacıyla oluşturulur. ( Postgresql kısıtlamaları; check, not null, unique, primary keys ) Diğer VTYS sistemlerinde de benzer kısıtlar vardır.
1.1 SQL Primary key: Tablolarda arama yapmamızı kolaylaştırır.Tekrarlanamaz.Aynı
primary keyi tekrar kullanmamızı engeller.
1.2 SQL Foreign key: Aynı tabloda iki sütun arasında bir ilişki veya farklı
tablolar arasında ilişki kurar. Bir veya daha fazla sütun Yabancı anahtar
olarak tanımlanabilir.
1.3 SQL Not Null Constraint: Girilen Degerin Boş olmamasını sağlar.Kullanıcı boş
bırakamaz..
1.4 SQL Unique Key: Bu sınırlama her satır veya sütun ayrı bir değere sahip
olmasını sağlar. Sütun (lar) değerleri çoğaltılamaz . Ancak boş değer ama
olabilir.(primary keyden farkı budur)
1.5 SQL Check Constraint : Bu kısıtlama bir kolon üzerinde bir iş kuralı tanımlar. Tüm
satırlar bu kural yerine getirmek zorundadırlar. Kısıtı tek bir sütun veya
sütun grubu için uygulanabilir.
2.View Kullanımı:View’ lar hazırlanmış sql cümleleri olarak bilinir. Sadece
çağırıldıklarında veri kümesini üretirler. Veritabanı programcılığında
önemlidir. Sql komutlarından view oluşturma ve faydaları:
2.1. Veri güvenliği: Veri tabanı içinde bulunan tablolardaki bazı
sütunlarda bulunan bilgilerin, herkes tarafından görülmesi istenmeyebilir.Örneğin, personelin maaşlarının
herkes tarafından listelenebilir olması mahsurlu olabilir. Bu durumda, Personel
adlı temel (base) tablodan, persview adlı bir view oluşturulabilir.Bir temel tablodan bir view oluşturulurken, temel tablodaki aynı sütun
(alan) isimlerini kullanmak zorunda değildir.
2.2. Sorgulamanın
daha basit hale gelmesi: Karmaşık sorgulamalarda, bazı
SELECT komutlarının sonuçları diğer SELECT komutlarınca kullanıldığında,
sorgulamanın düzenlenmesinde yanlışlıklar yapma olasılığı artar. Karmaşık sorgulamalar, VIEW özelliği
kullanılarak daha basit hale getirilebilir. Burada temel fikir şudur: Madem ki
bir view, bir sorgulama sonucu elde edilen bilgiyi (tabloyu) isimlendirerek
elde edilen bir virtüel tablodur; o halde karmaşık SELECT komutu içinde, sonucu
kullanılacak başka bir SELECT komutu kullanmak yerine, bu sonucu bir view
olarak isimlendirerek, view adını kullanmak. Bazı durumlarda ise, işletmenin
veri tabanı uygulamasında çok sık olarak sorulan karmaşık soruları bir view
yapısı içinde saklayarak, daha sonra aynı tip sorgulamalar için bu view
yapısını kullanarak daha basit ifadeler kullanmakta olasıdır.
2.3.Sadece view kullanılarak gerçekleşebilen sorgulamalar: Bir tablodan elde edilecek
bilgiler için, iki kademeli işlem gerektiren sorgulamalarda, ilk adımda bir
view oluşturup ikinci adımda esas sorgulamayı bu view yardımı ile
gerçekleştirmek, çoğu kez kaçınılmaz bir durumdur.
Aşağıdaki
soru ve bunun çözümü olan SQL ifadeleri bu konuda bir fikir verecektir:
Örnek: Her
bölümde, o bölümdeki ortalama maaştan daha yüksek maaş alanları listeleyiniz.
Bu sorunun cevaplandırılması için önce her bölümdeki ortalama maaşların
bulunması gereklidir.
CREATE VIEW BOL_OR_VIEW(bol_no,ort,maas)
AS SELECT bol_no,AVG(maas)
FROM Personel
GROUP BY bol_no;
Daha sonra, yaratılan BOL_OR_VIEW yardımı ile (bu view,
bölüm no’ları ve bölüm ortalama maaşlarını saklamaktadır) sorulan sorunun
cevabı elde edilebilir:
SELECT *
FROM Personel
WHERE bol_no=BOL_OR_VIEW.bol_no
. AND.maas>ort_maas;
3. Indexler:
3.1 Index Yaratma:SQL’de bir tablo ile ilşkili
olarak index yaratmak için gerekli komut CREATE INDEX komutudur. Komutun
yazılış biçimi aşağıdaki gibidir:
CREATE INDEX
index adı
ON tabloadı
(kolonadı 1,kolonadı 2,....,kolonadı n );
3.2 Tek bir alana göre
artan sırada indexleme:İşletmede çalışan personeli maaşlarına göre artan sırada
listelemek istersek, maas alanına göre bir index oluşturmalıyız.
CREATE INDEX pers_maas
ON Personel
(maas);
3.3 VeriTabanından Index
Kaldırmak: Drop index index_name
Hiç yorum yok:
Yorum Gönder