Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)
Καλημερα εχω μια εργασια στην οποια φτιαχνω μια βαση δεδομενων και πρεπει να γεμισω τους πινακες μεσω java.Το προγραμμα αφορα ενα συστημα διαχειρισεις κρατησεων ξενοδοχειων.Το θεμα ειναι οτι εχω κολλησει σε ενα ερωτημα και δεν καταλαβαινω πως πρεπει να το κανω,δεν καταλαβαιω την εκφωνηση. 


Εχω τρεις πινακες 

RoomFa(idRoom,nameFac),idRoom,nameFac=>Pk,nameFac=>Fk στο nameFac του facility 

HotelFa(idHotel,nameFac)=>idHotel,nameFac=>pk,nameFac=>Fk στο nameFac του facility 

Facility(nameFac,parentnameFac)=>nameFac=>Pk,parentnameFac=>Fk στο nameFac του Facility 


Το ερωτημα ζηταει να γεμισω τον πινακα Facility με βαση την παρακατω εκφωνηση 



Δημιουργήστε δύο ιεραρχίες διευκολύνσεων, μία για τα ξενοδοχεία και μία για τα δωμάτια. Τα ονόματα των διευκολύνσεων είναι της μορφής: hotel_facility_n0_n1_n2_n3_n4 room_facility_n0_n1_n2_n3_n4 όπου n0, n1, n2, n3 και n4 είναι ακέραιοι που αναφέρονται στον αύξοντα αριθμό των διευκολύνσεων που είναι πρόγονοι της διευκόλυνσης (n0, n1, n2, n3) μέχρι να φτάσουμε και στο επίπεδο 4 (n4). Προφανώς για τα ανώτερα επίπεδα τα ονόματα περιέχουν λιγότερους αριθμούς. Π.χ. η πρώτη διευκόλυνση ξενοδοχείου στο επίπεδο 0 έχει όνομα hotel_facility_1, ενώ η πρώτη διευκόλυνση-παιδί της στο επίπεδο 1 έχει όνομα room_facility_1_1. Δημιουργήστε, ακολουθώντας αυτούς τους κανόνες ονομασίας, 100 διευκολύνσεις ξενοδοχείων και 60 διευκολύνσεις δωματίων.
 
 
 
 
  Εγω κανω κατι τετοιο
 
 
 
