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



Benzer belgeler
VERĐTABANLARINA GĐRĐŞ

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

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

VERİTABANI VERİTABANIN AVANTAJLARI ÖZET

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

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

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

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

Veri Tabanı-I 1.Hafta

Veri Tabanı Tasarım ve Yönetimi

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

VERİ TABANI UYGULAMALARI

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar

1 Temel Kavramlar. Veritabanı 1

VERİTABANI ORGANİZASYONU

Veritabanı Uygulamaları Tasarımı

Veritabanı. Ders 2 VERİTABANI

SQL TRIGGERS (Tetikleyiciler)

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

ELIF KIOTZEOGLOU RESUL MURAD MERT PACOLARI

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

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.

SQL e Giriş. Uzm. Murat YAZICI

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

Bölüm 10: PHP ile Veritabanı Uygulamaları

2 Temel Kavramlar (Devam) Veritabanı 1

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

VERİ TABANI ve YÖNETİMİ

DML işlemleri. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı May Öğr. Gör. Murat KEÇECĠOĞLU

İLİŞKİSEL VERİTABANLARI

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

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

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

Veri Tabanı-I 1.Hafta

Oracle da kullanılan veri tipleri:

1.PROGRAMLAMAYA GİRİŞ

Üst Düzey Programlama

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

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

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

Öğr.Gör.Murat KEÇECĠOĞLU. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Veri Tabanı Hafta Dersi

Veritabanında Saklı Yordamlar: Bir Veritabanı Tasarımı ve Web Uygulaması

Veri Bütünlüğü ve Constraint ler. Veritabanı 1

Veri Tabanı Örnekleri

Pursaklar İMKB Teknik ve Endüstri Meslek Lisesi

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

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

Asp.Net Veritabanı İşlemleri

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

1. MİCROSOFT SQL SERVER 2014'E GİRİŞ

PostgreSQL ve JBoss ile Java Kurumsal Çözümler. Nicolai Tufar

PostgreSQL ve PL/pgSQL

Dosya Organizasyonu ve Veritabanı

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

Tekir (Ön Muhasebe Yazılımı)

Swing ve JDBC ile Database Erişimi

YZM 3215 İleri Web Programlama

SİSTEM İHTİYAÇLARI (Tiger Enterprise / Tiger 3 Enterprise)

Veritabanı Sızma Testleri Türk Standardları Enstitüsü Yazılım Test ve Belgelendirme Dairesi Başkanlığı

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

Program Kurulum. Turquaz Muhasebe. İçindekiler

SİSTEM İHTİYAÇLARI (Tiger Plus / Tiger 3)

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

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

İSTANBUL TEKNİK ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ

PostgreSQL ve PL/pgSQL

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

İLERİ VERİTABANI SİSTEMLERİ SUAT ÜSTKAN

İlişkisel Veri Tabanları I

Öğr.Gör.Murat KEÇECĠOĞLU 27 May. 28 May Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

1C:İŞLETME Platformu ÜRETİM - TİCARET - MUHASEBE

ÖZGÜR YAZILIMLAR İLE J2EE

PostgreSQL Veritabanı Sunucusu Devrim GÜNDÜZ.

POSTGRESQL'de İleri Seviyede Veri Kurtarma ve Yedekleme

Veritabanlarına ve SQL'e Giriş. Devrim GÜNDÜZ. Teknoloji Destek Merkezi --

«BM364» Veritabanı Uygulamaları

SEKTÖREL ÇÖZÜM GELİŞTİRME YÖNTEMLERİ

LINQ Language Integrated Query Dille Bütünleştirilmiş Sorgu Bir Veri Tabanı Tablosundan Veri Gösterme

Başlangıç Ayarları.

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

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

MICROSOFT ACCESS DERS NOTLARI

Sıralı erişimde bilgilerin tutulduğu dosya içeriği tarama yöntemiyle (sırayla) okunur. İstenilen kayda gelindiğinde işlem yapılır.

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

1. Hafta MS SQL Server 2008 Kurulum ve Tanıtımı BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: Kurulum:

VERİ TABANI OLUŞTURUYORUM

