Dosya Organizasyonu ve Veritabanı



Benzer belgeler
Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

VERİ TABANI YÖNETİM SİSTEMLERİ

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

HASTANE OTOMASYONU VERİ TABANI YÖNETİM SİSTEMLERİ TEMEL VERİTABANI KAVRAMLARI

Veri Tabanı Tasarım ve Yönetimi

BIM 312 Database Management Systems. Veritabanı Kavramına Giriş

Database Management System

1 Temel Kavramlar. Veritabanı 1

VERİTABANI DERS NOTLARI

VERİ TABANI YÖNETİM SİSTEMLERİ. Öğr. Gör. Selçuk Özkan

İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir.

VERİ TABANI YÖNETİM SİSTEMLERİ Melih BÖLÜKBAŞI

VERİTABANI VERİTABANIN AVANTAJLARI ÖZET

1-Veritabanı Yönetim Sistemleri /Tanım

Bölüm 1: Veritabanı Yönetim Sistemlerine Giriş

VERİ TABANI YÖNETİM SİSTEMLERİ

2 İlişkisel Veritabanı Tasarımı. Veritabanı 1

2 Temel Kavramlar (Devam) Veritabanı 1

VeritabanıYönetimi Varlık İlişki Diyagramları. Yrd. Doç. Dr. Tuba KURBAN

2 İlişkisel Veritabanı Tasarımı ve Normalizasyon. Veritabanı 1

Veritabanı Tasarımı ve Yönetimi. Uzm. Murat YAZICI

VERİ TABANI SİSTEMLERİ

VERİ TABANI YÖNETİM SİSTEMLERİ I

08128 Veri Tabanı I. Database Management System. Öğr.Gör. Murat KEÇECİOĞLU

Veri Tabanı-I 1.Hafta

İnternet Programcılığı

Coğrafi Bilgi Sistemlerine Giriş. Ünite 5 - Veri Tabanı Yönetim Sistemleri

VERİ KAYNAKLARI. Bilgi sisteminin öğelerinden biride veri

Veritabanı Uygulamaları Tasarımı

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi

Veritabanı. Ders 2 VERİTABANI

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veritabanı Sistemleri

Arş. Gör. Özlem AKTAŞ.

VERĐTABANLARINA GĐRĐŞ

Veri Tabanı Yönetim Sistemleri Bölüm - 3

VERİTABANI ORGANİZASYONU

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri

Veritabanı Yönetim Sistemleri, 2. basım Zehra ALAKOÇ BURMA, 2009, Seçkin Yayıncılık

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık Bağıntı Modeli

Veritabanı ve Yönetim Sistemleri

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Varlık-İlişki Modeli (Entity-Relationship Model)

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık İlişki Modeli

VERİ TABANI UYGULAMALARI

EBE-368 Veri Tabanı Yönetim Sistemleri İlişkisel Model (The Relational Model)

İLİŞKİSEL VERİ MODELİ

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış

UZAKTAN EĞİTİM MERKEZİ

1 Temel Kavramlar. Veritabanı 1

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar

Veritabanı Yönetimi Bilgisayarların. Keşfi Hedefler. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi

VERİ TABANI YÖNETİM SİSTEMLERİ

Veri Tabanı-I 1.Hafta

İLİŞKİSEL VERİTABANLARI

Temel Bilgisayar (Basic Computer) Yazılım (Software)

10-Veri Tabanları.

=A1+A2-A3, =A1*A2/A3,

Veri Tabanı Hafta Dersi

ELIF KIOTZEOGLOU RESUL MURAD MERT PACOLARI

Bilgisayarların Gelişimi

Turquaz. Açık kodlu muhasebe yazılımı Turquaz Proje Grubu

Tekrar. Veritabanı 2

Fiziksel Veritabanı Modelleme

KISITLAMALAR (CONSTRAINT)

VTYS İlişkisel Veri Modeli Y R D. D O Ç. D R. M. B E T Ü L Y I L M A Z

VERİ TABANI YÖNETİM SİSTEMLERİ I

Veritabanı Dersi. Teoriden Pratiğe. Çağıltay N.E., Tokdemir G.

Veritabanı Tasarımı Ve Yönetimi. Varlık-İlişki Modeli

ve kullanıcı gereksinim listeleri size yol gözünden

Veri Tabanı Örnekleri

DOSYA ORGANİZASYONU. Giriş ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) İlişkisel Veritabanı Modeli

BTP 209 SİSTEM ANALİZİ VE TASARIMI

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA

VERİ TABANI ve YÖNETİMİ

İşletim Sisteminin Temel İşlemleri

Bölüm 2 Varlık-İlişki Veri Modeli: Araçlar ve Teknikler. Fundamentals, Design, and Implementation, 9/e

EBE-368 Veri Tabanı Yönetim Sistemleri Veri Tabanı Tasarımı

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri

İlişkisel Veri Tabanları I

Chapter 1 Introduction to Database Processing. Fundamentals, Design, and Implementation, 9/e

VERİTABANI & VERİTABANI YÖNETİMİ

4.4. Hazır bir veritabanı kullanılarak amacına yönelik sorgulama yapar ve yorumlar.

SQL (Structured Query Language)

Veritabanı, Veri Madenciliği, Veri Ambarı, Veri Pazarı

MOODLE UZAKTAN ÖĞRETİM SİSTEMİ

Veritabanı ve Yönetim Sistemleri

BİL Bilişim Teknolojileri. Access

