Bir tablo oluşturmam gerekiyor, mantık ?

0
Onaylı Üye
Üye
Katılım
4 Ağustos 2005
Mesajlar
2,325
Tepki puanı
0
Şimdi olay şu şekilde..

Evinizi temizleteceksiniz. Hizmetçiler var, istediğiniz hizmetçiyi tutabiliyorsunuz. Ayşe, Fatma, Hayriye olsun isimleri.. Ayşe sadece hafta içi, Fatma sadece hafta sonu, Hayriye ise sadece tatillerde (bayram tatili, resmi tatiller vs) çalışıyor. Ve bu 3 hizmetçinin belirli bir çalışma saatleri var.. Atıyorum Ayşe 09:00 - 12:00 arası, Fatma 11:00 - 15:00 arası, Hayriye 16:00 - 20:00 arasında çalışıyor.

Tabloda olması gerekenler : Hizmetçiler, temizlik yapılacak gün çalışıyor mu çalışmıyor mu, çalıştığı saatler..

Kod:
ID - Hizmetçi - Çalıştığı Gün - Saat
1 - Ayşe - Hafta içi - 09:00-12:00

ID - Hizmetçi - Hafta içi - Hafta sonu - Tatil - Saat
1 - Ayşe - 1 - 0 - 0 - 09:00-12:00

Aslında birkaç şey daha vardı, not almadığım için hatırlayamadım şimdi.. Kolonlardan 2 tanesi aynı oluyordu, veri tekrarlanmasın diye bunu matris ile çözüp tekrar tablo oluşturuyorduk.. gibi bir şeylerdi sanırım :)

Tablo yapısı önerebilecek var mı arkadaşlar ?
 
0
Onaylı Üye
Üye
Katılım
11 Mayıs 2007
Mesajlar
3,749
Tepki puanı
61
Konum
Antalya
id-hizmetci-saat-gun
1-ayşe - 12:00 -hi
2-fatma -20:00 -hs
3- ali - 14:00 -ta


id-tatil
1-19.05.2010
2-30.08.2010

saat ve günler için veri tabanı açmana gerek yok değişkene atasan bile yeter çükü hep sabit kalıcaklar :) yani bir hafta asla 8 gün olmuyacak saatte hiç bir zaman 25:00 olmayaacak. Eğer günler karışık olursada o zaman 1,3,5 diye veri girersin sonra fonskiyonda 1 pazartesi 2 salı 3 çarşamba diye kontrol edersin.
 
0
Onaylı Üye
Üye
Katılım
12 Aralık 2004
Mesajlar
9,603
Tepki puanı
106
Konum
AZ
Saat_ID (serial)
Hizmetci_ID (int) -> Hizmetciler tablosuna JOIN
Saat_Basla (int)
Saat_Bitir (int)
Hafta_Sonu (bool)
Tatil_Gunleri (bool)

Saati iki ayri kolona koyarsan, belirli saat aralıklarında kimin çalışıp çalışmadığını sorgulayabilirsin, tek kolonda 9-12 yaparsan olmaz.

Hizmetci tablosuna join ederek, her bir hizmetci icin degisik saatler tanımlarsın bu şekilde.
Örnek
107 (Ayşe) - 12.00 - 15.00 - FALSE - FALSE
Ayşe hafta içleri ve tatil olmayan günlerde 12 - 15 arası çalışıyor

107 (Ayşe) - 9.00 - 11.00 - TRUE - FALSE
Ayşe hafta sonları 9 - 11 arası çalışıyor

108 (Fatma) - 13.00 - 20.00 - TRUE - FALSE
Fatma haftasonları 13 - 20 arası çalışıyor

Bu sistemle Ayşe için hafta sonları iki ayrı aralık ta verebilirsin, iki satır girersin 9-12 veya 4-6 diye, kadın 12-4 arası cocugunu okuldan alıyormuş mesela?
 
0
Onaylı Üye
Üye
Katılım
4 Ağustos 2005
Mesajlar
2,325
Tepki puanı
0
Cevaplar için teşekkür ederim arkadaşlar..
 
Geri
Üst