E-Mükellef Kontrol Programı Kullanım Kılavuzu

Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011

MOBİL UYGULAMA GELİŞTİRME

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

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir.

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

1 Temel Kavramlar. Veritabanı 1

İnternet Programcılığı

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

İÇİNDEKİLER 1. 1TÇ Şirketi 2. 1C:İŞLETME Platformu 3. Ticaret + Muhasebe uygulamaları

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

PostgreSQL - Yeni dönemdeki yeri

Veritabanında Saklı Yordamlar: Bir Veritabanı Tasarımı ve Web Uygulaması

Transkript:

İlişkisel Veritabanı Yaklaşımı: İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir. İlişkisel veri tabanı yönetim sistemi verilerin tablolarda satır ve sutunlar halinde tutulduğu ve yüksek bir veri tutarlılığına sahip veri depolama sistemidir. ilişkisel veri tabanını çeşitli tablolar arasında organize edilmiş verilerden oluşan veri tabanı olarak açıklayabiliriz. Bu farklı tablolar arasındaki veriler, çeşitli anahtarlar vasıtası ile birbirlerine bağlanırlar. İlgili tablolarda, sütunlar arasında bir anahtar sütun yeralır. Bu anahtar sütun aracılığı ile birden çok tablo verileri birbiriyle bağlantı sağlayabilir ve herhangi bir sorgulamada birlikte görüntülenebilir. Bu tür veri tabanları arasında Ms Access, Ms Sql Server. Mysql, Oracle, dbase, Progress, Informix, Ingres,...vb. gelmektedir. Örnek vermek gerekirse Büyük bir firma diyelim ki internette ticaret yapama karar verdi. Bu nedenle ürünlerin listesini bir tabloda tutup Web sitesi aracılığı ile güncellenebilir yapacaksınız. Öncelikle iki adet liste yapmamız lazım, birincisi ürünler listesi ikincisi üyeler listesi. Üyeler alışveriş yaptıklarında hangi ürün veya ürünleri aldıklarını gösteren 3. bir liste lazımdır. Bu listeye de sipariş listesi diyebiliriz.

Ürün bilgilerini kaydedeceğimiz ÜRÜNLER tablosu MÜŞERİ bilgilerini kaydedeceğimiz MÜŞTERİLER tablosu, Web programlamada genelde üye listesi olarak oluşturulur. Ve sipariş durumunda sipariş bilgilerini tutacağımız SİPARİŞLER tablosu Bir ilişkinin olabilmesi için en az iki tablonun olması lazım. Ve bu iki tablodaki verilerin bir şekilde birbirleri ile ilişkilendirilmesi gerekir. Ürünler ve siparişler tablomuza bakacak olursak. Siparişin verilebilmesi için ürünün ürünler tablosunda kayıtlı olması lazım. Ürünler tablosunda karşılığı olmayan ürünü sipariş vermesiniz. Olaya tersinden bakacak olursak, sipariş verilen bir ürünün ayrıntılarına bakmak istediğimizde sipariş tablosunda barkod numarası alınırız daha sonra aynı barkod numarasına karşılık gelen

ürünü bulmak için ürünler tablosuna bakarız. Ürün tablosu bize ürünler ilgili bütün ayrıntıları verir. Ürünler tablosundaki barkod no birincil anahtardır parimary key. Sipariş tablosundaki sipariş verdiği ürün alanı yabancı anahtar foregin key alandır. Access veritabanında oluşturulmuş tabloların ilişkisel diyagramı aşağıdaki gibidir. Bir veri tabanı olması gereken özellikler. 1- Veri Tabanı Güvenliği Güvenlik veri tabanına göre değişiklik göstermektedir. Paradox ve Dbase gibi veri tabanları sadece alan bazında güvenlik sağlayabilmektedir. Tablolar şifrelenerek korumalı erişim sağlanabilmektedir. Veri tabanı yönetim sistemlerine daha çok güvenlik yönetimi bölümünden, güvenlik sağlanmaktadır. 2- Hareketler(Transaction) Transaction, bir veya birkaç tablo üzerinde yapılan değişikliklerin, eklemelerin, veri tabanına kalıcı olarak işlenmesi(commit) yapılmadan önce, kayıt işleminin başarılı olup olmadığını denetleyebilen bir grup harekete (SQL ifadelerine) denmektedir. Eğer bu hareket herhangi bir şekilde başarısız olursa tüm yapılan değişiklikler geri alınır(rollback). Donanım hatalarına(elektrik kesintileri sistem çökmesi gibi), karşı veritabanı üzerinden sağlamak amacıyla hareket kullanılır. Yukarıda verdiğim Ürünler, Sipariş, Müşteriler tablolarına kayıt işlemi ilişkisel bağlantı sayesinde aynı anda gerçekleşmektedir. Diyelim ki bir sipariş geldi, siparişin kimden

