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

Veri Tabanı Yönetim Sistemleri Bölüm - 3 · • İlişkisel veritabanı yönetim sistemidir (RDBMS). • Tamamıyla C/C++ dili kullanılarak yazılmıştır. • Veritabanlarına

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Veri Tabanı Yönetim Sistemleri Bölüm - 3 · • İlişkisel veritabanı yönetim sistemidir (RDBMS). • Tamamıyla C/C++ dili kullanılarak yazılmıştır. • Veritabanlarına

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

Page 2: Veri Tabanı Yönetim Sistemleri Bölüm - 3 · • İlişkisel veritabanı yönetim sistemidir (RDBMS). • Tamamıyla C/C++ dili kullanılarak yazılmıştır. • Veritabanlarına

R. Orçun Madran !2

İçerik

• Web Tabanlı Veri Tabanı Sistemleri. !

• MySQL. !

• PhpMyAdmin. !

• Web tabanlı bir veritabanı tasarımı.

11/14/13

Page 3: Veri Tabanı Yönetim Sistemleri Bölüm - 3 · • İlişkisel veritabanı yönetim sistemidir (RDBMS). • Tamamıyla C/C++ dili kullanılarak yazılmıştır. • Veritabanlarına

R. Orçun Madran !3

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

Page 4: Veri Tabanı Yönetim Sistemleri Bölüm - 3 · • İlişkisel veritabanı yönetim sistemidir (RDBMS). • Tamamıyla C/C++ dili kullanılarak yazılmıştır. • Veritabanlarına

R. Orçun Madran !4

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

Page 5: Veri Tabanı Yönetim Sistemleri Bölüm - 3 · • İlişkisel veritabanı yönetim sistemidir (RDBMS). • Tamamıyla C/C++ dili kullanılarak yazılmıştır. • Veritabanlarına

R. Orçun Madran !5

• İ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.

MySQL

11/14/13

Page 6: Veri Tabanı Yönetim Sistemleri Bölüm - 3 · • İlişkisel veritabanı yönetim sistemidir (RDBMS). • Tamamıyla C/C++ dili kullanılarak yazılmıştır. • Veritabanlarına

R. Orçun Madran !6

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

PhpMyAdmin

11/14/13

Page 7: Veri Tabanı Yönetim Sistemleri Bölüm - 3 · • İlişkisel veritabanı yönetim sistemidir (RDBMS). • Tamamıyla C/C++ dili kullanılarak yazılmıştır. • Veritabanlarına

R. Orçun Madran !7

PhpMyAdmin, iki çerçeveli ve metin ağırlıklı bir arayüze sahiptir.

PhpMyAdmin’i Tanıyalım

11/14/13

Page 8: Veri Tabanı Yönetim Sistemleri Bölüm - 3 · • İlişkisel veritabanı yönetim sistemidir (RDBMS). • Tamamıyla C/C++ dili kullanılarak yazılmıştır. • Veritabanlarına

R. Orçun Madran !8

Giriş sayfasından temel versiyon bilgileri elde edilebilir.

PhpMyAdmin’i Tanıyalım

PhpMyAdmin Sürüm Bilgisi

MySQL Sürüm Bilgisi

11/14/13

Page 9: Veri Tabanı Yönetim Sistemleri Bölüm - 3 · • İlişkisel veritabanı yönetim sistemidir (RDBMS). • Tamamıyla C/C++ dili kullanılarak yazılmıştır. • Veritabanlarına

R. Orçun Madran !9

Sol çerçeve veritabanı ve bağlı tabloların listesini verir.

PhpMyAdmin’i Tanıyalım

11/14/13

Page 10: Veri Tabanı Yönetim Sistemleri Bölüm - 3 · • İlişkisel veritabanı yönetim sistemidir (RDBMS). • Tamamıyla C/C++ dili kullanılarak yazılmıştır. • Veritabanlarına

R. Orçun Madran !10

Sağ çerçevede ise seçili öğelerle ilgili işlem ve ayrıntılar yer alır.

PhpMyAdmin’i Tanıyalım

11/14/13

Page 11: Veri Tabanı Yönetim Sistemleri Bölüm - 3 · • İlişkisel veritabanı yönetim sistemidir (RDBMS). • Tamamıyla C/C++ dili kullanılarak yazılmıştır. • Veritabanlarına

R. Orçun Madran !11

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ı

Web Tabanlı Veri Tabanı Tasarımı

11/14/13

Page 12: Veri Tabanı Yönetim Sistemleri Bölüm - 3 · • İlişkisel veritabanı yönetim sistemidir (RDBMS). • Tamamıyla C/C++ dili kullanılarak yazılmıştır. • Veritabanlarına

R. Orçun Madran !12

İ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

Page 13: Veri Tabanı Yönetim Sistemleri Bölüm - 3 · • İlişkisel veritabanı yönetim sistemidir (RDBMS). • Tamamıyla C/C++ dili kullanılarak yazılmıştır. • Veritabanlarına

R. Orçun Madran !13

İlişkisel Veri Tabanı altında inceleyeceğimiz alt kavramlar: • Tablolar • Sütunlar • Satırlar • Değerler • Anahtarlar • Şemalar • İlişkiler

