VERİTABANI UYGULAMA ve GELİŞTİRME

Slides:



Advertisements
Benzer bir sunumlar
Veritabanına Giriş Zeliha Çetin
Advertisements

Veritabanı Nedir?
VERİTABANI YÖNETİM SİSTEMLERİ
VERİTABANLARI ÜZERİNDEN ÇOK KULLANICILI YAZILIMLAR İLE TİCARİ VE MÜHENDİSLİK VERİLERİNİN ANALİZLERİNİN GETİRDİĞİ FAYDALAR Dr. YILMAZ YÖRÜ Yük.Mak.Müh.
Ses Kayıt Sistemi.
VERİ TABANI 1 DERS 1.
VERİ TABANI VE YÖNETİM SİSTEMLERİ
WEB SERVİCE İDRİS YÜRÜK MAHMUT KAYA.
A. Betül Oktay Elif Edoğan Zeliha Çetin
MySQL Veritabanı Sunucusu ve MySQL Veritabanı Kullanımı
 Ofis dışından erişim  Kurulum gerekmez  Internet Explorer, Mozilla FireFox, Google Chrome, Safari üzerinden çalışma  Sade ve basit arayüz Web Avantajları.
Veri ve Veri Yapıları Genel olarak bilgisayarlar.
Bilgisayar Ağlarına Giriş
Örnek Veritabanı Yazılımı: Microsoft Access
Bölüm 1: Introductions (Tanıtım,Tanım)
Çevre ve Orman Bakanlığı Bilgi İşlem Dairesi Başkanlığı
VERİTABANI-I DERS NOTLARI
BTP 108 BİLGİSAYAR AĞ SİSTEMLERİ AĞ KAVRAMI Birden çok bilgisayarın birbirine bağlı olarak kullanılmasıyla oluşturulan çalışma biçimine bilgisayar ağı.
VERİTABANI.
Veritabanı Yönetim Sistemleri Hızlı ve Kısa Giriş
Veritabanı Temel Kavramlar ve
MART 2013 İŞLETİM SİSTEMLERİ.
Ankara T.C. MİLLÎ EĞİTİM BAKANLIĞI EĞİTİM TEKNOLOJİLERİ GENEL MÜDÜRLÜĞÜ Bilişim Teknolojileri Formatör Öğretmen Eğitimi Programı Bilişim Teknolojileri.
İşletim Sistemleri Tanım: Kullanıcı ile bilgisayar donanımı arasında bağlantıyı sağlayan özel bir yazılımdır.
Veri Tabanı Nedir ?.
Windows Server 2008’e Genel Bakış Microsoft Windows Server 2008, bilgi teknolojileri (BT) uzmanlarının altyapıları üzerindeki kontrollerini maksimum seviyeye.
İnternet Teknolojisi Temel Kavramlar
Microsoft’ta Devrim Visual Studio 2010 Kariyer Üstü Prestij.
VERİTABANLARI.
CONTENT MANAGEMENT SYSTEM (İÇERİK YÖNETİM SİSTEMLERİ)
İŞLETİM SİSTEMLERİ Öğr. Gör. S.Serkan TAN.
WINDOWS NT GENEL YAPISI
AĞ İŞLETİM SİSTEMLERİ Öğr. Gör. Mustafa SARIÖZ
BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1
SQL SERVER Giriş A. Betül Oktay Ayşe Betül Oktay 2006.
Veri Tabanı Yönetim Sistemleri I
EYLÜL 2014 İŞLETİM SİSTEMLERİ Bilgisayar Uygulamaları.
BİLGİSAYAR AĞLARINA GİRİŞ
VERİTABANI.
Veritabanı Yönetim Sistemi
İnternet Teknolojisi Temel Kavramlar
BTÖ 306 Bilgisayar Ağlarına Giriş Dr. Şirin Karadeniz Çelebi Uluyol.
TR.NET Teknik Destek Uzmanı
VERİTABANI.
Ağlar ve Veri İletişimi
ÇOK KATMANLI MİMARİLER. Katman: Ortak işi yapan kodların bir yerde toplanması Örneğin hemen hemen her projemizde veri tabanı kullanırız, bunun için veritabanı.
Veritabanı Yönetim Sistemleri - I
BTÖ 306 Bilgisayar Ağlarına Giriş. BTÖ 306 Tarihsel Gelişim Main- frame OS yoktu Batch Systems (Toplu İşlem) Birden fazla işin arka.
NetKafem Kullanımı Basit, Maliyeti Düşük, İşlevleri Güçlü
Temel Bilgi Teknolojilerinin Kullanımı Öğr.Gör. Abdullah ŞENER.
VERİTABANI SİSTEMLERİ
Veritabanı Yönetim Sistemleri
İnsan Kaynakları Bilgi Sistemleri
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
Sunum Planı 2 Veri Temelleri Veri & Bilgi Dijital Veri & Sayısallaştırma Dijital Veri Saklama Veritabanı Veri Saklama VTYS SQL Veri Yönetimi Veri Ambarı.
SUNUM KONU BAŞLIKLARI->
GÖZDEHAN ÖZTÜRK  Sunucu (Server), herhangi bir ağ üzerinde bir programı veya bir bilgiyi farklı kullanıcılara/sistemlere paylaştıran/dağıtan.
SUNUCU İŞLETİM SİSTEMLERİ
SANALLAŞTIRMA ÇEŞİTLERİ VE YAZILIMLARI
Asp.Net Veritabanı İşlemleri
Bilgisayar Ağlarına Giriş
Active Directory.
VERİTABANI.
Bilgisayar Ağlarına Giriş
VISUAL STUDIO İÇERİSİNDE VERİ TABANI BAĞLANTISI ACCESS DATA SOURCE SAVAŞ TUNÇER
Bir bilgisayar sisteminin 4 bileşeni vardır;
Amazon Web Servisleri ve Javascript Dilinin Birlikte Kullanımı
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
Genel PHP Akademik Bilişim 2003 Adana, Şubat 2003 Hidayet Doğan
VERİ TABANI UYGULAMALARI
Sunum transkripti:

VERİTABANI UYGULAMA ve GELİŞTİRME Prof. Dr. Yalçın ÇEBİ Arş. Gör. Özlem AKTAŞ yalcin@cs.deu.edu.tr ozlem@cs.deu.edu.tr

Giriş Yazılım dünyasında ihtiyaçlar ortaya çıktıkça bu ihtiyaçlara cevap verecek çeşitli yazılım mimarileri ortaya çıkmıştır. Tek katmanlı (1-Tier) yazılımlar: Bu mimaride veritabanı ve uygulama aynı bilgisayar uzerinde bulunur. Dezavantajları -Bu mimari tek kullanıcılı yazılımlar içindir. İki katmanlı (2-Tier) yazılımlar: Diğer adı Client/Server (İstemci /Sunucu) olan bu mimaride veritabanı ayrı bir bilgisayar üzerinde yer alır ve uygulamalar ağ üzerinden bu veritabanı ile iletişim kurarlar. Avantajları -Aynı veriler üzerinde birçok kişi çalışabilir. Dezavantajları -İş mantığı uygulamada yer aldığı için en ufak bir değişiklikte bütün istemcilerin güncellenmesi gerekir. -Her sunucu veritabanına fiziksel bir bağlantı kurduğu için kullanıcı sayısı arttıkça performans düşer. -Veritabanı dışarıya açık olduğu için daha fazla risk söz konusudur. -Uygulamanın çalışabilmesi için istemcilerin yapılandırılması gerekir (veritabanı sürücülerinin kurulması vb.).

Giriş Çok katmanlı (N-Tier : 3-Tier, Multi-Tier, Distributed Computing v.s) yazılımlar: Bu yapı en az 3 bilesenden olusur: Client, Application Server ve Veritabanı, sırasıyla sunum katmanı, iş katmanı ve data katmanı da denir. Avantajları - İstemci tarafında her hangi bir yapılandırmaya ihtiyaç olmaz (genelde). - İş mantığı orta katmanda (iş katmanı) yer aldığı için bu katmanla ilgili değişikliklerde istemcileri güncellemek gerekmez. - istemciler veritabanı yerine orta katmana bağlandığı için hem veritabanı performansında fazla bir azalma olmaz hem de veritabanının güvenliği üst seviyeye çıkmış olur. - İstemciler veritabanından bağımsız hale gelirler. Veritabanı değiştiği zaman orta katmanı ilgili veritabanı için yeniden uyarlamak yeterlidir. Dezavantajları -Bu tur mimariye sahip bir yazılımı yazmak diğerlerine göre daha zor ve karışıktır.

Veritabanı Nedir? Veri tabanı düzenli bilgiler topluluğudur. Veritabanı basit olarak bilgi depolayan bir yazılımdır. Veri tabanı, en geniş anlamıyla; birbiriyle ilişkili verilerin tekrara yer vermeden, çok amaçlı kullanımına olanak sağlayacak şekilde depolanması olarak tanımlanabilir. En az bir tablodan oluşmak zorundadır. Veritabanı programını oluşturan tablolar veri alanlarından oluşur (data field).

Veritabanının Genel Özellikleri Input / Girdi Output / Çıktı Anlaşılır Verimli Sonuca ulaşmalı İyi bir veritabanının özellikleri: *Veriler hızlı ve kolay girilebilmeli *Güvenli bir şekilde saklanmalı *İstenildiği şekilde ve kolay sorgulanmalı

Veritabanının Avantajları Herhangi bir evrak saklamaya gerek yoktur. Bilgiler istenildiği zaman görülebilir. Bilgilerin kontrolleri tek bir noktadan yapılabilir. Verilerin merkezi kontrolü sağlanır. Verinin paylaşımı sağlanır. Genel veya özel raporlar alınabilir. Verilerin tutarlı olmasını sağlar (Veri Bütünlüğü = Data Integrity). Aynı andaki erişimlerde tutarsızlıkların ortaya çıkmasını önler. Verilerin güvenliğini sağlar (Kullanıcıların her alana erişememesi iyi bir özelliktir. Bunun için çeşitli yetkiler atanır ve verilerle birlikte bu yetkiler de saklanır).

Veritabanının Avantajları “Veri Tekrarı” engellenir: Aynı veri farklı dosyalarda tekrar tekrar yer almaz.Bu verinin daha az yer kaplamasını sağlar. “Çoklu Güncelleme” yapılabilir: Birden fazla dosyada tekrarlanan verinin herhangi birini değiştirdiğimizde diğer dosyalardaki veri de aynı anda değişir. “Gereksiz Bellek Kullanımı” engellenir: Aynı veriler defalarca tekrarlanmadığı için bilgisayar belleğinde gereksiz yer işgal etmez. “Erişim Dili” standarttır: Veritabanına erişim dili uygulanmadan uygulamaya değişmez.Standart bir dil kullanımı vardır.

Veritabanı Yönetim Sistemi – Database Management System (DBMS) Bir veri tabanını oluşturmak, saklamak, çoğaltmak, güncellemek ve yönetmek için kullanılan programlara Veri Tabanı Yönetim Sistemi (DBMS) adı verilir. İlişkisel Veritabanı Yönetim Sistemleri (Relational Database Management Systems - RDBMS) büyük miktarlardaki verilerin güvenli bir şekilde tutulabildiği, bilgilere hızlı erişim imkanlarının sağlandığı, bilgilerin bütünlük içerisinde tutulabildiği ve birden fazla kullanıcıya aynı anda bilgiye erişim imkanının sağlandığı programlardır.

Veritabanı Tipleri Hiyerarşik Veritabanı İlişkisel Veritabanı (Relational Type) Nesnesel Veritabanı

Hiyerarşik Veritabanı VTP Tablo 1 Tablo 2 Adı Soyadı Malzeme Tutar

İlişkisel Veritabanı Birden fazla tablodan oluşabilir. Birbirlerinin yerine kullanılabilir. Tablolar satır ve sütundan oluşur.

Hangi Veritabanı Kullanılmalı Bu veritabanı ile neler yapacaksınız? Küçük bir şirket çalışanlarının özel bilgileri mi tutulacak, yoksa büyük bir şirketin binlerce müşterilerinin bilgileri mi? Sitenizi günde kaç kişi ziyaret edecek? Aynı anda kaç işlem yapılacak? Güvenlik ne ölçüde olacak? “Yedekleme / Geri yükleme” gerekli mi?

