VERİ TABANI YÖNETİMİ Ders 7: Veri Tabanı Sisteminin Kurulması Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği
1 Sistem Analizi Bilgisayara dayalı bir sistemin ve bunun içerisindeki veri tabanının kurulması ve geliştirilmesi (sistem analizi) üç aşamada gerçekleştirilir: İnceleme ve Analiz Sistem Tasarımı Genel Tasarım Ayrıntılı Tasarım Hazırlık ve Uygulama
1.1 İnceleme ve Analiz Kurum veya fabrikanın bilişim gereksinimlerinin saptanması ve karşılanması yollarının irdelenmesi amacı ile yapılmaktadır. Bu aşamada çalışmayı yürütecek ekibin oluşturulması, sistem geliştirme planının hazırlanması, bilgi toplanması, mevcut sistemin analizi, gereksinimlerin belirlenmesi, verimliliğin değerlendirilmesi, analiz raporunun hazırlanması aşamaları yer almaktadır.
1.2 Sistem Tasarımı Kurulacak yada geliştirilecek bilgi işlem sisteminin planlanması, yöntem ve tanımların yapılması aşamasıdır. Onaylanan analiz raporundaki önerilere dayanılarak hazırlanmaktadır. Genel Tasarım ve Ayrıntılı Tasarım olmak üzere iki aşamadan oluşur.
1.2.1 Genel Tasarım Analiz aşamasında belirlenmiş olan amaç ve hedeflere nasıl ulaşılacağına ilişkin öneriler geliştirilmektedir. Sistem, önce alt sistemlere, sonra işlemlere, ve son olarak ta yönetilebilir küçük görevlere bölünmektedir. Her işlem ve görev için en uygun araç-gereç ve yöntemler saptanmaktadır.
1.2.2 Ayrıntılı Tasarım Bilgisayar sisteminin kullanılışını gösteren durumlar ve koşullar ayrıntılı olarak belirlenmektedir. Önce, girdiler, çıktılar, raporlar, dosyalar ve veri tabanı ayrıntılı olarak tasarlanmaktadır. Sonra, ayrıntılı mantıksal planlar (akış veya UML diyagramları) geliştirilip, uygulama programları düzenlenmektedir.
1.3 Hazırlık ve Uygulama Sistem tasarımı onaylandıktan sonra, bu sistemin kurulması ve işletilmesi için gerekli işlemler bu aşamada gerçekleştirilir. Bu işlemler; donanım ve yazılımın sağlanması görevlilerin eğitimi veri tabanının oluşturulması program tasarımı, kodlanması ve sınanması sistemin sınanması kullanım kılavuzlarının ve sistem belgelerinin hazırlanması
Veri Tabanının Oluşturulması 2. Veri Tabanının Oluşturulması Gereksinim Analizi ve Değerlendirilmesi Kavramsal Veri Modelinin Tasarımı Veri Tabanının Tasarımı Mantıksal Tasarım Fiziksel Tasarım Veri Tabanının Tamamlanması (uygulama programları, testler, dokümantasyon, …) Veri Tabanının İşletilmesi ve Yönetilmesi
2.1 Gereksinim Analizi Bir sistemin analizi yapılmış ve bir veri tabanı kurulması önerilmiş ise, önce veri tabanından beklenen amaçların ve işlevlerin, donanım-yazılım ve personel gereksinimlerinin, kullanılacak veri miktarı ve ilişkilerin saptanması gerekmektedir. Bu bilgiler gereksinim analizi yolu ile elde edilir. Sistemin inceleme ve analiz aşamasında belirlenen gereksinimler, bir veri tabanı geliştirme ekibi tarafından ayrıntılı incelenir.
2.1 Gereksinim Analizi Veri tabanı uygulamalarından yararlananlar kullanıcılardır. Bu nedenle veri tabanı gereksinim analizinde kullanıcıların görüşlerine de başvurulmalıdır. Özellikle girdiler-çıktılar ve işlem sınırlamaları bakımından gereksinimleri sorulmalıdır. Veri tabanı geliştirme ekibi, formlar, raporlar ve menüler (seçenekler) için örnekler hazırlayarak, bunlar üzerinde kullanıcıların görüşlerini almalıdır.
2.1 Gereksinim Analizi Eğer kullanıcıların görüşlerinde çelişkili ve tutarsız noktalar varsa (iki kullanıcı birbirinden farklı isteklerde bulunabilir) düzeltilir. Gereksinim analizi sonunda belirlenen gereksinimler; metin, veri akış diyagramları, varlık-ilişki diyagramları, nesne diyagramları şeklinde olabilmektedir. Gereksinim belgeleri yeniden gözden geçirilip gerekli düzeltmeler yapıldıktan sonra kullanıcıların ve proje sahibinin onayına sunulmaktadır.
Veri Modelinin Değerlendirilmesi 2.1 Veri Modelinin Değerlendirilmesi Kullanıcıların ve proje sahibinin anlayabileceği şekilde hazırlanan gereksinim modeli, veri tabanı uzmanları tarafından yeniden yorumlanmakta, veri tabanı tasarımında kullanılabilecek bir modele (Kavramsal Model) dönüştürülmektedir.
Değerlendirmenin Aşamaları 2.1 Değerlendirmenin Aşamaları Değişik uygulama sistemi yapılarının (mainframe veya mini ya da mikro bilgisayarlardan oluşturulan bilgisayar ağları) tanımlanması ve içlerinden birinin seçimi Uygulamanın yapılabilirliğinin (fizibilitesinin) yeniden belirlenmesi Seçilen çözümde bütün gereksinimlerin yer aldığının denetlenmesi ve eksikler var ise, ilerde eklenmesi yada elenmesi gereğinin karşılaştırılması
Değerlendirmenin Önemi 2.1 Değerlendirmenin Önemi Hata ve eksiklerin değerlendirme aşamasında bulunup düzeltilmesi kolay ve ucuzdur. Oysa daha sonraki aşamalarda fark edilmesi halinde geriye dönülmesi büyük iş kaybına ve gidere yol açmaktadır. Bu aşamanın sonunda; sistem mimarisi, bir dizi yapılabilir ve maliyeti uygun gereksinimler ve kavramsal veri modeli elde edilir. Bu sonuçlar onaylaması için proje sahibine sunulur ve tasarım aşamasına girdi olarak aktarılır.
Kavramsal Model Geliştirme 2.1 Kavramsal Model Geliştirme Gereksinim Analizi sırasında keşfedilen bilgileri bütünleştirerek oluşturulan Kavramsal Modelin öğeleri Varlık-İlişki Diyagramları ile temsil edilir. Varlık İlişki diyagramları öğelerin anlamlarını ve birbiriyle ilişkilerini belirli bir veri tabanı sisteminden ya da kurulum ayrıntılarından bağımsız olarak gösterir.
Kavramsal Model Geliştirme 2.1 Kavramsal Model Geliştirme Tüm uygulamaların ortak gereksinimlerini birleştir Hangi Varlıklar ın kullanılacağını kararlaştır Varlık: Hakkında bilgi tutulan nesne Varlıkların Nitelikler ini belirle Varlığı tekil olarak belirleyen anahtar nitelik(ler) de belirlenmelidir Varlıklar arasındaki İlişkiler i belirle Varlıklar birbiriyle nasıl etkileşiyor? İlişkilerin Nitelikler ini belirle
Mantıksal Model Geliştirme 2.2 Mantıksal Model Geliştirme Gereksinim analizi ve değerlendirilmesi aşamasında, varlıkların ve aralarındaki ilişkilerin belirlenmesi ve tanımlanması işlemi varlık-ilişki modeli ile kavramsal olarak hazırlanmaktadır. Tasarım aşamasında bu yapı bilgisayara yönelik özel bir veri yapısına yani mantıksal modele (ilişkisel veri modeli) dönüştürülmektedir. Gereksiz bilgi tekrarını, bilginin kaybını veya yetersizliğini önlemek için ayrıca bir de normalleştirme işlemi uygulanarak ilişkiler normal forma getirilmelidir.
2.2 Mantıksal Model Mantıksal model, kavramsal modelin seçilen VTYS ile bağdaşacak şekilde uyarlanmış, dönüştürülmüş halidir. Mantıksal modelin kurulmasından önce düzenlenmiş olan kavramsal model için en uygun veri modelinin belirlenmesi gerekir. Hiyerarşik veri modeli Ağ veri modeli İlişkisel veri modeli Nesne tabanlı veri modeli
2.3 Fiziksel (İç) Model Fiziksel tasarımın amacı en az giderle en uygun performansın sağlanmasıdır. Fiziksel tasarımın dört temel aşaması vardır: Veri Gösteriminin Belirlenmesi Erişim Yöntemlerinin Seçimi Verinin Dış Belleklere Atanması Veri Tabanının Yüklenmesi ve Tekrar Düzenlenmesi
Veri Gösteriminin Belirlenmesi 2.3.1 Veri Gösteriminin Belirlenmesi Mantıksal tasarım sırasında oluşturulan modeldeki veri öğelerinin tipi ve uzunluğu gibi fiziksel özellikleri kararlaştırılmalıdır. Ayrıca, veri dosyalarının boyutları ve veri setleri saptanmalıdır. Veri tabanı tasarımcısı, veri tanımlama dili (DDL) kullanarak veri gösterimini ayrıntılı olarak belgelendirir.
Erişim Yöntemlerinin Seçimi 2.3.2 Erişim Yöntemlerinin Seçimi Erişim yöntemleri, VTYS’ne bağlı olduğu için belirlidir. Yine de veri tabanındaki her bir kayda erişilecek yol saptanmalıdır. Veri tabanına kendi anahtarı ile doğrudan erişebilen kayıt tipleri, başka kayıtların göstergeleri yada indeksler aracılığı ile girilebilenlerden ayırt edilmelidir.
Verinin Dış Belleklere Atanması 2.3.3 Verinin Dış Belleklere Atanması Erişim yöntemleri ile tanımlanmış olan her kaydın ve kütüğün fiziksel araçlarda, yani dış belleklerde saklanacağı yerin belirlenmesi gerekir. Atamada çok kullanılan veriye öncelik verilmesi yada en büyük olasılığı sağlayan veri düzeninin bellekte bir araya getirilmesi (kümeleme-clustering) performansı arttırır.
Veri Tabanının Yüklenmesi ve Tekrar Düzenlenmesi 2.3.4 Veri Tabanının Yüklenmesi ve Tekrar Düzenlenmesi Yükleme, bir veri tabanı yükleme programı (SQL script) oluşturularak, yada yardımcı bir program kullanılarak gerçekleştirilir. Tekrar düzenlenmeyi gerektirebilecek nedenler: Yeni veri öğelerinin veya kayıt tiplerinin ortaya çıkması (mantıksal tasarım da tekrar düzenlenmeli) Yeni işlemlerin gerekmesi (sadece fiziksel tasarım tekrar düzenlenir) Veri tabanını değiştirmek yoluyla işlem etkinliğinin arttırılması (sadece fiziksel tasarım tekrar düzenlenir)
Veri Tabanının Tamamlanması 2.4 Veri Tabanının Tamamlanması Uygulama programlarının tamamlanması Uygulama programları (dış modeller) aslında mantıksal model tasarlanırken tasarlanırlar. Bu aşamada kullanıcı arabirimleri de (form yapıları, raporlar, …) tasarlanarak program tamamlanır. Veri tabanının ve uygulama programlarının doğruluğunun, bütünlüğünün ve performansının test edilmesi Dokümantasyonun hazırlanması
Veri Tabanının İşletilmesi ve Yönetilmesi 2.5 Veri Tabanının İşletilmesi ve Yönetilmesi Her sistem gibi veri tabanı sistemi de ne kadar mükemmel tasarlanmış olursa olsun, kötü işletilmesi halinde sorunlar ortaya çıkabilmektedir. Aşağıdaki durumlarda uygulanacak yöntemler mutlaka belirlenmelidir: Normal ve anormal durumlarda sistemin kapatılması Başarısızlık halinde kurtarma (recovery) Veri tabanının yedeklenmesi ve onarılması
Veri Sözlüğü Veri sözlüğü (sistem kataloğu) veri hakkında veri (metadata) içerdiği için veri tabanının veri tabanı olarak tanımlanabilir. Veri sözlüğünde her ilişki şeması (tablo) için; şemanın ve içerdiği niteliklerin adları, niteliklerin etki alanları, ilişki anahtarı, bütünlük sınırları ve eğer tanımlandıysa görünüm (view) tanımları saklanmaktadır.
Veri Sözlüğünde Saklanan Diğer Bilgiler İlişki şemalarının indeksleri ile ilgili bilgiler (indekslenen özellikler, indeks tipleri) Çoğu sistemde yetkili kullanıcıların adları ve durumları Hiyerarşik veri modeli gibi yüksek düzeyli modellerde her ilişki şemasındaki sıra sayısı ve uygulanan saklama şekli (bloklu-bloksuz)
Veri Sözlüğünde Saklanan Fiziksel Bilgiler Veri öğesinin tipi (sayı, karakter, tarih, …) Karakter ise uzunluğu Sayı ise tipi (tam sayı, ondalıklı sayı, …) Tarih ise biçimi (mm.dd.yyyy, …) Kullanılacak araçlar (disk, teyp, …) Veri tabanının saklanacağı birimler (c:\, …) Erişim denetimi …
Veri Sözlüğü Örneği sistem-katalog-şeması (şema-adı, niteliklerinin-sayısı) nitelik-şeması (nitelik-adı, şema-adı, etki-alanı-tipi, yeri) kullanıcı-şeması (kullanıcı-adı, şifresi, grubu) indeks-şeması (indeks-adı, tipi, özellikleri) görünüm-şeması (görünüm-adı, tanımı) kullanıcı-grubu-şeması (…)
Veri Sözlüğünün Önemi Veri sözlüğünden beklenen veriye ilişkin belgeleri yönetmesidir. Veri sözlüğü; veri tabanının gereksinim analizi, tasarım, tamamlama, işletim ve genişletme aşamalarında veriye ilişkin bilginin denetim ve yönetimini üstlenmektedir.
VTYS Yaşam Döngüsü 1 Analiz ve Tasarım 2 Fiziksel Yaratım 5 3 İşlemler 6 Büyüme, Değişim ve Yaşatma 5 İşlemler 3 Dönüş- türme 4 Enteg- rasyon
1) Analiz ve Tasarım Örgütün gereksinimlerini belirleme Veri tabanı Kavramsal Modelini geliştirme Varlık-İlişki diyagramı tekniklerini kullanarak Veri Sözlüğü inşa etme Mantıksal Modeli geliştirme İlişkisel, Ağ, Hiyerarşik, Nesne Tabanlı, …
2) Fiziksel Yaratım Veri tabanı Fiziksel Modelini geliştirme Veri formatları ve türleri Dizinlerin belirlenmesi, vs.. Prototip veri tabanının yüklenmesi ve test edilmesi Güvenlik, gizlilik ve erişim denetimlerinin kararlaştırılması ve kurulması Tutarlılık sınırlamalarının kararlaştırılması ve kurulması
3) Dönüştürme Yeni veri tabanını kullanmak için mevcut veri setlerini ve uygulamalarını dönüştürme Eski verileri yeni formatlara dönüştürmek için programlar ve dönüştürme programcıkları (utility) gerekebilir
4) Entegrasyon 3. Adımla örtüşür Yeni veri tabanına dönüştürülmüş uygulamaların ve yeni uygulamaların entegrasyonu
5) İşlemler Tüm uygulamalar tam-ölçekli çalıştırılır Gizlilik, güvenlik ve erişim kontrolü sağlanır Kurtarma ve Yedekleme prosedürleri kurulmalı ve kullanılmalıdır
6) Büyüme, Değişim ve Yaşatma Değişim, bir yaşam biçimidir. Uygulamalar, veri gerekleri, raporlar vs. yeni gereksinimlere göre değişir. Veri tabanı ve uygulamaların değişiklik gereksinimlerini karşılaması için değiştirilmeleri gerekir.