VERİ TABANI YÖNETİM SİSTEMLERİ. Yrd. Doç. Dr. Fırat YÜCEL Akdeniz Üniversitesi Enformatik Bölümü

Benzer belgeler
YBS104 - VERİ TABANINA GİRİŞ. Yrd. Doç. Dr. Fırat YÜCEL Akdeniz Üniversitesi Enformatik Bölümü

VERİ TABANI YÖNETİM SİSTEMLERİ. Yrd. Doç. Dr. Fırat YÜCEL Akdeniz Üniversitesi Enformatik Bölümü

Veri Tabanı Yönetim Sistemleri I

Veritabanı. Ders 2 VERİTABANI

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

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

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

VERİ TABANI SİSTEMLERİ

Veri Tabanı-I 1.Hafta

1 Temel Kavramlar. Veritabanı 1

Veri Tabanı Hafta Dersi

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

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

VERİ TABANI YÖNETİMİ. Yrd.Doç.Dr. Füsun BALIK ŞANLI YTÜ

VERİ KAYNAKLARI. Bilgi sisteminin öğelerinden biride veri

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

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

Veritabanı Uygulamaları Tasarımı

License. Veri Tabanı Sistemleri. Konular büyük miktarda verinin etkin biçimde tutulması ve işlenmesi. Problem Kayıt Dosyaları

UZAKTAN EĞİTİM MERKEZİ

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

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

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

Veri Tabanı-I 1.Hafta

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

10-Veri Tabanları.

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

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

T.C. MALTEPE ÜNĠVERSĠTESĠ MÜHENDĠSLĠK FAKÜLTESĠ ENDÜSTRĠ MÜHENDĠSLĠĞĠ BÖLÜMÜ LĠSANS PROGRAMI Güz Yarıyılı

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

2 Temel Kavramlar (Devam) Veritabanı 1

MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ

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

VERİ TABANI UYGULAMALARI

KISITLAMALAR (CONSTRAINT)

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

Bölüm 4: DDL Veri Tanımlama Dili

Maltepe Üniversitesi Endüstri Mühendisliği Bölümü Veri Tabanı Yönetimi (END 210)

İlişkisel Veri Tabanları I

VERİTABANI ORGANİZASYONU

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

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

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

Pursaklar İMKB Teknik ve Endüstri Meslek Lisesi

VERİTABANI Temel Kavramlar

Ders Kodu Yarıyıl T+U Saat Kredi AKTS. Programlama Dilleri

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

D.Saati AKTS Zorunlu Ders (Z) Meslek Dersi (M) Seçmeli Ders (S) TOPLAM

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

1 Temel Kavramlar. Veritabanı 1

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

Swing ve JDBC ile Database Erişimi

VERİTABANI VERİTABANIN AVANTAJLARI ÖZET

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Bilgilerin Uzun Vadeli Saklanması

3. sınıf. Bilgisayarla kataloglamanın doğuşu gelişimi ve bugünkü durum ele alınmaktadır. Bu derste

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

Veri Tabanı Hafta Dersi

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar

NoSql ve MongoDB. Saygın Topatan

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Bilgi Servisleri (IS)

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

SELÇUK ÜNİVERSİTESİ SEYDİŞEHİR MESLEK YÜKSEKOKULU BİLGİSAYAR TEKNOLOJİLERİ BÖLÜMÜ BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS DAĞILIM ÇİZELGESİ (2010)

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

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.

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

SQL (Structured Query Language)

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

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

İnternet Programcılığı

Mühendislikte Veri Tabanları Dersi Uygulamaları (MS-Access)

SORGULAR VE ÇEŞİTLERİ II

Dosyaların Özellikleri (Attribute) Dosya İşlemleri. İki Seviyeli Katalog Sistemleri. Tek Seviyeli Katalog Sistemleri. Hiyerarşik Katalog Sistemleri