Temel Kavramlar-2. Aşağıda depolama aygıtlarının kapasitelerini inceleyebilirsiniz.

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access

Öğr.Gör. Gökhan TURAN Gölhisar Meslek Yüksekokulu

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

Veri Tabanı-I 4.Hafta

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Veritabanı Tasarımı Ve Yönetimi

Veritabanı Yönetim Sistemleri

MongoDB. Doğan Aydın. Eylül, 2011

DİSK DEPOLAMA ALANLARI

Transkript:

Dosya Organizasyonu ve Veritabanı Dosya Organizasyonu Dosya (file) aynı yapıya sahip ve birbirleri ile ilişki içerisinde olan kayıtlar (records) topluluğudur. Bir kayıt içindeki ayrı ayrı veri parçalarına alan (field) adı verilir. Örneğin bir öğrenci bilgileri dosyasını ele alırsak, öğrencinin adı, soyadı, numarası, aldığı dersler ve bu derslerden aldığı notlar ayrı ayrı birer alandır. Bir öğrenciye ait bütün bu alanlar bir araya gelerek öğrencinin kaydını oluşturmakta ve tüm öğrencilere ait kayıtlar da bir araya gelerek öğrenci bilgileri dosyasını oluşturmaktadır. Numarası ı Soyadı ü 122 Nedim Doğan Gazetecilik 456 Ece Mumcu Hukuk 342 Bilge Aydın Bilgisayar Mühendisliği Dosya yapıları veri tabanı denilen ve güncel uygulamalarda kullanılan yapının temelini oluşturur. Alanlar kayıtları, kayıtlar dosyaları oluşturur ve dosyaların bir araya gelmesi ile de veri tabanları oluşmaktadır. Bir veri tabanı sistemi, aralarında kayıt (record) düzeyinde ilişki bulunan dosyaların herhangi bir uygulama için bir araya getirilmesiyle oluşur. Bir yazılım sisteminden beklenen özellikler Hızlı cevap süresi Gerçek zamanlı uygulamalarda performans Geliştirilme için gereken toplam süre Etkin hafıza kullanımı Kullanılabilirlik Dosya organizasyonundaki amaç tüm bu beklentiler ve sınırlamalar altında en iyi performansı elde etmektir. Dosyalar büyük miktarda veriler içerdiklerinden veri depolama ortamlarında saklanırlar ve kullanış amaçlarına göre değişik şekillerde düzenlenirler. Düzenleniş biçimine göre ve veri depolama ortamına bağlı olarak bir dosyaya genel olarak 2 farklı biçimde erişilir: 1. Sıralı erişim: Bir veriye (bellekte, diskte veya kasette bulunan) önceden belirlenen bir sıra izlenerek birbiri ardı sıra ulaşılması anlamına gelir. Bu erişim bazen veriye ulaşmak için tek yoldur (kasetlerde gibi). Örneğin; 500 kayıt bulunan bir dosyada 280. sıradaki kayıta ulaşmak için o kayıta gelinceye kadar olan tüm kayıtların okunması gerekir. 2. Doğrudan erişim: Ulaşılmak istenen bir veriye, diğer kayıtlardan bağımsız olarak doğrudan erişmek mümkündür. Bunun için her bir kaydı diğer kayıtlardan ayıran anahtar (key) tanımlayıcısına ihtiyaç duyulur. Dosya Sistemlerinin Sakıncaları Klasik dosya sistemleri kullanılmaya başlandıktan sonra bazı dezavantajları olduğu ortaya çıkmıştır. Bunlar şöyle sıralanabilir: 1

