background image

 

Νικόλας Ψύλλου, Σχεδίαση και Υλοποίηση διαδικτυακής πλατφόρμας για 
εξυπηρέτηση παιχνιδιών καρτών απομακρυσμένων παικτών
 

 

Πτυχιακή / Διπλωματική Εργασία 

 

48 

Ανάλυση πεδίων του πίνακα:  

•  id: Δηλώνει το αναγνωριστικό κωδικό της τράπουλας. Αποτελεί το πρωτεύον κλειδί 

(primary key) του πίνακα και ο τύπος του είναι ακέραιος (int). 

•  name: Δηλώνει το όνομα της τράπουλας. Ο τύπος του πεδίου είναι αλφαριθμητικό 

(varchar) με μέγεθος 25 χαρακτήρες.    

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

δημιουργό της. Ο τύπος του πεδίου είναι boolean με προκαθορισμένη τιμή το ψέμα 
(false).  

•  type: Δηλώνει το τύπο της τράπουλας και είναι τύπου αντικειμένου αλφαριθμητικό 

(ENUM). Δέχεται δύο τιμές – “deck”, “extra_deck” – με προκαθορισμένη τιμή το 
“deck”. 

•  created_at: Δηλώνει την ημερομηνία και την ώρα που δημιουργήθηκε η τράπουλα. 

Ο τύπος του πεδίου είναι ημερομηνία και ώρα (datetime). 

•  updated_at: Δηλώνει την ημερομηνία και την ώρα που τροποποιήθηκε η τράπουλα. 

Ο τύπος του πεδίου είναι ημερομηνία και ώρα (datetime). 

•  user_id:  Δηλώνει  το  αναγνωριστικό  κωδικό  του  χρήστη  που  το  δημιούργησε. 

Αποτελεί ξένο κλειδί στον πίνακα users και ο τύπος του είναι ακέραιος (int).  

 
Ανάλυση σχέσεων με άλλους πίνακες: 

•  users:  Έχει  σχέση  πολλά  προς  ένα  και  το  πεδίο  συσχέτισης  δημιουργείται  στο 

πίνακα decks με όνομα user_id 

•  cards: Έχει σχέση πολλά προς πολλά και δημιουργείται ένας νέος πίνακα με όνομα 

cards_deck  

•  hand_start_cards:  Έχει  σχέση  ένα  προς  πολλά  και  το  πεδίο  συσχέτισης 

δημιουργείται στο πίνακα hand_start_cards με όνομα deck_id 

•  games: Έχει σχέση πολλά προς πολλά και δημιουργείται ένας νέος πίνακας με το 

όνομα decks_game 

•  tables_decks: Έχει σχέση ένα προς πολλά και το πεδίο συσχέτισης δημιουργείται 

στο πίνακα table_decks με όνομα deck_id 
 

Κώδικας για δημιουργία πίνακα και ορισμό σχέσεων με άλλους πίνακες σε γλώσσα nest.js: 
 

@

Entity

(

'

decks

'

export

 

class

 

DecksEntity

 

{

 

    

@

PrimaryGeneratedColumn

() 

    id

:

 

number

;

 

 

    

@

Column

(

{

 length

:

 

25

 

}

    name

:

 

string

;