Veri Tabanı Tasarımı ve Normalizasyonun PHP ile Yapılması

Veri Tabanı Tasarımı ve Normalizasyonun PHP ile Yapılması

Veri Tabanı Tasarımı ve Normalizasyonun PHP ile Yapılması konulu yazımızda, veri tabanı oluşturma tekniklerini adım adım öğreneceksiniz Her seviyeden PHP programcılarına hitap eden yazımızda, veri tabanı tasarımı ve normalizasyon konularına detaylı bir şekilde değinerek, pratik yapma imkanı sunuyoruz PHP dilini kullanarak gerçekleştireceğiniz örneklerle, veri tabanı işlemlerini başarılı bir şekilde gerçekleştireceksiniz Yazımızı okuyun ve veri tabanı tasarımı konusunda kendinizi geliştirin

Veri Tabanı Tasarımı ve Normalizasyonun PHP ile Yapılması

Veri tabanı tasarımı, web uygulamaları için hayati önem taşır. Bir web uygulamasının verilerini doğru ve güvenli bir şekilde depolaması, uygulamanın başarısı için kritik bir unsurdur. Bu süreçte normalizasyon, verilerin tutarlılığını ve bütünlüğünü sağlamak için kullanılan bir yöntemdir.

Normalizasyon, bir veri tabanındaki tekrarlanan verileri ortadan kaldırarak her tablonun yalnızca o tabloyla ilgili verileri içermesini sağlar. Böylece veriler daha az depolanır ve verilerin güncellenmesi daha kolay hale gelir.

PHP kullanarak normalizasyon işlemleri oldukça kolaydır. İlk olarak, her bir tablonun birincil anahtarını belirlemek gerekir. Sonrasında, birinci normalizasyondan başlayarak, tabloların normalizasyon işlemi yapılır. Her normalizasyon aşamasında, verilerin tutarlılığı ve bütünlüğü iyileştirilir.

Eksik bir veri tabanı tasarımı veya normalizasyon işlemi, verilerin yanlış veya tutarsız olmasına neden olabilir. Bu da web uygulamasının doğru çalışamamasına ve hataların ortaya çıkmasına sebep olabilir. Bu nedenle, veri tabanı tasarımı ve normalizasyon işlemleri oldukça önemlidir ve doğru şekilde yapılmalıdır.


Veri Tabanı Tasarımının Önemi

Web geliştirme sürecinde, veri tabanı tasarımı en önemli faktörlerden biridir. Verilerin doğru ve güvenli bir şekilde depolanması hem web uygulamasının güvenliği hem de performansı açısından büyük önem taşımaktadır. İyi tasarlanmış bir veri tabanı, web uygulamasına hız ve uyumluluk sağlayarak kullanıcı deneyimini iyileştirir.

Veri tabanı tasarımı, verilerin düzenli bir şekilde depolanmasını sağlar ve doğru, tutarlı ve bütünlüklü bir veri seti sağlar. Verilerin normalizasyonu, yinelemeleri ve veri bozulmalarını önlerek sistemin veri kaybını önler. İyi bir veri tabanı tasarımı, web uygulamasının başarısında önemli bir rol oynar ve veri yönetimi için temel bir gerekliliktir.

Bunun yanı sıra, doğru bir veri tabanı tasarımı ile, uygulamanın performansı da artırılabilir. Tasarım hataları, veri tabanının geç yanıt vermesine neden olabilir ve bu da kullanıcı deneyimini olumsuz etkileyebilir. Bu nedenle, iyi bir veri tabanı tasarımı, web uygulamasının veri yönetimi, güvenliği ve performansı açısından kritik öneme sahiptir.


Normalizasyonun Temel İlkeleri

Veri tabanının gereklilikleri dışında tutarlılığı ve veri bütünlüğü de sağlaması önemli bir unsurdur. Bu nedenle, bir veri tabanının normalizasyonu önemli bir adımdır. Normalizasyon, bir veri tabanının tekrarlanan verilerini ortadan kaldırarak veri bütünlüğünü sağlamak için yapılan işlemin adıdır. Bu, verilerin tekrarlanmasını azaltır ve veri tabanının kullanıcı dostu olmasını sağlar.

Normalizasyon işlemi, veri tabanı tasarımında en önemli adımlardan biridir. Burada amaç, verileri tutarlı ve veri bütünlüğünü sağlayacak şekilde saklamaktır. Bir veri tabanı normalleştirildiğinde, her bir sütun yalnızca tek bir değer depolar. Bu şekilde, her bir sütunun bir işlevi vardır. Normalizasyon, veri tabanının sorgulanabilirliği ve bakımı için gerekli olabilir.

Normalizasyon için bazı temel ilkeler vardır. Birinci normal formda, bir veritabanındaki bir kayıt, her bir sütundaki verileri tek bir değerde saklamalıdır. İkinci normal formda, her kayıt, birincil anahtar kullanılarak diğer tüm verileri tanımlamalıdır. Üçüncü normal formda, her sütun, yalnızca tek bir konuya odaklanmalı ve farklı amaçlar için kullanılan bilgiler farklı tablolara ayrılmalıdır.

Bu temel ilkeler bir veri tabanının normalizasyonunu sağlar ve veri bütünlüğünü artırır. Normalizasyon yalnızca veri tabanı tasarımında değil, aynı zamanda veri tabanının çalışması için de önemlidir. Verilerin doğru şekilde saklanması, veritabanının işlevselliği ve kullanıcılara sağladığı kolaylık açısından kritiktir. Dolayısıyla, bir veri tabanı tasarlarken, normalizasyonun ilkelerine uygun olması gerekir.


Birinci Normal Form (1NF)

İlk normal form (1NF), veri tabanı tasarımında en temel adımdır. 1NF, verilerin bir tabloda benzersiz bir anahtarla tanımlanması gerektiği ilkelerine dayanır. Veriler, bir tablo içinde birden fazla alan içermemeli ve her satır, tekil bir anahtarla benzersiz olarak tanımlanmalıdır.

1NF'ye uygun bir veri tablosu örneği, bir kütüphane veritabanındaki Kitaplar tablosudur. Kitapların bilgilerinin depolanması için bir tablo oluşturulabilirdi. Ancak, bu tablo 1NF'ye uygun olmadığından normalleştirilmesi gerekmektedir.

Kitap Adı Yazar Adı Yayınevi Yayın Tarihi
The Great Gatsby F. Scott Fitzgerald Penguin Classics 1925
To Kill a Mockingbird Harper Lee J. B. Lippincott & Co. 1960

Yukarıdaki tablo, kitapların bir listesini gösterir. Ancak, bu tablo 1NF'ye uygun değildir. Her kitap, birden fazla bilgi içeren sütunlara sahiptir. Bu nedenle, veriler normalleştirilerek, her kitap için benzersiz bir tanımlayıcıya (id) sahip yeni bir tablo oluşturulması gerekmektedir.

Kitap ID Kitap Adı Yazar ID Yayınevi ID Yayın Tarihi
1 The Great Gatsby 1 1 1925
2 To Kill a Mockingbird 2 2 1960

Yeni Kitaplar tablosu, her kitap için benzersiz bir Kitap ID alanı içerir ve diğer ayrıntılar, yazarlar ve yayınevleri gibi ayırıcı tablolarda yer alır. Bu, daha verimli ve sürdürülebilir bir veri tabanı tasarımı sunar.


Örnek Toko

Toko, bir kişi adı ve soyadı alanlarını içeren bir tablo örneğidir. Bu tablo, Ad ve Soyad alanlarının her bir kayıtta yinelenmesi nedeniyle 1NF'ye uymaz. Yani her bir kayıtta aynı isim ve soyisim bilgisi tekrar tekrar girilir. Böyle bir durumda, veri tablosu çok büyük hale gelir ve bu da verilerin depolanması ve geri alınması için daha fazla kaynak gerektirir. Bu da performans sorunlarına ve yavaş web uygulamalarına neden olabilir.

Bu sorunu çözmek için, veri tablosu normalizasyon işlemine tabi tutulur. Normalizasyon işlemi, bir veri tablosunun normal biçim standartlarına uygun hale getirilmesidir. Normalizasyon işlemi, verileri tutarlı ve veri bütünlüğünü sağlamak için yapılır. Normalizasyon işlemi, veri depolama maliyetlerini azaltır ve verilerin alışverişi, sağlanması ve işlenmesi daha kolay hale getirir.

    Bu Toko tablosunun normalizasyon işlemi şu şekilde olabilir:
  • Ad ve Soyad sütunları, ayrı tabloların oluşturulmasıyla kaldırılır. Örneğin, bir Kişi tablosu Ad ve Soyad alanlarını içerebilir.
  • Adres bilgileri, Ödeme bilgileri gibi birbirinden farklı amaçlar için kullanılan veriler, ayrı tablolara taşınarak normalizasyon işlemi tamamlanabilir


Çözüm

Birinci normal formun önemini anlamak, normalizasyonun nasıl çalıştığına da dair bir fikir verir. Yukarıdaki örnekte, Toko adlı bir kişi tablosu örneğiyle normalizasyonun uygulanması açıklanmaya çalışılmıştır. Toko adlı tablo öncelikle benzersiz bir tanımlayıcıya sahip değildir ve aynı ad ve soyadı taşıyan kayıtların tekrarlanması söz konusudur.

