Web Tabanlı Veri Tabanı Yönetim Sistemleri

advertisement
BÖTE 305
İnternet Tabanlı Programlama
R. Orçun Madran
İçerik
• Web Tabanlı Veri Tabanı Sistemleri.
• MySQL.
• PhpMyAdmin.
• Web tabanlı bir veritabanı tasarımı.
tasarımı
21.11.2010
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.
y çıkışındaki temel etkenler:
Ortaya
• Farklı sunucu ve istemci mimarilerinde çalışabilecek
yyapıya
p y sahip
p veritabanı uygulamalarına
yg
duyulan
y
ihtiyaç,
y ç
• Uzak bilgisayarlarda yer alan veritabanı sistemlerini
yyapılandırma
p
isteği
ğ (Web
(
barındırma hizmetleri vb.),
),
şeklinde sıralanabilir.
21.11.2010
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
M SQL
• 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
ç
:))
21.11.2010
R. Orçun Madran
4
MySQL
• İlişkisel veritabanı yönetim sistemidir (RDBMS).
• Tamamıyla
T
l C/C
C/C++ dili kkullanılarak
ll l k yazılmıştır.
l
t
• Veritabanlarına erişmek ve sorgulamak için kullanılan en
yaygın ve standart dil olan SQL’i
SQ ’ kullanır.
• Açık kaynak kodlu bir veritabanıdır.
• Windows, Linux ve OpenBSD platformlarında çalışır.
• 8.3.2006
8 3 2006 tarihi itibarı ile en güncel ve kararlı sürümü:
’dir.
21.11.2010
R. Orçun Madran
5
PhpMyAdmin
• MySQL
y
veritabanının Web yya da yyerel ağ
ğ üzerinden
yönetilmesini sağlar.
y
ş
• PHP dili kullanılarak yazılmıştır.
• Açık kaynak kodlu bir yazılımdır.
• 8.3.2006
8 3 2006 tarihi
t ihi itibarı
itib ile
il en güncel
ü
l ve kkararlı
l sürümü:
üü ü
2.8.0’dır.
2.8.0
21.11.2010
R. Orçun Madran
6
PhpMyAdmin’i Tanıyalım
PhpMyAdmin, iki çerçeveli ve metin ağırlıklı bir arayüze sahiptir.
21.11.2010
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
21.11.2010
R. Orçun Madran
8
PhpMyAdmin’i Tanıyalım
Sol çerçeve veritabanı ve bağlı tabloların listesini verir.
21.11.2010
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.
21.11.2010
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ı
21.11.2010
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.
l kt di
Tablonun sütunları nitelikleri; satırlar ise bu niteliklerin değerlerini
ifade eder.
eder
Her bir satır bir “kayıt” olarak da düşünülebilir. Anahtar alan, tablonun
tanımlayıcısıdır
tanımlayıcısıdır.
21.11.2010
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
Şe a a
• İlişkiler
21.11.2010
R. Orçun Madran
13
İlişkisel Veri Tabanı: Tablolar
• İlişkisel veritabanlarının temelini oluşturan yapıdır.
• Satır
Sat r ve
e süt
sütunlardan
nlardan ol
oluşur.
ş r
Ö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.
21.11.2010
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
Sıra No”
No ve “Öğrenci
Öğrenci No”
No sütunları sayısal veri
tipi ile ilişkilendirilmişken diğer alanlar metin veri tipi ile
ilişkilendirilmiştir.
21.11.2010
R. Orçun Madran
15
İlişkisel Veri Tabanı: Satırlar
• Tablodaki her satır farklı bir veri girişini (öğrenciyi) temsil eder.
• Tablon
Tablonun
n biçimi nedeni
nedeniyle
le sat
satırların
rlar n her biri a
aynı
n niteliklere
sahiptir.
• Her bir satır “Kayıt”
Kayıt olarak da ifade edilebilir.
edilebilir
Sıra No
Öğrenci
ğ
No
Ad
Soyad
y
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
ebru@gunduz.org
Örnek tabloda üç farklı veri girişi (kayıt) görülmektedir.
21.11.2010
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
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.
21.11.2010
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
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.
21.11.2010
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ı,
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ı
21.11.2010
R. Orçun Madran
19
İlişkisel Veri Tabanı: İlişkiler
• İki tablonun verileri arasındaki ilişkiyi temsil ederler.
21.11.2010
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 * yyapsak
p
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.
21.11.2010
R. Orçun Madran
21
Download