Editör'den
 Bilişim Harcamaları
 Hangi Linux?
 Sanal Yerel Ağları
 Serbest Yazılım - II
 Veritabanı Bileşenleri
 Windows Güvenliği - I
 CISN Arşiv
 Anket
 Geribildirim


Computing & Information Services Newsletter
Veritabanı Bileşenlerinin İsimlendirilmesi
     
 

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
12345

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

 
     
  - BAŞA DÖN -  
© 2002 METU CC
Design: CC - INFO