Veri tekrarı: Aynı veri çeşitli dosyalarda birden fazla yer alabilmektedir buda sistemin hantallaşmasına neden olur. Mesela bir stok dosyasında stok numarası verisinin malzeme dosyasında, fatura dosyasında ve ambar girişi dosyasında yer alması gibi. Verinin birkaç dosyada güncellemesi: Veri birden fazla dosyada tekrar edilebildiği için, verinin bir dosyada güncellenip diğerlerinde güncellenmemesi Veri Bütünlüğünün (Data Integrity) bozulmasına neden olabilir. Buna bağlı olarak birbiri ile çelişen raporlar üretilebilir. Belleğin tekrarlı bilgi nedeniyle israfı: Aynı verinin birden fazla dosya içinde bulunması nedeniyle kullanılan veri hard diskte fazla yer işgal edecektir. Yani hard disk tekrarlı veriler için kullanılmış olacaktır. Sadece belirli bir dilin kullanılması: Verilerin dosya sisteminde saklandığı ortamlar için değişik programlama dillerinden bir tanesi kullanılır. Kullanılan bu programlama dili ise SQL dili gibi esnek değildir. Veritabanı Veritabanı, sistematik erişim imkânı olan, yönetilebilir, güncellenebilir, taşınabilir, birbirleri arasında tanımlı ilişkiler bulunabilen bilgiler kümesidir. 1 Birbiriyle ilişkili veriler bir kuruluşun çalışabilmesi, işleyebilmesi için kullanılan çok çeşitli verilerdir. Ticari bir şirket için müşteri bilgileri, satış bilgileri, ürün bilgileri, ödeme bilgileri, vb., okul için öğrenci bilgileri, açılan dersler, kimlerin kaydolduğu, öğretmen bilgileri, boş ve dolu derslikler, sınav tarihleri, vb., hastane için hasta bilgileri, doktor bilgileri, yatakların doluluk boşluğu, teşhis-tedavi bilgileri, mali bilgileri, vb Veri Tabanının Avantajları Gereksiz veri tekrarını önler:geleneksel veri depolamak için kullanılan dosya sistemlerinde, bazı veriler gereksiz şekilde birçok kez tekrarlanır. Böylece milyonlarca kayıtın tutulduğu geleneksel dosya sistemlerinde dosya büyüklüğü gereksiz şekilde şişer. Örneğin Tablo 1 deki öğrenci kişisel bilgileri ve aldığı ders bilgilerinin geleneksel dosya sistemine göre tek bir tabloda tutulduğu kayıtlara bakılırsa, Koray Aydoğan isimli öğrencinin aldığı her ders bilgisi için, numara, adres, doğum tarihi ve bölüm bilgilerinin gereksiz şekilde tekrarlandığı görülür. Benzer şekilde BTP 108 kodlu dersin adı, o dersi alan bütün öğrenciler için 3 defa gereksiz şekilde tekrarlandığı görülür. Bu bilgileri veritabanına dönüştürülürse, öğrenci ve ders bilgileri ayrı tablolarda tutularak veri tekrarı önlenir. Öğrenci ı No Soyadı 08020633 Koray Aydoğan 08020633 Koray Aydoğan 08020633 Koray Aydoğan 08020669 Tayfun İncereis 08020669 Tayfun İncereis res Aldığı Ders kodu Kağıthane/ Bilgisayar BTP 108 İstanbul Teknolojisi ve Kağıthane/ İstanbul Kağıthane/ İstanbul Ümraniye/ İstanbul Ümraniye/ İstanbul Programalama Bilgisayar Teknolojisi ve Bilgisayar Teknolojisi ve Bilgisayar Teknolojisi ve Bilgisayar Teknolojisi ve BTP 104 Ders ı Veritabanı Yönetim Sistemleri Veri Yapıları BTP 106 Grafik ve Animasyon BTP 108 BTP 104 Veritabanı Yönetim Sistemleri Veri Yapıları Aldığı Dönem Not 3,5 II 3,0 II 2,5 II 3,0 II 3,5 II 1 http://altanmesut.trakya.edu.tr/vt/ders1.ppt 2

08020669 Tayfun İncereis 08020669 Tayfun İncereis 08020660 Orhan Yavuz Demir 08020660 Orhan Yavuz Demir 08020660 Orhan Yavuz Demir 08020660 Orhan Yavuz Demir Ümraniye/ Bilgisayar BTP 103 Algoritma 2,5 I İstanbul Teknolojisi ve ve Program. Ümraniye/ Bilgisayar BTP 105 Temel 4,00 I İstanbul Teknolojisi ve Elektronik Gökçebostan Bilgisayar BTP 108 Veritabanı 3,0 II Mh. / Sivas Teknolojisi ve Yönetim Sistemleri Gökçebostan Bilgisayar BTP 102 Bilgisayar 3,5 II Mh. / Sivas Teknolojisi ve Donanımı Gökçebostan Bilgisayar ING 103 Yabancı 2,5 II Mh. / Sivas Teknolojisi ve Dil Gökçebostan Bilgisayar BTP 104 Veri 4,00 II Mh. / Sivas Teknolojisi ve Yapıları Veri güvenliği sağlar: Bazı uygulamaları ürettiği verilerin güvenliğini sağlamak önemli konudur. Veritabanı kullanıcılarının veritabanının içerdiği tüm bilgilere kolayca erişmesi istenilen bir durum değildir. Örneğin, pazarlama bölümü uygulamalarında çalışan bir kullanıcının, diğer personel özlük bilgilerine ulaşması engellenmelidir. Bunun gibi, her kullanıcının erişebileceği veriler ayrı ayrı tanımlanmalıdır. Veritabanı sistemlerinde kullanıcılara veritabanı üzerinde çeşitli yetkiler atanır ve bu yetkiler veritabanı üzerindeki veriler ile birlikte saklanır. Çoklu kullanıcı erişimini sağlar: Veritabanı üzerindeki verilere aynı anda çok sayıda kullanıcı erişerek veriler üzerinde değişiklik yapabilir. Aynı andaki erişimlerde tutarsızlıkları önler: Veritabanı uygulamalarında, veritabanı nesneleri başka başka uygulamalar tarafından paylaşılabilir. Veriler aynı anda farklı uygulamalar ve dolayısıyla farklı kullanıcılar tarafından aynı anda paylaşılabilir. Örneğin; bir elektronik eşya satan bir firmanın veritabanında ürün stokunda 50 adet uydu alıcısı olduğunu varsayalım. İki farklı kullanıcıdan birinin aynı anda 25, diğerinin 30 adet uydu alıcı çıkışı yapmaya çalıştığını düşünelim. İşlem aynı anda yapıldığı için, 50 birimlik stoktan 55 birimlik çıkış yapılabileceği düşünülebilir. Ancak veritabanı yönetim sistemi buna izin vermez. Çıkışlar aynı anda yapılmasına rağmen, önce birincisini stoklardan çıkarır ve ikincisi için bir kontrol yaparak çıkışı önler. Veri Tabanı Yönetim Sistemi VTYS Veri tabanı tanımlamak, yaratmak, yaşatmak ve veri tabanına denetimli erişim sağlamak için kullanılan yazılım sistemidir. 2 Veri tabanı yönetim sistemi, kullanıcı ile veri tabanı arasında bir arabirim oluşturmaktadır ve veri tabanına her türlü erişimi sağlar. Veri tabanının tanımlanması: veri tabanını oluşturan verilerin tip ve uzunluklarının belirlenmesidir. Veri tabanını oluşturulması ise veri için yer belirlemesi ve saklama ortamına verilerin yüklenmesini ifade eder. Veri tabanı üzerinde işlem yapmak; belirli bir veri üzerinde sorgulama yapmak, meydana gelen değişiklikleri yansıtmak için veri tabanının güncellenmesi ve rapor üretilmesi gibi işleri temsil eder. Ayrıca veri tabanı yönetim sistemi, verinin geri çağrılmasını sağlar. Veri tabanına yeni kayıt eklemek, eskileri çağırmak ve gerekli 2 http://pozitron.sdu.edu.tr/dersnotlari/veri%20taban%c4%b1%20sistemleri%201/bol1.pdf 3

