Veritabaný: Birbirleriyle iliþkileri olan verilerin tutulduðu, mantýksal ve fiziksel olarak tanýmlarýnýn olduðu bilgi depolarýdýr. Veritabanlarý gerçekte var olan ve birbirleriyle iliþkisi olan nesneleri ve iliþkileri modeller.
Veri Tabaný Yönetim Sistemi (VTYS): Veritabanlarýnýn kurulmasýnda, tanýmlanmasýnda ve iþletilmesinde kullanýlan yazýlýmlarýn genel adýdýr.
Bir veritabaný üzerinde birden fazla veritabaný bileþeni vardýr; bu bileþenler, saklanmak istenen ham bilginin, belli bir formatta alýnarak, veri haline gelmesi iþleminde etkin rol oynarlar.
Tables:
Verilerin mantýksal olarak saklandýðý ortamlardýr. Tablolarý adlandýrýrken tablonun içeriði ile uyumlu olmasýna dikkat etmek gerekir. Tablo adlarýnýn ve tablolarda kullanýlan kolon adlarýnýn kaç karakter uzunluðunda olduðu, üzerinde çalýþýlan veritabanýnýn tablo ve kolon özelliklerinden öðrenilmelidir.
Örnek olarak, bir kurumda satýþ ve üretim bölümünü ilgilendiren iki ayrý tabloyu örnek alalým. Tablolar þöyle olsun:
SATIÞ bölümü |
ÜRETÝM bölümü |
st_urun |
ur_malzeme |
st_musteri |
ur_malzeme_tip |
Tablolar veritabanýnda create table tablo_adý biçiminde yaratýlýrlar. Bir veritabanýnda tablolarý mantýksal olarak gruplayabilmek de olasýdýr. Örnekteki "st" satýþ bölümünü, "ur" üretim bölümünü anlatmaktadýr. Bu þekilde bir tanýmlama kullanarak mantýksal olarak bir gruplama ya da düzenleme yapýlmýþ olur.
Columns:
Kolonlar varlýklarýn özelliklerini tanýmlar. Kolonlara verilen adlar, konusuna göre anlamlý olmalýdýr. Ýlk iki ya da dört karakterlik kýsmý, ait olduðu tablonun adýnýn kýsaltmasý olmasý tercih edilir. Bunun kullanýmdaki avantajý join'li yapýlan sorgularda "ambiguous column name" hatasýna düþme olasýlýðýnýn ortadan kalkmasýdýr.
Örnek olarak;
st_urun( |
st_malzeme( |
urun_no smallint, |
malz_no smallint, |
urun_ad char(20)) |
malz_tip smallint)) |
Indexes:
Index'ler de herhangi bir tabloya baðlý olarak çalýþýrlar, adlandýrýlmalarý ona göre olur.
Örnek olarak;
st-urun(
urun_no smallint,
urun_ad char(20))
Index'ler unique ya da non-unique (duplicate) olarak yaratýlabilirler. Index yazým þekli þöyledir:
tablo_adý + kolon_adý + unique/non-unique + idx
"st_urun" tablosu "urun_no" kolonuna göre unique olarak þu þekilde index'lenir:
st_urun_urun_no_idx
"Composite index" kullanýlýcaksa, yani birden fazla kolon üstünde index oluþturmak isteniyorsa þu biçimde olur:
st_urun_urun_no + urun_ad + idx
Yazým þekli þöyledir:
tablo_adý + | kolon_adý1 + | kolon_adý2 + | unique/non-unique + | idx |
1 | 2 | 3 | 4 | 5
|
Burada 2 ve 3 nolu alanlarda kolon adlarýný görüyoruz; bu ayný zamanda, index'in "urun_no" kolonu altýnda, "urun_ad" kolonuna göre yapýlmasýný saðlar. Index yaratýlýrken adlarýnýn uzun olmasýndan kaynaklanan bir hatayla karþýlaþýlýrsa, veritabanýnýn kabul ettiði maksimum ad uzunluðuna göre, anlam bütünlüðünü bozmadan ismi kýsaltmak gerekir.
Primary Key:
Primary key, bir tablonun her satýrýnda bir kolonun bir kez kullanýlmasýný tarifler. Kullaným þekli þöyledir:
kolon_adý_pk ya da pk_kolon_adý
Birden fazla kolon bileþik olarak "primary key" olarak tanýmlanabilir. Örneðin;
urun_no_urun_ad_pk ya da pk urun_no_urun_ad
Foreign Key:
Foreign key birbirleriyle iliþkili olan tablolarýn iliþkisini kolon seviyesinde ifade eder. Kullanýmý þu þekildedir:
Referans alýnan tablonun_Kolon_adý_Referans edilen tablonun_Kolon_adý_fk ya da fk_ Referans alýnan tablonun_Kolon_adý_ Referans
edilen tablonun_Kolon_adý
Birden fazla kolon bileþik olarak foreign key olarak tanýmlanabilir. Örneðin;
urun_no_urun_ad_pk
ya da
pk urun_no_urun_ad
Check Constraint:
Bir tablodaki kolon adlarý kullanýlarak verilerin sýnýrlarý belirlenebilir, ilk giriþ deðeri DEFAULT olarak atanabilir. Kullaným biçimi þöyledir:
kolon_adý_chk ya da kolon_adý_def
Örnek olarak, "st_urun" tablosunun "urun_no" kolonu üzerinde bir constraint olduðu þu þekilde belirtilir:
st_urun_no_chk
Stored Procedures (SPL):
SPL yapýlan bir iþ sonucu uygulanan iþlemlerdir. SPL'lere verilen adlar yaptýklarý iþ ve iþlemlerle uyumlu olmalýdýr.
SPL'ler yaptýklarý iþleme göre mantýksal olarak gruplandýrýlabilirler. Örneðin, satýþ bölümündeki üretim tablosunda insert (bilgi giriþi) iþlemi yapan bir SPL'in adý sp_ur_insert _bil, delete (silme) iþlemi yapan bir SPL'in adý sp_ur_delete_bil olursa mantýksal olarak bir gruplandýrma yapýlmýþ olur.
SPL'ler veritabýnda create procedure SPL_adý ile yaratýlýp execute SPL_adý ile çalýþtýrýlýrlar.
Triggers:
Trigger'lar da SPL'lerin özel bir türüdür. Yapýlan bir iþlem sonucunda otomatik olarak arka planda yapýlmak için tetiklenen bir iþlemdir.
Triggers adlandýrmalarý SPL ile ayný özellikleri taþýr, mantýksal gruplandýrmaya dikkat edilir. Trigger'lar tablo bazýnda çalýþýrlar, dolayýsýyla hangi tablo üstünde çalýþýyorlarsa o tablonun adý ile birlikte kullanýlýrlar. Bir trigger üzerinde insert, update, delete iþlemleri olabilir; trigger adlarý, tablo adý ile birlikte yaptýklarý iþlemi de yansýtmalýdýrlar.
Örneðin; ürün tablosunda "st_ urun_ins" insert iþlemi yapan, "st_ urun_del" delete iþlemi yapan, "st_ urun_ins" ise update iþlemi yapan bir trigger olarak veritabanýnda create trigger trigger_adý þeklinde yaratýlýrlar.
Bahar Þengün
|