ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran Web Tabanlı Veri Tabanı Sistemleri • Web Tabanlı Veri Tabanı Sistemleri. • MySQL. • PhpMyAdmin. • Web tabanlı bir veritabanı tasarımı. 20.7.2017 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. 20.7.2017 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 :) 20.7.2017 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. 20.7.2017 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. 20.7.2017 R. Orçun Madran 6 PhpMyAdmin’i Tanıyalım PhpMyAdmin, iki çerçeveli ve metin ağırlıklı bir arayüze sahiptir. 20.7.2017 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 20.7.2017 R. Orçun Madran 8 PhpMyAdmin’i Tanıyalım Sol çerçeve veritabanı ve bağlı tabloların listesini verir. 20.7.2017 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. 20.7.2017 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ı 20.7.2017 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. 20.7.2017 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 20.7.2017 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 1 Ad Soyad E - Posta 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. 20.7.2017 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 1 Ad Soyad E - Posta 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. 20.7.2017 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 1 Ad Soyad E - Posta 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. 20.7.2017 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 1 Ad Soyad E - Posta 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. 20.7.2017 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 1 Ad Soyad E - Posta 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. 20.7.2017 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ı 20.7.2017 R. Orçun Madran 19 İlişkisel Veri Tabanı: İlişkiler • İki tablonun verileri arasındaki ilişkiyi temsil ederler. 20.7.2017 Sıra No Öğrenci No 1 Ad Soyad E - Posta 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 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? Mesaj 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. 20.7.2017 R. Orçun Madran 21