background image

Όνομα

Τύπος

Κενό

Πρόσθετα

Προεπιλογή

createdAt

DATETIME

Όχι

-

NOW()

userId

INT

Όχι

-

Καμία

eventId

INT

Όχι

-

Καμία

Πίνακας 3.5: Δομή του πίνακα “reports”

Ανάλυση της δομής του πίνακα “reports”:

• createdAt: Δηλώνει τον χρόνο και την ημερομηνία που κάποιος χρήστης εισήλθε

στο σύστημα. Ο τύπος γνωρίσματος είναι DATETIME. Η εισαγωγή γίνεται

αυτόματα στο σύστημα λόγω του ότι έχει προεπιλεχθεί ή συνάρτηση “NOW()”.

Δε μπορεί να έχει κενή τιμή (Not Null).

• eventId: Δηλώνει το αναγνωριστικό των εκδηλώσεων. Είναι το πρωτεύον κλειδί

(Primary Key) του πίνακα “events” και ταυτόχρονα πρωτεύον κλειδί (Primary

Key) και του πίνακα “reports”. Επίσης, είναι ξένο κλειδί (Foreign Key) στον

πίνακα “reports”. Δεν μπορεί να έχει κενή τιμή (Not Null).

• userId: Δηλώνει το αναγνωριστικό που αντιστοιχεί σε ένα χρήστη. Αποτελεί

το πρωτεύον κλειδί (Primary Key) του πίνακα users και ταυτόχρονα και πρω-

τεύον κλειδί (Primary Key) του πίνακα “reports”. Επίσης, είναι ξένο κλειδί

(Foreign Key) στον πίνακα “reports”. Ο τύπος γνωρίσματος είναι ακέραιος

αριθμός (INT) και δεν μπορεί να έχει κενή τιμή (Not Null).

Ο λόγος για τον οποίο το “eventId” και το “userId” είναι και πρωτεύον και ξένο

κλειδί στον ίδιο πίνακα, είναι διότι ο χρήστης μπορεί να αναϕέρει μόνο μια ϕορά

μια εκδήλωση.

3.3.7

Πίνακας “comments”

Ο πίνακας “comments” αποθηκεύει τα σχόλια των χρηστών στις εκδηλώσεις.

Στον πίνακα 3.6 παρατηρείται η δομή του.

50