background image

 

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

 

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

 

55 

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

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

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

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

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

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

πίνακα roles με όνομα game_id 

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

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

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

πίνακα table_users με όνομα role_id 

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

@

Entity

(

'

roles

'

export

 

class

 

RolesEntity

 

{

 

    

@

PrimaryGeneratedColumn

() 

    id

:

 

number

;

 

 

    

@

Column

(

{

 length

:

 

25

 

}

    name

:

 

string

;

 

 

    

@

CreateDateColumn

(

{

 type

:

 

'

timestamp

',

 

default

:

 

()

 

=>

 

"

CURRENT_TIMESTAMP(6)

"

 

}

    created_at

:

 

Date

;

 

 

    

@

UpdateDateColumn

(

{

 type

:

 

"

timestamp

",

 

default

:

 

()

 

=>

 

"

CURRENT_TIMESTAMP(6)

",

 onUpdate

:

 

"

CURRENT_TIMESTAMP(6)

"

 

}

    updated_at

:

 

Date

;

 

 

    

@

ManyToOne

(

()

 

=>

 GamesEntity

,

 

(

gamesEntity

)

 

=>

 gamesEntity

.

roles

,

 

{

 

onDelete

:

 

'

CASCADE

'

 

}

    

@

JoinColumn

(

{

 name

:

 

'

game_id

'

 

}

    game

:

 

GamesEntity