for (int i = 1 ; i <= 10 ; i++){ 
for (int j = 1 ; j <= 5 ; j++ ){ 
String query = String.format("INSERT INTO public.\"Facility\" VALUES ('hotel_facility_%d','Room_facility_%d_%d')",i,i,j); 
 
 
 
και οταν παω να το τρεξω μου εμφανιζει αυτο :ERROR: insert or update on table "Facility" violates foreign key constraint "Facility_parentnamefacility_fkey"

Detail: Key (parentnamefacility)=(Room_facility_1_1) is not present in table "Facility".

Επεξ/σία από douladoula
Δημοσ.

Αυτή η γραμμή σου λέει ότι χρειάζεσαι. Detail: Key (parentnamefacility)=(Room_facility_1_$d) is not present in table "Facility".

 

Αυτό το String είναι προφανώς λάθος: Room_facility_1_$d...γιατί;

Δημοσ.

Αυτή η γραμμή σου λέει ότι χρειάζεσαι. Detail: Key (parentnamefacility)=(Room_facility_1_$d) is not present in table "Facility".

 

Αυτό το String είναι προφανώς λάθος: Room_facility_1_$d...γιατί;

Σορρυ το διορθωσα.

Το θεμα ειναι οτι δεν καταλαβαινω πως να το κανω,και οπως το χω κανει και τωρα δεν με αφηνει να γεμισω τον πινακα αφου το parentnameFac ειναι fk στο nameFac και λογικα πρεπει να ειναι ιδια

Δημοσ.

Πόσα root facilities έχεις ?

θεωρητικα κανω εγω μια αρχικοποιηση,δεν λεει κατι η εκφωνηση.

Αρα κανω μια υποθεση της ταξης 10

Δημοσ.

θεωρητικα κανω εγω μια αρχικοποιηση,δεν λεει κατι η εκφωνηση.

Αρα κανω μια υποθεση της ταξης 10

 

 

 

ο πίνακας είναι έτσι ? 

 

hotel_facility_1 null

hotel_facility_1_1 hotel_facility_1

hotel_facility_1_1_1 hotel_facility_1_1

hotel_facility_1_1_1_1 hotel_facility_1_1_1

.

.

.

 

hotel_facility_25 null

hotel_facility_25_1 hotel_facility_25

hotel_facility_25_1_1 hotel_facility_25_1

hotel_facility_25_1_1_1 hotel_facility_25_1_1

Δημοσ.

ο πίνακας είναι έτσι ? 

 

hotel_facility_1 null

hotel_facility_1_1 hotel_facility_1

hotel_facility_1_1_1 hotel_facility_1_1

hotel_facility_1_1_1_1 hotel_facility_1_1_1

.

.

.

 

hotel_facility_25 null

hotel_facility_25_1 hotel_facility_25

hotel_facility_25_1_1 hotel_facility_25_1

hotel_facility_25_1_1_1 hotel_facility_25_1_1

ναι αλλα δεν θα επρεπε τα παιδια να εχουν το ονομα room_facility,οπως λεει η εκφωνηση.Tον πινακα τον φτιαχνω εγω δεν μου δινει κατι παραπανω περα απο την πανω εκφωνηση.

Δημοσ.

ναι αλλα δεν θα επρεπε τα παιδια να εχουν το ονομα room_facility,οπως λεει η εκφωνηση

 

α οκ κατάλαβα

 

έτσι ?

 

 

hotel_facility_1 null

room_facility_1_1 hotel_facility_1

room_facility_1_1_1 room_facility_1_1

room_facility_1_1_1_1 room_facility_1_1_1

 

 

ή έτσι 

 

 

hotel_facility_1 null

room_facility_1_1 hotel_facility_1

room_facility_1_2 hotel_facility_1

room_facility_1_3 hotel_facility_1

 

Πάντως η εκφώνηση είναι για την πλάκα .

 

Λέει φτιάχτε δυο ιεραρχίες διευκολύνσεων που σημαίνει ιεραρχία hotel_facility και room_facility διαφορετικές.

 

μετά στο παράδειγμα λέει παιδί του hotel_facility είναι το room facility. Επίσης δεν λέει πως μα γίνει η κατανομή των παιδιών. 

Δημοσ.

α οκ κατάλαβα

 

έτσι ?

 

 

hotel_facility_1 null

room_facility_1_1 hotel_facility_1

room_facility_1_1_1 room_facility_1_1

room_facility_1_1_1_1 room_facility_1_1_1

 

 

ή έτσι 

 

 

hotel_facility_1 null

room_facility_1_1 hotel_facility_1

room_facility_1_2 hotel_facility_1

room_facility_1_3 hotel_facility_1

ναι καπως ετσι,αλλα εχω δοκιμασει κ κατι παρομοιο αλλα δεν μου το δεχεται η βαση γτ το room_facility ειναι fk στο hotel_facility

Δημοσ.

ναι καπως ετσι,αλλα εχω δοκιμασει κ κατι παρομοιο αλλα δεν μου το δεχεται η βαση γτ το room_facility ειναι fk στο hotel_facility

 

κοιτα πάνω που έκανα edit. Δεν μπορώ να καταλάβω ακριβώς τι εννοεί ο ποιητής.

Δημοσ.

α οκ κατάλαβα

 

έτσι ?

 

 

hotel_facility_1 null

room_facility_1_1 hotel_facility_1

room_facility_1_1_1 room_facility_1_1

room_facility_1_1_1_1 room_facility_1_1_1

 

 

ή έτσι 

 

 

hotel_facility_1 null

room_facility_1_1 hotel_facility_1

room_facility_1_2 hotel_facility_1

room_facility_1_3 hotel_facility_1

 

Πάντως η εκφώνηση είναι για την πλάκα .

 

Λέει φτιάχτε δυο ιεραρχίες διευκολύνσεων που σημαίνει ιεραρχία hotel_facility και room_facility διαφορετικές.

 

μετά στο παράδειγμα λέει παιδί του hotel_facility είναι το room facility. Επίσης δεν λέει πως μα γίνει η κατανομή των παιδιών. 

 

 

κοιτα πάνω που έκανα edit. Δεν μπορώ να καταλάβω ακριβώς τι εννοεί ο ποιητής.

Νομιζω κανεις.Παντως ενα παιδι εχει δωσει ενα παραδειγμα για την εκφωνηση αλλα και παλι μου φαινεται λιγο δυσνοητο

"Απλα κανεις αριθμηση και αντι να ξεκινας απο το 1 εως το 100 το κανεις τα 10 πρωτα ΧΧΧΧΧΧ_1 έως ΧΧΧΧΧΧ_10,

τα επομενα ΧΧΧΧΧΧ_1_1 εως ΧΧΧΧΧΧ_1_5 (με γονεα το ΧΧΧΧΧΧ_1),

τα επομενα ΧΧΧΧΧΧ_2_1 εως ΧΧΧΧΧΧ_2_5 (με γονεα το ΧΧΧΧΧΧ_2)..... κλπ

τα επομενα ΧΧΧΧΧΧ_10_1 έως το ΧΧΧΧΧΧ_10_5 (με γονεα το ΧΧΧΧΧΧ_5)

και το ιδιο εως να γινουν ολα μαζι στο συνολο 100"

Δημοσ.

Νομιζω κανεις.Παντως ενα παιδι εχει δωσει ενα παραδειγμα για την εκφωνηση αλλα και παλι μου φαινεται λιγο δυσνοητο

"Απλα κανεις αριθμηση και αντι να ξεκινας απο το 1 εως το 100 το κανεις τα 10 πρωτα ΧΧΧΧΧΧ_1 έως ΧΧΧΧΧΧ_10,

τα επομενα ΧΧΧΧΧΧ_1_1 εως ΧΧΧΧΧΧ_1_5 (με γονεα το ΧΧΧΧΧΧ_1),

τα επομενα ΧΧΧΧΧΧ_2_1 εως ΧΧΧΧΧΧ_2_5 (με γονεα το ΧΧΧΧΧΧ_2)..... κλπ

τα επομενα ΧΧΧΧΧΧ_10_1 έως το ΧΧΧΧΧΧ_10_5 (με γονεα το ΧΧΧΧΧΧ_5)

και το ιδιο εως να γινουν ολα μαζι στο συνολο 100"

 

 

 

τα δωμάτια μπλέκονται με τα ξενοδοχεία ? 

 

Δημοσ.

 

hotel_facility_1 null

hotel_facility_1_1 hotel_facility_1

hotel_facility_1_2 hotel_facility_1

hotel_facility_1_4 hotel_facility_1

hotel_facility_1_5 hotel_facility_1

.

.

.

 

hotel_facility_10 null

hotel_facility_10_1 hotel_facility_10

hotel_facility_10_2 hotel_facility_10

hotel_facility_10_4 hotel_facility_10

hotel_facility_10_5 hotel_facility_10

 

το κανα και αυτο 

 for (int i = 1 ; i <= 10 ; i++){
for (int j = 1 ; j <= 6 ; j++ ){
        
String query9 = String.format("INSERT INTO public.\"Facility\" VALUES ('hotel_facility_%d','hotel_facility_%d_%d')",i,i,j);
}}
αλλα παλι μου εμφανιζει
 
ERROR: insert or update on table "Facility" violates foreign key constraint "Facility_parentnamefacility_fkey"
  Detail: Key (parentnamefacility)=(hotel_facility_1_1) is not present in table "Facility".
Δημοσ.

 

το κανα και αυτο 

 for (int i = 1 ; i <= 10 ; i++){
for (int j = 1 ; j <= 6 ; j++ ){
        
String query9 = String.format("INSERT INTO public.\"Facility\" VALUES ('hotel_facility_%d','hotel_facility_%d_%d')",i,i,j);
}}
αλλα παλι μου εμφανιζει
 
ERROR: insert or update on table "Facility" violates foreign key constraint "Facility_parentnamefacility_fkey"
  Detail: Key (parentnamefacility)=(hotel_facility_1_1) is not present in table "Facility".

 

 

 

στο πρώτο for κάνε πρώτα εισαγωγή μιας γραμμής με null fk

 

 for (int i = 1 ; i <= 10 ; i++){
   TODO  Εισαγωγή Level 0  (hotel_facility_1 null)

.

.

.

for (int j = 1 ; j <= 6 ; j++ ){

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...