Η σελίδα μας αναβαθμίστηκε, γι' αυτό τον λόγο τα μέλη μας θα πρέπει να ζητήσουν νέο κωδικό πρόσβασης από την υπηρεσία "Αποστολή κωδικού πρόσβασης".
Εάν το email με τον νέο κωδικό δεν έρθει στο inbox κοιτάξτε και στο spam folder. Ο server είναι φρέσκος και δεν έχει το reputation που του αξίζει.

εισαγωγή ωραρίου στην βάση

Γενικές συζητήσεις για SQL και SQL Servers (RDBMS)

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Serghio
Δημοσιεύσεις: 449
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

εισαγωγή ωραρίου στην βάση

Δημοσίευση από Serghio » 14 Απρ 2015 08:45

φτιαχνω μια εφαρμογή όπου ένα εμπορικό κατάστημα θα πρέπει να εισάγει στην βάση το ωράριο λειτουργίας του....απο ένα ψάξιμο που έκανα μια λύση είναι η δημιουργία 2 πινάκων,ένας θα κρατά το ωράριο και ένα δευτερος θα ειναι αυτο που ειναι γνωστό και ως calendar table οπου κάθε row θα αντιστοιχεί και σε μια μέρα του χρονου.


O πίνακας του ωραρίου λοιπόν θα κάνει reference το calendar table...ενα επιχείρημα για την δημιουργία ενός calendar table είναι και οτι θα ενσωματώνει και τις αργίες...και έτσι ο χρήστης(το κατάστημα) δεν θα χρειάζεται να δηλώνει την συγκεκριμένα ότι το κατάστημα ειναι κλειστό...

Ερωτηση...πως σας ακούγονται όλα αυτά;
Έχετε να προτείνετε κάτι άλλο;

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1214
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

εισαγωγή ωραρίου στην βάση

Δημοσίευση από giannis17 » 17 Απρ 2015 23:30

αντί για ωράριο και ημερολόγιο εγώ θα κράταγα ωράριο και αργίες οπότε οι εργάσιμες να βγαίνουν αλγοριθμικά και όχι με ερώτημα στην βάση.

Επίσης στο ωράριο καλό είναι να έχεις extra πεδία του στυλ eortastiko, imiargia και στις αργίες να υπάρχει και type (enum?) με επιλογές kleista, eortastiko, imiargia

οπότε θα έχεις ένα πίνακα με 7 εγγραφές για το ωράριο (7 μέρες) και άλλον έναν με καμιά 50αριά εγγραφές για τις αργίες και τα συνεχόμενα-εορταστικά, όλα τα ενδιάμεσα θα βγαίνουν προγραμματιστικά με την βοήθεια της date() της γλώσσας που χρησιμοποιείς.
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

Serghio
Δημοσιεύσεις: 449
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

εισαγωγή ωραρίου στην βάση

Δημοσίευση από Serghio » 20 Απρ 2015 17:04

...λες οτι θα έχω πίνακα με 7 εγγραφές για το ωράριο...εδώ μπερδεύτηκα...7 στήλες εννοείς δηλαδη που κάθε μια θα φέρει το όνομα της ημέρας;

Aν αυτό εννοείς τότε που ακριβώς θα αποθηκευονται οι ώρες ανοίγματος κ' κλεισίματος του μαγαζιού...η δομή του πίνακα που προτέινεις δεν φαίνεται να το περιλαμβάνει αυτο.

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1214
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

εισαγωγή ωραρίου στην βάση

Δημοσίευση από giannis17 » 20 Απρ 2015 20:51

Πίνακας imeres

id | name | normal_open | normal close | normal_break_start | normal break_end | imiargia_open | imiargia_close | imiargia_break_start | imiargia_break_end | eortastiko_open | eortastiko_close | eortastiko_break_start | eortastiko_break_end

Εγγραφές: 7 (δευτέρα-κυριακή)

