Magaz, The Greek Linux Magazine
Magaz Logo

Επόμενο  Περιεχόμενα

1. Τι παρέχει το DBI

Το module DBI (Database Interface) παρέχει τη δυνατότητα στην perl να μιλάει με μία database. Το module αυτό παρέχει κάποιες functions οι οποίες μιλάνε με κάποιο underlying module, το οποίο λέγεται DBD. Υπάρχει ξεχωριστό DBD για κάθε βάση δεδομένων (π.χ. MySQL, Postgres, Oracle κλπ), και δεν παρέχουν όλα τις ίδιες δυνατότητες, αλλά με την χρήση του DBI είσαστε λίγο-πολύ σίγουροι ότι ο κώδικας σας μεταφέρεται από την μία Database στην άλλη, χωρίς να ξαναγραφτούν όλες οι functions από την αρχή. Ειδικά αν η SQL που γράφετε είναι "κανονική" SQL και όχι specific-database-enhanced SQL, είναι πολύ εύκολο (από πλευράς προγράμματος και μόνο) να αλλάξετε βάση, ή να διανείμετε τον κώδικά σας χωρίς να σας ενδιαφέρει το τί βάση χρησιμοποιεί ο άλλος (αρκεί βέβαια να του ορίσετε το schema που θα δημιουργήσει στην βάση του).

Βέβαια, αν χρησιμοποιήσετε το DBI για να εκτελέσετε triggers ή stored procedures σε μία βάση (κάτι που γίνεται), δεν μπορείτε να περιμένετε μεγάλη μεταφερσιμότητα, κυρίως λόγω του διαφορετικού τρόπου με τον οποίο καλούν τα διάφορα triggers οι βάσεις. Συνεπώς, αν θέλετε να έχετε την ευελιξία να αλλάξετε βάση αύριο - μεθαύριο χωρίς να σας βγουν τα μάτια να διαβάζετε καλά όλο τον κώδικα για να βρείτε τα databse-specific κομμάτια, σημειώστε καλά τα σημεία που τα χρησιμοποιείτε και στο υπόλοιπο πρόγραμμα.... stic k to SQL.

Επόμενο  Περιεχόμενα


Valid HTML 4.01!   Valid CSS!