geldiği ile ilgili müşteri bilgileri müşteri tablosuna, ürünler ile ilgili stok durum bilgileri vb ürünler tablosuna, ve sipariş bilgileri siparişler tablosuna kaydolur. Bu üç tablo arasında daima bir tutarlılık olmalıdır. SQL ifadelerinin bu şeklinde çalışma biçimine atomik olarak çalışması denmektedir. BEGIN TRANSACTION INSERT INTO SIPARIS(SIPNO,MUSNO,URUNKODU,MIKTAR) VALUES(23,5,1001,4) UPDATE MUSTERI SET BORC=BORC+TOPLAMBORC WHERE MUSNO=5 UPDATE URUNLER SET MIKTAR=MIKTAR-4 WHERE URUNKODU=1001 COMMIT Yukarıdaki üç hareket işleme yapsındaki SQL ifadeleri 3 tabloda da değişiklik meydana getirmektedir. Bu harekerin başarıyla tamalanması ekleme(insert) güncelleme(update), ve güncelleme(update) SQL ifadelerinin hepsinin eksiksiz olarak gerçekleştirilmesini sağlar. İlişkisel Bütünlük,Saklı Prosedürler ve Tetikleyiciler: İlişkisel Bütünlük (relational İntegrity) Null değerler (Nulls) Özelliğin, verilmiş satır için uygulana bilmeyen veya şuan belli olmayan değerini ifade eder Varlık bütünlüğü (Entity İntegrity) Taban ilişkide birincil anahtar özelliği null değer alamaz Erişimsel Bütünlük (Referential İntegrity) İlişkide yabancı anahtar varsa, bu anahtarın değeri, ana ilişkinin aday anahtarının her hangi satırındaki değerine eşit olmalı veya null değer almalıdır Şirket sınırlamaları Kullanıcılar veya veri tabanı yöneticisi tarafından belirlenmiş kurallar Saklı Prosedürler(Stored procedures) : Bir veritabanı sunucusu üzerinde kayıtlı bulunan SQL komutlarından oluşan bir prosedür kümesi. Bu prosedürler genellikle sunucu üzerinden veritabanı ile ilgili görevleri yerine getirirler. Tetikleyiciler(Tiggers):Belirli komutların otomatik olarak çalıştırılmasını sağlayan SQL komutları kümesidir. Bu komutlar yerine saklı prosedürlerde kullanılmaktadır.