düzeltmeleri yapmak yoluyla, verinin bakımını ve sürekliliğini gerçekleştirir, kayıtlara yeni veri eklemek ve yeni kayıtlar oluşturmakla, veri tabanını genişletir. VTYS ler fiziksel hafızayı ve veri tiplerini kullanıcılar adına şekillendirip denetleyen ve kullanıcılarına standart bir SQL ara yüzü sağlayarak onların dosya yapıları, veri yapısı, fiziksel hafıza gibi sorunlarla ilgilenmek yerine veri giriş-çıkışı için uygun arayüzler geliştirmelerine olanak sağlayan yazılımlardır. VTYS de verileri tutmak üzere birçok türde nesne ve bu nesnelere erişimleri düzenlemek üzere kullanıcılar, roller ve gruplar yer alır. Her bir kullanıcının belli hakları vardır. Bu haklar, kısıtlanabilir. Örneğin bir tablo ya da programcığı bir kullanıcı kullanabilirken bir başkasının hakları veritabanı yöneticisi tarafından kısıtlanmış olabilir. Veri Tabanı Yönetim Sistemleri (VTYS) belirli bir veri modeline dayanır. Bir veri tabanı yapısının temelini veri modeli kavramı olusturmaktadır. Veriyi mantıksal düzeyde düzenlemek için; kullanılan kavramlar, yapilar ve islemler topluluguna Veri Modeli denir. Şu ana dek birçok veri modeli gelistirilmistir. Bunlar; Hiyerarşik Veri Tabanları: Bu veritabanı tipi, ana bilgisayar ortamlarında çalışan yazılımlar tarafından kullanılmaktadır. Bu türde en çok kullanılan yazılım, IBM tarafından çıkarılan IMS' dir. Uzun bir geçmişe sahip olmasına rağmen, PC ortamına uyarlanan hiyerarşik veri tabanları yoktur. Hiyerarşik veri tabanları, bilgileri bir ağaç (tree) yapısında saklar. Kök (Root) olarak bir kayıt ve bu köke bağlı dal (Branch) kayıtlar bu tip veritabanının yapısını oluşturur. Ağ (network) veri modeli: Hiyerarşik veri tabanlarının yetersiz kalmasından dolayı bilim adamlarının ortak çalışması sonucu ortaya konulmuş bir veri tabanı türüdür. Ağ veri tabanları verileri ağaçların daha da gelişmiş hali olan graflar (ağacın kendiside özel bir graftır.) şeklinde saklarlar. Bu yapı en karışık yapılardan biridir. İlişkisel veri modeli: E.F. Codd Tarafından 1970 yılında önerilmiştir. Bu sistemde veriler tablo şeklinde saklanır. Bu veri tabanı yönetim sisteminde; veri alış verişi için özel işlemler kullanılır. Günümüzde hemen hemen tüm veri tabanı yönetim sistemleri ilişkisel veri modelini kullanırlar. Bu model, matematikteki ilişki teorisine ( the relational theory ) dayanır. Tablolar arasında ilişkiler belirtilir. İlişkisel veri modelinde (Relational Data Model) veriler basit tablolar halinde tutulur. Tablolar, satır ve sütunlardan oluşur Nesneye yönelik veri modeli: Günümüzde nesne kavramı her yerde kullanılmaktadır. Pek çok kelime işlemci ve hesap tablosu programlarının alıştığımız görünümlerine artık bir de nesneler eklenmiştir. Ancak bu gerçek anlamda bir nesneye yönelik yazılım demek değildir. Yüzde yüz nesneye yönelik bir yazılımın tamamen nesneye temelli çalışması gerekir. Yazılımın mutlaka nesneye yönelik bir dilde yazılmış olması beklenir. Fakat Windows gibi işletim sistemi üzerinde çalışan yazılımlar bu özelliklere tümüyle sahip değillerdir. Sadece nesne kavramını kullanarak bazı ek özellikler sunarlar. Nesneye yönelik veri tabanı da, C++ gibi nesneye dayalı bir dille (OOPL) yazılmış olan ve yine C++ gibi nesneye dayalı (OOPL) bir dille kullanılan veri tabanı anlamına gelir. Günümüz teknolojisinde yüzde yüz nesneye yönelik bir veri tabanı yaygın olarak kullanıma sunulmuş değildir. Ancak nesneye yönelik veri tabanlarının bazı üstünlükleri olacağından söz edilmektedir. Sayılan bu veri modellerinin içinde en yaygın kullanılanı, ilişkisel veri modelidir. Günümüzde kullanılan VTYS'lerin hemen hemen tümü iliskisel veri modeline dayalidir. Son zamanlarda ortaya çıkan nesneye yönelik veri modeli, ilişkisel veri modeli (E-R (Entitiy-Relationship=Varlık-İlişki)) ile birlikte bazı VTYS'lerde kullanılmaktadır. 4