VERİ TABANI PROGRAMCILIĞI DALI

BTP 209 SİSTEM ANALİZİ VE TASARIMI

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

SQL e Giriş. Uzm. Murat YAZICI

Semantik Ağ ve Üst Veri Sistemleri İçin Yeni Nesil Veri Tabanı Yönetim Modeli: NoSQL. R. Orçun Madran Atılım Üniversitesi.

Veritabanı Tasarımı. NOT NULL ve UNIQUE Kısıtlamaları Tanımlama

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

SİSTEM ANALİZİ VE TASARIMI. Sistem Analizi -Bilgi Sistemleri-

BLG 312 Bilgisayar İşletim Sistemleri 2006 BLG 312. Bilgilerin Uzun Vadeli Saklanması. Dosya Sistemi Görevleri. Dosya Sistemi Özellikleri

Film Arşiv Sistemi. Yazılım Tasarım Belgesi

Veri Tabanı-I 5.Hafta

Lojistik Bilgi Teknolojileri ÖĞR. GÖR. MUSTAFA ÇETİNKAYA

Başlıca Ürün-Bilgi Sistemleri

İŞLETİM SİSTEMLERİ. (Operating Systems)

SIRA NO SORUMLU BİRİM FAALİYET SORUMLU DURUM AÇIKLAMA

DERS SEÇİM KILAVUZU. Sınıf Dönemi Kodu Adı Sınıf Dönemi Kodu Adı. Nesne Yönelimli Programlama. Yazılım Tasarımı ve Mimarisi

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

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

DSİ kapsamında oluşturulan dağınık durumdaki verilerinin düzenlenmesi, yeniden tasarlanarak tek bir coğrafi veri tabanı ortamında toplanması,


ORM & Hibernate. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

OTOBÜS İŞLETMESİ OTOMASYONU. Otobüs işletmesi Otomasyonu hazırlanırken takip edilen Yazılım Geliştirme Süreçleri yukarıda gösterilmiştir.

TEMEL BİLGİ TEKNOLOJİLERİ KULLANIMI. Bilgisayar I ve Bilgi İletişim Teknolojileri Dersi Öğr.Gör. Günay TEMUR

Tekrar. Veritabanı 2

Transkript:

VERİ TABANI YÖNETİM SİSTEMLERİ Yrd. Doç. Dr. Fırat YÜCEL Akdeniz Üniversitesi Enformatik Bölümü

Ders Hakkında Dersin Kredisi : Veri Tabanı I : 3+1 Dersin Yarıyılı Derse Devam Veri Tabanı Yönetim Sistemleri : 3+0 : Güz : %70 zorunlu Kullanılan Yazılım: Ms SQL Server Management 2014 Değerlendirme : Mutlak değerlendirme (Ortalama >= 60) Ara sınav (Vize) %30 Ödev/Proje. %10 Yarıyıl Sonu Sınavı. %60

Ders İçeriği o o o o o o o 1. Hafta: Veri Tabanlarına Giriş 2. Hafta: Veri Tabanı Sistemi Temel Kavramları ve Mimarisi 3. Hafta: İlişkisel Veri Modeli ve İlişkisel Veri Tabanı Kurulumu 4. Hafta: Veri Tabanı Tasarımı ve Normalizasyonu 5. Hafta: SQL (Yapısal Sorgulama Dili) 6. Hafta: SQL (Yapısal Sorgulama Dili) 7. Hafta: Aritmetiksel Operatörler ve İşleçler o 8. Hafta: Karmaşık Sorgular (Birden Fazla Tablo Üzerinde Sorgular) o 9. Hafta: Karmaşık Sorgular (Birden Fazla Tablo Üzerinde Sorgular) o 10. Hafta: Tetikleyiciler (Triggers) o 11. Hafta: Görünümler (Views) o 12. Hafta: Şema Düzenlemeleri (Schema Modification) o 13. Hafta: ER Modeli ile Veri Modelleme o 14. Hafta: XML: Genişletilebilir İşaretleme Dili

