VERİTABANI SİSTEMLERİ - Ünite 2: Veritabanı Tasarımı Özeti :
PAYLAŞ:Ünite 2: Veritabanı Tasarımı
Giriş
İşletmelerde kullanılan bilgi sistemleri stratejik, organizasyonel gereksinimlerin karşılanması için veritabanı geliştirilmesine ihtiyaç duyar. Bu sayede müşteri desteği sağlanır, daha iyi üretim ve envanter takibi veya daha doğru satış planlaması yapılabilir. Veritabanı geliştirme süreci mevcut veri işleme adımlarının, genel işletme fonksiyonlarının ve onların veri gereksinimlerinin analizi ile başlar.
Veritabanı tasarımını ifade etmek için üst seviye tasarım modelleri kullanılır. Bu modellerle veritabanı kullanıcılarının ihtiyaçlarının tasarımdaki karşılığı açık ve anlaşılır biçimde ortaya konulmuş olur.
Veritabanı Tasarım Aşamaları
Veritabanı tasarım aşamaları üç aşamadan oluşmaktadır. Bunlar kavramsal veri modelleme (conceptual data modeling), mantıksal veri modelleme (logical data modeling) ve fiziksel veri modellemedir (physical data modeling).
Kavramsal veri modeli (conceptual data model) veritabanında saklanacak verilerin, kısıtlarının ve ilişkilerinin bir gösterimidir. Kavramsal veri modelleme genellikle sistem analizi sırasında diğer gereksinim analizi ve yapılandırma adımları ile paralel olarak yapılır.
Kavramsal Veri Modelinin Özellikleri:
- İşletmenin genelini kapsayan iş kavramlarını kapsar.
- Stratejik veri projelerinde en sık kullanılan veri modelidir.
- Kullanıcı gereksinimlerini karşılamak için oluşturulur.
- Proje yöneticisi tarafından proje süreç izlemede kullanılır.
- Yüksek seviye veri yapılarını içerir.
- Yetkili ve yöneticilerin tüm seviyelerdeki mimari tanımların veri prensibini anlayabilecekleri teknik olmayan isimler kullanılır.
- Varlıklar, ilişkiler ve bunların özelliklerini içerir. Mantıksal veri modeli (logical data model) kavramsal modelin seçilen veritabanı yönetim sisteminin veritabanı şemasına dönüştürülmesidir.
Mantıksal veri modeli ilişkisel veritabanı teknolojilerinden bağımsız, veri depolama, veri kısıtları ve ilişkiler tarafından tamamıyla bağlanmış veri modelidir. Bir mantıksal veri modeli insanları, yerleri, nesneleri, kuralları ve ilişkiler ile onlar arasındaki olayları standartlaştırır.
Mantıksal Veri Modelinin Özellikleri:
- Tüm varlıkları ve aralarındaki ilişkileri içermektedir.
- Her varlığın tüm öznitelikleri belirlenmiştir.
- Her varlık için benzersiz anahtar belirtilir.
- Farklı varlıklar arasındaki ilişkiyi tanımlayan yabancı anahtarlar belirtir.
- Bu aşamada Normalleştirme uygulanır.
- Veri modeli kapsamına bağlı olmakla birlikte tipik olarak 501000 arasında varlık içerir.
- Veritabanı yönetim sisteminden, veri depolama konumlarından ya da teknolojilerinden bağımsız olarak oluşturulur.
- Varlıklar ve öznitelikler tanımlara sahip olur.
- Veri özniteliklerinin kısıtları ve veri türleri genellikle belirlenmiş olur.
Fiziksel veri modeli (physical data model) veri süreklilik teknolojisinin belirli bir sürümü ile bağımlı, tamamıyla bağlanmış veri modelidir. Burada hedeflenen teknoloji ilişkisel bir veritabanı yönetim sistemi (ACCESS, MS SQL, ORACLE vb.) , XML dokümanı, elektronik tablo veya başka bir veri uygulama seçeneği olabilir. Fiziksel veri modeli veritabanının nasıl inşa edileceğini belirtir.
Fiziksel Veri Modelinin Özellikleri:
- Tüm tablo ve sütunlar belirtilir.
- Tablolar arasındaki ilişki yabancı anahtar ile sağlanır.
- Denormalization kullanıcı gereksinimlerine ve performans ölçütlerine dayalı olarak oluşabilir.
- Fiziksel veri modeli farklı ilişkisel veritabanı yönetim sistemleri için farklılık gösterebilir.
- Veritabanı yönetim sisteminin belirli bir sürümü, veri depolama konumları ya da teknolojileri için bağımlı olarak tasarlanmış ve geliştirilmiştir.
- Öznitelikler genellikle duyarlı ve uzunlukları atanmış veri türlerine sahip olacaktır.
Varlık İlişki Modelleme
Varlık ilişki modelleme bir işletme veya iş alanında kullanılan verilerin detaylı ve mantıksal gösterimidir. Varlık ilişki modeli (ER-Entity-relationship model): Bir organizasyon veya işletmenin verilerinin mantıksal temsilidir. Varlık ilişki diyagramı (ER-diagram): Varlık ilişki modelinin grafiksel gösterimidir. Varlık ilişki modelinde veri yapısı grafiksel olarak gösterilirken üç temel öge kullanılır. Bunlar;
- Varlıklar,
- Öznitelikler,
- İlişkilerdir.
Varlık işletmenin verisini tutmak istediği kullanıcı ortamındaki kişi, yer, nesne, olay veya kavramı temsil eder. Bu varlık çesitleri için bazı örnekler şunlardır:
Kişi : Çalışan, öğrenci, hasta
Yer : Depo, ambar, şehir
Nesne : Makine, inşaat, araç
Olay : Satış, kayıt, sözleşme yenileme
Kavram : Muhasebe hesabı, okulda verilen ders
Ortak özellikleri veya karakteristikleri içeren varlıkların oluşturduğu kümeye varlık kümesi denir. Varlık kümesindeki bir varlığa ise varlık örneği denir. Model içerisinde varlık kümesi dikdörtgen ile gösterilir ve içine varlığın adı yazılır.
Bir organizasyonu tanımlayan temel varlık kümelerinin çoğunluğu güçlü varlık kümeleridir. Güçlü varlık kümesi diğer varlık kümelerinden bağımsız tanımlanabilen kümelerdir. Örneğin; çalışan, öğrenci, hasta güçlü varlık kümeleridir.
Her bir varlık kümesinin özellikleri olur. Öznitelik, işletmede kullanılan varlık kümesinin özellikleri veya karakteristikleridir(izleyen kesimde anlatılacak olan ilişkilerinde öznitelikleri olabilir). Modelde öznitelikler oval ile gösterilir ve içine adı yazılır. Öznitelik bağlı olduğu varlık kümesine düz çizgi ile bağlanır.
Bir özniteliğin değeri varlık kümesi içindeki tüm varlık örnekleri için girilmesi zorunlu ise zorunlu öznitelik olarak adlandırılır. Model gösteriminde zorunlu özniteliğin önüne “+” seçimli özniteliğin önüne “o” sembolü konulabilir.
Birleşik öznitelik (Composite attribute): Anlamlı alt parçaları olan bir özniteliktir. Türetilen öznitelik (Derived attribute): Değeri ilgili olduğu diğer özniteliklerden hesaplanabilen özniteliktir. Çok değerli öznitelik (Multivalued attribute): Bir varlık veya ilişki örneğine ait öznitelikte birden fazla değerin yer almasıdır.
Varlık kümesindeki her bir örnek için farklı değer alan özniteliğe anahtar öznitelik denir. Yani anahtar öznitelikte iki örneğin değeri aynı olamaz. Anahtar öznitelik tanımlandığı varlık kümesinde bulunan tüm örnekler için benzersiz değerler alır.
İlişkiler veri modelinde farklı öğeleri bir arada tutar. En az iki varlık kümesi arasındaki etkileşimi gösteren bağlantıya ilişki (relationship) denir. İlişkiler iki varlık kümesi arasında olabileceği gibi çoklu şekilde de olabilmektedir. İlişkiler varlık ilişki diyagramında eşkenar dörtgen yani baklava dilimi şekliyle gösterilir ve içerisine ilişkinin adı yazılır.
Bir ilişkinin özniteliği birden fazla ise bu ilişki bir varlık olarak gösterilebilir. Bu tip varlıklar ilişkisel varlık olarak adlandırılır.
Varlık kümeleri arasında üç tür ilişkiden söz edilebilir. Bunlar,
- Bire Bir İlişki (One to One 1:1)
- Bire Çok İlişki (One to Many 1:N) veya
- Çoka Bir İlişki (Many to One N:1)
- Çoka Çok İlişki (Many to Many N:N)’dir.
Bire Bir İlişki (One to One 1:1): Bir varlık kümesinin elemanı diğer bir varlık kümesinin elemanlarından sadece biri ile ilişki kurabiliyorsa buna bire bir ilişki denir.
Bire Çok İlişki (One to Many 1:N) ve Çoka bir ilişki (Many to one N:1): Bir varlık kümesinin elemanı diğer bir varlık kümesinin elemanlarıyla birden çok ilişki kurabiliyorsa buna bire çok ilişki denir.
Çoka Çok İlişki (Many to Many N:N): Bir varlık kümesinin birden fazla elemanı diğer bir varlık kümesinin elemanlarıyla birden fazla ilişki kurabiliyorsa buna çoka çok ilişki denir.
Varlık İlişki Diyagramının Tablolara Dönüştürülmesi
Bire bir ilişkideki varlık kümeleri tablolara dönüştürülür. Öznitelikler ise tabloların sütunlarını oluşturur. İlişkileri oluşturmak için, bir varlık kümesinin anahtar özniteliği tabloda birincil anahtar olarak tanımlanır ve bu birincil anahtar diğer tabloda yabancı anahtar olarak belirlenir.
Yabancı anahtar: İlişkisel veri tabanlarında bir tablonun birinci anahtarının diğer bir tabloya daha kolay bağlanmak amacıyla ikinci tablo üzerinde bir sütun olarak yer almasıdır.
Bire Bir İlişkilerin Tablolara Dönüştürülmesi: Varlık kümeleri tablolara dönüştürülür. Öznitelikler tabloların sütunları olarak tanımlanır. İlişkinin birli (1) tarafındaki tablodaki öznitelik birincil anahtar olarak tanımlanır ve ilişkinin çoklu (n) tarafındaki tabloya yabancı anahtar olarak eklenir.
Bire Çok veya Çoka Bir İlişkilerin Tablolara Dönüştürülmesi: Varlık kümeleri tablolara dönüştürülür. Varlık kümeleri arasındaki ilişki (ilişkisel varlık) içinde tablo oluşturulur. Öznitelikler tabloların sütunları olarak tanımlanır. Her bir tabloda birincil anahtarlar tanımlanır. Varlık kümelerinin birincil anahtarları ilişkiyi oluşturan tabloya sütun olarak eklenir.
Çoka Çok İlişkilerin Tablolara Dönüştürülmesi: Varlık kümesi ve öznitelikleri tabloya dönüştürülür. Çok değer içeren öznitelik için yeni bir tablo oluşturulur. Bu tabloya çok değerli özniteliğin bağlı olduğu tablonun birincil anahtarı yabancı anahtar olarak eklenir. Bu sayede çok değerli özniteliğin her bir alt değeri yeni tabloya ayrı satır olarak eklenmiş olur.
Veritabanı Yaşam Döngüsü
Veritabanı projelerinin asıl kaynaklarından birisi bilgi sistemlerinin geliştirilmesidir. İşletmenin ihtiyaçlarını karşılayan bilgi sistemleri yeni veritabanı geliştirilmesine ihtiyaç duyar.
Geleneksel bilgi sistemi geliştirme süreci sistem geliştirme yaşam döngüsü (SGYD) olarak adlandırılır. Sistem geliştirme yaşam döngüsü bilgi sistemlerinin planlanması, geliştirilmesi, kullanım ve bakım faaliyetlerini içeren fazlardan oluşur.
Veritabanı Yaşam Döngüsü Fazları: Veritabanı yaşam döngüsü fazları verilmiş olan SGYD fazları ile büyük ölçüde örtüşür.
- Gereksinim Analizi
- Veritabanı Tasarımı
- Uygulama ve Yükleme
- Operasyon
- Bakımdır.
Gereksinim Analizi: Bu fazda yapılan işlemler;
- Mevcut veri işleme süreçlerinin analizi,
- Genel işletme işlevleri ve onların veritabanı ihtiyaçlarının analizi,
- İşletmede kullanılan bilgi sisteminin yeni veritabanına ihtiyacının ortaya konulması,
- Önerilen bilgi sistemi için gereken veritabanı kapsamının tanımlanması,
- İşletmedeki işlevlerin veritabanı desteğine ihtiyaç duyduğu tüm veri gereksinimlerinin analizidir.
Veritabanı Tasarımı: Tasarım fazında kavramsal, mantıksal ve fiziksel veri modelleri oluşturulur.
Uygulama ve Yükleme: Bilgi sisteminin bir parçası olarak veritabanı uygulama ekiplerince geliştirilir ve çalışacağı hedef sisteme yüklenir. Bu işlemler;
- Veritabanı işleme programlarının geliştirilmesi ve test edilmesi,
- Veritabanı dökümantasyon ve eğitim materyallerinin oluşturulması,
- Veritabanı yönetim sisteminin kurulması ve mevcut verilerin dönüştürülerek veri-tabanına aktarılması,
- Kullanıma alınan veritabanının uygulama yazılımları ile birlikte çalışmasının test edilmesinden oluşur.
Operasyon: Bu fazda bilgi sistemi ve geliştirilen veritabanı uygulamaya alınmış ve kullanımdadır. Veritabanı kullanıcılar, uygulama yazılımı ve donanım ile ortaklaşa çalışmaktadır.
Bakım: Bilgi sistemi kullanıma alındıktan sonra kullanıcılar tarafından yeni isterlerin gerçekleştirilmesi ve iyileştirmeler talep edilir. Bu değişiklik isteklerinin uygulamaya alınması için veri modelindeki ve dolayısıyla veritabanındaki değişikliklerin yapılması gerekecektir.