E-R modeli kavramları Varlık ve nitelikleri Gerçek hayatta diğerlerinden ayırt edilebilen nesnelere varlık denir 3. Bir varlık, kişi, araba, ev veya çalışan gibi fiziksel nesneler olabileceği gibi, şirket, iş veya ders gibi fiziksel olmayan nesneler de olabilir. Her varlık kendisini tanımlayan kendisine has özelliklere sahiptir. Örneğin, bir çalışan varlığı, çalışan adı, yaşı, adresi, maaşı ve görevi özellikleri ile tanımlanır. Her varlığın niteliğinin bir değeri olur. Örneğin öğrenci varlığı olan o1 varlığının ad, öğrenci numarası, adres, telefon niteliklerinin değeri sırasıyla Halil İbrahim Onay, 08020618 Gülbahar Mh., Rize, 5128688888 verilebilir. Varlık kümesi Veritabanında benzer varlıklar ve nitelik değerlerinden oluşan kümeye varlık kümesi denir. Örneğin öğrenci varlıklarından o1 varlığı olan Halil İbrahim Onay, 080206018, Gülbahar Mh., Rize, 5128688888, ile birlikte o2 varlığı olan Ferhat Kavcı, 08020641, Avcılar, İstanbul, 2125098888 ve o3 varlığı olan Işıl Mavier, 08020609, Manisa, Merkez, 02362348888 tümü öğrenci varlık kümesini oluştururlar. ER şemasında varlık kümeleri dikdörtgen içinde belirtilir. Nitelikler ise oval bir daire içinde belirtilerek ilgili varlık kümesine çizgi ile bağlanır. res Öğrenci No Öğrenci Telefon Şekil1 de öğrenci varlık kümesi ve ad, numara, adres ve telefon niteliklerinin şeması görülmektedir. Anahtar Nitelik Varlık kümesindeki bir veya daha fazla niteliğin değeri, her bir varlık için farklı ise bu nitelik anahtar niteliktir. Örneğin öğrenci varlık kümesinde öğrencino anahtar niteliktir. Çünkü bir üniversitede, öğrenci varlık kümesinde hiçbir varlığın öğrencino niteliği aynı olamaz. Benzer şekilde personel varlık kümesinde, sicilno niteliği anahtar niteliktir. Hiçbir personelin sicilno su aynı olamaz. Anahtar nitelik, ER şemasında niteliğin altı çizilerek gösterilir. Şekil 2 de varlık kümesinin anahtar niteliği ve diğer nitelikleri görülmektedir. Sicil No res Maaş Tek değerli nitelikler - çok değerli nitelikler Genellikle bir varlığın tek bir değeri vardır. Örneğin personel varlığının sicil numarası niteleiği tek değeri olur. Bir varlığın bir niteliğinin aldığı değer tek ise bu niteliğe tek değerli nitelik denir. Ancak bazı niteliklerin birden çok değeri olabilir. Örneğin personel varlığının yabancı dil niteliği, birden çok değer alabilir. Bu durumda personel varlığının yabancı dil niteliği çok değerli nitelik denir. Başka bir örnek olarak, bir personelin bakmakla yükümlü olduğu kişi niteliği bir kişi de SicilNo res olabileceği gibi birden çok kişi de olabilir. Bu durumda personel varlığının bakmakla yükümlü olduğu kişi niteliği çok değerli niteliktir. ER şemasında çok değerli nitelikler çift çizgili oval olarak gösterilir. Maaş Bakmakla yükümlü kişi 3 fatih.edu.tr/~zcetin/0708/bilg106/dokuman/veritabani_er.doc 5

Domain Varlık kümesinde niteliklerin alabileceği değerler aralığını belirler. Örneğin öğrenci varlık kümesinde, dogumtarih niteliği 01.01.1980 ile 01.01.1990 arasında olabileceğini belirlemek için domain kullanılır. Domain aralığı ER şemasında gösterilmez. İlişkiler İki veya daha fazla varlık kümesi arasında kurulan anlamlı bağıntılara ilişki denir. İlişkiler ER şemasında dörtgen ile gösterilir. Dörtgen içine ilişkinin adı yazılır. varlık kümesi ile bölüm varlık kümesi arasında çalışır ilişkisi (Şekil 1), müşteri varlık kümesi ile ürün varlık kümesi arasında satın alır ilişkisi örnekleri verilebilir (Şekil 2). Satın çalışır Müşteri Ürün alır Şekil 1. - varlık kümesi çalışır ilişkisi Şekil 2. Müşteri-Ürün varlık kümesi satın alır ilişkisi İki varlık kümesi arasında birden fazla ilişki de olabilir. Örneğin bölüm varlık kümesi ile öğrenci varlık kümesi arasında okur ilişkisi olabileceği gibi temsilcilik yapar ilişkisi de olabilir (Şekil ). okur Temsilci olur Öğrenci İlişki Derecesi İlişkide bulunan varlık kümelerin sayısı ilişkinin derecesini oluşturur. Genelde ilişkiler iki varlık kümesi arasında yapılır. Ancak bazı durumlarda, ilişkide ikiden fazla kümesi yer alabilir. Örneğin bir personelin hangi projede hangi görevi yaptığı bilgisi gerekli ise; personel, proje ve görev varlık kümeleri arasında çalışır ilişkisi yapılır ( Şekil 7.4). Benzer şekilde hangi öğrencinin hangi dersi hangi öğretim görevlisi bilgisi gerekli ise; öğrenci, ders ve öğretim görevlisi arasında ders alır ilişki yapılır (Şekil 5). Görev Ders çalışır Proje Öğrenci Ders alır Öğretim Görevlisi Şekil 4. Üç varlık kümesi arasındaki çalışır ilişkisi Şekil 5. Üç varlık kümesi arasındaki ders alır ilişkisi Tanımlayıcı Nitelik Varlık kümeleri arasındaki ilişkide oluşan niteliklere tanımlayıcı nitelik denir. Tanımlayıcı nitelikler ilişkinin olması ile var olabilir. İlişki oluşmaz ise bu nitelikler de var olamaz. Müşteri varlık kümesi ile 6

