Archive

Archive for February, 2010

Veritabanı Normalizasyon Kuralları

28 February 2010 Leave a comment

Veritabanı normalizasyonu, ilişkisel veritabanı sistemlerinde tablolara karar verme kurallarıdır. Sağlıklı bir veritabanı uygulaması için bu kurallara uyma zorunluluğu uygulamanın kapsam ve önemiyle doğru orantılıdır.

İlişkisel bir veritabanı sistemi Veritabanı Tasarımı makalemizde ifade edildiği gibi veri bütünlüğünün sağlanması, bilgi tekrarının önlenmesi, verilerin doğru ve etkin bir biçimde kullanılması sağlamaktadır. Veritabanı sistemlerinde veriler tablolarda tutulmaktadır. Normalizasyon kuralları da bu tablolarda tutulacak verilerin nelerden oluşacağına karar verme kuralları olduğuna göre ilişkisel veritabanı tasarımı aşamasında gerekli bir işlemdir. Genel kabul görmüş 5 normalizasyon kuralı vardır.

 

1. Normalizasyon Kuralı:

Bir satırdaki bir alan yalnızca bir tek bilgi içerebilir. Örneğin dersler tablosunda, ders tipi için zorunlu, seçmeli diye alanlar açsaydık, bu kurala uymamış olurduk. Böyle bir durumda, ayrıca ders tipleri tablosu oluşturularak bu kural çiğnenmemiş olur.

İpucu: Verileri virgül veya bir başka karakter ile ayırıp aynı alanda tutmak ve daha sonra program içerisinde split ile bu değerleri ayırmak ilişkisel veritabanının doğasına aykırıdır.

 

2. Normalizasyon Kuralı:

Bir tablo için, anahtar alan dışındaki her alan, birincil anahtar olarak tanımlı tüm alan veya alanlara bağlı olmak zorundadır.

Örneğin, Staj tablosunda OGRENC_ADI diye bir alan eklese idik, bu sadece STAJ ile ilgili bir bilgi olacaktı ve OGRENCI_NO’ya bağlı bir özellik olmayacaktı. Bunu çözmek için, öğrenci bilgilerini ayrı bir tabloda tutmak gerekir.

Eğer anahtar alan birden fazla alandan oluşuyorsa, anahtar alanlardan sadece birine bağlı veriler, tabloda yer almamalı, bu veriler ayrı bir tabloda tutulmalıdır.

Bunun tersi de geçerlidir. Yani iki ya da daha fazla tablonun birincil anahtarı aynı olmamalı. Eğer böyle ise, bu iki tablo tek tabloya indirilmelidir.

 

3. Normalizasyon Kuralı:

Bir tablo için, anahtarı olmayan bir alan, anahtarı olmayan başka hiç bir alana bağlı olamaz.

Örneğin, dersler için ders tipi adında bir alan ekleyip burada da zorunlu ders için Z, seçmeli dersler için S, zorunlu seçmeli dersler için ZS yazılsaydı, bu kodlama, dersler tablosunun birincil anahtarı olan DERS_KODU alanına bağlı bir kodlama olmayacaktı. Çünkü bu kodlama bir başka anahtarı olmayan alana bağlıdır. Bunun sonucunda da veritabanında, karşılığı olmayan bir kodlama yer almış olacaktı. Ders tipi bilgisini kodlu olarak tutan alan aslında ders tipi açıklaması olan başka bir alana bağlıdır. Bu ilişki başka bir tabloda tutulmalıdır.

 

Bu durumda, ders tipleri adında bir tablo gereklidir. Bu tablonun alanları da DERS_TIPI_KODU ve DERS_TIPI_ADI olmalıdır. Ancak bundan sonra, dersler tablosunda DERS_TIPI_KODU adında bir sütun açıldıktan sonra buraya da ders tipleri tablosunda tanımlanan ders tipi kodları yazılabilir.

 

4. Normalizasyon Kuralı:

Birincil anahtar olan alanlar ile anahtarı olmayan alanlar arasında, birden fazla bağımsız bire çok (1-N) ilişkisine izin verilmez.

4.Normal formu sağlamak için, her bağımsız bire çok (1-N) ilişki için ayrı bir tablo oluşturmak gerekir.

 

5. Normalizasyon Kuralı:

Veri tekrarlarını önlemek için her bir tabloyu mümkün olduğunca küçük parçalara bölmek gerekir. Aslında ilk 4 kural sonuçta bu işe yarar ancak, bu kurallar kapsamında olmayan tekrarlamalar da 5. normalizasyon kuralı ile giderilir.

Örneğin, öğrencinin uyruğu ile ilgili verinin girileceği bir sütun olsun: Bu bölüme girilecek bilgiler bellidir: T.C., Almanya, Fransa,.. gibi.

 