Başarılı Olabilmek için Bazı Öneriler Derslere düzenli bir şekilde devam etmek Verilen proje ve ödev çalışmalarını zamanında ve eksiksiz şekilde teslim etmek Derste notlar almak, daha sonradan bu notları incelemek, üzerinde düşünüp anlamak, yeni fikirler üretmek Derste uygulamalara katılmak, varsa ders dışında bilgisayar ortamında ilgili program üzerinde uygulamaları tekrar etmek Ders öğretim üyesi ile sağlıklı bir iletişim ortamı kurmak Ofis E-Posta Sosyal ağ Web sitesi : firatyucel.com : Akdeniz Üniversitesi Enformatik Bölümü : fyucel@akdeniz.edu.tr

Veri Tabanı Sistemlerine Giriş Veri Tabanları ve Veri Tabanı Kullanıcıları

Veri Tabanı (Database) Veri tabanı, birbiriyle ilişkili verilerin bir koleksiyonudur. Modern dünyada hayatımızın birçok alanında kullanılmaktadır. Örneğin; Bir otel ya da uçak/otobüs rezervasyonunda, Banka hesap işlemlerinde, Kütüphane katalog taramasında, Hastane randevu ve protokol işlemlerinde, Elektronik olarak bir ürün sipariş ederken veya satın alırken, Marketlerde alışveriş yaptıktan sonra kasada, E-devlet işlemlerinde,

Toplumların Gelişimi Tarım Sanayi Bilgi

Bir soru Aşağıdaki iki cümle anlam bakımından aynı mıdır, farklı mıdır? 1. «Hava durumu ile ilgili verileri aldım.» 2. «Hava durumu hakkında bilgileri aldım.»

Veri (Data) Veri, kendi başına bir anlam ifade etmeyen işlenmemiş (ham) bilgi parçacığıdır. Bilgi, verilerin işlenerek anlamlı bir şekilde bir araya getirilmesiyle oluşur. Veri 10 bilgisayar Bilgi

Geleneksel Veri Tabanlarından Modern Veri Tabanlarına Geleneksel veri tabanlarında sayısal ve metin şeklinde veriler tutuluyordu. Günümüz modern veri tabanlarında (multimedya veri tabanları) bunlara ilaveten multimedya öğeleri de yer almaktadır. Resim Video Konum (Coğrafi Bilgi Sistemleri) Modern veri tabanı sistemlerinde ayrıca çok miktardaki verilerden (big data) çıkarımlar yapan «karar destek sistemleri» yer almaktadır.

Veri Tabanının Temel Nitelikleri Veri tabanı, gerçek dünyanın bir parçasıdır. Çoğu zaman «mini dünya» (miniworld) veya «söylem evreni» (universe of discourse, UoD) olarak adlandırılır. Veri tabanı, verilerin mantıksal olarak organize edilmiş halidir. Rastgele bir araya getirilmiş veriler, veri tabanı kavramı dışındadır. Veri tabanı, özel amaçlarla tasarlanan, oluşturulan ve üretilen verilerden oluşur.

Veri Tabanı Yönetim Sistemi (DBMS) Veri tabanı yönetim sistemi (database management system, DBMS) veri tabanını oluşturmak ve işlemek için kullanıcıları yetkilendiren bir program koleksiyonudur. DB DBMS Kullanıcı

