ENM 307 YÖNETİM BİLİŞİM SİSTEMLERİ Dersin Koordinatörü: Prof. Dr. Orhan TORKUL Dersin Yardımcıları: Arş. Gör. İhsan Hakan SELVİ Arş. Gör. Mehmet TAŞ 7. Hafta Ders Notu Öğrenme Çıktıları Veri modellemede varlık-ilişki diyagramlarının rolü nedir? Veri tipleri nelerdir ve hangi durumda hangi veri tipi kullanılmaktadır? Veri tabanı nedir? Bir bilişim sisteminde veri depolama için genellikle tek bir dosya niçin yetersizdir? Veri tabanı modelleri nelerdir? Veri ambarı nedir, ne işe yarar? BÖLÜM 7 Bilişim ve Veri Tabanları Veri Modelleme Kullanıcıların bakış açısı dikkate alındığında bir bilişim sisteminde bilişimi organize etme ve bilişime erişmeyle ilgili çoğu mesele şu 3 soru ile özetlenebilir: Bilişim sisteminde ne tür bilgi vardır? Bilişim nasıl organize edilir? Kullanıcılar ihtiyaçları olduğu bilişim çeşidini nasıl elde edebilirler? Bu üç sorunun cevabı veri modelleme ile çözülür. İlk iki soru varlık-ilişki diyagramlarının temelidir. Varlık-İlişki Diyagramları Varlık-ilişki diyagramları, bir durumdaki varlık tiplerini belirlemede ve aralarındaki ilişkileri diyagram ile göstermede kullanılan tekniktir. Veri tabanın hangi verileri içereceğinin ve nasıl yapılandırılacağının belirlenmesine yardımcı olur. Kullanıcılar ve geliştiriciler arasında mükemmel bir iletişim kanalıdır. Varlık tipleri: sistemin, veri tabanında veriyle ilgili ne çeşit şeyler topladığı Varlıklar: veri ile alakalı toplanan belirli şeyler İlişki: varlıklar arasındaki ilişki veya birleşme Nitelikler: her varlık tipi için saklanan spesifik veri parçaları Varlık-İlişki Diyagramı Örneği: Üniversite Ders Kayıt Sistemi Bir üniversiteye kayıt sistemi kurulacağı düşünülürse, sistem ne tip bilişimlere ihtiyaç duyar? Güncel sistemle uyumlu geliştirme düşünceleriyle birlikte bu soru 3 parçaya bölünebilir: Sistem bilişimi hangi tip şeyler hakkında toplar? Topladığı özel şeyler varlıktır. Bilişim topladığı şeylere de varlık tipleri denir. Bir kayıt sisteminde varlık tipleri kurslar, öğrenciler, profesörler vs. olabilir. Örnekte 6 varlık tipi bulunmaktadır. Bu varlıklar arasındaki ilişki nedir? Bunların arasındaki ilişki birbirleri ile birleşmeleridir. Mesela bir öğrenci birden çok kursa yazılabilir ve kurs sadece bir sınıfta olabilir. Sistem bu şeyler hakkında hangi tipte özel bilişimler toplar? Varlıklar hakkındaki spesifik bilişimlere nitelik denir. Öğrencinin varlık bilgisinde telefon, adres ve ödemediği harç bilgileri olabilir. Varlık-İlişki Diyagramı Örneği: Üniversite Ders Kayıt Sistemi Varlık-İlişki Diyagramlarındaki İlişki Tipleri Varlık Tipleri İçin Olası Nitelikler Bölüm Fakülte Bölüm başkanı Ders kodu Bölüm Dersin tanımı Yarıyıl Yıl Sınıf Gün, saat Ad, soyad Oda Telefon Öğrenci Konu Profesör Ders Numara Ad, soyad Cinsiyet Ofis Ofis no Bina Veri Modelleme Varlık tiplerini ve aralarındaki ilişkileri tanımlandığımızda sistemde olması gereken bilişimi irdelemek daha kolay olacaktır. Veri modelleme, bir sisteme gerekli olan bilişimi tanımlamada yardımcı olur. Diğer adım ise bu bilişimi bilgisayarlaştırılmış veri tabanına aktarmaktır. Bunun için verinin tipi, verinin mantığı ve fiziksel görünüşü ve diğer anlamaya yardımcı olacak konular gereklidir. Veri Tipleri Günümüz bilişim sistemlerindeki 5 veri tipi biçimlendirilmiş veri: içeriği önceden açıkça belirlenmiş sayısal veya alfabetik öğeler (ATM’ler, muhasebe sistemleri, sipariş takibi sistemlerinde bu veri tipi bulunur.) metin: içeriği önceden belirlenmemiş harfler, rakamlar ve diğer karakterler görüntü: görüntü, fotoğraflar, el yapımı resimler, grafikler ses: seslerden oluşmuş veri video: resimlerin ve seslerin kombine edilmiş hali Geleneksel işletme bilişim sistemleri sadece biçimlendirilmiş veri ve metin tipini içerir. Veri Tabanı Veri tabanı; belirli bir veri modeli ile saklanan, sistematik erişim imkanı olan, yönetilebilir, güncellenebilir, taşınabilir, birbirleri arasında tanımlı ilişkiler bulunabilen bilgiler kümesidir. bilgisayarlar aracılığıyla kontrol edilir ve erişilir. önceden tanımlı veri tipleri arasında önceden tanımlı ilişkiler bulunur. 5 veri tipinden her birini içerebilir. Veri tabanları çeşitli tiplerde olabilir ve çeşitli tiplerde kullanılabilir. Veri tabanı yönetim sistemi (VTYS); veri tabanını tanımlamak, güncellemek ve kontrol etmek için kullanılan geniş kapsamlı yazılım sistemidir. Veri Tabanının Çalışması Veri Tabanı Yaklaşımı Dosya İşleme Sistemi • Kuruluştaki her bir bölüm veya alan kendi veri dosyası setine sahiptir. • Uzun yıllardır kullanılır. • Veri artıklığı oluşur. • Fazlalık veri (kopya veri) oluşur. • Veriyi izole eder. Veri Tabanı Yaklaşımı • Birçok program ve kullanıcı veriyi bir veritabanında paylaşır. • Veri artıklığını düşürür. • Veri bütünlüğünü artırır. • Veriyi paylaşır. • Kolay erişim sağlar. • Geliştirme zamanını azaltır. • Daha savunmasız (zarara açık) olabilir. • Daha karmaşıktır. • Özel eğitim, daha fazla bilgisayar belleği, depolama alanı ve işleme gücü gerektirir. • Veri daha değerlidir. Veri Tabanı Kayıtları Dosya; ilişkili kayıtlar bütünüdür. Kayıt; aynı şey, insan veya olayla ilişkili alanlar bütünüdür. Alan; önceden tanımlı bir anlama sahip karakter grubudur. Anahtar; kaydı belirleyen eşsiz (özgün) alandır. Üye No Anahtar Ad Soyad Şehir 044-34 Ali Ersoy Konya 434-98 Hakan Tokyay Ankara 888-23 Gizem Kavalcı Bursa 334-59 Candan Şimşek İstanbul Örnek bir kayıt Örnek bir alan Bu dosyada varlık öğrencidir. Her kayıt özel bir varlıkla ilgili veri içerir. Burada “şehir” varlığın bir niteliğidir. Veri Tabanı Kayıtları Sosyal Güvenlik No Ad Soyad Adres Şehir Doğum Tarihi Sigorta Tipi Bağlı Kişi Sayısı Sosyal Güvenlik Primi Sosyal Güvenlik No Ad Soyad Adres Şehir Doğum Tarihi Sigorta Tipi Bağlı Kişi Sayısı Sosyal Güvenlik Primi Sosyal Güvenlik No Ad Soyad Adres Şehir Doğum Tarihi Sigorta Tipi Bağlı Sosyal Kişi Güvenlik Sayısı Primi Mektup göndermek için kullanılan veri Sağlık sigortası için kullanılan veri Ödeme belgeleri oluşturmak için kullanılan veri Veriye Erişme Süreci İtme ve çekme İtme sistemi: kullanıcıya enformasyon otomatik olarak sağlanır Çekme sistemi: kullanıcı enformasyona ihtiyaç duyduğunda istem yapar Önceden programlı (planlı) veya özel amaçlı İtme sistemleri önceden programlanmıştır. Çekme sistemleri ise özel amaçlıdır. Veri Modeli Veri modeli, verileri mantıksal düzeyde düzenlemek için kullanılan yapılar, kavramlar ve işlemler topluluğudur. Her VTYS belirli bir veri modeli (ilişkisel, nesneye yönelik, çok boyutlu veri modelleri) kullanır. En çok kullanılan veri modeli ilişkisel veri modelidir. Veri tabanını tasarlayan kişi, veri modelinin yapılarını ve kavramlarını kullanarak mantıksal düzeydeki düzenlemeleri oluşturur. Daha sonra o veri modelini kullanan bir VTYS üzerinde bu düzenlemelere göre veri tabanı yaratılır. Verinin mantıksal görünümü: insanlar veri hakkında nasıl düşünür Verinin fiziksel görünümü: bilgisayar veriyi ne şekilde ele alır İlişkisel Veri Tabanları İlişkisel veritabanı, veriyi satırlar ve sütunlardan oluşan tablolarda saklar. Her satır birincil anahtara sahiptir. Her sütun eşsiz bir isme sahiptir. İki boyutludur. İlişkisel veritabanı geliştiricisi, bağlantı olarak bir dosyaya, değişkenler grubu olarak bir kayda ve nitelik olarak bir alana başvurur. İlişkisel veritabanı kullanıcısı dosya olarak tablo, kayıt olarak satırları ve alan olarak da sütunları kullanır. İlişki, bir ilişkisel veritabanındaki verideki bağlantıdır. İlişkisel Veri Tabanları Nitelikler Sicil No Adı Soyadı Giriş Tarihi Doğum Tarihi 1 Mehmet Taner 06/03/2004 15/10/1970 2 Aysu Şahin 15/10/2003 01/08/1966 3 Kemal Atlı 29/05/2002 10/02/1971 4 Ali Demirci 12/05/2005 18/07/1974 5 Gülin Merter 07/08/2007 23/02/1972 Birincil Anahtar Sütun Sayısı Yabancı Anahtar Sıra No Unvan Kodu Unvan Açıklaması Terfi Tarihi Sicil No 1 SM Satış Müdürü 06/03/2004 1 2 PM Proje Müdürü 15/10/2003 1 3 MUH Mühendis 29/05/2002 2 4 UZMUH Uzman Mühendis 12/05/2005 2 Satırlar UNVAN TABLOSU Satır Sayısı İlişki PERSONEL TABLOSU İlişkisel Veri Tabanı İçin Varlık-İlişki Diyagramı Adım Adım İlişkisel Veri Tabanı Örneği Soru: Ekonomi bölümündeki profesörler tarafından verilen dersleri alan işletme branşındaki tüm öğrencileri bul ve bu öğrencileri profesörler ile birlikte listele. Başlangıçtaki tablolar Profesörler: isim, bölüm, ofis Öğrenciler: isim, branş(major), doğum tarihi Konu-Profesörler: her bir konu ve konuları öğreten profesör Konu-Öğrenciler: her bir konu ve konuyu alan öğrenciler Kullanılacak ilişki operatörleri Seçme: bir kritere göre satırları (kayıtları) elimine etme İzdüşümünü alma: bir kritere göre sütunları (alanları) elimine etme Birleştirme: iki tabloyu birleştirerek yeni bir tablo elde etme Adım Adım İlişkisel Veri Tabanı Örneği Adım 1: PROFESSORS tablosu ile başla. Gereksiz sütunları ele ve sadece ekonomi profesörlerini seç. Böylece tek bir sütundan oluşan ECO-PROFS adlı yeni bir tablo oluşmuş oldu. Adım Adım İlişkisel Veri Tabanı Örneği Adım 2: STUDENTS tablosu ile başla. Gereksiz sütunları ele ve branşı işletme olan öğrencileri seç. Böylece tek bir sütundan oluşan B-STUDENTS adlı yeni bir tablo oluşmuş oldu. Adım Adım İlişkisel Veri Tabanı Örneği Adım 3: İlk adımdaki ECON-PROFS ve SECTION-PROFS tabloları ile başla. Bu iki tabloyu birleştirerek ECON-PROF-SECTIONS tablosunu elde et. Yeni tablo orijinal profesör tablosu ile eşleşerek üretilir. Adım Adım İlişkisel Veri Tabanı Örneği Adım 4: İkinci adımdaki B-STUDENTS ve SECTION-STUDENTS tabloları ile başla. B-STUDENTS-IN-ECON isimli yeni bir tablo oluştur. Adım Adım İlişkisel Veri Tabanı Örneği Adım 5: Üçüncü adımın ECON-PROF-SECTIONS tablosu ve dördüncü adımın B-STUDENTS-IN-ECON tablosu ile başla. Konuları eşle ve son cevabı veren tabloyu oluştur. Bu son tabloya SECTION-B-STUDENT-ECON-PROF adı verilebilir. Yapılandırılmış Sorgu Dili (SQL) Yapılandırılmış sorgu dili (SQL), ilişkisel veri tabanı modellerinde kullanıcıların veriyi yönetmesine, güncellemesine ve okumasına izin veren bir sorgu dilidir. SQL herhangi bir veri tabanı ortamında kullanılan bir alt dildir. SQL ile yalnızca veri tabanı üzerinde işlem yapılabilir. “17 numaralı bölümde çalışan sekreterlerin ad, soyad ve adresleri” bulunmak isteniyor: SELECT ADI, SOYADI, ADRESİ FROM PERSONEL WHERE BÖLÜMNO = 17 AND GÖREVİ = ‘Sekreter’; İlişkisel veri tabanı modellerinde kullanılan popüler sistemler: Access, SQL Server, MySQL, Sybase Nesneye Yönelik Veri Tabanı Nesneye yönelik veritabanı (OODB), veriyi nesnelerde saklar. Nesneye yönelik veritabanları veriyi değiştirmek ve geri almak için genellikle bir nesne sorgulama dili (OQL) kullanır. Nesneye yönelik veritabanı uygulamaları: multimedya veritabanı grup yazılımı veritabanı bilgisayar destekli tasarım (CAD) veritabanı hipermetin veritabanı hiperortam veritabanı web veritabanı Çok Boyutlu Veri Tabanları Büyük ve ağır veri tabanlarındaki verilerin analiz edilmesi gerektiğinde ilişkisel veri tabanları uygun olmamaktadır. Çok boyutlu veri tabanları veri analizi için kullanılan ve veriyi çeşitli boyutlarda saklayan büyük veri tabanlarıdır. Veriyi iki boyuttan daha fazla boyutta saklayabilir. Hiperküp olarak da bilinir. Veriyi ilişkisel veritabanından çok daha hızlı birleştirebilir. Her sütunun farklı bir boyutu temsil ettiği tek bir tablo olarak görülebilir. Çok boyutlu veritabanları için, standart bir sorgulama dili mevcut değildir. Çok Boyutlu Veri Tabanları Hangi Veri Tabanı Kullanılmalı Çok küçük veri depolama ihtiyacında: Paradoks Eğer bir web sitesinde veri miktarı ve aynı anda yapılan işlem sayıları az, küçük yoğunlukta trafik varsa; basit web uygulamaları için : Access, MySQL Daha büyük ve orta ölçekli uygulamalar için: Progress, MS SQL, ya da Linux üzerinde PostgreSQL . Oracle ise çok yüksek güvenlik ve işlem gücü gerektiğinde tercih edilen bir veritabanı yönetim sistemidir. Veri Ambarı Veri ambarı; bir işletmenin ya da kuruluşun değişik birimleri tarafından canlı sistemler aracılığı ile toplanan bilgilerin, gelecekte kullanılabilecek ya da değerlendirilebilecek olanlarının arka planda üst üste yığılarak birleştirilmesinden oluşan büyük çaplı bir veri deposudur. Ürün değil, ortamdır. Datamart; veri ambarının alt kümesidir, küçük boyutludur. Metadata; veri ambarında verilerin tanımlandığı kısımdır. Veri ambarının kullanım amaçları şunlar olabilir: Müşterilerin gizli kalmış satın alma eğilimlerini tespit etmek Satış analizi ve trendler üzerine odaklanmak Finansal analizler yapmak Stratejik Analiz (Bir karar destek sistemi olmasından dolayı) Veri Ambarı İle Veri Tabanının Karşılaştırılması Veri Ambarı • Metadatalardan oluşur. • Üst yönetime hitap eden KDS'lerdir. • Son kullanıcı sayısı azdır (<100). • Off-Line çalışır. • Veri madenciliği gibi uzun ve karmaşık süreçleri sonucunda analizler yapılabilir. • Tarihsel verilerden (metadatalardan) oluşur. Veri Tabanı • Verilerden oluşur. • Organisazyonun her aşamasında veriye ulaşılır. • Son kullanıcı sayısı fazladır (>1000). • On-Line çalışır. • Sorgularla istenilen sonuçlara anında ulaşılır. • Güncel verilerden oluşur. Veri Ambarı Fonksiyonları Değişik platformlar üzerindeki işletimsel uygulamalara ait verilere erişim ve gerekli verilerin bu platformlardan alınması Alınan verilerin temizlenmesi, tutarlı duruma getirilmesi, özetlenmesi, birleştirme ve birbirleriyle entegrasyonunun sağlanması Dönüştürülen verilerin veri ambarı veya datamart ortamına dağıtımı Gönderilen verilerin bir veri tabanında toplanması Depolanan bilgi ile metadatada bulunan ilgili bilgilerin veri katalogunda saklanması ve son kullanıcılara sunulması Veri ambarı veya datamartta bulunan bilgileri uç kullanıcıların karar destek amaçlı kullanımının sağlanması