Veri Tabanı Yönetim Sistemleri Bölüm - 3
İçerik Web Tabanlı Veri Tabanı Sistemleri.! MySQL.! PhpMyAdmin.! Web tabanlı bir veritabanı tasarımı. R. Orçun Madran!2
Web Tabanlı Veritabanı Yönetim Sistemleri Web Tabanlı Veritabanı Yönetim Sistemleri, İnternet üzerinden erişelebilen ve yapılandırılabilen veritabanı sistemleridir. Ortaya çıkışındaki temel etkenler: Farklı sunucu ve istemci mimarilerinde çalışabilecek yapıya sahip veritabanı uygulamalarına duyulan ihtiyaç, Uzak bilgisayarlarda yer alan veritabanı sistemlerini yapılandırma isteği (Web barındırma hizmetleri vb.), şeklinde sıralanabilir. R. Orçun Madran!3
Web Tabanlı Veritabanı Yönetim Sistemleri Günümüzde yaygın olarak kullanılan popüler Web tabanlı veritabanı sistemleri: MySQL www.mysql.com PostgreSQL - www.postgresql.org MS SQL - www.microsoft.com/sql/default.mspx Oracle www.oracle.com Bu sistemler içerisinde PHP ile en uyumlu çalışan ve yüksek performans gösteren iki veritabanı sistemi bulunmaktadır: MySQL PostgreSQL Geliştirilen uygulamalara ve yaygın kullanıma bakıldığında ise MySQL* tercih olarak ön plana çıkmaktadır. * Editörün seçimi :) R. Orçun Madran!4
MySQL İlişkisel veritabanı yönetim sistemidir (RDBMS). Tamamıyla C/C++ dili kullanılarak yazılmıştır. Veritabanlarına erişmek ve sorgulamak için kullanılan en yaygın ve standart dil olan SQL i kullanır. Açık kaynak kodlu bir veritabanıdır. Windows, Linux ve OpenBSD platformlarında çalışır. 8.3.2006 tarihi itibarı ile en güncel ve kararlı sürümü: dir. R. Orçun Madran!5
PhpMyAdmin MySQL veritabanının Web ya da yerel ağ üzerinden yönetilmesini sağlar. PHP dili kullanılarak yazılmıştır. Açık kaynak kodlu bir yazılımdır. 8.3.2006 tarihi itibarı ile en güncel ve kararlı sürümü: 2.8.0 dır. R. Orçun Madran!6
PhpMyAdmin i Tanıyalım PhpMyAdmin, iki çerçeveli ve metin ağırlıklı bir arayüze sahiptir. R. Orçun Madran!7
PhpMyAdmin i Tanıyalım Giriş sayfasından temel versiyon bilgileri elde edilebilir. PhpMyAdmin Sürüm Bilgisi MySQL Sürüm Bilgisi R. Orçun Madran!8
PhpMyAdmin i Tanıyalım Sol çerçeve veritabanı ve bağlı tabloların listesini verir. R. Orçun Madran!9
PhpMyAdmin i Tanıyalım Sağ çerçevede ise seçili öğelerle ilgili işlem ve ayrıntılar yer alır. R. Orçun Madran!10
Web Tabanlı Veri Tabanı Tasarımı Veri tabanımızın tasarımına başlamadan önce bir takım kavramlar hakkında bilgi sahip olmamız gerekmektedir. Bu kavramlar: İlişkisel Veri Modeli İlişkisel Model İlişkisel Veri Tabanı R. Orçun Madran!11
İlişkisel Veri Modeli İlişkisel Model: Varlıklar arasındaki bağlantının, içerdiği değerlere göre sağlanması esasına dayanır. Varlıklar arasında oluşan karmaşık ilişkileri basite indirgemek amacıyla geliştirilmiştir. Bu yaklaşımda, veri tabanındaki tüm ilişkiler tablolar biçiminde tanımlanmaktadır. İlişkisel Veri Tabanı: Her biri özel isimlere sahip tablolardan oluşur. İlişkisel veri tabanında her bir tablo bir varlığa veya bir ilişkiye karşılık gelmektedir. Tablonun sütunları nitelikleri; satırlar ise bu niteliklerin değerlerini ifade eder. Her bir satır bir kayıt olarak da düşünülebilir. Anahtar alan, tablonun tanımlayıcısıdır. R. Orçun Madran!12
İlişkisel Veri Tabanı İlişkisel Veri Tabanı altında inceleyeceğimiz alt kavramlar: Tablolar Sütunlar Satırlar Değerler Anahtarlar Şemalar İlişkiler R. Orçun Madran!13
İlişkisel Veri Tabanı: Tablolar İlişkisel veritabanlarının temelini oluşturan yapıdır. Satır ve sütunlardan oluşur. Örnek bir tablo yapısı: Sıra No Öğrenci No Ad Soyad E - Posta 1 345627 Ahmet Dervek ahmet@dervek.com 2 567483 Deniz Kulcu deniz@kulcu.net 3 785942 Ebru Gündüz ebru@gunduz.org Örnek tabloda yer alan her bir satır farklı bir öğrencinin bilgilerini içerir. Her sütun ise kendi içinde aynı tip bilgiyi depolar. R. Orçun Madran!14
İlişkisel Veri Tabanı: Sütunlar Tablodaki her sütun benzersiz bir ada sahiptir ve farklı veriler içerir. Her sütunun ilişkilendirilmiş bir veri tipi vardır. Sıra No Öğrenci No Ad Soyad E - Posta 1 345627 Ahmet Dervek ahmet@dervek.com 2 567483 Deniz Kulcu deniz@kulcu.net 3 785942 Ebru Gündüz ebru@gunduz.org Örnek tabloda Sıra No ve Öğrenci No sütunları sayısal veri tipi ile ilişkilendirilmişken diğer alanlar metin veri tipi ile ilişkilendirilmiştir. R. Orçun Madran!15
İlişkisel Veri Tabanı: Satırlar Tablodaki her satır farklı bir veri girişini (öğrenciyi) temsil eder. Tablonun biçimi nedeniyle satırların her biri aynı niteliklere sahiptir. Her bir satır Kayıt olarak da ifade edilebilir. Sıra No Öğrenci No Ad Soyad E - Posta 1 345627 Ahmet Dervek ahmet@dervek.com 2 567483 Deniz Kulcu deniz@kulcu.net 3 785942 Ebru Gündüz ebru@gunduz.org Örnek tabloda üç farklı veri girişi (kayıt) görülmektedir. R. Orçun Madran!16
İlişkisel Veri Tabanı: Değerler Tablodaki her satır sütunlara karşılık gelen bir dizi değerden oluşur. Her değer, sütunu tarafından belirtilen veri tipinde olmalıdır. Sıra No Öğrenci No Ad Soyad E - Posta 1 345627 Ahmet Dervek ahmet@dervek.com 2 567483 Deniz Kulcu deniz@kulcu.net 3 785942 Ebru Gündüz ebru@gunduz.org Örnek tabloda yer alan Ahmet, Kulcu, 345627 ve benzeri sayı ve metin katarlarının her biri değer olarak ifade edilir. R. Orçun Madran!17
İlişkisel Veri Tabanı: Anahtarlar Anahtarlar satırları (kayıtları) tanımlayan özel sütunlardır (alanlardır). Farklı veri tipleri anahtar olarak belirlenebilir. Anahtar olarak belirlenen sütunların içinde yer alan her bir satır (değer) benzersizdir. Sıra No Öğrenci No Ad Soyad E - Posta 1 345627 Ahmet Dervek ahmet@dervek.com 2 567483 Deniz Kulcu deniz@kulcu.net 3 785942 Ebru Gündüz ebru@gunduz.org Örnek tabloda yer alan Sıra No ve Öğrenci No alanları anahtar olarak belirlenmek için uygun sütunlardır. R. Orçun Madran!18
İlişkisel Veri Tabanı: Şemalar Bir veritabanının tüm tablo tasarımlarına, veritabanı şeması denir. Şema veri içermez; veritabanının taslağı olarak kullanılabilir. Şema; tabloları, sütunları ve her tablonun birincil anahtarları ile birlikte varsa yabancı anahtarları da gösterir. Şemadaki altı çizili terimler, ilgili tablonun birincil anahtarlarıdır. Örnek veritabanımızın şeması R. Orçun Madran!19
İlişkisel Veri Tabanı: İlişkiler İki tablonun verileri arasındaki ilişkiyi temsil ederler. Sıra No Öğrenci No Ad Soyad E - Posta 1 345627 Ahmet Dervek ahmet@dervek.com 2 567483 Deniz Kulcu deniz@kulcu.net 3 785942 Ebru Gündüz ebru@gunduz.org Mesaj No Sıra No Mesaj 1 2 Proje teslim tarihleri ile ilgili güncellemeler... 2 2 Okul deneyimi ile ilgili dosyaların teslim edil... 3 1 Kullanıcı deneyimi ile ilgili makaleye erişebile... 4 2 MySQL ile YourSQL arasında fark ne ehueeh.. 5 3 Bu ders seçmeli ama hakikaten seçmeli mi? 6 3 Sınav sorularını SELECT * yapsak mı acaba? 7 1 Mesaj deyip geçmeyin uğraştırıyor insanı... 8 2 Örneklere gerçekçi bir hal verme çabası... 9 1 SQL ile ilgili bir fıkra bilen varmı arkadaşlar? R. Orçun Madran!20
İlişkisel Veri Tabanı: İlişki tipleri Üç temel ilişki tipi vardır: Bire bir: İlişki içinde her şeyden bir tane olduğunu gösterir. Birden çoğa: Bir tablodaki bir satır başka bir tablodaki birden fazla satırla bağlantılıdır. Çoktan çoğa: Bir tablodaki birden fazla satır başka bir tablodaki birden fazla satırla bağlantılıdır. R. Orçun Madran!21