DBMS nin İşlevleri DBMS, değişik kullanıcılar ve uygulamalar tarafından veri tabanı üzerinde tanımlama, oluşturma, değiştirme ve paylaşma işlemlerini yöneten genel amaçlı bir yazılım sistemidir. Tanımlama (Defining) Veri tabanında saklanan veriler için veri tiplerinin, mimarinin ve veri kurucuların tanımlanması ile ilgili işlemleri içerir. Buradaki tanımlamalar meta-data olarak adlandırılır. Oluşturma (Constructing) DBMS tarafından kontrol edilen bazı saklama medyaları içerisinde verinin saklanması işlemleridir. Düzenleme (Manipulating) Özel verileri geri döndürmek için hazırlanan sorgulamalar, veri tabanının güncellenmesi ve verilerden raporlar oluşturulması işlemleridir. Paylaşım (Sharing) Veri tabanına çok sayıda kullanıcının veya programın eş zamanlı erişimine izin vermektir.

Meta-Data Veri tabanı oluşturma süreci, verilerin saklanması için veri tipleri, yapıları ve veri kurucularının tanımlanması işlemlerini içerir. Veri tabanı tanımlamaları, bir katalog formunda DBMS içerisinde tutulur. Bu verilere «meta-data» adı verilir.

Uygulama Programı, Sorgu, İşlem Uygulama programı (application program), DBMS ye sorgular ve istekler göndererek veri tabanına erişim sağlar. Sorgu (query), genellikle veri tabanından bazı verilerin dönmesini sağlayan ifadelerdir. İşlem (transaction), veri tabanından bazı verileri okumak veya veri tabanına bazı verileri yazmak için yapılan işlemlerdir. Koruma (protection), DBMS nin diğer bir işlevidir. Zararlı yazılımlara karşı donanımsal veya yazılımsal sistem koruması önemlidir. Zaman zaman verilerin kaybına karşı veri tabanındaki verilerden yedekler alınması gerekmektedir. Bu işleme yedekleme (maintaining) denir.

Basitleştirilmiş Veri Tabanı Sistemi Kullanıcılar/Programcılar Veri Tabanı Sistemi DBMS Yazılımı Uygulama Programları/Sorguları İşlem Yazılımı Sorgular/Programlar Erişim Yazılımı Saklanan Veri Veri Tabanı Tanımlamaları (Meta-Data) Veri Tabanı

Bir Veri Tabanı Örneği Örnek olarak, UNIVERSITE adlı bir veri tabanı içerisinde yer alan OGRENCI, DERS, DONEM, SINAV_SONUC, ONKOSUL adlı 5 dosyada tutulan aynı türdeki verileri düşünelim. Bu veri tabanını tanımlamak için, her bir dosyada tutulacak kayıtların hangi alanlardan oluşacağını belirlemek gerekmektedir. Her bir alanın veri türü (string, integer, char, ) belirlenmelidir. Orta düzey ve büyük veri tabanları için veriler arasındaki ilişkiler belirlenmelidir.

Örnek Veri Tabanının Yapısı OGRENCI Ad Ogrenci_No Sinif Bolum Mehmet 17 1 YBS Ayşe 5 2 YBS DERS Ders_Ad Ders_Kodu Kredi Bolum Bilgi Teknolojileri Kullanımı ENF101 4 ENF Veri Tabanı I MBIL103 5 MBIL Veri Tabanı Yönetim Sistemleri YBS201 4 YBS Programlama Dilleri I BIL203 3 MAT ONKOSUL Ders_Kodu Onkosul_Kodu YBS201 ENF101 BIL203 ENF101 DONEM Donem_ID Ders_Kodu Donem Yil Ogr_Elemani 85 ENF101 Güz 16 Ahmet 92 YBS201 Güz 16 Sezgin 102 BIL203 Bahar 16 Kamil 112 ENF101 Bahar 16 Ahmet 119 YBS201 Güz 17 Fırat 135 MBIL103 Güz 17 Fırat SINAV_SONUC Ogrenci_No Donem_ID Not 17 85 AA 17 119 BB 5 85 AA 5 102 BA 5 119 CC

