ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları

R. Orçun Madran

2. Haftanın İçeriği
• Web Tabanlı Veri Tabanı Sistemleri. • MySQL. • PhpMyAdmin. • Web tabanlı bir veritabanı tasarımı.

07/09/09

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.

07/09/09

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 :)

07/09/09

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.

07/09/09

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. 2.8.0

07/09/09

R. Orçun Madran

6

PhpMyAdmin’i Tanıyalım
PhpMyAdmin, iki çerçeveli ve metin ağırlıklı bir arayüze sahiptir.

07/09/09

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

07/09/09

R. Orçun Madran

8

PhpMyAdmin’i Tanıyalım
Sol çerçeve veritabanı ve bağlı tabloların listesini verir.

07/09/09

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.

07/09/09

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ı

07/09/09

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.

07/09/09

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

07/09/09

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ı:

Ö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.

07/09/09

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.

Ö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.

07/09/09

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.

Örnek tabloda üç farklı veri girişi (kayıt) görülmektedir.

07/09/09

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.

Örnek tabloda yer alan “Ahmet”, “Kulcu”, “345627” ve benzeri sayı ve metin katarlarının her biri değer olarak ifade edilir.

07/09/09

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.

Örnek tabloda yer alan “Sıra No” ve “Öğrenci No” alanları anahtar olarak belirlenmek için uygun sütunlardır.
07/09/09 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ı
07/09/09 R. Orçun Madran 19

İlişkisel Veri Tabanı: İlişkiler
• İki tablonun verileri arasındaki ilişkiyi temsil ederler.

07/09/09

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.

07/09/09

R. Orçun Madran

21

Sign up to vote on this title
UsefulNot useful