Veri tabanı

advertisement
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ı
Download