ürün varlık kümesi arasında satın alır ilişkisinde, müşterinin ürünü aldığı tarih ile satın aldığı ürünün miktarı nitelikleri tanımlayıcı niteliklerdir. Tanımlayıcı nitelikler ilişki ile bağlanır (Şekil 6). Tarih UrunKod MusteriNo res Müşteri Satın alır Ürün Stokmikta Maaş Miktar Fiyat Birim Şekil 6. Müşteri ürün satın alır ilişkisinde tarih ve miktar tanımlayıcı niteliktir İlişki Türleri Varlık kümeleri aralarında 3 türde ilişki kurulabilir. 1. Bire-bir (1-1) ilişki A varlık kümesinin bir elamanı, B varlık kümesinin sıfır ya da bir elemanı ile ilişki kurabiliyorsa bu ilişki türüne bire-bir ilişki denir. Örneğin personel varlık kümesi ile bölüm varlık kümesi arasında yönetir ilişkisi bire-bir ilişkidir (Şekil?- Şekil?) p1 p2 p3 p4 p5 Yönetir b1 b2 b3 b4 b5 SicilNo N 1 1 yönetir res Maaş A Şekil. - yönetir 1-1 ilişkisi 2. Bire-birçok (1-n) ilişki Öğrenci A varlık kümesinin bir elemanı B varlık kümesinin 0 ya da birden çok elemanı ile ilişki kurabiliyorsa bu ilişki bire-bir ilişkidir. Örneğin öğrenci bölüm okur ilişkisinde bir öğrenci birebirçok ilişkidir. Bir öğrenci en çok bir bölümde okur iken, bir bölümde birden çok öğrenci okuyabilir (Şekil?) ö1 ö2 ö3 ö4 Okur b1 b2 b3 b4 b5 7 ö5

ÖğrenciN N Cinsiyet Öğrenci n 1 Okur res Doğum Tarih A Şekil 10. Öğrenci - okur 1-n ilişkisi 3. Birçoğa-birçok (n-n ya da n-m) ilişki A varlık kümesinin bir elemanı, B varlık kümesinin sıfır ya da birçok eleman ile ilişki kurabiliyor ve B varlık kümesinin bir elemanı, A varlık kümesinin sıfır ya da birçok elemanı ile ilişki kurabiliyorsa bu ilişki türü birçoğa birçok ilişki türüdür. Birçoğa birçok ilişki kısaca n-m ilişki olarak da adlandırılabilir. Örneğin müşteri ile ürün varlık kümeleri arasında satın alır ilişkisi birçoğa birçok ilişkidir. Çünkü bir müşteri birden çok ürün satın alabilirken, bir ürünü birden çok müşteri satın alabilir (Şekil 11- Şekil 12). Müşteri Ürün m1 Satın alır ü1 m2 ü2 m3 ü3 m4 ü4 m5 ü5 Şekil 11. Müşteri-ürün satın alır n-m ilişkisi MusteriN Tarih UrunNo Urun res Müşteri n Satın Alır m Ürün Telefon Miktar Birim Stok Miktarı Şekil 12. Müşteri-ürün satın alır n-m ilişkisi 8