Örnek Veri Tabanı Üzerinde Bazı Uygulamalar Veri tabanı üzerinde yapılabilen bazı işlemlere örnekler; Transkript alınması 2017 yılında alınan Veri Tabanı Yönetim Sistemleri dersini alan tüm öğrencilerin sınav notları Önkoşul durumlarının listesi Güncelleme işlemlerine örnekler; Mehmet isimli öğrencinin sınıfının değiştirilmesi Yeni yarıyıl için yeni dersler açılması Ayşe adlı öğrencinin Veri Tabanı Yönetim Sistemleri dersi notunun CC olarak girilmesi

Veri Tabanı Yaklaşımının Karakteristikleri Geleneksel dosya-tabanlı sistemlerde, her kullanıcı kendisi ile ilgili verileri tanımlayıp bağımsız bir dosyada saklar. Ancak aynı verilerin bir kısmı başka bir kullanıcı tarafından yine tanımlanmak zorundadır. Bu verilerin birbiriyle ilişkilendirilmesi için ise ayrı bir uygulama gereklidir. Problemler; Gereksiz yinelenen veriler Tutarsızlık Güvenlik sorunları Veri kaybı Veriye erişim zorluğu Uygulama geliştirmedeki güçlükler

Veri Tabanı Yaklaşımı Veri tabanı yaklaşımında, tanımlamalar en başta bir defaya mahsus gerçekleştirilir ve veri girişi tekrar yapılmaz. Bu veriler çok sayıda kullanıcı ile paylaşılarak ortak kullanılabilir. Veri tabanı yaklaşımının temel karakteristikleri Veri tabanı sisteminin kendiliğinden tanımlı doğası Programlar, veri ve veri tanımlamaları arasında yalıtım Verilere çoklu rapor desteği Verilerin paylaşımı ve çok kullanıcılı işlemlerin gerçekleştirilmesi

Veri Tabanı Sistemlerinin Kendinden Tanımlı Doğası Veri tabanı yaklaşımının temel karakteristiği, veri tabanı sisteminin yalnızca kendi veri tabanını değil, aynı zamanda veri tabanı yapısının ve kurucularının da tanımlama ve açıklamalarını da içeriyor olmasıdır. Bunlara meta-data denir. Dosya tabanlı sistemlerde bu tanımlamalar spesifik olarak program kodları ile tanımlanır. Veri Tabanı Tanımlamaları (Meta-Data) DBMS Yazılımı Veri Tabanı

Veri Tabanı Katalog Bilgilerine Bir Örnek İLİŞKİLER Relation_Name No_of_columns OGRENCI 4 DONEM 5 DERS 4 SINAV_SONUC 3 ONKOSUL 2 XXXXNNNN: 4 alfakarakter, 4 sayıdan oluşan biçim. ALANLAR (SÜTUNLAR) Column_Name Data_type Belongs_to_relation Ad Char(150) OGRENCI Ogrenci_No Char(11) OGRENCI Sinif Integer(1) OGRENCI Bolum Char(100) OGRENCI Donem_ID Integer DONEM Ders_Kodu XXXXNNNN DONEM Donem Char(5) DONEM Ders_Kodu XXXXNNNN ONKOSUL Onkosul_Kodu XXXXNNNN ONKOSUL

Programlar, Veri ve Veri Tanımlamaları Arasında Yalıtım Geleneksel sistemlerde, veri dosyalarının yapısı uygulama programının içerisinde tanımlanır. Değişiklik gerektiğinde hem dosyaların hem de program yapısının değiştirilmesi gerekir. DBMS erişim programlarında tüm durumlarda değişiklik gerekmez. Veri dosyalarının yapısı DBMS kataloğunda yer alır. Bu durum, program-veri bağımsızlığı olarak adlandırılır. Veri Alan Adı Kaydın Başlama Yeri Karakter Uzunluğu (byte) Ad 150 150 Ogrenci_No 151 11 Sinif 162 1 Bolum 163 100 Dosya sisteminde verilerin tutulmasına OGRENCI tablosundan bir örnek

Programlar, Veri ve Veri Tanımlamaları Arasında Yalıtım Bazı nesne yönelimli veya nesne ilişkili veri tabanı sistemlerinde, kullanıcılar veri üzerindeki işlemleri (fonksiyonları, yöntemleri ya da parametreleri) de veri tabanı tanımlamalarının bir parçası olarak tanımlayabilir. DBMS de, arayüz değişse de tanımlanan bu işlemlerde bir aksama söz konusu olmaz. Bu durum program-işlem bağımsızlığı olarak adlandırılır. Hem program-veri bağımsızlığı hem de program-işlem bağımsızlığı özelliğini içeren karakteristik veri yalıtımı (data abstraction) olarak tanımlanır.

Verilere Çoklu Rapor Desteği Bir veri tabanı sisteminin birçok kullanıcısı vardır ve bu kullanıcılar farklı konularda verilerle ilgilenirler. Bu verilerden elde edilen raporlar (views) DBMS de her kullanıcı için oluşturulabilir. TRANSKRİPT (RAPOR ÖRNEĞİ) Ad Ders_Kodu Not Donem Yil Donem_ID Mehmet ENF101 AA Güz 16 85 YBS201 BB Güz 17 119 ENF101 AA Güz 16 85 Ayşe BIL203 BA Bahar 16 102 YBS201 CC Güz 17 119

Verilerin Paylaşımı ve Çok Kullanıcılı İşlemlerin Gerçekleştirilmesi Bir DBMS, eş zamanlı olarak çok sayıda kullanıcının veri tabanına erişimine izin vermelidir. Aynı anda veri güncelleme istemlerinin, veri işlem kontrol uygulamalarıyla kontrol edilmesi gerekir. Bu uygulamalara, online transaction prosessing (OLTP) uygulamaları denir. Veriler üzerinde yapılan işlemlerin sonucu hakkında çıkarımda bulunan sistemlere ise online analytical processing (OLAP) uygulamaları denir.

Sahnedeki Aktörler Veri Tabanı Yöneticileri (Database Administrators, DBA) Veri tabanı kaynaklarını yöneten ve kontrol eden tüm yetkilere sahip kullanıcılardır. Veri Tabanı Tasarımcıları (Database Designers) Verilerin saklanabilmesi için tanımlamaları yapmak, bu verilerin gösterimi ve saklanması için uygun yapıları seçmek ile sorumludurlar. Son Kullanıcılar (End Users) Veri tabanına çeşitli işlemleri gerçekleştirmek üzere erişim sağlayan kullanıcılardır. Sistem Analistleri ve Uygulama Programcıları (Yazılım Mühendisleri) Sistem analistleri, son kullanıcıların gereksinimlerini belirleyen, gereksinimleri bulan kullanıcılardır. Uygulama programcıları, gereksinimlere uygun yazılımı kodlayan, daha sonra test eden derleyen, dokümantasyonunu hazırlayan ve veri işlemlerinin bakımını gerçekleştiren kullanıcılardır.

Sahne Gerisinde Çalışanlar DBMS sistem tasarımcıları ve geliştiricileri DBMS modüllerini ve yazılım paketi arayüzlerini tasarlayan ve geliştiren kişilerdir. Araç geliştiricileri Araç (tool) adı verilen veri tabanı modelleme ve tasarım, veri tabanı sistem tasarım ve performansı yükseltmek için hazırlanan yazılımları geliştiren kişilerdir. Operatörler ve bakım personeli Veri tabanının yer aldığı donanımın çalışması ve bakımı ile yazılım için gereken çevresel gereksinimlerden sorumludur.

DBMS Yaklaşımını Kullanmanın Üstün Yönleri Gereksiz verilerin kontrolü Yetkisiz erişimlerin engellenmesi Program nesneleri için kalıcı saklama Etkin sorgulama işlemleri için saklama yapıları ve arama teknikleri Yedekleme ve geri yükleme Çok kullanıcı erişimi Veri üzerindeki karmaşık ilişkilerin tanımlanması Bütünlük kısıtlamalarını uygulayabilme Kurallara uygun işlemlere ve sonuç çıkarmaya izin verme İlave faydalar Kullanıcılar arasında iş dağılımı, azalan uygulama geliştirme süresi, esneklik, günlük bilgilerin kullanılabilmesi, ölçeklenmiş ekonomi

Veri Tabanı Uygulamalarının Kısa Tarihçesi Hiyerarşik ve Ağ Sistemleri Tabanlı Veri Tabanı Uygulamaları İlişkisel Veri Tabanı Yönetim Sistemi (RDBMS) XML (extended Markup Language) Yeni Veri Tabanı Uygulamaları Bilgi Çıkarım (Information Retrieval, IR) 1970 ler 1980 ler 1990 lar 2000 ler Günümüz Bilimsel uygulamalar Resim ve video tabanlı veri tabanları Veri madenciliği (data mining) Uzay uygulamaları Zaman serileri

DBMS nin Zayıf Yönleri Donanım, yazılım ve öğrenme açısından gereksinimler Verilerin tanımlanması ve işlenmesi için DBMS ye gereksinim duyulması Güvenlik, eşzamanlı erişim kontrolü, kurtarma ve ileri düzey fonksiyonlara hakim olunması gereksinimi

Veri Tabanı Sistemi Kavramları ve Mimarisi Veri Modelleri, Şemalar ve Olaylar Üç Şema Mimarisi İlişkisel Veri Tabanı

Veri Tabanı Mimarisi İlk Veri Tabanı Mimarileri Tek bir bilgisayar (mainframe) üzerine kurulu Günümüz Veri Tabanı Mimarileri Sunucu-istemci yapısında İstemci 1 LAN veya WAN Veri isteği Döndürülen veri Sunucu (DBMS) Veri Tabanı İstemci 2 İstemci n

Veri Modeli Veri tabanının mimarisini tanımlamak için kullanılan kavramlar bütünüdür. Veri tabanı mimarisi; veri tipleri, ilişkiler ve veri giriş kısıtlamalarını ifade eder. Varlık (Entity): Bir gerçek dünya nesnesini veya kavramını ifade eder. Örneğin; bir çalışan veya veri tabanı içerisindeki mini dünyada tanımlanan bir proje gibi. Nitelik (Attribute): Bir varlığı tanımlayan özelliktir. Örneğin; çalışan adı veya ücreti gibi. İlişki (Relationship): İki veya daha fazla varlık (entity) arasındaki ortak nokta ve birleşmeyi ifade eder. Örneğin bir çalışan ile bir projeyi ilişkilendirme gibi. Varlık Nitelik İlişki

İlişkisel Veri Modeli (Relational Data Model) Tablo (Table) OGRENCİ Nitelik (Attribute) Kayıtlar (Records) Ad Ogrenci_No Sinif Bolum Mehmet 17 1 YBS Ayşe 5 2 YBS Varlık (Entity) Alanlar (Fields, Columns)

İlişkisel Veri Tabanı Modeli (Relational Database Model) İlişkisel model, bir veri tabanı üzerinde tanımlanan ilişkilerin koleksiyonudur. SQL: Structural Query Language MS SQL Server Oracle PostrgreSQL MySQL Sybase SQL Server Informix

Birincil Anahtar ve Yabancı Anahtar Birincil Anahtar (Primary Key); bir tabloda her bir kayıt için verilen benzersiz alandır. Kayıtların birbirinden ayırt edilmesini sağlar. Bir tabloda birincil anahtar alanında tanımlanan veriler aynı olamaz. Yabancı Anahtar (Foreign Key, Secondary Key, Index); bir tabloda diğer tablodaki kayıtlarla ilişki kurulan alanlardır. #

