-
Couldn't load subscription status.
- Fork 0
erikk03/Implementation-of-Database-Systems-Project1
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
ΕΡΓΑΣΙΑ_1:
ΥΛΟΠΟΙΗΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ 2023-2024
ΜΕΛΗ ΟΜΑΔΑΣ:
ΚΑΓΙΑΤΣΚΑ ΕΡΙΚ-1115202100043
ΚΑΛΑΜΠΟΚΗΣ ΕΥΑΓΓΕΛΟΣ-1115202100045
ΚΟΝΤΟΣ ΙΑΣΩΝ-1115202100064
ΥΛΟΠΟΙΗΣΗ:
- ΣΤΟ ΑΡΧΕΙΟ "hp_file.h":
ΒΡΙΣΚΟΝΤΑΙ ΟΙ ΔΥΟ ΒΑΣΙΚΕΣ ΔΟΜΕΣ(STRUCTS) ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΟΥΝΤΑΙ:
Η ΔΟΜΗ " HP_info" ΕΚΤΟΣ ΑΠΟ ΤΑ ΖΗΤΟΥΜΕΝΑ ΠΕΡΙΕΧΕΙ ΕΠΙΠΛΕΟΝ ΤΟ ΔΙΑΘΕΣΙΜΟ ΧΩΡΟ ΤΟΥ ΜΠΛΟΚ ΠΟΥ ΒΡΙΣΚΟΜΑΣΤΕ ΓΙΑ ΕΓΓΡΑΦΗ(available_space)
ΚΑΙ ΕΝΑΝ ΔΕΙΚΤΗ ΣΤΗΝ ΑΡΧΗ ΤΟΥ ΤΕΛΕΥΤΑΙΟΥ ΜΠΛΟΚ(last_block).
ΜΕΤΑΦΕΡΘΗΚΕ, ΑΠΟ ΤΟ ΑΡΧΕΙΟ "hp_main.c", ΣΕ ΑΥΤΟ ΤΟ ΑΡΧΕΙΟ Ο ΟΡΙΣΜΟΣ(define) ΤΟΥ RECORDS_NUM ΚΑΘΩΣ ΓΙΝΕΤΑΙ ΧΡΗΣΗ ΤΟΥ ΚΑΙ ΣΤΟ ΑΡΧΕΙΟ "hp_file.c"
ΓΙΑ ΤΗΝ ΑΠΟΔΕΣΜΕΥΣΗ ΤΟΥ ΤΕΛΕΥΤΑΙΟΥ ΜΠΛΟΚ.
- ΣΤΟ ΑΡΧΕΙΟ "hp_file.c":
ΥΛΟΠΟΙΟΥΝΤΑΙ ΟΛΕΣ ΟΙ ΖΗΤΟΥΜΕΝΕΣ ΣΥΝΑΡΤΗΣΕΙΣ.
ΣΥΓΚΕΚΡΙΜΕΝΑ, ΣΤΗ ΣΥΝΑΡΤΗΣΗ "HP_InsertEntry" ΟΙ ΕΓΓΡΑΦΕΣ ΞΕΚΙΝΟΥΝ ΝΑ ΑΠΟΘΗΚΕΥΟΝΤΑΙ ΑΠΟ ΤΟ ΔΕΥΤΕΡΟ ΜΠΛΟΚ ΤΟΥ ΑΡΧΕΙΟΥ ΚΑΙ ΜΕΤΑ.
Ο ΛΟΓΟΣ ΕΙΝΑΙ ΟΤΙ ΣΤΟ ΠΡΩΤΟ ΜΠΛΟΚ ΥΠΑΡΧΕΙ Η ΔΟΜΗ "HP_info", ΠΟΥ ΚΡΑΤΑ ΤΙΣ ΠΛΗΡΟΦΟΡΙΕΣ ΓΙΑ ΟΛΟΚΛΗΡΟ ΤΟ ΑΡΧΕΙΟ.
ΣΤΗ ΣΥΝΕΧΕΙΑ, ΣΤΟ ΤΕΛΟΣ ΚΑΘΕ ΜΠΛΟΚ, ΑΠΟ ΤΟ ΔΕΥΤΕΡΟ ΚΑΙ ΜΕΤΑ, ΑΠΟΘΗΚΕΥΕΤΑΙ Η ΔΟΜΗ "HP_block_info", ΠΟΥ ΚΡΑΤΑ ΠΛΗΡΟΦΟΡΙΕΣ ΓΙΑ ΚΑΘΕ ΜΠΛΟΚ.
ΟΙ ΕΓΓΡΑΦΕΣ ΛΟΙΠΟΝ , ΑΠΟΘΗΚΕΥΟΝΤΑΙ ΣΤΟ ΔΙΑΘΕΣΙΜΟ ΧΩΡΟ(available_space = BF_BLOCK_SIZE - sizeof(HP_block_info)).
Η ΣΥΝΑΡΤΗΣΗ "HP_GetAllEntries" ΕΠΙΣΤΡΕΦΕΙ ΤΟΝ ΑΡΙΘΜΟ ΤΟΝ ΜΠΛΟΚ ΠΟΥ ΔΙΑΒΑΣΤΗΚΑΝ ΜΕΧΡΙ ΝΑ ΒΡΕΘΕΙ Η ΤΕΛΕΥΤΑΙΑ ΕΓΓΡΑΦΗ ΤΟΥ ΑΡΧΕΙΟΥ ΜΕ id==value.
ΣΥΜΦΩΝΑ ΜΕ ΤΗΝ ΕΚΦΩΝΗΣΗ, ΔΕΝ ΘΕΛΟΥΜΕ ΤΟΝ ΣΥΝΟΛΙΚΟ ΑΡΙΘΜΟ ΤΩΝ ΜΠΛΟΚ ΠΟΥ ΘΑ ΔΙΑΒΑΣΤΟΥΝ, ΑΛΛΑ ΜΕΧΡΙ ΕΝΑ ΣΥΓΚΕΚΡΙΜΕΝΟ.
Υ.Γ: ΓΙΑ ΠΕΡΙΣΣΟΤΕΡΕΣ ΠΛΗΡΟΦΟΡΙΕΣ ΓΙΑ ΤΗ ΛΕΙΤΟΥΡΓΙΑ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΚΑΘΕ ΔΟΜΗΣ ΚΑΙ ΣΥΝΑΡΤΗΣΗΣ ΥΠΑΡΧΟΥΝ ΠΛΗΡΟΦΟΡΙΕΣ ΣΤΟ ΕΚΑΣΤΟΤΕ ΑΡΧΕΙΟ ΜΕ ΤΗΝ ΜΟΡΦΗ ΣΧΟΛΙΩΝ.
ΔΟΚΙΜΑΣΤΙΚΕΣ ΕΚΤΕΛΕΣΕΙΣ ΜΕ ΑΠΟΤΕΛΕΣΜΑΤΑ:
- ΓΙΑ RECORDS_NUM == 100:
(69, Theofilos,Berreta,Tokyo)
- ΓΙΑ RECORDS_NUM == 1000:
(235,Maria,Koronis,Hong Kong)
- ΓΙΑ RECORDS_NUM == 10000:
(7747,Christofos,Berreta,Amsterdam)
- ΓΙΑ RECORDS_NUM == 100000:
(35690,Dionisis,Rezkalla,Amsterdam)
- ΓΙΑ RECORDS_NUM == 1000000:
(775503,Maria,Koronis,Munich)
- ΓΙΑ RECORDS_NUM == 10000000:
(5505263,Dionisis,Mailis,Los Angeles)
Υ.Γ: ΟΙ ΕΚΤΕΛΕΣΕΙΣ ΔΟΚΙΜΑΣΤΗΚΑΝ ΣΤΑ ΛΙΝΟΥΞ ΤΗΣ ΣΧΟΛΗΣ ΓΙΑ RECORDS_NUM ΕΩΣ 1000000. ΕΓΙΝΕ ΕΠΙΠΛΕΟΝ ΕΚΤΕΛΕΣΗ ΣΕ ΔΙΚΟ ΜΑΣ ΜΗΧΑΝΗΜΑ
ΓΙΑ RECORDS_NUM == 10000000 ΚΑΘΩΣ ΠΑΡΑΤΗΡΗΘΗΚΕ ΣΗΜΑΝΤΙΚΗ ΔΙΑΦΟΡΑ ΣΤΟΥΣ ΧΡΟΝΟΥΣ ΕΚΤΕΛΕΣΗΣ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΤΑ ΔΥΟ ΜΗΧΑΝΗΜΑΤΑ.
ΕΠΙΠΛΕΟΝ, ΜΕ ΧΡΗΣΗ VALGRIND, ΕΠΙΒΕΒΑΙΩΝΕΤΑΙ Η ΣΩΣΤΗ ΑΠΟΔΕΣΜΕΥΣΗ ΧΩΡΟΥ ΚΑΘΩΣ ΔΕΝ ΠΑΡΑΤΗΡΟΥΝΤΑΙ LEAKS.About
Υλοποίηση Συστημάτων Βάσεων Δεδομένων, Εργασία 1
Topics
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published