SQL Server – Şirket Veritabanı Örneği

SQL Server’da gerçekleştireceğimiz uygulamalarda kullanmak için normalizasyon kurallarına uygun şirket veritabanı içerisinde aşağıdaki tablolar tasarlanmıştır. Her tablonun veri girişleri hemen sonrasında yapılmıştır.

Şirket  Veritabanının İlişkisel Diyagramı

Şirket veritabanı oluşturuldu ve aktif edildi:

Birim Tablosu Oluşturma:

Unvan Tablosu Oluşturma:

İl ve İlçe Tablosu Oluşturma:

ilceTekil isimli UNIQUE kısıtlayıcıyla bir ile ait aynı ilçe adının girilmesi engellenmiştir. Ancak bazı ilçe adları pek çok ilde bulunabilir. (Örneğin; Gölbaşı ilçesi hem Ankara hem de Adıyaman illerinde bulunmaktadır.)

Proje Tablosu Oluşturma:

Personel Tablosu Oluşturma:

Çocuk Tablosu Oluşturma:

Görevlendirme Tablosu Oluşturma:

projePersonelTekil isimli bir UNIQUE kısıtlayıcı eklenerek bir projeye aynı personel bilgisinin tekrar eklenmesi engellenmiştir.

About Seçil ŞEKERCİ HÜSEM

2010 yılından bu yana Bilişim Teknolojileri Öğretmeni olarak meslek liselerinde görev yapmaktayım.

View all posts by Seçil ŞEKERCİ HÜSEM →

7 Comments on “SQL Server – Şirket Veritabanı Örneği”

  1. hocam öncelikle yazılarınızı okudum çok açıklayıcı olmuşlar tebrik ederim. Daha sonra ödevdeki bir normalizasyon sorunu için yardımınızı isitiyorum.

    özetle: cariler, personeller, ve bankalar isimli ana tablolarım mevcut. Bunların her birinin ayrı ayrı adres, telefon, email ve web gibi bilgilerini tutmak istiyorum. Normalizasyon kuralları gereği hepsi üç ana tablomda da id alanları ile bağlı ancak: “adres, il, ilçe, web, telefon, email” tablolarımdan 3er tane oluşturmak zorunda kalıyorum çünkü ‘foreignkey’ olarak verdiğim id alanları cariler, bankalar ve personellerden ortak olarak gelebilir. bu detay bilgileri tablolarını üç farklı ana tablom için nasıl ortak hale getirebilirim yardım edermisiniz.

    Şimdiden teşekkürler

    1. İl, ilçe gibi tabloları ortak kullanabilirsiniz. Birçok tablodan aynı ana tabloya yabancı anahtar tanımlaması yapılabilir. adres, telefon ve e-mail alanları için ayrı tablolar oluşturmaya aslında gerek yok, ancak çok az kullanılacak alanları 1-1 bağlantı türünde detay tablolarına taşıyabiliriz, örneğin bankalar-detay gibi. Adres türünde alanlar neredeyse herkes ve kurum için farklı nitelik taşıdığından ayrı bir tabloda oluşturmak ve anahtar değerler yardımıyla tanımlamak iş yükünü artıracağı gibi veri girişi sırasında, örneğin banka şubesi tanımlamadan önce adres tanımlayıp bu adresin kimlik değerini banka tanımlarken kullanmak gibi anlamsız bir işlemi de beraberinde getirecektir.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.