Τώρα αν θα έχεις 7 εγγραφές με πολλά πεδία ή 8 πεδία (βάζουμε και id) με πολλές εγγραφές δεν κάνει διαφορά απλά θα γίνουν πιο πολύπλοκα τα ερωτήματα αν βάλεις τις μέρες σαν πεδία.

Πίνακας argies

id | name | date | static(tinyint 0/1) | type(enum "argia","imiargia","eortastiko")

Εγγραφές όσες οι μέρες που δεν θα δουλεύει καθόλου η επιχείρηση ή θα δουλεύει λιγότερο/περισσότερο από το normal (χριστούγεννα/πάσχα/15αύγουστος/25η/28η κλπ)

Προγραμματιστικά μετά φτιάχνεις ένα date array ή object με όλες τις μέρες του χρόνου από όπου αφαιρείς ότι υπάρχει στο argies συν τις κυριακές (αν βρεις την πρώτη κυριακή του χρόνου μετά βγάζεις όλα τα πολλαπλάσια του 7 μέχρι το 365), προσθέτεις ότι είναι στο argies με type "eeortastiko" και έχεις πια όλες τις εργάσιμες. Τώρα αν αλλάζει καλοκαιρινό με θερινό ωράριο ή αν δεν κλείνει για μεσημέρι (break_start/break_end) κάνεις τις ανάλογες αλλαγές στην βάση.
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

Serghio
Δημοσιεύσεις: 449
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

εισαγωγή ωραρίου στην βάση

Δημοσίευση από Serghio » 22 Απρ 2015 21:21

τωρα καταλαβαίνω καλύτερα...το μόνο που θα ήθελα να προσθέσω είναι ότι οι break στήλες είναι περιττές αν το ωράριο είναι συνεχές.

Serghio
Δημοσιεύσεις: 449
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

εισαγωγή ωραρίου στην βάση

Δημοσίευση από Serghio » 05 Μάιος 2015 21:35

giannis17 έγραψε:
Προγραμματιστικά μετά φτιάχνεις ένα date array ή object με όλες τις μέρες του χρόνου από όπου αφαιρείς ότι υπάρχει στο argies συν τις κυριακές (αν βρεις την πρώτη κυριακή του χρόνου μετά βγάζεις όλα τα πολλαπλάσια του 7 μέχρι το 365), προσθέτεις ότι είναι στο argies με type "eeortastiko" και έχεις πια όλες τις εργάσιμες. Τώρα αν αλλάζει καλοκαιρινό με θερινό ωράριο ή αν δεν κλείνει για μεσημέρι (break_start/break_end) κάνεις τις ανάλογες αλλαγές στην βάση.
Το παραπάνω που ακριβώς θα βοηθήσει...μπερδεύτηκα.

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1214
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

εισαγωγή ωραρίου στην βάση

Δημοσίευση από giannis17 » 05 Μάιος 2015 21:46

η αρχική σου ερώτηση ξεκινάει ως εξής
φτιαχνω μια εφαρμογή...
άρα πέρα από την βάση θα γράψεις και κώδικα, απλά σου έδωσα ένα hint πως να βάλεις όλες τις εργάσιμες σε ένα array/object
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

Serghio
Δημοσιεύσεις: 449
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

εισαγωγή ωραρίου στην βάση

Δημοσίευση από Serghio » 05 Μάιος 2015 21:53

giannis17 έγραψε:η αρχική σου ερώτηση ξεκινάει ως εξής
φτιαχνω μια εφαρμογή...
άρα πέρα από την βάση θα γράψεις και κώδικα, απλά σου έδωσα ένα hint πως να βάλεις όλες τις εργάσιμες σε ένα array/object
Ποιος ο λόγος να βάλω όλες τις εργάσιμες σε ένα array...πως αυτο εξασφαλίζει οτι αυτοματα οταν έρχεται αργία το κατάστημα θα δηλώνεται ως κλειστό...απο το business logic.

Διότι αυτός είναι ο σκοπός εν τέλει.

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1214
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

εισαγωγή ωραρίου στην βάση