İlişkisel Veri Tabanı

11/14/13

Page 14: Veri Tabanı Yönetim Sistemleri Bölüm - 3 · • İlişkisel veritabanı yönetim sistemidir (RDBMS). • Tamamıyla C/C++ dili kullanılarak yazılmıştır. • Veritabanlarına

R. Orçun Madran !14

• İlişkisel veritabanlarının temelini oluşturan yapıdır. • Satır ve sütunlardan oluşur. Örnek bir tablo yapısı:

İlişkisel Veri Tabanı: Tablolar

Sıra No Öğrenci No Ad Soyad E - Posta1 345627 Ahmet Dervek [email protected]

2 567483 Deniz Kulcu [email protected]

3 785942 Ebru Gündüz [email protected]

Ö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

Page 15: Veri Tabanı Yönetim Sistemleri Bölüm - 3 · • İlişkisel veritabanı yönetim sistemidir (RDBMS). • Tamamıyla C/C++ dili kullanılarak yazılmıştır. • Veritabanlarına

R. Orçun Madran !15

• Tablodaki her sütun benzersiz bir ada sahiptir ve farklı veriler içerir.

• Her sütunun ilişkilendirilmiş bir veri tipi vardır.

İlişkisel Veri Tabanı: Sütunlar

Sıra No Öğrenci No Ad Soyad E - Posta1 345627 Ahmet Dervek [email protected]

2 567483 Deniz Kulcu [email protected]

3 785942 Ebru Gündüz [email protected]

Ö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

Page 16: Veri Tabanı Yönetim Sistemleri Bölüm - 3 · • İlişkisel veritabanı yönetim sistemidir (RDBMS). • Tamamıyla C/C++ dili kullanılarak yazılmıştır. • Veritabanlarına

R. Orçun Madran !16

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

İlişkisel Veri Tabanı: Satırlar

Sıra No Öğrenci No Ad Soyad E - Posta1 345627 Ahmet Dervek [email protected]

2 567483 Deniz Kulcu [email protected]

3 785942 Ebru Gündüz [email protected]

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

11/14/13

Page 17: Veri Tabanı Yönetim Sistemleri Bölüm - 3 · • İlişkisel veritabanı yönetim sistemidir (RDBMS). • Tamamıyla C/C++ dili kullanılarak yazılmıştır. • Veritabanlarına

R. Orçun Madran !17

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

İlişkisel Veri Tabanı: Değerler

Sıra No Öğrenci No Ad Soyad E - Posta1 345627 Ahmet Dervek [email protected]

2 567483 Deniz Kulcu [email protected]

3 785942 Ebru Gündüz [email protected]

Ö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

Page 18: Veri Tabanı Yönetim Sistemleri Bölüm - 3 · • İlişkisel veritabanı yönetim sistemidir (RDBMS). • Tamamıyla C/C++ dili kullanılarak yazılmıştır. • Veritabanlarına

R. Orçun Madran !18

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

İlişkisel Veri Tabanı: Anahtarlar

Sıra No Öğrenci No Ad Soyad E - Posta1 345627 Ahmet Dervek [email protected]

2 567483 Deniz Kulcu [email protected]

3 785942 Ebru Gündüz [email protected]

Örnek tabloda yer alan “Sıra No” ve “Öğrenci No” alanları anahtar olarak belirlenmek için uygun sütunlardır.

11/14/13

Page 19: Veri Tabanı Yönetim Sistemleri Bölüm - 3 · • İlişkisel veritabanı yönetim sistemidir (RDBMS). • Tamamıyla C/C++ dili kullanılarak yazılmıştır. • Veritabanlarına

R. Orçun Madran !19

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

İlişkisel Veri Tabanı: Şemalar

Örnek veritabanımızın şeması

11/14/13

Page 20: Veri Tabanı Yönetim Sistemleri Bölüm - 3 · • İlişkisel veritabanı yönetim sistemidir (RDBMS). • Tamamıyla C/C++ dili kullanılarak yazılmıştır. • Veritabanlarına

R. Orçun Madran !20

• İki tablonun verileri arasındaki ilişkiyi temsil ederler.

İlişkisel Veri Tabanı: İlişkiler

Sıra No Öğrenci No Ad Soyad E - Posta

1 345627 Ahmet Dervek [email protected]

2 567483 Deniz Kulcu [email protected]

3 785942 Ebru Gündüz [email protected]

Mesaj No Sıra No Mesaj1 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?

11/14/13

Page 21: Veri Tabanı Yönetim Sistemleri Bölüm - 3 · • İlişkisel veritabanı yönetim sistemidir (RDBMS). • Tamamıyla C/C++ dili kullanılarak yazılmıştır. • Veritabanlarına

R. Orçun Madran !21

• Üç 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.

İlişkisel Veri Tabanı: İlişki tipleri

11/14/13

Page 22: Veri Tabanı Yönetim Sistemleri Bölüm - 3 · • İlişkisel veritabanı yönetim sistemidir (RDBMS). • Tamamıyla C/C++ dili kullanılarak yazılmıştır. • Veritabanlarına