Veritabanı Çeşitleri MySQL IBM DB2 Paradox Interbase Microsoft Access Informix Progress Microsoft SQL Server PostgreSQL Oracle

Paradox Paradox gerçek bir SQL veritabanı değildir, dosyalardan oluşur. Veritabanı yönetim sistemi yoktur, tablolara ulaşmak zordur. Paradox tek kullanıcılı programlarda pek fazla problem çıkarmazken, ağ ortamında eğer dikkatli kullanılmazsa sorun çıkarabilmektedir. BDE artık geliştirilmemektedir. Tek kullanıcılı yazılımlar içindir. Paradox tablosuna yazdığınız veriler anında dosyaya kaydedilmez. Paradox'ta silinen kayıtlar geri kurtarılamaz. Silinen kayıtların üzerine boş bilgiler yazılıp yeni bir kayıt için ayrılmaktadır. İyi bir yedekleme sistemi kurulmalıdır, dosya bozulursa kurtarılamayabilir. Bir Paradox tablosunda en fazla 255 alan (field) olabilir.

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. JET veritabanı motoru üzerinde grafik arabirimle çalışan bir veritabanı yönetim sistemidir.

Access Avantajları Raporlama sistemleri oldukça gelişmiştir. JET veritabanı: Access tarafından kullanılan JET (Joint Engine Technology, Birleşik Motor Teknolojisi) sayesinde bir çok ortamla etkileşim haline geçebilir ve birden fazla kullanıcı veritabanında işlem yapabilir. Raporlama sistemleri oldukça gelişmiştir. Sihirbaz desteği kullanım kolaylığı sağlar., Veritabanı SQL e kısa sürede çevrilir.

Access Dezavantajları Office içinde bulunur ve ücretlidir. Büyük ölçekli çözümler için uygun değildir. Farklı paylaşım yöntemleri olsa da aslında tek kullanıcılıdır. Access dosyaları yerel bir bilgisayar içinde saklanır, şifreleme yapılmazsa dosyalar başkaları tarafından kolayca kopyalanabilir. Veriler veritabanından silinmez, işaretlenir, boyut sürekli artar.

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. Açık kaynak kodlu olmasından dolayı geniş kullanıcı kitleleri tarafından tercih edilir. Oldukça hızlı ve kararlı bir yapısı vardır, ancak çalıştığı sunucuda işlem yüküyle ters orantılı bir hıza sahiptir. Platform Bağımsızdır (Herhangi bir platform sınırlaması yoktur; Windows, MacOS, Linux ve pek çok unix türeviyle sorunsuz çalışır). 50 milyon sütun ve üstüne destek veren MySQL varsayılan tablo boyutu olarak 4GB limite sahiptir

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.

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.

Oracle Oracle, Inc. Dünyanın en güçlü ve güvenilir veritabanı olarak gösterilmektedir. Windows, Unix, Linux, ... Oracle, sınırsız sayıda tabloları desteklemektedir. Bir tablodaki maxiumum index sayisi, maximum satir sayisi sinirsizdır.

Oracle Büyük çözümler için en iyi çözümlerden biridir. Avantajları Büyük şirketler için en iyi çözüm. Performans: Oracle10g ile beraber neredeyse en iyi çözüm. Bakım durumlarında bile kapatılmıyor. Şifreleme: Şifreleme doğrudan veritabanı seviyesinde yapılıyor bu da hızı artırıyor. Yedekleme ve Geri Yükleme: Yedekleme işlemini kendi içinde yapabiliyor ve istenilen bir tarihe veritabanını otomatik olarak geri döndürebiliyor.

Oracle Dezavantajları Deneyimli Yönetici ihtiyacı (Oracle konusunda deneyimli olmayan ve yüksek sistem bilgisine sahip olmayan bir yönetici sistemi yönetemez). Yüksek maliyetlidir. Açıklar: yanlış ayar yapılırsa ciddi güvenlik açıkları olabilir. “Windows ile kullanıldığında ciddi güvenlik açıkları olabilir” gibi kötü bir üne sahiptir.

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.