Δημοσίευση από giannis17 » 05 Μάιος 2015 22:11

Δεν έχει τόσο σημασία, είναι μικρός ο όγκος δεδομένων οπότε είτε αρνητική είτε θετική σύγκριση κάνεις το ίδιο πράγμα είναι.

Είναι καθαρά εγκεφαλικό το ζήτημα. Αν είσαι αριστερόχειρας φτιάχνεις array με τις αργίες, αν είσαι δεξιόχειρας φτιάχνεις array με τις εργάσιμες.

Αν το δουλεύεις και με τα 2 χέρια ξαναρώτα κάτι θα κάνουμε...
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

Serghio
Δημοσιεύσεις: 449
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

εισαγωγή ωραρίου στην βάση

Δημοσίευση από Serghio » 13 Ιουν 2015 12:24

κάνοντας ένα ψάξιμο ,"'επεσα" επάνω σε ένα εναλλακτικό μοντέλο...φτιάχνω ένα πινακα που κρατάει ολες τις η/νιες του 2015...φτιάχνω έναν άλλο πίνακα που κρατάει τις αργίες...κάνω cross-join τους δύο....

και μετά με ένα select βρίσκω αν η εβδομάδα που "τρέχει" τώρα εμπεριέχει κάποια αργία...

Τι λες;

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1214
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

εισαγωγή ωραρίου στην βάση

Δημοσίευση από giannis17 » 14 Ιουν 2015 02:12

λέω πως αν συνεχίσεις να σκέφτεσαι το πως να το κάνεις δεν θα σου είναι χρήσιμες οι ημερομηνίες του 2015 πια...

αν θες να φτιαχτεί δυναμικά, το ημερολόγιο πρέπει να διαβάζεται από το σύστημα μέσω της γλώσσας προγραμματισμού και όχι από εγγραφές στην βάση (τι λογική είναι αυτή; κάθε χρόνο θα περνάς 365 εγγραφές στην βάση;)

Στην τελική πάντως εμένα λόγος δεν μου πέφτει και χωρίς καν βάση δεδομένων (με εγγραφές σε αρχείο txt) και κώδικα σε pascal ή basic να το γράψεις θα παίξει κανονικά απλά έτσι προγραμμάτιζαν πριν 50 χρόνια.
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

Serghio
Δημοσιεύσεις: 449
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

εισαγωγή ωραρίου στην βάση

Δημοσίευση από Serghio » 14 Ιουν 2015 12:52

λοιπον...θα ξεκινήσω να φτιάξω τον πίνακα με τις αργίες....

ας ξεκινήσουμε με αυτό πρώτα

Serghio
Δημοσιεύσεις: 449
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

εισαγωγή ωραρίου στην βάση

Δημοσίευση από Serghio » 14 Ιουν 2015 15:49

δημουργησα τελικά ένα πίνακα με τις αργίες....πως θα δημιουργήσω τώρα το date array/object με όλες τις εργάσιμες πλυν τις αργίες?

Άβαταρ μέλους
giannis17
Honorary Member
Δημοσιεύσεις: 1214
Εγγραφή: 06 Ιαν 2005 19:50
Τοποθεσία: Παγκράτι - Αθήνα
Επικοινωνία:

εισαγωγή ωραρίου στην βάση

Δημοσίευση από giannis17 » 14 Ιουν 2015 17:49

σε τι γλώσσα προγραμματισμου; χρησιμοποιείς κάποιο framework;
"There is only one problem with common sense; it’s not very common."
– Milt Bryce

Serghio
Δημοσιεύσεις: 449
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

εισαγωγή ωραρίου στην βάση

Δημοσίευση από Serghio » 14 Ιουν 2015 19:16

giannis17 έγραψε:σε τι γλώσσα προγραμματισμου; χρησιμοποιείς κάποιο framework;
PHP και οχι δεν χρησιμοποιω framework...

Απάντηση

Επιστροφή στο “Βάσεις Δεδομένων και SQL - γενικά”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες