Şimdi Flowchart denen çalışma yapısını kurman gerekiyor ilk başta kağıdı kalemi eline alıyorsun Her odaya ait özellikleri yazıyorsun.

Oda yapısı

1. Oda no
2. Oda türü (luks kral dairesi vs)
3. Odada MAX kişi sayısı

Diyelim ki oda nın bütün özellikleri bunlar daha fazla konabilir ama kimsenin kafası karışmasın.

sonra zamanlara geçelim

Zamanlar tablosu
1. High Season denen TR de yaz , Avrupada Kış dönemi
2 Low Season (Bu sezonda fiyatlar ucuzlar bizde kış Avrupada Yaz)
3. Normal Season (bu kullandığım terimler turizm terimleridir.)

Zamanlar tablosu nasıl olur

1. oda no
2. oda fiyat
3. oda season u (gerekirse)

Şimdi elimizde ne var... 2 tane tablo ve bu 2 tablo birbirine bağlı , şimdi 3. tablomuz yani rezervasyon.


Rezervasyon tablosu

1. Oda no
2. Reservasyonu Yapan Kişi
3. Rezervasyon tarihleri
4. Gerekirsede Gün sayısı (bunu SQL'de de tutabilirsiniz isterseniz KOD ile anlık gösterebilirsiniz)

Şimdi veritabanımızın çalışma yapısına geri dönüyoruz.

1. Çalışma Şekli Oda numarasına göre

Oda numarası girilir, Sistemden oda özellikleri çekilir, ve çekilen bu verilere rezervasyon bilgileri eklenir (REzervasyon tarihleri veri tabanında bulunduğu için gerekli kod ile oda dolumu boşmu veritabanından gelen verilere göre listelenir).

2. Sezonlara göre

zaman tablosundan high veya low istediğiniz sezon çekilir oda numarasına göre fiyat vs vs listelenir. önemli olan tabloları birbirine bağlayabilmek.

3.Tarihe göre

Her oda için her günlük rezervasyonları satır satır tutmak yerine (yani 25 haziran 26 haziran 27 haziran için tek tek satır oluşturmak yerine) her rezervasyon başı 1 er satır oluşturmak veri tabanının boyutunu ve performansını arttıracaktır.

Şöyle bir durum düşünün...

1 kişi 15 günlük rezervasyon yapıyor.
eğer bunları 25 26 27 haziran vs gibi 15 satırda saklarsanız 1 kişinin rezervasyonu için 15 satıra ihtiyacımız oluyor. düşünün 300 odalı otelde 300 kişi rezervasyon yaptırdı. 4500 kayıt gerekiyor.

ama bu verileri giriş(check in) 2010-06-25 çıkış (check out) 2010-07-10 gibi tek satırda tutarsanız kayıt sayısı 300 e düşecektir ve SQL sorgunuzda sadece 1 BETWEEN komutu ile gerekli veriye hemen ulaşabilirsiniz. hem gerekli kayıtların raporlarını almak hemde kayıtları organize bir şekilde tutmak kolaylaşacaktır ve üstteki örnekten tam 15 kat olmasa bile çok büyük bir performans sağlayacaktır.

Sonuç olarak anlatmak istediğim kısa kod her zaman en hızlı değildir. Bir sitenin alt yapısını oluştururken nelere ihtiyacınız var nelere yok bunlara iyicene karar vermeniz , veritabanı dizaynında gerçekten işinde uzman birine danışmanız (ki Yurtdışında bu ayrı bir iş dalı olarak sayılıyor). Kendi ölçeklemenizi yapmanız gerekiyor.

Genel çalışma prensibini anlatmak istedim. Mantığını kavramadan ilerisi gelmiyor. Ki bu konuda çok hata yaptım ve sonra çok uğraştım düzeltmek için umarım size bir fikir verebilmişimdir çalışma konusunda.

Eğer Veritabanı veya php konusunda sorunuz olursa gerekli bölüme açarsanız veya acil ise PM ile ulaşırsanız yardımcı olabilirim. Saygılar.