PostgreSQL Berkeley Üniversitesi Bilgisayar Bilimi Bölümü tarafından geliştirilen, nesne ilişkili veritabanı sistemidir. Lisans Kolaylığı vardır . Veritabanı Kullanıcıları tarafından en güvenilir ve kararlı veritabanı olarak kabul edilir. Açık kaynak kodlu ve gelişime açıktır. Tablo başına 64 TB veri tutabilme özelliği vardır. “Transaction”, “Inheritance” “trigger” ve “stored procedure” özelliklerine sahiptir. Büyük ölçekli çözümler için idealdir. Ancak, hakkında düzenli bilgiye ulaşmak zordur ve bazı hosting firmaları tarafından desteklenmemektedir.

Desktop Database – Server Database Microsoft Access FoxPro FileMaker Pro Paradox Server Database: Oracle Informix MS-SQLServer Sybase DB2 MySQL Postgresql

Desktop Database - Avantajları Pahali degildirler Kullanici dostudur (user-friendly). Web cözümlerini destekler.

Desktop Database - Dezavantajları Desktop Database’ler genelde bir kullanici desteklerler. Genelde desktop databaseler ayni anda sadece bir kisinin veritabanını degistirmesine izin verirler. Cok kullanicili bir ortamda desktop veritabanı kullanmak cok kötü sonuclar dogurabilir. Veritabanını aynı anda birden fazla kisi kullanacaksa „Server Database“ kullanilmasi tercih edilmelidir. Desktop Database’lerin güvenligi zayiftir. Cogu desktop veritabanı basit bir sifre mekanizmasina sahiptir. Dekstop database'ler internet icin tasarlanmamistir. Eger basit olarak datanizi internete acmak istiyorsaniz bir desktop Database’i yeterli gelebilir. Fakat, internet kullanicilarinin datayi degistirebildigi ve yeni datanin girebildigi interaktif bir sistem olusturmak istiyorsaniz server tabanli bir veritabanı kullanmaniz gerekmektedir.

Server Database - Avantajları Esneklik. Database merkezli özel uygulamalarin hizli gelisimini saglayan programci-dostu uygulama programci arabirimleri (Application Programmer Interface, yani API) olduğundan programcılar tarafından tercih edilirler. Hatta Oracle, Informix, Sybase, DB2 gibi veritabanları, farklı platformları (Isletim Sistemleri) desteklemektedir. Güclü performans. Server tabanli veritabanlı istenilen ölçüde güçlü olabilirler, çok uygun donanımlarda cok verimli bir sekilde calisabilirler. Modern veritabanları birden fazla yüksek hizli islemcilerle, cluster sunucularla, yüksek bant genisligine sahip aglarla ve hata toleransli depolama teknolojisiyle (fault tolerant storage technology )calisabilirler. Ölceklenebilirlik (Scalability). İstenilen şekilde gerekli donanimlari artirarak kullanici sayisi veya disk alani genisletilebilir.

Server Database - Dezavantajları Özel bilgi/egitim gereklidir. Pahalidir. Son kullanicilar icin zordur.

Hangi Veritabanı Kullanılmalı Çok küçük veri depolama ihtiyacında: Paradox 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.

ADO (ActiveX Data Objects)

ADO (ActiveX Data Objects) Veri arabirimi bileşenidir. BDE kullanmaz, kurulumunu gerektirmez. Veri erişiminde OLE DB(Object Linking and Embedding) adında bir katmanı (API- Application Interface) kullanır. OLE DB aracılığı ile veritabanı operasyonları gerçekleştirilmekte, OLE DB’ye ADO bileşenleri ile ulaşılmaktadır. ADO OLEDB ile OLEDB’nin desteklemediği diller arasında bir arabirim görevi yapmaktadır ve ODBC (Open DB Connectivity) arabirimlerinin çok daha az nesnede toplanarak kullanılmasını sağlar. OLE DB, ODBC’nin genişletilmiş halidir, tüm PL ile çalışamaz, geçişi ADO sağlar. ODBC İlk MS veri erişim arabirimidir. Hızı düşüktür. Bağlantıları zordur.

ACCESS VT Bağlantısı Oluşturma VT adı: Ornek Tablo Adı: KAYITLAR Alanlar: KayitID : primary key (birincil anahtar), otomatik artar. Adi Soyadi Adres Sehir Telefon