Veri Tabanı Yönetim Sistemleri Bölüm - 3

advertisement
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
Download