Bu bilgiler başka bir tabloda tutabilir. Böylelikle, kullanıcıların bu alan gelişi güzel bilgiler girmesi engellemiş olur. Bu da sorgulama esnasında veriler arasında bir tutarlılık sağlar. Bu işlem sonucunda, tutarsızlıklara neden olabilecek ve sık tekrarlayan veriler başka bir tabloya taşınmış olacaktır.

 

Veritabanı normalizasyon kuralları, bir ilişkisel veritabanının tasarlanma aşamalarını değil de ilişkisel veritabanında yer alacak kayıtların ilişkisel veritabanı ile uyumlu olup olmadığını denetlemeye yönelik olduğundan hareketle sonuç olarak ilişkisel bir veritabanı tasarımı;

- Yer kullanımı çok iyi olmalı dolayısıyla boş yer mümkün olduğunca az olmalıdır.

- Veri bütünlüğü sağlanmalı ve veri tekrarı yapılmamalıdır.

- Veriler, kendi aralarında bir ilişki tanımlanmaya uygun olmalıdır.

 

Yazan : Yaşar Gözüdeli – SQL Server 2005 ve Veritabanı Programlama

MSSQL Server Instance Ayarı

28 February 2010 1 comment

instance

Karşımıza Instance Configuration ekranı gelecektir. Bu ekranda SQL Server adı yani Instance Name, Instance ID ve kurulan Instance’a ait veri ve log dosyalarının kaydedilecegi Root dizininin yeri belirlenir.  Şekilde de görüldüğü gibi bilgisayarınıza ilk SQL Server kurulumunda otomatik olarak Default seçeneği aktif olarak gelir. Bu seçeği kullanarak SQL Server kurulumu yaptığınız zaman kullanılan Instance adı MSSQLServer içindir. (Eğer SQL Server Express Edition kuruyorsanız, Default Instance adı SQLExpress olacaktır.) Ve SQL Server bağlantı adınız bilgisayar adınız ile aynı olacaktır.

NOT:Bilgisayar adınızı grafiksel ekrandan öğrenmek için masaüstünüzdeki My Computer (Bilgisayarım) nesnesi üzerinde sağ tuşa basarak Properties (Özellikler) ekranından Computer Name (Bilgisayar Adı) görebilirsiniz.

Ayrıca komut satırından ipconfig /all komutu ile ya da hostname komutları ile de bunu öğrenebilirsiniz.

Eğer SQL Server bilgisayarına farklı bir isim tanımlamak istiyorsanız alt bölümdeki Named Instance seçeneği aktif hale gelecektir. Buraya SQL Server için bir isim tanımlaması yapabilirsiniz ki biz bu isme Instance Name adını veriyoruz. Buraya yazılan isim maksimum 16 karakteri geçemez. Örneğin buraya <I>MYDB</I> adını verdiğinizde bilgisayarınızın SQL Server adı <I>BilgisayarAdiniz\MYDB</I> şeklinde olacaktır. Genelleyecek olursak SQL Server için burada bir tanımlama yaptığınızda uygulamalarınız içerisinden SQL Server’a Computer Name\Instance Name (Bilgisayar Adı\SQLInstanceAdı) formatında erişebileceksiniz.

SQL Server 2008 Enterprise 50 farklı Instance desteğine sahiptir. Bilgisayarınıza Default seçeneği seçili iken SQL Server kurulumu yaparsanız Instance ID olarak da MSSQLServer varsayılan olarak gelir. Buradaki Instance ID kurulan SQL Instance’a ait servis ve klasörlere verilecek ismi temsil eder. İsterseniz MSSQLServer yerine farklı bir isimde Instance ID verebilirsiniz. Instance adı bir harf ile başlamalıdır. Bir bilgisayara birden fazla SQL Server kurmak mümkündür. Bunu da  farklı SQL Server İsimleri (Instance Name) vererek gerçekleştirebilirsiniz. Dolayısıyla Instance Name seçeneğinin kullanılma amacı da budur. Bu şekilde aynı bilgisayara birbirinden ayrı olarak çalışan maksimum 50 farklı SQL Server Enterprise/Standart kurulumu yapabilirsiniz. Alt kısımdaki Installed Instances kısmından bilgisayarınızda yüklü olan SQL Instance’ların listesini göreceksiniz.

alıntı: http://www.cozumpark.com/

Veritabanı dersi 2.dönem modülleri

24 February 2010 Leave a comment
 

Modül Kodu Modül Adı Modül Durumu Güncellenme Tarihi
481BB0042 Ağ Veri Tabanı Kurulumu Hazır / İndir 06.10.2009
481BB0043 Ağ Veri Tabanı Planlama Hazır / İndir 06.10.2009
481BB0044 T-SQL Hazır / İndir 06.10.2009
481BB0045 Veri Bütünlüğü Hazır / İndir 06.10.2009
481BB0047 Veri Tabanı Yardımcı İşlemleri Hazır / İndir 06.10.2009
481BB0046 Veri Tabanı Yönetimi Hazır / İndir 06.10.2009

 

Follow

Get every new post delivered to your Inbox.