Örnek İlişkisel Veri Tabanı Tasarımı Bir işletmenin ürünlerini internet üzerinden satmak üzere bir veri tabanı tasarımı Ürünler; Barkod, Ürün Adı, Marka, Özellikleri, KDV Oranı, Alış Fiyatı, Satış Fiyatı, Ürün Adedi Müşteriler; Müşteri Kodu, Müşteri Adı, Müşteri Soyadı, e-posta, Parola, Adres, Şehir, Telefon Siparişler; Sipariş Kodu, Müşteri, Ürün, Sipariş Tarihi, Sipariş Durumu, Sipariş Adedi

Örnek İlişkisel Veri Tabanı Tasarımı Ürün Adı Marka Özellikler KDV Oranı Müşteri Kodu Adı Soyadı E-Posta Barkod Ürün Adedi ÜRÜNLER Satış Fiyatı Alış Fiyatı N 1 Satış Sipariş Kodu N # Müşteri Kodu Telefon MÜŞTERİLER Şehir Adres Parola Sipariş Adedi SİPARİŞLER # Sipariş Durumu Sipariş Tarihi Ürün Barkodu Birincil Anahtar # Yabancı Anahtar

Örnek İlişkisel Veri Tabanı Tasarımı ÜRÜNLER Barkod Ürün Adı Marka Özellikler KDV Oranı Alış Fiyatı Satış Fiyatı Ürün Adedi 35126 Sabit Disk Seagate 500 GB %18 80,12 96,15 21 12525 Anakart Gigabyte GA-Z170X-Gaming 3-EU %18 201,15 250,83 12 Birincil Anahtar # Yabancı Anahtar 18121 RAM OEM 4 GB DDR %18 50,22 75,91 30 MÜŞTERİLER Müşteri Kodu Adı Soyadı E-posta Parola Adres Şehir Telefon 1 Ahmet Akcan akcan@abc.com ****** Ak. Ün. Kampus Antalya 02423212212 2 Hatice Özay hozay@xyz.com ******* KYK Yurdu Kampus Antalya 05333333333 3 Salih Zafer zafer@hotmail.com ***** Dumlupınar Bulvarı Antalya 02423221112 SİPARİŞLER # # Sipariş Kodu Müşteri Kodu Ürün Barkodu Sipariş Tarihi Sipariş Durumu Sipariş Adedi 121 2 35126 22/09/2017 Teslim edildi 3 122 1 12525 30/09/2017 Kargoda 1

UNIVERSITE Veri Tabanı için İlişkisel Model Ad Ogrenci_No Birincil Anahtar # Yabancı Anahtar # Ders_Kodu Donem Yil Bolum Sinif Donem_ID Ogr_Elemani OGRENCİ 1 N Değerlendirme DONEM 1 N N N seçer açılır belirlenir N 1 N 1 ONKOSUL SINAV_SONUC Ders_Kodu DERS Bolum # Ders_Kodu # Onkosul_Kodu # Ogrenci_No Not Ders_Ad Kredi # Donem_ID

Veri Tabanı Şema Diyagramı (Database Schema Diagram) Veri tabanındaki varlıkları, nitelikleri ve bunların birbiriyle ilişkisini gösteren şekillerdir.

Üç Şema Mimarisi (Üç Katman Mimarisi) İç Katman (İç Şema) Veri tabanının fiziksel saklama yapısını tanımlar. Kavramsal Katman (Kavramsal Şema) Veri tabanının veri modelini tanımlar, kullanıcı ile iç katman arasında iletişimi sağlar. Harici (Dış) Katman (Dış Şema) Veri tabanının kullanıcı grubunun erişimi için hazırlanan arayüzüdür.

Örnek Veri Tabanı Tasarımı Bir kütüphane kitap ödünç verme/sorgulama işlemleri için veri tabanı Bir eczane ilaç satışı için veri tabanı Bir şehirlerarası otobüs firması bilet satışı için veri tabanı