Selected Courses on Digital Art-UOWM

16 Μαΐου 2025

OODB-OOP

Filed under: ΣΗΜΕΙΩΣΕΙΣ — admin @ 04:41

OODB

Τι είναι αντικειμενοστραφής βάση δεδομένων (Object-Oriented Database – OODB);

Ερώτηση που πιάνει τον πυρήνα του “αντικειμενοστραφούς” τρόπου σκέψης τόσο στον προγραμματισμό όσο και στις βάσεις δεδομένων.


“αντικειμενοστραφές” (object-oriented) γενικά; σημαίνει ότι:

  • Η πληροφορία και οι ενέργειες πάνω της οργανώνονται σε αντικείμενα (objects).
  • Κάθε αντικείμενο συνδυάζει δεδομένα (data) και συμπεριφορές (methods)./ behaviours

  • Χρησιμοποιείται κυρίως για δομημένο, επεκτάσιμο και επαναχρησιμοποιήσιμο κώδικα (loop-return;;;;)

OOP γλώσσες

Τι είναι αντικειμενοστραφής γλώσσα προγραμματισμού (π.χ. Java, Python, C++, Ruby);

Είναι γλώσσες που βασίζονται στην έννοια της κλάσης (class) και του αντικειμένου (object).
Οι βασικές ιδιότητες τους είναι:

ΙδιότηταΠεριγραφή
Encapsulation (Εγκλεισμός)Τα δεδομένα + μέθοδοι είναι σε “πακέτο”
Inheritance (Κληρονομικότητα)Κλάσεις κληρονομούν ιδιότητες από άλλες
Polymorphism (Πολυμορφισμός)Ένα interface – πολλές διαφορετικές υλοποιήσεις
Abstraction (Αφαίρεση)Κρύβεται η πολυπλοκότητα πίσω από απλά interfaces

Τι είναι αντικειμενοστραφής βάση δεδομένων (Object-Oriented Database – OODB);

Είναι μια βάση δεδομένων όπου:

  • Αποθηκεύονται δεδομένα ως αντικείμενα, με την ίδια δομή που έχουν στον κώδικα.
  • Υποστηρίζονται κλάσεις, υποκλάσεις, μέθοδοι, και συσχέτιση αντικειμένων (όπως στον OOP κώδικα).
  • Αντί για πίνακες (όπως στις σχεσιακές βάσεις), έχεις αντικείμενα που περιέχουν άλλα αντικείμενα, ακόμα και μεθόδους.

Ποια είναι η σχέση ανάμεσα σε OOP γλώσσες και OODB βάσεις;

Η σχέση είναι στενή – ουσιαστικά, η αντικειμενοστραφής βάση δεδομένων είναι το φυσικό “ταίρι” μιας object-oriented γλώσσας.

Παραδείγματα:

  • Σε μια Java εφαρμογή έχεις μια class Book και σε μια OODB μπορείς να αποθηκεύσεις το ίδιο αντικείμενο Book, με τις ιδιότητές του (π.χ. τίτλος, συγγραφέας) και τις μεθόδους του (π.χ. getAuthor()).
  • Δεν χρειάζεται να “μεταφράσεις” το αντικείμενο σε πίνακα, όπως σε SQL.
    ➤ Αυτό ονομάζεται impedance mismatch (ασυμβατότητα αναπαράστασης), και είναι κάτι που οι OODB προσπαθούν να εξαλείψουν.

Ιδιότητες αντικειμενοστραφών βάσεων δεδομένων:

ΙδιότηταΑνάλυση
ΑντικείμεναΟι εγγραφές είναι instances αντικειμένων, όχι απλοί πίνακες
Κλάσεις και ΙεραρχίεςΥποστηρίζεται κληρονομικότητα, όπως στις OOP γλώσσες
Εγκλεισμός (Encapsulation)Τα δεδομένα “ζουν” μέσα στα αντικείμενα με τις μεθόδους τους
Αναφορές (References)Τα αντικείμενα μπορούν να περιέχουν άλλα αντικείμενα
Επιμονή (Persistence)Τα αντικείμενα αποθηκεύονται και συνεχίζουν να υπάρχουν μετά την εκτέλεση
ΠολυμορφισμόςΜπορεί να έχεις διαφορετικές μορφές της ίδιας κλάσης αποθηκευμένες

Πώς χρησιμοποιούνται σήμερα;

  • Οι αντικειμενοστραφείς βάσεις (OODBMS όπως ObjectDB, db4o) δεν είναι τόσο διαδεδομένες όσο οι σχεσιακές (SQL), αλλά χρησιμοποιούνται σε εξειδικευμένες εφαρμογές (CAD, επιστημονικά μοντέλα, μεγάλα συστήματα αντικειμένων).
  • Αντίθετα, σήμερα πολλές εφαρμογές χρησιμοποιούν object-relational mappers (ORM) όπως Hibernate ή SQLAlchemy που γεφυρώνουν την απόσταση μεταξύ OOP κώδικα και σχεσιακών βάσεων.

Συνοψίζοντας:

ΌροςΑντικειμενοστραφής ΓλώσσαΑντικειμενοστραφής Βάση Δεδομένων
ΣκοπόςΟργάνωση λογικής και συμπεριφοράςΑποθήκευση δεδομένων ως αντικείμενα
Βασική μονάδαΚλάση / ΑντικείμενοΑντικείμενο με ιδιότητες + μεθόδους
ΥποστηρίζειEncapsulation, Inheritance, PolymorphismClasses, Hierarchies, Object identity
ΣχέσηΠαράγει και διαχειρίζεται αντικείμεναΑποθηκεύει και επαναχρησιμοποιεί αυτά τα αντικείμενα

πιο φιλοσοφικά ή καλλιτεχνικά:
πώς θα έμοιαζε μια αντικειμενοστραφής βάση “μνήμης” ή “αισθήσεων” σε ένα γενερατίβε έργο τέχνης! Έχει πολύ ενδιαφέρον.

Ευχαριστούμε βαθιά το φίλο μας για τη σημαντική βοήθειά του

Τα ανάποδα εξολομογητήρια του Rauschenberg μπορεί με όλα αυτά..

Δεν υπάρχουν Σχόλια

No comments yet.

RSS feed for comments on this post. TrackBack URL

Sorry, the comment form is closed at this time.

Powered by WordPress

error: Content is protected !!