4. Tekrarlamalı (Recursive) İlişki Genellikle, ilişkiler farklı varlık kümeleri arasında oluşur. Ancak bazı durumlarda tek varlık kümesi üzerinde ilişki kurulabilir. Örneğin personel varlık kümesinde yönetir ilişkisi tekrarlamalı ilişkidir. Bir personel birden çok personeli yönetebilir. Bu ilişki Şekil 13 de görülmektedir. Şekil 14 te ikamet eden varlık kümesinde aile reisi olur ilişkisi tekrarlamalı ilişkidir. Bir ikamet eden diğer ikamet edenlerin aile reisidir. Benzer şekilde futbol takımlarının kendi aralarında maç yapar ilişkisi de tekrarlamalı (recursive) ilişkidir. Şekil (15) İkamet eden Takımlar 1 n 1 n n m Yönetir Aile reisi Maç yapar Şekil 13. varlık kümesinin yönetir 1-n tekrarlamalı ilişkisi Şekil 14. İkamet eden varlık kümesinin aile reisi olur 1-n tekrarlamalı ilişkisi Şekil 15. Takımlar varlık kümesinin maç yapar n-m tekrarlamalı ilişkisi 5. Güçlü-Zayıf Varlık Kümesi Bir varlık kümesinin nitelikleri içerisinde anahtar nitelik (alan) oluşturulamıyorsa, bu varlık kümesine zayıf varlık kümesi denir. Bir varlık kümesinin nitelikleri içerisinde en az bir tanesi anahtar nitelik olabiliyorsa bu varlık kümesine güçlü varlık kümesi denir. Zayıf varlık kümeleri, güçlü varlık kümeleri ile 1-n ilişki oluştururlar. Ancak her 1-n ilişki güçlü-zayıf varlık kümesi ilişkisi değildir. Zayıf varlık kümeleri ER şemasında çift çizgili dikdörtgen ile gösterilir. Ayrıca zayıf varlık kümelerinin güçlü varlık kümelerine var olma bağımlılığı olması gerekir. Üniversite fakülte ilişkisinde, bir fakülte üniversite olmadan olamayacağı için ve aynı fakülte isminde başka üniversitelerde fakülte olabileceği için fakülte varlık kümesi zayıf varlık kümesidir. Veritabanı tasarım işlemi birkaç değişik işlem aşamalarından oluşur. İlk olarak, veritabanı yapılacak kurum ya da kuruluşun ihtiyacı olan bilgilerin analizi yapılır. Bu süreçte, veritabanı tasarımcısı, veritabanını kullanıcıları ile görüşerek kullanıcı ihtiyaçlarını tespit eder. Veriler toplanıp sistem analizi yapıldıktan sonra, ilişkisel veri modeline göre veritabanı şeması oluşturulur. Bu şema, veritabanı kullanıcılarının ihtiyaç duydukları verilerin kısa açıklamasıdır. Bu şema içerisinde varlık tipleri ve ilişkilerin açıklaması bulunur. Daha sonra bu şemaya göre tablolar çıkarılır. ER şemasının tablolara dönüştürülmesi Bire bir ilişkilerin dönüştürülmesi Birebir ilişkiyi oluşturan varlık kümeleri tablolara dönüştürülür. Nitelikler tabloların alanlarına dönüşür. Uygun olan varlık kümesinin anahtar alanı diğer varlık kümesine yabancı anahtar olarak eklenir. Bire-bir ilişkide belirtilen tanımlayıcı nitelikler, yabancı anahtar eklenen tabloya alan olarak eklenir. Örneğin bölüm ve personel varlık kümeleri arasındaki yönetir birebir ilişkisinde iki şekilde dönüştürme yapılır. Birincisi, her iki varlık kümesi bölüm ve personel tablolarına dönüştürülür. tablosuna personel tablosunun anahtar alanı olan sicilno alanı yabancı anahtar olarak eklenir. İkincisi, benzer şekilde her iki varlık kümesi bölüm ve öğrenci tablolarına dönüştürülür. Öğrenci tablosuna bölüm tablosunun anahtar alanı olan bölümno alanı yabancı anahtar olarak eklenir. 9

sicilno ad soyad bölümno bölüm 1 1 çalışır adres maaş ER şemasının tablolara dönüştürme; Şekil 1. - çalışır bire-bir ilişkisi ER şeması 1. Yol (bölümno, bölüm, sicilno) 2. Yol (bölümno, bölüm ) (sicilno, ad, soyad, adres, maaş) (sicilno, ad, soyad, adres, maaş, bölümno) Bire birçok(1 n) ilişkilerin tablolara dönüştürülmesi İlişkiyi oluşturan varlık kümeleri tablolara dönüştürülür. İlişkinin n tarafındaki tabloya 1 tarafındaki tablonun anahtar alanı yabancı anahtar olarak eklenir. İlişkide belirtilen tanımlayıcı nitelikler n tarafına alan olarak eklenirler. Örneğin öğrenci bölüm varlık kümeleri arasındaki 1-n okur ilişkisinde öğrenci ve bölüm varlık kümeleri tablolara dönüştürülür (Şekil 2). İlişkinin n tarafındaki tablo olan öğrenci tablosuna bölüm tablosunun anahtar alanı olan bölümno alanı yabancı anahtar olarak eklenir. İlişkiyi tanımlayan kayıttar ve mezuntar nitelikleri de öğrenci tablosuna alan olarak eklenirler. öğrencino ad kayıttar bölümno cinsiyet Öğrenci n 1 Okur adres doğum Tarih mezuntar bölüm Yukarıdaki ER şeması tablolara dönüştürülürse; Şekil 2. Öğrenci ve 1-n okur ilişkisi ER şeması Öğrenci(öğrenciNo, ad, cinsiyet, adres,doğumtarih, bölümno, kayıttar, mezuntar) (bölümno, bölüm) 10