Veritabanı çeşitleri 1. Microsoft Access Microsoft firmasının Office paketi içinden çıkan Access, paralı veritabanları arasında nispeten ucuz olarak göze çarpar. Küçük ölçekli uygulamalardaki gereksinimlerinizi karşılayabilir. Eğer bir web sitesinde veri miktarı ve aynı anda yapılan işlem sayıları az ise, Access kullanabilirsiniz. Tek bir veri tablosunda 2 GB a kadar veri depolayabilir ve aynı anda 255 bağlantıya izin verebilirsiniz. Access, MS Windows sistemlerinde kullanılamamakta, bu da yaygınlaşmasını engellemektedir. Transaction locking özelliğine sahiptir, ancak trigger ve stored procedure özelliklerine sahip değildir. 2. MySQL MySQL Inc. Tarafından kodlanan MySQL, Access ile karşılaştırıldığında daha güvenlidir. Windows un yanı sıra Linux, OS/2, Solaris, AIX ve birçok işletim sistemini desteklemesi nedeniyle çok yaygındır.. Ev kullanıcıları tarafından, kolay kurulumu ve gelen kurulum paketleri nedeniyle sıkca tercih edilmektedir. Tablo başına 8 TB veri depolayabilmektedir. MySQL in en büyük dezavantajlarından biri ücretsiz olmasından kaynaklanan destek eksikliğidir. Özellikle web uygulamaları için cok hızlıdır. Transaction ları desteklemediği için alabildiğine yalındır ve transaction desteği olmadan gerçekleştirilebilecek web uygulamaları için çok hızlı bir alternatiftir. Oldukça fazla yazılım desteği bulunmaktadır. 3. IBM DB2 IBM firmasının ürünü olan DB2, Access ve MySQL e göre daha performanslı, ancak küçük işletmelere göre daha yüksek maliyete sahiptir. Windows ve lunix sistemlerinde çalışabilir. Transaction locking, trigger ve stored procedure özelliklerine sahiptir. 1. Informix Ü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. 1. Microsoft SQL Server Yine Microsoft firmasının bir ürünü olan Microsoft SQL Server (MSSQL), iyi bir performansa sahiptir. En büyük dezavantajı, sadece Windows üzerinde çalışabilmesidir. Kullanım kolaylığı, güvenilirliği ve işlem gücüyle dikkat çekmektedir. Maliyeti diğer veritabanlarına göre yüksektir. Tablo başına 4 TB veri depolayabilmektedir. Transaction locking, trigger ve stored procedure özelliklerine sahiptir. 1. PostgreSQL PostgreSQL, veritabanları için yukarıda bahsedilmiş olan ilişkisel modeli kullanan ve SQL standart sorgu dilini destekleyen bir veritabanı yönetim sistemidir. PostgreSQL aynı zamanda iyi performans veren, güvenli ve geniş özellikleri olan bir DBMS tir. Hemen hemen tüm UNIX ya da Unix türevi (Linux, FreeBSD gibi) işletim sistemlerinde çalışır. Ayrıca NT çekirdekli tüm Windows sistemlerde de çalıştırılabilir. Ücretsiz ve açık kodludur.

PostgreSQL diğer ticari ya da açık kodlu veritabanlarında bulabileceğiniz özelliklerin hemen hemen hepsini (ya da daha fazlasını) kapsar. PostgreSQL özellikleri (PostgreSQL FAQ da listelendiği gibi): Transactions Subselects Views Foreign key referential integrity Inheritance User-defined types Rules 1. Oracle Oracle, dünyanın en güçlü ve güvenilir veritabanı olarak gösterilmektedir, ancak çok yüksek maliyeti nedeniyle sadece büyük kurumların tercih edebilecekleri bir veritabanıdır. Windows ye Unix sistemlerinde kullanılabilmektedir. Oracle, sınırsız sayıda tabloları desteklemektedir. Çok büyük yazılım desteği vardır. 1. Interbase Linux platformu üzerinde çalışan, ücretsiz bir veritabanı sunucusudur. Yaygın değildir. Ücretsizdir. 1. Progress Linux ve Windows platformu üzerinde çalışan çok kuvvetli bir veritabanı sunucusudur. İstemci sunucu (clint/server) veri tabanları

Tek katmanlı, iki katmanlı ve çok katmanlı database yapıları Tek katmanlı(single-tier): Genel olarak local veritabanları tek katmanlıdır. Tek katmanlı yapıda program veritabanına direk ulaşır ve yapılan işlemler (kayıt ekleme, kayıt silme, değiştirme) anında gerçekleştirilir. İki katmanlı(two-tier): Burada program client tarafında çalışır. Client tarafında çalışan program gerekli sürücüleri kullanarak serverdaki veritabanına ulaşır. Çok katmanlı(multi-tier): Burada program yine client tarafında çalışır. Program database server'la direk bağlantı kurmaz. Server tarafında çalışan bir application server ile bağlantı kurar. Bu yapı genellikle güvenlik ve hız amacıyla kullanılır.