TR.NET Teknik Destek Uzmanı Veritabanına Giriş Devrim GÜNDÜZ TR.NET Teknik Destek Uzmanı devrim@oper.metu.edu.tr http://seminer.linux.org.tr http://belgeler.linux.org.tr
Linux Kullanıcıları Derneği Kuruluş INET-TR 1995 ilk kullanıcı grubu Türkiye Linux Kullanıcıları Grubu 2000 – Dernekleşme Kasım 2001 – İlk Genel Kurul http://www.linux.org.tr Günlük 15.000 hit bilgi@lkd.org.tr - bilgi@linux.org.tr 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği E-posta listeleri Aylık 1 milyon dolayında e-posta dağıtılmaktadır. http://liste.linux.org.tr FTP sunucusu 180 GB alan ile Türkiye’nin en büyük ve hızlı Linux ve Özgür Yazılım FTP sunucusu Birçok özgür yazılımın resmi yansısı 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği Amaçlarımız Özgür Yazılım Felsefesini Türkiye’de tanıtıp yaygınlaştırmak ve özgür yazılımların gelişmesine katkıda bulunmak Yerelleştirme Yeni yazılımların geliştirilmesi Türkçe belgelendirme Düzenli eğitim seminerleri Dernek Üyeliği 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği Desteklediğimiz Etkinlikler Akademik Bilişim Konferansı İnternet Haftası kapsamında etkinlikler Türkiye’de İnternet Konferansları Düzenlediğimiz Etkinlikler Türkiye Linux ve Özgür Yazılım Şenliği Ankara ve İstanbul’da düzenli seminerler Gezici Seminerler Piknik 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği Giriş Bu seminerde, aşağıdaki konular anlatılacaktır: Veritabanı tanımı Veritabanı türleri SQL nedir? Veritabanlarının kullanım alanları İlişkisel (Relational) veritabanlarının açıklanması Veritabanı çeşitleri ve açıklamaları Hangi veritabanı nerede kullanılmalıdır? e-posta listeleri 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği Veritabanı Nedir? www.m-w.com : “a usually large collection of data organized especially for rapid search and retrieval (as by a computer.” 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği Veritabanı Nedir? Belirli bir tarzda organize edilmiş bilgi “koleksiyon”udur. En az bir tablodan oluşmak zorundadır. Veritabanı programını oluşturan tablolar ise veri alanlarından oluşur (data field). 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği Veritabanı Nedir? Kitaplıklar, uygulamalar ve yardımcı programların birleşmesinden oluşur. Verilerin saklanması ve yönetilmesi ile ilgili konulardaki ayrıntılardan veritabanı yöneticilerini kurtarır. Kayıtların güncellenmesi ve kayıtlar üzerinde araştırma yapılması da mümkündür. 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği Veritabanı Tipleri Hiyerarşik Veritabanı İlişkisel Veritabanı (Relational Type) Nesnesel Veritabanı 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Hiyerarşik Veritabanı VTP Tablo 1 Tablo 2 Adı Soyadı Malzeme Tutar 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği İlişkisel Veritabanı 1970: “A Relational Model of Data for Large Shared Data Banks” E. F. Codd Relation mantığı Tablolar -> Gerçek dünyadaki nesneler 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği İlişkisel Veritabanı Birden fazla tablodan oluşabilir. Birbirlerinin yerine kullanılabilir. Tablolar satır ve sütundan oluşur. 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği İlişkisel Veritabanı Kullanıcının programı kullanırken ona sık sık soracağı soruların neler olacağı tespit edilir. “Gerçekleştirilecek olan veritabanı programından beklenilen neler ve bu veritabanında hangi bilgilerin olması gerekli?” sorusunun yanıtı bulunur. 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği İlişkisel Veritabanı Tablolardaki kayıtlar matematiksel açıdan tuple olarak tanımlanırlar. Bir tuple, tanımlanmış bir veri tipi olan bileşenlerden oluşan sıralı grup olarak tanımlanır. Tüm tuplelar aynı sayıda ve tipte bileşenlerden oluşur. {“10”, “Veritabanlarına Giriş”, “2002-06-12”} {“11”, “Progress Veritabanı Sunucusu”, “2002-06-26”} 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği İlişkisel Veritabanı Örnekteki her bir tuple da 3 bileşen bulunmaktadır: Ankara’daki 2002 yılındaki kaçıncı seminer olduğu (integer) Seminerin konusu (char) Seminerin tarihi (timestamp) İlişkisel veritabanlarında bu “kümeye” ya da tabloya eklenen tüm kayıtlar aynı yapıda olmalıdırlar. 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği İlişkisel Veritabanı { “Veritabanlarına Giriş”, “2002-06-12”} eksik bileşen {“10”, “Veritabanlarına Giriş”, “2002-06-12” , “Devrim GÜNDÜZ”} fazla bileşen {“2002-06-12”, “Veritabanlarına Giriş”, “10”} yanlış bileşen tipleri (yanlış sırada) 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği İlişkisel Veritabanı tuple lardan oluşan bir tabloda aynı veriler bulunmaz.(No duplicate record). İlişkisel veritabanlarındaki herhangi bir tabloda birbiriyle tamamen aynı iki kayıt (row or record) bulunamaz. Gereksiz sınırlama? Sorun : İki kez aynı ürünün siparişi Çözüm : Tabloya eklenecek bir fazla bileşen 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği İlişkisel Veritabanı Bir kayıttaki her bir bileşen “atomik”, yani bir veri olmalıdır Başka bir kayıt ya da diğer bileşenlerin listesi olamaz. Tablodaki bileşenlerin veri tipleri de üsttekilerle ve dolayısıyla tablo tanımlarındakilerle aynı olmalıdır. Veritabanı tarafından desteklenen veri tiplerinden biri olmalıdır. 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
İlişkisel Veritabanı - Anahtarlar key: Birbiriyle eş kayıtları ayırmak için kullanılan bileşenlerdir. primary key :Tablodaki bir kaydı diğer tüm kayıtlardan ayırmak için kullanılan bileşendir. “unique” yapar. Tüm ilişkisel veritabanlarında her bir tablo ya da relationda mutlaka primary key olmalıdır. 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği Tablolar Aynı konu ile ilgili olan bilgiler belirlenmelidir. Index olarak kullanılacak alanlar, zaman icinde değiştirilebilecek şekilde belirlenir. Olası olan en yüksek seviyede yapısal bir şekilde tabloların oluşturulması sağlanmalıdır. 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği Veri alanları Aynı konu ile ilgili alanların kendi tablolarında toplanması sağlanmalı Veri tekrarı olmamalı Gereksiz alanlar kullanılmamalı Alanlar basite indirgenmelidir. 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Veritabanından beklenenler Her düzeyde rapor alınabilme özelliği Doğru ve hızlı sonuç verebilme özelliği Sorulabilecek bütün sorulara yanıt verebilecek sorgulama dili Bilgilerin ve sonuçların tutarlılığı 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği SQL Nedir? SQL: Structured Query Language Veritabanı dilidir. Veri eklerken, silerken, güncellerken veya sorgularken kullanılır. ANSI ve ISO standardıdır. Select, Delete, Update, Insert 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği Neden Veritabanı? Gerçekten veritabanına gereksinmeniz var mı? Veritabanları, verilerin saklanması ve yönetilmesi için kullanılmalıdır. Küçük bilgiler için metin dosyaları yeterli olabilir. Amacınızın iyi belirlenmesi gerekir. 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği Neden Veritabanı? Veri sadece bir konuyu içeren bir listenin içinde mi? Sorun karmaşık mı? İstatiksel bir analiz mi yapmak istiyorsunuz? 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği Neden Veritabanı? Bir yönetim mi yapacaksınız? Metinsel veritabanları Kullanım kolaylığı 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği Neden Veritabanı? Bilimsel formüllere gereksinmeniz olacak mı? Veriyi paylaşma gereksinmeniz olacak mı? Veriyi webde sunacak mısınız? 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği Veritabanı Çeşitleri Öncelikle ne yapılacağına karar verilmelidir: 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? 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği Veritabanı Çeşitleri Aynı anda kaç işlem yapılacak? Güvenlik ne ölçüde olacak? Verilerinizin güvenliği ne ölçüde olacak? 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği Veritabanı Çeşitleri Yanlış bir kanı : “Paralı ürünler iyidir, ücretsiz ürünler iyi değildir!” Linux! Bir veritabanının ücretsiz olup olmamasından çok işinizi görüp görmeyeceği önemlidir. 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği Veritabanı Çeşitleri Microsoft Access MySQL IBM DB2 Interbase Informix Progress Microsoft SQL Server PostgreSQL Oracle 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği 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. 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği 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. 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği IBM DB2 IBM Access ve MySQL e göre daha performanslı, ancak küçük işletmelere göre daha yüksek maliyete sahiptir. *nix ve Windows üzerinde çalışabilir. Transaction logging”, “trigger” ve “stored procedure” özelliklerine sahiptir. 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği 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. 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği 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. 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği 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. 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği 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. 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Hangi veritabanını seçmeli? 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. 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği E-posta listeleri vts@linux.org.tr Veritabanları için tartışma listesi (üye olmak için, http://liste.linux.org.tr web arayüzünü kullanabilirsiniz.) pgsql-tr-genel@postgresql.org (PostgreSQL Türkiye E-Posta Listesi . PostgreSQL üzerinde her türlü konu.) 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği Web sayfaları http://foundries.sourceforge.net/databases http://gborg.PostgreSQL.org http://techdocs.PostgreSQL.org http://techdocs.oper.metu.edu.tr http://www.mysql.com http://www.oracle.com http://otn.oracle.com 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
Linux Kullanıcıları Derneği Belgenin güncel hali http://devrim.oper.metu.edu.tr/belgeler.php http://seminer.linux.org.tr http://www.linux.org.tr/belgeler.php 12.06.2002 Çarşamba Veritabanlarına Giriş Linux Kullanıcıları Derneği devrim.gunduz@linux.org.tr
TR.NET Teknik Destek Uzmanı Veritabanına Giriş Devrim GÜNDÜZ TR.NET Teknik Destek Uzmanı devrim@oper.metu.edu.tr http://seminer.linux.org.tr http://belgeler.linux.org.tr