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.
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ü
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.
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.
urun_no smallint, malz_no smallint,
Index'ler de herhangi bir tabloya bağlı olarak çalışırlar, adlandırılmaları ona göre olur.
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:
"Composite index" kullanılıcaksa, yani birden fazla kolon üstünde index oluşturmak isteniyorsa şu biçimde olur:
Yazım şekli şöyledir:
tablo_adı + kolon_adı1 + kolon_adı2 + unique/non-unique + idx
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, bir tablonun her satırında bir kolonun bir kez kullanılmasını tarifler. Kullanım şekli şöyledir:
Birden fazla kolon bileşik olarak "primary key" olarak tanımlanabilir. Örneğin;
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
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;
Bir tablodaki kolon adları kullanılarak verilerin sınırları belirlenebilir, ilk giriş değeri DEFAULT olarak atanabilir. Kullanım biçimi şöyledir:
Örnek olarak, "st_urun" tablosunun "urun_no" kolonu üzerinde bir constraint olduğu şu şekilde belirtilir:
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.
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.