Birleştirilmiş alanlar, özellikle de adı ve soyadı bir tabloda ayrı birer alana sahip olmak, normalizasyonun öncelikli amacıdır. Sonuçta, sayfalarca uzunlukta bir kod yerine, çalışma mantığınız kolay bir şekilde takip edilir. Bu, veri bütünlüğünü ve güvenliğini artırmanın yanı sıra, daha düzenli bir kodlama için de gereklidir.

Kayıt No Adı Soyadı
1 Aslı Yılmaz
2 Ali Başak
3 Mehmet Öztürk
4 Aslı Öztürk

Buradaki tabloyu 1NF'ye uyarlamak için, adı ve soyadı ayrı tablolar olarak taşınabilir. Bu, benzersiz bir tanımlayıcının eklenmesi ve verilerin tekrarlanmaması anlamına gelir. Yani, her kişi için benzersiz bir ID atanır ve birleştirilmiş alanlar yerine ayrı tablolara taşınır.

Kayıt No Adı ID Soyadı ID
1 1 1
2 2 2
3 3 3
4 1 3
ID Adı
1 Aslı
2 Ali
3 Mehmet
ID Soyadı
1 Yılmaz
2 Başak
3 Öztürk

Normalizasyon, önem derecesi yüksek olan bir konudur ve veritabanı tasarımı için önemli bir adımdır. Sonuç olarak, verilerinizin daha tutarlı olması, işlemlerde daha az kullanılan verilerin birbirinden ayrılması ve bilgilerin güvenliği artar.


İkinci Normal Form (2NF)

İkinci normal form (2NF), bir veri tabanında tekrarlanan bilgileri önlemek için kullanılan bir normalizasyon düzeyidir. Bu düzeyde, verilerin her kaydı, anahtar sütununu kullanarak diğer tüm sütunları benzersiz şekilde tanımlamalıdır.

Bir örnek olması açısından, Birinci Normal Formda (1NF) yer alan Toko tablosunu ele alalım. Bu tablo, kişilerin yaşadığı şehirler hakkında veriler içermektedir. Ancak tablo, her bir kayıttaki şehir bilgisi nedeniyle 1NF'ye uymaz.

Kişi Adı Yaşadığı Şehir
Ayşe Ankara
Ali İstanbul
Can Ankara

Yukarıdaki örnekte, Ankara şehrinin tekrarlanması nedeniyle, tablo 2NF'ye uygun değildir. Bu sorunu çözmek için, tablonun anahtarı, kişi adıdır. Böylece, bir kişinin yaşadığı her şehir için bir kayıt oluşturulabilir.

Kişi Adı Şehir
Ayşe Ankara
Ali İstanbul
Can Ankara

Bu şekilde, tablo 2NF'ye uygun hale getirilmiştir. Her kayıt, kişi adı ve şehir bilgisini benzersiz bir şekilde tanımlar.


Üçüncü Normal Form (3NF)

Üçüncü normal form (3NF), bir veri tablosunun normalizasyonunun son aşamasıdır. Bu aşamada, her sütun yalnızca o tabloyla ilgili verileri içermelidir. Yani her veri sütunu, yalnızca o veriyle ilgili bilgileri içermelidir. Bu sayede veriler daha tutarlı ve daha az tekrar eden hale gelir.

Örneğin, bir çevrimiçi mağazanın veri tablosunda, ürünlerin bilgileri yanında müşterilere ilişkin bilgiler de bulunabilir. Ancak her müşteri, aynı ürünü satın almamıştır. Bu nedenle, müşteri verileri ayrı bir tabloda tutulmalıdır. Bu, daha tutarlı ve veri bütünlüğü sağlayan bir yaklaşım olacaktır.

Ürünler Tablosu Müşteriler Tablosu
Ürün ID Müşteri ID
Ürün Adı Ad
Ürün Açıklaması Soyad
Fiyatı E-posta

Ayrıca, her bir tablo yalnızca bir amaç için kullanılmalıdır. Bu, her bir veri sütununun tek bir amaç için kullanılması anlamına gelir. Bu, veri tabanının daha iyi yönetilmesini ve daha açık hale gelmesini sağlar.

Üçüncü normal form, verilerin tekrarlanan hale gelmesini de azaltır, çünkü her veri yalnızca bir tabloda bulunur. Bu da veri tabanının performansını artırır. Ancak, normalizasyon işlemi aşırıya kaçırılmamalıdır, çünkü fazla sayıda tablo, verilerin birleştirilmesini zorlaştırabilir ve bazen daha karmaşık sorgular gerektirebilir.