Veri Tabanı Yönetim Sistemleri Bölüm - 3 İçerik • Web Tabanlı Veri Tabanı Sistemleri. ! • MySQL. ! • PhpMyAdmin. ! • Web tabanlı bir veritabanı tasarımı. 11/14/13 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. 11/14/13 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 :) 11/14/13 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. 11/14/13 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. 11/14/13 R. Orçun Madran !6 PhpMyAdmin’i Tanıyalım PhpMyAdmin, iki çerçeveli ve metin ağırlıklı bir arayüze sahiptir. 11/14/13 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 11/14/13 R. Orçun Madran !8 PhpMyAdmin’i Tanıyalım Sol çerçeve veritabanı ve bağlı tabloların listesini verir. 11/14/13 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. 11/14/13 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ı 11/14/13 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. 11/14/13 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 11/14/13 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. 11/14/13 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. 11/14/13 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. 11/14/13 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. 11/14/13 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. 11/14/13 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ı 11/14/13 R. Orçun Madran !19 İlişkisel Veri Tabanı: İlişkiler • İki tablonun verileri arasındaki ilişkiyi temsil ederler. 11/14/13 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. 11/14/13 R. Orçun Madran !21