Birçoğa birçok(n m) ilişkilerin tablolara dönüştürülmesi İlişkiyi oluşturan varlık kümeleri tablolara dönüştürülür. Ancak ilişki isminde yeni bir tablo oluşturulur. İlişkiyi oluşturan tabloların anahtar alanları yeni tabloya yabancı anahtar olarak eklenir. İlişkide belirtilen tanımlayıcı nitelikler varsa yeni tabloya alan olarak eklenir. Yeni tablonun anahtar alanı ilişkiyi oluşturan tabloların yabancı anahtarlarından oluşan ikili veya daha fazla alandan oluşur. Ancak bazı durumlarda bu anahtar tanımı yeterli olmaz. Yeni tabloya tabloya uygun şekilde yeni bir anahtar alan eklenir. Örneğin aşağıdaki şekildeki müşteri-ürün n-m ilişkisi tabloya dönüştürülürken, müşteri ve ürün adında iki tablo oluşturulur. Ayrıca satınalır isminde yeni bir tablo oluşturulur. Satınalır tablosun müşteri tablosunun anahtar alanı olan müşterino ve ürün tablosunun anahtar alanı olan ürünno yabancı anahtar olarak eklenirler. Ayrıca satın alır ilişkisinde tanımlanan tarih ve miktar nitelikleri de satınalır tablosuna alan olarak eklenirler. Satınalır tablosunun anahtar alanı olarakta satınalırno isminde yeni bir alan eklenir. müşterino ad tarih ürünno ürün adres Müşteri n Satın Alır m Ürün telefon miktar birim Fiyat stok Miktarı Şekil 3. Müşteri ürün n-m satın alır ilişkisi ER şeması Yukarıdaki ER şeması tablolara dönüştürülürse; Müşteri (müşterino, ad, adres, telefon) Ürün (ürünno, ürün, birimfiyat, stokmiktarı) SatınAlır (satınalırno, müşterino, ürünno, tarih, miktar) Çok değerli niteliklerin dönüştürülmesi Çok değerli herbir nitelik için yeni bir tablo oluşturulur. Yeni tabloya çok değerli alan adı ve çok değerli alanın bulunduğu ilk tablonun anahtar alanı eklenir. Bu yeni tablonun anahtar alanı ise, çok değerli alan ile birlikte eklenen yabancı anahtarın birleşimidir. Örneğin şekil 4 deki bakmakla yükümlü olduğu kişi niteliği çok değerli bir niteliktir. Çünkü her personelin birden çok bakmakla yükümlü olduğu kişi olabilir. Bu durumda bakmaklayükümlüolduğukişi adında yeni bir tablo oluşturulur. Bu tablonun alanları olarak bakmaklayükümlüolduğukişi ve personel tablosunun anahtar alanı olan sicilno yabancı anahtar olarak eklenir. Bu tablonun anahtar alanı bakmaklayükümlüolduğukişi ve sicilno alanlarının birleşimidir. 11

SicilNo Bakmakla yükümlü kişi res Maaş Şekil 4. varlık kümesinin çoklu değer niteliği ve diğer nitelikleri varlık kümesi tabloya dönüştürülürse; (sicilno, adres, ad, maaş) BakmalaYükümlüKişi (bakmaklayükümlükişi, sicilno) Zayıf varlık kümelerinin tablolara dönüştürülmesi Zayıf varlık kümeleri tablolara dönüştürülür. Ancak zayıf varlık kümesinin anahtar alanı kendi anahtar alanı ile birlikte ilişki kurduğu güçlü varlık kümesinin yabancı anahtarının birleşimidir. Örneğin, aşağıdaki şekildeki üniversite-fakülte 1-n ilişkisinde, üniversite varlık kümesi güçlü, fakülte varlık kümesi ise zayıf varlık kümesidir. Üniversite ve fakülte varlık kümeleri, ayrı ayrı üniversite ve fakülte varlık kümelerine dönüştürülür. Ancak, fakülte varlık kümesinin anahtar alanı, fakülteno ile birlikte üniversiteno alanlarından oluşturulur. ünivno fakülteno fakülte Üniversite 1 n Olur Fakülte üniv il Yukarıdaki ER şeması tablolara dönüştürülürse; Üniversite (ünivno, ünivad,il) Şekil 5. Üniversite-Fakülte olur 1-n güçlü-zayıf ilişkisi Fakülte (fakülteno, ünivno, fakülte) 12

Çok Bilinen VTYSler MS Access Microsoft Office ürünüdür. Küçük ölçekli uygulamalar içindir. Tablo başına 2 GB a kadar veri depolayabilir. Aynı anda 255 bağlantıya izin verebilir. MS Windows dışındaki sistemlerde kullanılamaz. Transaction logging özelliğine sahiptir, ancak trigger ve stored procedure özelliklerine sahip değildir. Oracle Oracle, Inc. Dünyanın en güçlü ve güvenilir veritabanı olarak gösterilmektedir. Çok yüksek maliyet Windows, Unix, Linux,... Oracle, sınırsız sayıda tabloları desteklemektedir. Informix Illustra Ücretli ve güçlü bir veritabanıdır. Orta ölçekli işletmelerin yükünü kaldırabilecek kapasitededir. 1994 deki Postgres kodundan geliştirilmeye başlanmıştır. IBM DB2 IBM Access ve MySQL e göre daha performanslı, ancak küçük işletmelere göre daha yüksek maliyete sahiptir. Unix ve Windows üzerinde çalışabilir. Transaction logging, trigger ve stored procedure özelliklerine sahiptir. PostgreSQL PostgreSQL Global Development Group Linux, Unix, BSD, Windows, AIX vb. Ücretsiz, akademik bir veritabanı Çok güçlü işlem yapısı Veri güvenliği ön planda Tablo başına 64 TB veri tutabilme özelliği Transaction, Inheritance trigger ve stored procedure özelliklerine sahiptir. MySQL MySQL Inc. Windows, Linux, OS/2,Solaris, AIX vb. trigger ve stored procedure özelliklerine sahiptir, ancak Transaction logging özelliği bulunmamaktadır. Tablo başına 4 TB veri depolayabilir. MS SQL Server Microsoft Dezavantajları: Sadece Windows üzerinde çalışabilir. Yüksek maliyet Kullanım kolaylığı, güvenilirliği,işlem gücü Tablo başına 4 TB veri. Transaction logging, trigger ve stored procedure özelliklerine sahiptir. Hangi veritabanı seçilmeli? Küçük yoğunlukta trafik: Access Web uygulamaları için: MySQL Daha büyük ve orta ölçekli uygulamalar içinse, Progress, MS SQL ya da Linux üzerinde PostgreSQL. Oracle ise çok yüksek güvenilirlik ve işlem gücü gerektirdiğinde tercih edilen bir veritabanı sunucusudur. 13