Ελληνικό Database-SQL-RDBMS HOW-TO για Linux (PostgreSQL
-Αντικειμενοστραφές Σχεσιακό Σύστημα Βάσης Δεδομένων)
Al Dev (Alavoor Vasudevan) alavoor@yahoo.com
v11.0, 8 Ιανουαρίου 1999
Αυτό το κείμενο είναι ένας "πρακτικός οδηγός" για να εγκαταστήσετε
γρήγορα την SQL Database engine και τα front end εργαλεία της σε ένα
σύστημα Unix. Μιλά επίσης για τη Διεθνή γλώσσα Προτύπων (International
Standard language) ANSI/ISO SQL και εξετάζει τα πλεονεκτήματα της SQL
database engine που έχει αναπτυχθεί από το world-wide internet κάτω
από ένα "ανοικτό περιβάλλον ανάπτυξης". Πρόκειται για το ΠΩΣ (HOW-TO)
να εγκαταστήσετε την Αντικειμενοστραφή Σχεσιακή SQL Βάση επόμενης
γενιάς "PostgreSQL" σε ένα σύστημα Unix το οποίο μπορεί να
χρησιμοποιηθεί σαν Application Database Server ή σαν Web Database
Server. Η PostgreSQL υλοποιεί ένα υποσύνολο του Διεθνούς Προτύπου ISO
και ANSI SQL 1998,92,89. Αυτό το κείμενο δίνει επίσης πληροφορίες για
τα προγράμματα διασύνδεσης με τη βάση όπως τα Front End GUIs, για
εργαλεία RAD (Rapid Application Development), για interfaces γλωσσών
προγραμματισμού "C", "C++", Java, Perl, ODBC, JDBC οδηγούς και
εργαλεία σύνδεσης της βάσης με Web και προγράμματα γραφικής
διασύνδεσης. Οι πληροφορίες που δίνονται εδώ ισχύουν για όλες τις
πλατφόρμες Unix και για άλλες βάσεις επίσης και θα είναι πολύ χρήσιμες
σε άτομα νέα στο χώρο των Βάσεων, της γλώσσας SQL και της PostgreSQL.
Αυτό το κείμενο έχει επίσης οδηγό εκμάθησης της SQL, και η σύνταξη SQL
θα φανεί πολύ χρήσιμη στους αρχάριους. Οι έμπειροι θα βρουν χρήσιμο
αυτό το κείμενο σαν πρόχειρο οδηγό αναφοράς. Για τους φοιτητές, οι
πληροφορίες που δίνονται εδώ θα τους κάνει ικανούς να πάρουν τον
πηγαίο κώδικα από τη σχεσιακή βάση δεδομένων PostgreSQL, απ' όπου
μπορούν να μάθουν πώς γράφεται μία σχεσιακή SQL βάση δεδομένων.
______________________________________________________________________
Table of Contents
1. Εισαγωγή
2. Άλλες Μορφές αυτού του κειμένου
3. Οι νόμοι της Φυσικής εφαρμόζονται στο λογισμικό!
4. Τι είναι η PostgreSQL ;
5. Πού μπορώ να τη βρω ;
6. Η PostgreSQL υποστηρίζει εξαιρετικά μεγάλες βάσεις, μεγαλύτερες από 200 Gig
7. Πώς μπορώ να εμπιστευθώ την PostgreSQL ; Το πακέτο Regression για τεστ αναπτύσσει το αίσθημα εμπιστοσύνης στον πελάτη
8. Γραφικό πρόγραμμα επικοινωνίας (GUI FrontEnd Tool) με την PostgreSQL
9. Εργαλεία ενός Ολοκληρωμένου Συστήματος Ανάπτυξης για PostgreSQL (GUI IDE)
10. Οδηγοί Διασύνδεσης με την PostgreSQL
10.1 ODBC Drivers για την PostgreSQL
10.2 UDBC Drivers για την PostgreSQL
10.3 JDBC Drivers για την PostgreSQL
10.4 Java για PostgreSQL
11. Perl Database Interface (DBI) Driver για PostgreSQL
11.1 Διασύνδεση Perl 5 με PostgreSQL
11.2 Perl Database Interface DBI
11.2.1 ΤΙ ΕΙΝΑΙ ΤΟ DBI ;
11.2.2 Οδηγός DBI για την PostgreSQL - DBD-Pg-0.89
11.2.3 Τεχνική υποστήριξη για το DBI
11.2.4 Τι είναι τα DBI, DBperl, Oraperl και *perl;
11.2.5 Προδιαγραφές DBI
11.2.6 Προβλήματα Μεταγλώττισης ή αλλιώς "Κόπηκε στις Εξετάσεις!"
11.2.7 Υποστηρίζεται το DBI κάτω από πλατφόρμες Windows 95 / NT ;
11.2.8 Τι είναι το DBM; Και γιατί θα πρέπει να χρησιμοποιώ το DBI στη θέση του;
11.2.9 Υποστηρίζεται [lt ] το τάδε χαρακτηριστικό [gt ] στο DBI;
11.2.10 Χρησιμεύει καθόλου το DBI για προγραμματισμό σε CGI;
11.2.11 Πώς πετυχαίνω ταχύτερους χρόνους σύνδεσης με DBD Oracle και CGI;
11.2.12 Πώς επιτυγχάνω μόνιμες (persistent) συνδέσεις μεταξύ DBI και CGI
11.2.13 ``Όταν τρέχω ένα perl script από την γραμμή εντολής, δουλεύει, αλλά όταν το τρέχω από τον httpd, αποτυγχάνει!'' Γιατί;
11.2.14 Μπορώ να κάνω multi-threading με το DBI;
11.2.15 Πώς μπορώ να καλέσω stored procedures με το DBI;
11.2.16 Πώς μπορώ να πάρω τις τιμές που επιστρέφονται από τις stored procedures με το DBI;
11.2.17 Πώς μπορώ να δημιουργήσω ή να καταστρέψω μια βάση δεδομένων με το DBI;
11.2.18 Πώς διαχειρίζεται το DBI τις τιμές NULL ;
11.2.19 Τι είναι αυτές οι μέθοδοι func (func methods);
11.2.20 Εμπορική Υποστήριξη και Εκπαίδευση
12. Εργαλεία Διαχείρισης της PostgreSQL
12.1 PGACCESS - Ένα γραφικό εργαλείο για τη διαχείριση της PostgreSQL
12.2 Windows Interactive Query Tool για PostgreSQL (WISQL ή MPSQL)
12.3 Interactive Query Tool(ISQL) για την PostgreSQL - Ονομάζεται PSQL
12.4 MPMGR - Εργαλείο Διαχείρισης Βάσεων για PostgresSQL
13. Ρυθμίζοντας πολλαπλά κουτιά PostgreSQL σε μια οθόνη
14. Εφαρμογές και Εργαλεία για την PostgreSQL
14.1 Γλώσσα 4ης γενιάς (4GL) PostgreSQL για εφαρμογές με web και βάση δεδομένων - Πλατφόρμα ανάπτυξης AppGEN
14.2 WWW Web interface για PostgresSQL - DBENGINE
14.3 Apache Webserver Module για PostgreSQL - NeoSoft NeoWebScript
14.4 Οι HEITML επεκτάσεις της HTML στον server και μια γλώσσα 4ης γενιάς για την PostgreSQL
14.5 America On-line AOL Web server για PostgreSQL
14.6 Problem/Project Tracking System Application Tool για PostgreSQL
14.7 Μετατροπή αρχείων dbase dbf σε PostgreSQL
15. Εργαλείο για Σχεδιασμό/Υλοποίηση Web Βάσεων Δεδομένων για την PostgreSQL - EARP
15.1 Τι είναι το EARP ;
15.2 Υλοποίηση
15.3 Τι χρειάζεστε για να τρέξετε το EARP
15.4 Πώς δουλεύει ;
15.5 Πού θα το βρω ;
16. PHP Hypertext Preprocessor, μια scripting γλώσσα για την PostgreSQL η οποία ενσωματώνεται σε html και εκτελείται στο Server
16.1 Κύρια χαρακτηριστικά
16.2 Αναγνώριση/Ευχαριστίες
16.3 PHP 3 - Σύντομο Ιστορικό
16.4 Τι μπορώ να κάνω, λοιπόν, με το PHP/FI ;
16.5 Ένα απλό παράδειγμα
16.6 CGI Redirection
16.6.1 Σημειώσεις για τον Apache 1.0.x
16.6.2 Netscape HTTPD
16.6.3 NCSA HTTPD
16.7 Τρέχοντας το PHP/FI από τη γραμμή εντολών
17. Διασύνδεση με PostgreSQL μέσω Python
17.1 Πού μπορώ να βρω το PyGres ;
17.2 Πληροφορίες και υποστήριξη
18. Επικοινωνία μεταξύ PostgreSQL και WWW - WDB-P95
18.1 Σχετικά με το wdb-p95
18.2 Είναι απαραίτητο ο διακομιστής της PostgreSQL, το pgperl, και το httpd να είναι στον ίδιο host;
19. Προγραμματιστικές διασυνδέσεις για "C", "C++", ESQL/C και Δυαδικοί Τελεστές για την PostgreSQL
19.1 Διασύνδεση γλώσσας "C" με την PostgreSQL
19.2 Interface γλώσσας "C++" για την PostgreSQL
19.3 ESQL/C για PostgreSQL
19.4 Δυαδικοί Τελεστές για την PostgreSQL
20. Japanese Kanji Κώδικας για την PostgreSQL
21. Μεταφορά της PostgreSQL σε Windows 95/Windows NT
22. Λίστες αλληλογραφίας
22.1 Αποκτήστε ένα δωρεάν λογαριασμό e-mail
22.2 Αγγλική Λίστα Αλληλογραφίας
22.3 Αρχείο της Λίστας Αλληλογραφίας
22.4 Ισπανική Λίστα Αλληλογραφίας
23. Τεκμηρίωση και Βιβλιογραφία
23.1 Οδηγοί εκμάθησης και Εγχειρίδια
23.2 Online Τεκμηρίωση
23.3 Χρήσιμη Βιβλιογραφία Αναφοράς
23.4 Κείμενα προδιαγραφών ANSI/ISO SQL - SQL 1992, SQL 1998
23.5 Σύνταξη ANSI/ISO SQL 1992
23.6 Σύνταξη ANSI/ISO SQL 1998
23.7 Οδηγός εκμάθησης SQL για αρχάριους
23.8 Προσωρινή επέκταση (extension) στο SQL92
23.9 Τμήμα 0 - Αποκτώντας τα κείμενα ISO/ANSI SQL
23.10 Τμήμα 1 - Τρέχουσα κατάσταση του ISO/ANSI SQL
23.11 Τμήμα 2 - ISO/ANSI SQL Foundation
23.12 Τμήμα 3 - ISO/ANSI SQL Call Level Interface
23.13 Τμήμα 4 - ISO/ANSI SQL Persistent Stored Modules
23.14 Τμήμα 5 - Τυποποιήσεις - Δεσμεύσεις ISO/ANSI SQL/ ISO/ANSI SQL/Bindings
23.15 Τμήμα 6 - ISO/ANSI SQL XA Interface Specialization (SQL/XA)
23.16 Part 7 - ISO/ANSI SQL Temporal
23.16.1 ΕΙΣΑΓΩΓΗ
23.16.2 ΜΙΑ ΜΕΛΕΤΗ- ΑΠΟΘΗΚΕΥΣΗ ΣΥΓΧΡΟΝΩΝ/ΤΡΕΧΟΥΣΩΝ ΠΛΗΡΟΦΟΡΙΩΝ
23.16.3 ΜΕΛΕΤΗ - ΑΠΟΘΗΚΕΥΣΗ ΙΣΤΟΡΙΚΩΝ ΠΛΗΡΟΦΟΡΙΩΝ
23.16.4 ΜΕΛΕΤΗ - ΠΡΟΒΟΛΗ (PROJECTION)
23.16.5 ΜΕΛΕΤΗ - ΣΥΣΧΕΤΙΣΜΟΣ (JOIN)
23.16.6 ΜΕΛΕΤΗ - ΑΘΡΟΙΣΤΙΚΟΙ ΤΕΛΕΣΤΕΣ (AGGREGATES)
23.16.7 ΠΕΡΙΛΗΨΗ
23.17 Τμήμα 8 - ISO/ANSI ΠΟΛΥΜΕΣΑ SQL (SQL MULTIMEDIA - SQL/MM)
24. Τεχνική υποστήριξη για την PostgreSQL
25. Οικονομικά και Επαγγελματικά Θέματα
26. Λίστα άλλων βάσεων δεδομένων
27. Χρήσιμες συμβουλές για αναζητήσεις στο Internet World Wide Web
28. Συμπέρασμα
29. Συχνά Διατυπωμένες Ερωτήσεις σχετικά με την PostgreSQL
30. Σημείωση Πνευματικών Δικαιωμάτων
31. Παράρτημα A - Σύνταξη του ANSI/ISO SQL 1992
32. Παράρτημα B - Οδηγός Εκμάθησης SQL για αρχάριους
32.1 Οδηγός Εκμάθησης για PostgreSQL
32.2 Δείκτες Internet διευθύνσεων
33. Appendix C - Οδηγίες για γρήγορη εγκατάσταση Linux
______________________________________________________________________
1. Εισαγωγή
Ο σκοπός αυτού του κειμένου είναι να δώσει κατανοητούς δείκτες/URLs
για να στήσετε γρήγορα την PostgreSQL και επίσης να υπερασπιστεί τα
πλεονεκτήματα ενός Ανοικτού Συστήματος Πηγαίου Κώδικα (Open Source
Code) όπως η PostgreSQL, Linux.
Κάθε σύστημα υπολογιστή στον κόσμο χρειάζεται μια βάση δεδομένων για
να αποθηκεύει /ανακτά πληροφορίες. Ο κύριος λόγος που χρησιμοποιούμε
τον υπολογιστή είναι για να αποθηκεύουμε, να ανακτούμε και να
επεξεργαζόμαστε την πληροφορία και να τα κάνουμε όλα αυτά γρήγορα,
εξοικονομώντας έτσι χρόνο. Ταυτόχρονα, το σύστημα πρέπει να είναι
απλό, αξιόπιστο, οικονομικό και πολύ εύκολο στη χρήση του. Η Βάση
Δεδομένων είναι ΣΥΣΤΗΜΑ ΖΩΤΙΚΗΣ ΣΗΜΑΣΙΑΣ για κάθε εταιρία στον κόσμο
μια και σε αυτή αποθηκεύονται πολύ σημαντικές πληροφορίες. Τα πιο
δημοφιλή συστήματα βάσεων δεδομένων βασίζονται στις SQL προδιαγραφές
του Διεθνούς Οργανισμού Προτύπων ISO (International Standard
Organisation) οι οποίες βασίζονται με τη σειρά τους στo πρότυπο ANSI
SQL (Αμερικάνικο). Οι τρέχουσες προδιαγραφές που χρησιμοποιούνται
ευρέως είναι οι ISO/ANSI SQL 1992. Το μελλοντικό πρότυπο είναι το SQL
1998/99 γνωστό και σαν SQL-3 και αναπτύσσεται ακόμη. Δημοφιλείς βάσεις
όπως η Oracle, η Sybase και Informix είναι συστήματα βασισμένα σε αυτά
τα πρότυπα ή προσπαθούν να τα υλοποιήσουν.
Όπως φαίνεται σε αυτό το κείμενο, υπάρχουν περισσότερα από 20
διαφορετικά συστήματα βάσεων δεδομένων, εμπορικά/βασισμένα στο
internet, που χρησιμοποιούνται σε όλο τον κόσμο και πολλά περισσότερα
θα εμφανιστούν στο προσεχές μέλλον. Χωρίς ένα πρότυπο όπως το
ANSI/ISO SQL, θα ήταν πολύ δύσκολο για τον πελάτη να αναπτύξει μια
εφαρμογή μια μόνο φορά και να τη τρέχει σε όλα τα συστήματα βάσεων
δεδομένων. Ο σημερινός πελάτης θέλει να αναπτύξει μια εφαρμογή μια
φορά χρησιμοποιώντας ISO SQL, ODBC, JDBC και να την πουλήσει ώστε να
χρησιμοποιείται σε όλα τα διαφορετικά συστήματα βάσεων δεδομένων στον
κόσμο.
Η δημοφιλέστερη παγκοσμίως ΔΩΡΕΑΝ βάση, που υλοποιεί τμήμα του ISO
SQL, ANSI SQL/98, SQL/92 και ANSI SQL/89 RDBMS είναι η PostgreSQL. Η
PostgreSQL είναι η Αντικειμενοστραφής Σχεσιακή SQL Βάση επόμενης
γενιάς και τα μελλοντικά πρότυπα ANSI SQL όπως το SQL 1998 (SQL-3) και
πέρα θα ασχολούνται όλο και περισσότερο με Αντικειμενοστραφείς Βάσεις
και τύπους δεδομένων Αντικειμένου (Object data types). Η PostgreSQL
είναι το μόνο δωρεάν RDBMS στον κόσμο που υποστηρίζει
Αντικειμενοστραφείς Βάσεις και SQL. Αυτό το κείμενο θα σας πει πώς να
εγκαταστήσετε τη βάση και, επίσης, όλα τα πακέτα σχετικά με βάσεις,
πώς να εγκαταστήσετε Web database, application database, γραφικά
προγράμματα επικοινωνίας και χειρισμού (front end GUIs και προγράμματα
interface). Σας συμβουλεύουμε να γράψετε ΟΠΩΣΔΗΠΟΤΕ τις εφαρμογές
βάσεων 100 % συμβατές με τα πρότυπα ISO/ANSI SQL, ODBC, JDBC, έτσι
ώστε η εφαρμογή σας να είναι μεταφέρσιμη σε πολλές βάσεις όπως οι
PostgreSQL, Oracle, Sybase, Informix κλπ.
Με την PostgreSQL, θα έχετε την υψηλότερη ποιότητα και πολλά άλλα
χαρακτηριστικά μια και ακολουθεί το 'Ανοικτό Μοντέλο Ανάπτυξης Πηγαίου
Κώδικα' (Open Source Code development). Το Ανοικτό μοντέλο Ανάπτυξης
Πηγαίου Κώδικα είναι το μόνο του οποίου μπορείτε να πάρετε όλον τον
πηγαίο κώδικα, και η ανάπτυξη γίνεται στο internet από εξαιρετικά
μεγάλο δίκτυο ανθρώπινων μυαλών. Η μελλοντική μόδα προβλέπει ότι η
μεγαλύτερη ανάπτυξη λογισμικού θα γίνεται στην αποκαλούμενη
"Υπερλεωφόρο Πληροφοριών" (Information Super-Highway) που διατρέχει
όλο τον κόσμο. Στα χρόνια που έρχονται, η ανάπτυξη του internet θα
είναι εκρηκτική η οποία με τη σειρά της θα πυροδοτήσει τη γρήγορη
υιοθέτηση της PostgreSQL από τους πελάτες.
Εφαρμόζοντας τις αρχές της φυσικής (κβαντομηχανική, κλασσική,
θερμοδυναμική), των μαθηματικών και της στατιστικής στην ποιότητα του
λογισμικού, παίρνετε την υψηλότερη ποιότητα λογισμικού μόνο σε ένα
'Ανοικτό Σύστημα Πηγαίου Κώδικα' όπως η PostgreSQL ανοίγοντας τον
πηγαίο κώδικα σε ένα πελώριο αριθμό ανθρώπινων μυαλών διασυνδεδεμένων
μέσω της Υπερλεωφόρου Πληροφοριών. Όσο μεγαλύτερος ο αριθμός των
ανθρώπων που εργάζονται πάνω σ' αυτό, τόσο καλύτερη θα είναι η
ποιότητα του λογισμικού. Το Ανοικτό Μοντέλο Πηγαίου Κώδικα θα
εμποδίσει επίσης την ανακάλυψη του τροχού από την αρχή , θα μειώσει τη
διπλή δουλειά και θα είναι πολύ οικονομικό, θα εξοικονομεί χρόνο στη
διανομή και ακολουθεί τους νόμους της μοντέρνας οικονομίας για
βελτιστοποίηση των εθνικών και γενικών πόρων. Όταν μια εργασία
λογισμικού έχει γίνει από άλλους, τότε ΔΕΝ χρειάζεται να την κάνετε
εσείς πάλι. Δε θα σπαταλήσετε τον πολύτιμο χρόνο σας σε κάτι που έχει
ήδη γίνει καλά. Καθώς θα μπαίνουμε στον 21ο αιώνα, θα υπάρχει αλλαγή
στον τρόπο που παίρνουμε το λογισμικό για χρήση. Οι πελάτες θα
προτιμούν τα ανοικτά συστήματα λογισμικού όπως η PostgreSQL, το Linux
κλπ.
Αν αγοράσετε εκτελέσιμα προγράμματα, δε θα πάρετε και τον κώδικα και
τα δικαιώματά του. Ο πηγαίος κώδικας είναι ανεκτίμητο στοιχείο ενώ τα
εκτελέσιμα δεν έχουν καμιά αξία. Το να αγοράσετε λογισμικό μπορεί να
ανήκει στο παρελθόν. Για να αγοράσετε καλό υλικό (hardware), αξίζει
να ξοδέψετε χρήματα και να πάρετε το λογισμικό από το internet.
Σημαντικό σημείο είναι το υλικό του υπολογιστή το οποίο κάνει τον
κύριο όγκο της δουλειάς. To υλικό είναι το άλογο που κάνει τη δουλειά
ενώ το λογισμικό απλά το οδηγεί. Το υλικό των υπολογιστών είναι πολύ
πολύπλοκο και μόνο 6 από τις 180 χώρες στον κόσμο μέχρι τώρα έχουν
επιδείξει την ικανότητα σχεδιασμού και κατασκευής πλακετών/υλικού
υπολογιστών. Ο σχεδιασμός και η κατασκευή chips υπολογιστών είναι
προηγμένη τεχνολογία. Είναι μια πολύ σύνθετη διαδικασία, δαπανηρή,
απαιτεί μεγάλες επενδύσεις σε εργοστάσια και μηχανές παραγωγής που
δουλεύουν με τεχνολογία 0.18 micron. Σε ένα μικρό chip σιλικόνης
εκατομμύρια τρανζίστορς/κυκλώματα είναι στενά πακεταρισμένα. Εταιρείες
όπως οι AMD, Intel, Cyrix, Hitachi, IBM και άλλες ξόδεψαν σημαντικό
αριθμό από ανθρωποχρόνια για να γίνουν κύριοι υψηλών τεχνολογιών όπως
η μικροηλεκτρονική (Micro-electronics) και η νανοηλεκτρονική (Nano-
electronics). Micro σημαίνει (ένα-εκατομμυριοστό του μέτρου 10^-6),
Nano σημαίνει (ένα-δισεκατομμυριοστό του μέτρου 10^-9). Η τρέχουσα
τεχνολογία χρησιμοποιεί μικροηλεκτρονική γύρω στα 0.35 micron
χρησιμοποιώντας αγωγούς αλουμινίου, και μεγέθη των 0.25 micron
χρησιμοποιώντας αγωγούς ηλεκτρονίων από χαλκό. Στο κοντινό μας μέλλον
θα χρησιμοποιηθεί τεχνολογία των 0.10 micron με χαλκό και
νανοηλεκτρονική για να φτιάξουν τσιπάκια υπολογιστή. Οι αγωγοί
αλουμινίου θα αντικατασταθούν από χαλκό στα chips των υπολογιστών,
καθώς ο χαλκός είναι καλύτερος αγωγός των ηλεκτρονίων. Στη
φωτολιθογραφία, θα χρησιμοποιηθούν τεχνικές υπεριώδους ακτινοβολίας,
ακτίνες Χ ή δέσμης ηλεκτρονίων για χάραξη κυκλωμάτων με μελλοντικά
μεγέθη μικρότερα των 0.15 micron.
Σε 20 χρόνια από τώρα, τα τσιπ σιλικόνης θα αντικατασταθούν από
μοριακούς υπολογιστές και βιοτσιπς που θα είναι δισεκατομμύρια φορές
γρηγορότερα από τα τσιπ σιλικόνης. Τα μόρια είναι ένα σύνολο ατόμων.
Και τα άτομα είναι τα μικρά σωματίδια που αποτελούν ό,τι βλέπετε σε
αυτό τον κόσμο. Οι μοριακοί υπολογιστές θα χρησιμοποιούν τα μόρια της
ύλης σαν υπεργρήγορους διακόπτες on/off. Όταν ο διακόπτης είναι ON
σημαίνει 1, και όταν είναι OFF σημαίνει 0. Όλα τα προγράμματα σε αυτόν
τον κόσμο βασίζονται στο δυαδικό σύστημα.
Ο παρακάτω πίνακας δείχνει τη πρόοδο και τις μελλοντικές τάσεις
προόδου των chips των υπολογιστών.
Advancement of chip capabilities in future
********************************************
+--------------------------+---------+---------+---------+---------+--------+---------+
| Item/Year | 1997 | 1999 | 2001 | 2003 | 2012 | 2020 |
+--------------------------+---------+---------+---------+---------+--------+---------+
| Feature size(micron) | 0.25 | 0.18 | 0.15 | 0.13 | 0.05 |< 0.00001|
+--------------------------+---------+---------+---------+---------+--------+---------+
| Wafer size(mm) | 200 | 300 | 300 | 300 | 450 | Mol/Bio |
+--------------------------+---------+---------+---------+---------+--------+---------+
| Min Operating Voltage | 1.8-2.5 | 1.5-1.8 | 1.2-1.5 | 1.2-1.5 | 0.5-0.6| < 0.001 |
+--------------------------+---------+---------+---------+---------+--------+---------+
| Max power dissipation | 70 | 90 | 110 | 130 | 175 | 600 |
+--------------------------+---------+---------+---------+---------+--------+---------+
| On-chip frequencey (MHz) | 750 | 1,250 | 1,500 | 2,100 | 10,000 | > 50,000|
+--------------------------+---------+---------+---------+---------+--------+---------+
| DRAM capacity | 256 MB | 1 GB | 2 GB | 4 GB | 256 GB | > 1000GB|
+--------------------------+---------+---------+---------+---------+--------+---------+
Όπως βλέπετε, το υλικό είναι υψηλής τεχνολογίας και σημαντικό ενώ το
λογισμικό είναι λιγότερο δύσκολη τεχνολογία. Αρα, η κατασκευή
υλικού/υλικών-αγαθών είναι ζωτικής σημασίας για την εθνική οικονομία!
Εταιρείες όπως οι Compaq, Dell, Sun Microsystems, HP, IBM που
κατασκευάζουν υπολογιστές είναι οι κύριοι συνεισφέροντες στην
οικονομία της Αμερικής σήμερα και στο μέλλον!!
Από την άλλη, κάθε χώρα ανεξαιρέτως στον κόσμο αναπτύσσει/φτιάχνει
λογισμικό. Στην πραγματικότητα, οποιοσδήποτε στον κόσμο με ένα μικρό
PC χαμηλού-κόστους μπορεί να δημιουργήσει ένα σύστημα μιας βάσης
δεδομένων σαν την Oracle . Αλλά θα του έπαιρνε 10 χρόνια (ο
διακομιστής της Oracle είναι περίπου 10 ανθρωπο-έτη δουλειά). Ένα
ανθρωπο-έτος είναι ένα άτομο που δουλεύει με πλήρη απασχόληση για ένα
ολόκληρο έτος. Αν 10 άνθρωποι εργάζονται για 10 έτη τότε έχουν
ξοδευτεί 10 ανθρωπο-έτη.
Βάσεις όπως οι Oracle, Informix, Sybase, IBM DB2 (Unix) γράφτηκαν σε
γλώσσα "C" και τα εκτελέσιμα δημιουργήθηκαν μεταγλωττίζοντας τον
κώδικα και μετά αποστάλθηκαν στους πελάτες. Οι βάσεις Oracle, Sybase,
Informix είναι προγράμματα 100 % "C"!!
Μια και έχει γίνει πολλή δουλειά στην PostgreSQL τα τελευταία 12
χρόνια, δεν έχει νόημα ξαναδημιουργήσουμε από την αρχή μια άλλη βάση
που να ικανοποιεί το πρότυπο ANSI/ISO SQL. Είναι μεγάλο πλεονέκτημα να
χρησιμοποιήσουμε τον υπάρχοντα κώδικα και να προσθέσουμε τα
χαρακτηριστικά που λείπουν ή προσθήκες στην PostgreSQL και να
αρχίσουμε να τη χρησιμοποιούμε αμέσως.
Η PostgreSQL δεν είναι απλά μια δωρεάν βάση αλλά ένα καλής ποιότητας
'Προϊόν Internet'. Προβλέπεται ότι η ζήτηση προϊόντων "Made By
Internet" θα αυξηθεί εκθετικά μια και είναι ικανό να διατηρεί υψηλή
ποιότητα, χαμηλό κόστος, εξαιρετικά μεγάλη βάση χρηστών και ατόμων που
αναπτύσσουν κώδικα. Αυτά τα έθνη που δε χρησιμοποιούν τα προϊόντα
'Made By Internet' θα χάσουν σοβαρά την "Επανάσταση World-wide
Internet" και θα μείνουν πολύ πίσω από τις άλλες χώρες. Ο λόγος είναι
ότι το ίδιο το "Internet" είναι η μεγαλύτερη εταιρεία παραγωγής
λογισμικού σε όλο τον κόσμο!
2. Άλλες Μορφές αυτού του κειμένου
Αυτό το κείμενο είναι τυπωμένο σε 10 διαφορετικές μορφές, ονομαστικά -
DVI, Postscript, Latex, LyX, GNU-info, HTML, RTF (Rich Text Format),
Plain-text, Σελίδες βοηθείας Unix (Unix man pages) και SGML.
· Μπορείτε να πάρετε αυτό το κείμενο HOWTO σαν ένα αρχείο tar σε
μορφή HTML, DVI, Postscript ή SGML από το -
· Η απλή μορφή κειμένου βρίσκεται στο:
· Για σχόλια, παρατηρήσεις, διορθώσεις, ενημερώσεις περί της
Ελληνικής μετάφρασης αυτού του HOWTO, στείλτε email στην Βούλα
Σανιδά : voulariba@hellug.gr ή στον Ευριπίδη Παπακώστα :
evris@hellug.gr και εναλλακτικά : ep@rocketmail.com
· Μεταφράσεις σε άλλες γλώσσες όπως Γαλλικά, Γερμανικά, Ισπανικά,
Κινέζικα, Γιαπωνέζικα βρίσκονται στο
Οποιαδήποτε βοήθεια
για μετάφραση σε άλλες γλώσσες είναι ευπρόσδεκτη.
Το κείμενο γράφτηκε χρησιμοποιώντας τα "εργαλεία SGML" τα οποία θα
τα βρείτε στο - Αφού
μεταγλωττίσετε τον κώδικα θα έχετε εντολές όπως
· sgml2html databasehowto.sgml (για να δημιουργήσετε αρχεία html)
· sgml2rtf databasehowto.sgml (για να δημιουργήσετε αρχεία RTF)
· sgml2latex databasehowto.sgml (για να δημιουργήσετε αρχεία
latex)
Το κείμενο βρίσκεται στο -
·
Μπορείτε επίσης να βρείτε το κείμενο στα παρακάτω mirrors sites -
·
·
·
·
· Άλλα mirror sites κοντά σας (network-address-wise) μπορείτε να
βρείτε στο διαλέξτε ένα
site και πηγαίνετε στον κατάλογο /LDP/HOWTO/PostgreSQL-HOWTO.html
Για να δείτε το κείμενο σε μορφή dvi, χρησιμοποιήστε το πρόγραμμα
xdvi. Το πρόγραμμα xdvi βρίσκεται στο πακέτο tetex-xdvi*.rpm στο
Redhat Linux το οποίο βρίσκεται στα κουμπιά ControlPanel |
Applications | Publishing | TeX menu. Για να διαβάσετε κείμενο dvi
δώστε την εντολή -
xdvi -geometry 80x90 howto.dvi
και αλλάξτε το μέγεθος του παραθύρου με το ποντίκι. Δείτε τη σελίδα
βοήθειας για το xdvi.
Για να μετακινηθείτε χρησιμοποιήστε τα βελάκια, τα πλήκτρα Page Up,
Page Down, μπορείτε να χρησιμοποιήσετε επίσης τα γράμματα 'f', 'd',
'u', 'c', 'l', 'r', 'p', 'n' για να μετακινηθείτε προς τα πάνω, κάτω,
στο κέντρο, στην επόμενη σελίδα, στην προηγούμενη σελίδα κλπ.
Για να απενεργοποιήσετε το expert μενού πατήστε 'x'. Μπορείτε να
διαβάσετε αρχεία postscript χρησιμοποιώντας το 'gv' (ghostview) ή
'ghostscript'. Το πρόγραμμα ghostscript βρίσκεται στο πακέτο
ghostscript*.rpm και το πρόγραμμα gv στο πακέτο gv*.rpm στο Redhat
Linux το οποίο βρίσκεται στα κουμπιά των μενού ControlPanel |
Applications | Graphics. Το πρόγραμμα gv είναι πολύ πιο φιλικό στο
χρήστη από το ghostscript. Το ghostscript και το gv είναι επίσης
διαθέσιμα και σε άλλες πλατφόρμες όπως σε OS/2, Windows 95 και NT,
βλέπετε αυτό το κείμενο ακόμη και σε αυτές τις πλατφόρμες.
Για να διαβάσετε κείμενο postscript δώστε την εντολή -
gv howto.ps
Για να χρησιμοποιήσετε το ghostscript την εντολή -
ghostscript howto.ps
ΠΡΟΣΟΧΗ: Το κείμενο αυτό είναι μεγάλο, ο συνολικός αριθμός σελίδων (σε
postscript) αν τυπωθεί θα είναι περίπου 113 σελίδες στα Αγγλικά (στα
ελληνικά θα πρέπει να είναι περισσότερες).
Μπορείτε να διαβάσετε το κείμενο σε μορφή HTML χρησιμοποιώντας
Netscape Navigator, Microsoft Internet explorer, Redhat Baron Web
browser ή οποιοδήποτε από τους άλλους 10 web browsers.
Μπορείτε να διαβάσετε την έξοδο του σε latex, LyX χρησιμοποιώντας το
LyX, ένα X-Windows γραφικό πρόγραμμα διασύνδεσης με latex.
3. Οι νόμοι της Φυσικής εφαρμόζονται στο λογισμικό!
Σε αυτό το κεφάλαιο, θα σας δείξουμε πώς η επιστήμη παίζει σημαντικό
ρόλο στη δημιουργία διαφόρων αντικειμένων όπως το λογισμικό, το
σύμπαν, τα άτομα, την ενέργεια ακόμα και εσάς τους ίδιους! Αυτό το
κεφάλαιο θα σας δείξει επίσης γιατί η γνώση της επιστήμης είναι πολύ
σημαντική ΠΡΙΝ να ξεκινήσετε να χρησιμοποιείτε τα προϊόντα της. Τα
αντικείμενα περιλαμβάνουν ο,τιδήποτε - για παράδειγμα η PostgreSQL, ο
χρόνος, η μάζα, η ενέργεια, οι πλανήτες, ο ήλιος, το φεγγάρι, τα
αστέρια, οι γαλαξίες, οι άνθρωποι κλπ... είναι αντικείμενα
δημιουργήματα της επιστήμης. Αυτό το κεφάλαιο περιγράφει επίσης πώς
οι νόμοι της επιστήμης και η στατιστική ευνοούν τα συστήματα open-
source code όπως η PostgreSQL και το Linux. Καθώς η ταχύτητα στο
διαδίκτυο αυξάνεται καθημερινά, και το διαδίκτυο γίνεται ολοένα και
πιο σταθερό, τα συστήματα open-source code γνωρίζουν γρήγορη ανάπτυξη.
Και αν οι στατιστικοί κανόνες και οι νόμοι της φυσικής είναι σωστοί,
τα συστήματα closed source-code θα αφανιστούν τελικά από τον πλανήτη.
Οι παράγραφοι που ακολουθούν παρακάτω θα σας δείξουν - "πόσο απέραντη
είναι η επιστήμη, πόσο σημαντική είναι για τον άνθρωπο και πώς επιδρά
σε έργα λογισμικού όπως η PostgreSQL, το Linux".
Το να αναπτύξετε ένα project όπως η PostgreSQL, απαιτεί ενέργεια και
χρόνο, άρα η PostgreSQL είναι προϊόν ενέργειας και χρόνου. Μια και η
ενέργεια και ο χρόνος μπορούν να εξηγηθούν μόνο επιστημονικά, υπάρχει
μια αμφίδρομη σχέση μεταξύ της φυσικής και των έργων λογισμικού όπως η
PostgreSQL, το Linux.
Οι επιστημονικοί νόμοι (Φυσική) εφαρμόζονται παντού, συνέχεια, σε ό,τι
κάνετε ακόμη και στα έργα λογισμικού όπως συστήματα βάσεων δεδομένων.
Η Φυσική εφαρμόζεται ακόμη και όταν μιλάτε (ηχητικά κύματα), περπατάτε
(τριβή μεταξύ εδάφους και πέλματος), διαβάζετε ένα βιβλίο ή γράφετε
λογισμικό. Πολλοί κλάδοι της επιστήμης όπως η φυσική, η χημεία κλπ.
συγχωνεύονται σε μια ευρεία περιοχή, τα Μαθηματικά (επίσης γνωστά και
σαν τη Βασίλισσα όλων των Επιστημών). Οτιδήποτε σε αυτό τον κόσμο
έχει βαθιές ρίζες στα μαθηματικά, συμπεριλαμβανομένης της PostgreSQL.
Η PostgreSQL χρησιμοποιεί τη 'Μοντέρνα Άλγεβρα' ,ένα πολύ μικρό
παρακλάδι των μαθηματικών . Η 'Μοντέρνα Άλγεβρα' ασχολείται με τη
'Θεωρία Συνόλων', τη 'Σχεσιακή Άλγεβρα', επιστήμη των Groups, Rings,
Collections, Sets, Unions, Intersections, Exclusions, Domains, Lists,
κλπ...
Λογισμικό όπως η PostgreSQL υπάρχει σήμερα λόγω της ενέργειας και του
χρόνου. Η ενέργεια είναι αυτή που δημιούργησε τον κόσμο, τον
ανθρώπινο εγκέφαλο και πολλά άλλα πράγματα! Η μάζα και η ενέργεια
είναι η ΙΔΙΑ ΟΝΤΟΤΗΤΑ! Το γεγονός ότι η μάζα και η ενέργεια είναι το
ίδιο πράγμα ήταν άγνωστο στους ανθρώπους 100 χρόνια πριν!
Οι κυψέλες στον ανθρώπινο εγκέφαλο καταναλώνουν ενέργεια καθώς
επεξεργάζονται (παράγουν λογισμικό) μετατρέποντας τη χημική ενέργεια
σε θερμική ενέργεια. Ακόμη και τώρα που διαβάζετε αυτή την παράγραφο,
οι κυψέλες στον εγκέφαλό σας καίνε βενζίνη και χρησιμοποιούν την
ενέργεια. Γι' αυτό ΣΤΑΜΑΤΗΣΤΕ ΝΑ ΔΙΑΒΑΖΕΤΕ ΤΩΡΑ! Η ενέργεια των
νευρώνων (κυψέλες στον εγκέφαλο) μπορεί να μετρηθεί στα εργαστήρια.
Για παράδειγμα, υπάρχουν πολλά όργανα όπως οι "Ανιχνευτές Ψεμάτων" και
άλλα ιατρικά όργανα που μπορούν να μετρήσουν την ενέργεια που
καταναλώνει ο εγκέφαλος.
Όλα αυτά υπονοούν ότι ο ανθρώπινος εγκέφαλος είναι μια θερμοδυναμική
πηγή ενέργειας. Επειδή ο άνθρωπος είναι μια θερμοδυναμική πηγή
ενέργειας, οι νόμοι της θερμοδυναμικής εφαρμόζονται στον εγκέφαλο και
έτσι η θερμοδυναμική έχει έμμεσα αποτελέσματα σε λογισμικό όπως η
PostgreSQL.
Όπως σε κάθε επιστήμη, είναι αδύνατο να χτίσετε οποιοδήποτε σύστημα ή
θεωρία (συμπεριλαμβανομένου ενός συστήματος βάσεων δεδομένων) που να
είναι 100 % τέλειο και χωρίς σφάλματα. Είναι σα να κυνηγάτε έναν
ανεμοστρόβιλο , δε θα καταφέρουμε ΠΟΤΕ να φτιάξουμε το τέλειο σύστημα
ή θεωρία. Λεπτομερείς μαθηματικές εξισώσεις/συζητήσεις για την
απόδειξη της ύπαρξης ενός 'τέλειου συστήματος' είναι αδύνατο να γίνουν
εδώ καθώς ξεπερνά το σκοπό αυτού του κειμένου.
Και μια τέτοια μαθηματική συζήτηση ασχολείται με τον άπειρο αριθμό
διαστάσεων που υπάρχουν στη φύση. Δυστυχώς, οι άνθρωποι μπορούν να
δουν ή να νιώσουν 4 διαστάσεις αλλά τα μαθηματικά μπορούν να
εξερευνήσουν εύκολα και άλλες διαστάσεις.
Άλλες διαστάσεις είναι 'άπειρα μικρότερες' από τα άτομα και τα ίδια τα
άτομα είναι με τη σειρά τους πολύ μικρά και το ανθρώπινο μάτι δε
μπορεί να τα ξεχωρίσει! Τα Μαθηματικά είναι πολύ ισχυρά μια και
μπορούν να αναλύσουν και να εξηγήσουν τη γέννηση/ θάνατο όλης της
υφηλίου. Ο κόσμος μας έχει σχεδόν μηδενικό μέγεθος αν τον κοιτάξετε
από άλλο σύμπαν και αντίστροφα. Αυτό σημαίνει ότι ο κόσμος μας δεν
είναι ορατός (δεν υπάρχει) για τα άτομα που βρίσκονται σε άλλο σύμπαν.
Και αντίστροφα! Θεωρητικά, μπορείτε να βγείτε από τον κόσμο μας και
να ταξιδέψετε μεγάλες αποστάσεις (δισεκατομμύρια έτη φωτός) σε
ελάχιστο χρόνο και να ξαναμπείτε στον κόσμο μας σε ένα διαφορετικό
σημείο του χωροχρόνου! Η απόσταση μεταξύ του κόσμου μας και των άλλων
κόσμων είναι πραγματικά μηδενικός!
Ακόμη και αν υπάρχει άπειρος αριθμός διαστάσεων, μπορούν όλες να
προκύψουν/ δημιουργηθούν από ένα μικρό αριθμό ΚΥΡΙΩΝ διαστάσεων.
Άπειρος αριθμός διαστάσεων μπορούν να συνδυαστούν και να καταλήξουν
σε κύριες διαστάσεις. Οι κύριες διαστάσεις απλά απορροφούν τις άλλες
διαστάσεις χωρίς αυτές να καταστρέφονται. Οι μαθηματικοί
χρησιμοποιούν αυτές τις κύριες διαστάσεις για να κατανοήσουν τη
γέννηση και το θάνατο του σύμπαντος. Ο κόσμος στον οποίο ζείτε σήμερα
δημιουργήθηκε με το BIG BANG δισεκατομμύρια χρόνια πριν (σχεδόν 20
δισεκατομμύρια χρόνια πριν) το οποίο δημιουργήθηκε από
αλληλεπιδράσεις ατομικών σωματιδίων άλλων διαστάσεων. Λίγο πριν το
big bang υπήρχε ένα πολύ μικρό σημείο όπου το μήκος, το πλάτος και το
ύψος ήταν ΜΗΔΕΝ (δηλαδή, ο κόσμος μας δεν υπήρχε εκεί!!) ενώ υπήρχε το
υπόλοιπο σύμπαν και οι κύριες διαστάσεις. Εκείνη τη χρονική στιγμή δεν
υπήρχαν άτομα, αστέρια, πλανήτες και γαλαξίες! Τα άτομα μέσα στο σώμα
σας δεν υπήρχαν εκεί! Έχουν γίνει, λοιπόν, τόσα πολλά πράγματα ΠΡΙΝ
να γεννηθείτε!
Το Big bang και επομένως και η γέννηση του κόσμου μας προκλήθηκε από
λίγα άτομα κύριων διαστάσεων. ΚΑΠΟΙΟΣ (κάτι;) προκάλεσε τη συντριβή
ελάχιστων πολύ μικρών ατόμων άλλων διαστάσεων με αποτέλεσμα τη
δημιουργία του κόσμου μας, και γεννήθηκαν νέες διαστάσεις χρόνου,
μήκους, πλάτους, ύψους ! Βλέπουμε το χέρι κάποιου σε αυτή τη
διαδικασία. Αυτή η διαδικασία δεν είναι και πολύ κατανοητή από τον
άνθρωπο.
Ο άνθρωπος προσπαθεί να δημιουργήσει έναν άλλο κόσμο στο εργαστήριο
προσομοιώνοντας το γεγονός big bang (βρίσκεται υπό κατασκευή ένας
τεράστιος επιταχυντής στην Ευρώπη, άλλη μια κατασκευή στο Ντάλας, η
Αμερική σταμάτησε λόγω περικοπών στον προϋπολογισμό). Υπάρχουν άτομα
άλλων διαστάσεων, όπως έχουμε κι εμείς άτομα στον δικό μας κόσμο.
Θεωρητικά, μπορείτε να δημιουργήσετε/παράγετε άπειρο αριθμό κόσμων!
Αυτή η διαδικασία είναι αντιστρεπτή, δηλαδή ο κόσμος μας μπορεί να
συρρικνωθεί σε μερικά άτομα άλλων διαστάσεων! Είναι παρόμοιο με το να
γεννηθήκατε από δύο μικροσκοπικές κυψέλες οι οποίες θα συγκρουστούν
για να δημιουργήσουν μία μόνο κυψέλη. Αυτή η μόνη μικροσκοπική
κυψελίδα διαιρέθηκε και πολλαπλασιάστηκε σε 6 τρισεκατομμύρια
κυψελίδες μέχρι να γίνει ένας άνθρωπος ύψους 6 πόδια (δηλαδή εσείς!).
Υπάρχουν μερικές ομοιότητες μεταξύ ανθρώπου και σύμπαντος, το σύμπαν
γεννιέται και αργότερα πεθαίνει όπως και οι άνθρωποι. Μια και είναι
αδύνατη μια ΤΕΛΕΙΑ κατάσταση (όπως και η ΑΠΟΛΥΤΩΣ ΜΗ ΤΕΛΕΙΑ
κατάσταση), οι κόσμοι σαν τους δικούς μας γεννιούνται και πεθαίνουν
αργότερα με μια κυκλική διαδικασία. ΑΛΛΑ δεν υπάρχει ΤΕΛΕΙΟΣ θάνατος,
μόνο μετασχηματισμός επιτρέπεται από την επιστήμη! Ο κόσμος μας
μεγαλώνει με ταχύτατο ρυθμό, δεν είναι στατικός, αντίθετα είναι πολύ
δυναμικός. Αυτός ο κόσμος θα συνεχίσει να μεγαλώνει ώσπου να
παρεμβληθεί κάτι που θα καταστρέψει τον κόσμο μας εφαρμόζοντας
δυνάμεις με εξωτερικές διαστάσεις που θα απορροφήσουν και θα
εξαφανίσουν τον κόσμο μας! Υπάρχουν δύο πιθανότητες - να απομακρυνθεί
η μάζα από τον κόσμο μας μέσω των μαύρων τρυπών (αργή διαδικασία), ή
να προστεθεί και άλλη μάζα στον κόσμο μας μέσω των άσπρων τρυπών
(γρήγορη διαδικασία μεγάλης σύγκρουσης). Μπορεί να υπάρχουν
εκατομμύρια κόσμοι αλλά λίγοι είναι αυτοί που δημιουργήθηκαν από
κύριες διαστάσεις. Δεν έχετε φτιαχτεί μόνο από άτομα αυτού του κόσμου
αλλά και από άτομα άλλων διαστάσεων! Στις μαύρες τρύπες τα άτομα και
τα σωματίδια του κόσμου μας μένουν εγκλωβισμένα και μετασχηματίζονται
και μετατρέπονται τελείως σε σωματίδια άλλων διαστάσεων! Στο κέντρο
μιας μαύρης τρύπας ο χρόνος, το πλάτος και το ύψος είναι μηδέν! Και η
μαύρη τρύπα είναι η πόρτα ΕΞΟΔΟΥ/ΕΙΣΟΔΟΥ πρός και από άλλους κόσμους.
Πόρτες ΕΙΣΟΔΟΥ/ΕΞΟΔΟΥ προς άλλους κόσμους μπορούν να ανοίξουν παντού,
ακόμη και μέσα στο σώμα σας! Μπορεί να υπάρχει άπειρος αριθμός
χρωμάτων, γλωσσών υπολογιστή, σχεδίων τσιπ υπολογιστή και θεωρίες αλλά
ΔΕΝ ΜΠΟΡΕΙ να υπάρξει ΕΝΑ ΜΟΝΟ ΤΕΛΕΙΟ χρώμα, γλώσσα υπολογιστή, σχέδιο
ή σύστημα! Αυτό που μπορείτε να έχετε είναι μόνο ένα ΣΧΕΔΟΝ ΤΕΛΕΙΟ
χρώμα (εύρος κύματος), σύστημα, βάση δεδομένων ή θεωρία! Η φύση είναι
όπως ένα Καλειδοσκόπιο.
Συνδυάζοντας την ενέργεια εκατομμυρίων ανθρώπων σε όλο τον κόσμο μέσω
internet, είναι δυνατό να επιτευχθεί ένα ΣΧΕΔΟΝ ΤΕΛΕΙΟ σύστημα
(συμπεριλαμβανομένου ενός συστήματος βάσεων δεδομένων). Η ενέργεια του
κάθε ανθρώπου ατομικά είναι ελάχιστη, αλλά διασυνδέοντας ένα μεγάλο
αριθμό ανθρώπων, η συνολική ενέργεια θα είναι τεράστια για να
δημιουργήσει ένα σχεδόν τέλειο σύστημα. Οι άνθρωποι είναι όντα με
περιορισμένη ενέργεια και αποθέματα, και πολύ συχνά σε αυτούς
οφείλονται λάθη από απλά μέχρι και πολύ σοβαρά. Επειδή η τάση μας για
λάθη ποικίλλει σε κάθε άνθρωπο ανάλογα με τις ιδιαίτερες
επιδεξιότητες, τη συγκεκριμένη εμπειρία που έχει ο καθένας και τις
συγκυρίες της συγκεκριμένης στιγμής, η ανακάλυψη και η ελάττωση των
λαθών λογισμικού (bugs) που δημιουργούνται από κάποιο άνθρωπο
διευκολύνεται με τη συγκέντρωση πολλών έξυπνων ανθρώπων-μυαλών για να
αντιμετωπίσουν το συγκεκριμένο πρόβλημα. Περισσότερα άτομα
συνεπάγεται περισσότερες ανθρωποώρες για κώδικα και την αντίστοιχη
λειτουργία του.
Είναι ξεκάθαρο ότι το ίντερνετ μπορεί να διασυνδέσει ένα τεράστιο
αριθμό ανθρώπων, όπου όλοι μαζί διαθέτουν πολύ ενέργεια και χρόνο. Με
το συνδυασμό τους μπορούν να παραχθούν προϊόντα λογισμικού υψηλότερης
ποιότητας σε πολύ λιγότερο χρόνο σε σύγκριση με εμπορικές εταιρείες.
Ακόμη και μεγάλες εταιρείες όπως η Microsoft, η IBM δε μπορούν να
υπερισχύσουν και να αγνοήσουν τους νόμους της Φυσικής αλλά θα
ΥΠΟΤΑΧΘΟΥΝ τελικά σε αυτούς!
Σήμερα, υπάρχουν τόσες πολλές βάσεις δεδομένων σε όλο τον κόσμο που
στοχεύουν μόνο στις προδιαγραφές ANSI/ISO SQL. Οι άνθρωποι δεν πρέπει
να χαραμίζουν το χρόνο τους για να δημιουργήσουν τόσα πολλά
ΠΑΡΟΜΟΙΑ/ΟΛΟΙΔΙΑ πακέτα λογισμικού ενώ υπάρχουν τόσοι άλλοι τομείς
της επιστήμης που χρειάζονται προσοχή. Το συμπέρασμα είναι το εξής :
εξαιτίας των νόμων της επιστήμης, τα 'ανοιχτά συστήματα πηγαίου
κώδικα' όπως η PostgreSQL, το Linux θα είναι πάντα πολύ καλύτερα από
τα 'κλειστά συστήματα πηγαίου κώδικα' και αυτό είναι δυνατό να
αποδειχτεί και επιστημονικά.
4. Τι είναι η PostgreSQL ;
Η PostgreSQL έκδοση 6.4 είναι μια δωρεάν βάση, με την οποία σας
δίνεται όλος ο πηγαίος κώδικας και είναι ένα Σύστημα
Αντικειμενοστραφής-Σχεσιακή Βάσης Δεδομένων σχεδόν συμβατή με
(πλησιάζει όλο και περισσότερο) με το ANSI SQL1998,92,89 και τρέχει σε
διαφορετικές πλατφόρμες hardware και Λειτουργικά συστήματα.
Μερικές φορές βγαίνουν σε κυκλοφορία έκτακτες διορθώσεις, μπαλώματα (patches) για διορθώσεις
λαθών μετά την έκδοση GA PostgreSQL. Μπορείτε να εφαρμόσετε τα προαιρετικά patches
ανάλογα με τις ανάγκες της εφαρμογής σας. Ακολουθήστε τα παρακάτω
βήματα για να εφαρμόσετε τα patches -
Πηγαίνετε στον κατάλογο που βρίσκεται ο κώδικας της postgresql
cd /usr/src/postgresql6.3.1
patch -p0 < patchfile
make clean
make
Δείτε επίσης τη σελίδα βοήθειας γράφοντας 'man patch'
Τα αρχεία για patch βρίσκονται στο
· PostgreSQL patches :
Ο απόλυτος σκοπός και ο τελικός στόχος της PostgreSQL είναι γίνει 100
% συμβατή με την ANSI/ISO SQL και να γίνει επίσης η νούμερο ΕΝΑ
Ανοικτή Γενική Βάση στον κόσμο. Η PostgreSQL επίσης θα οδηγήσει,
διευθύνει, ελέγξει, παρακολουθήσει και υπαγορεύσει το μέλλον της
ANSI/ISO SQL. Αυτό γιατί, η υλοποίηση και οι ιδέες γίνονται πρώτα
στην PostgreSQL και έπειτα ενσωματώνονται στην ANSI/ISO SQL.
Ο Informix Universal server (εκδόθηκε το 1997) βασίζεται σε
προηγούμενη έκδοση της PostgreSQL επειδή η Informix αγόρασε την
Illustra Inc. και ενοποιήθηκε με την Informix. Η βάση Illustra ήταν
πλήρως βασισμένη στην Postgres (προηγούμενη έκδοση της PostgreSQL).
Η PostgreSQL είναι μια επέκταση του συστήματος διαχείρισης της βάσης
δεδομένων POSTGRES, ένα επόμενης γενιάς πρότυπο έρευνας DBMS. Ενώ η
PostgreSQL διατηρεί το δυναμικό μοντέλο δεδομένων και τους πλούσιους
τύπους δεδομένων της POSTGRES, αντικαθιστά την γλώσσα ερωτήσεων
PostQuel με ένα εκτεταμένο υποσύνολο της SQL.
Η ανάπτυξη της PostgreSQL γίνεται από μια ομάδα προγραμματιστών στο
Internet που είναι όλοι γραμμένοι στη λίστα αλληλογραφίας ανάπτυξης
της PostgreSQL. Συντονιστής της ομάδας είναι ο Marc G. Fournier
· scrappy@postgreSQL.org
Αυτή η ομάδα είναι υπεύθυνη για όλη την τρέχουσα και μελλοντική
ανάπτυξη της PostgreSQL. Φυσικά, ο ίδιος ο πελάτης βάσεων
δεδομένων είναι αυτός που αναπτύσσει την PostgreSQL! Το φορτίο της
ανάπτυξης διανέμεται σε ένα πολύ μεγάλο αριθμό τελικών χρηστών
βάσεων στο internet.
Οι συγγραφείς της PostgreSQL 1.01 είναι οι Andrew Yu και Jolly Chen.
Πολλοί άλλοι συνεισέφεραν σε αυτή τη μεταφορά, το τεστάρισμα, την
αποσφαλμάτωση και την επέκταση του κώδικα. Ο αρχικός κώδικας της
Postgres, απ' όπου προέκυψε η PostgreSQL, ήταν η προσπάθεια πολλών
αποφοίτων σπουδαστών, μεταπτυχιακών, και προσωπικού προγραμματιστών
που δούλεψαν κάτω από την επίβλεψη του Καθηγητή Michael Stonebraker
στο Πανεπιστήμιο της Καλιφόρνια, στο Berkeley.
Το αρχικό όνομα του λογισμικού στο Berkeley ήταν Postgres. Όταν
προστέθηκε η λειτουργικότητα για SQL το 1995, το όνομα άλλαξε σε
Postgres95. Το όνομα άλλαξε πάλι στο τέλος του 1996 σε PostgreSQL.
Εκατομμύρια PostgreSQL έχουν εγκατασταθεί ως διακομιστές βάσεων
δεδομένων, Web database serversκαι Application data servers. Είναι
πολύ προχωρημένη, και είναι αντικειμενοστραφής σχεσιακή βάση
δεδομένων (ORDBMS).
H PostgreSQL μπορεί να αποθηκεύσει περισσότερους τύπους δεδομένων από
τους παραδοσιακούς τύπους δεδομένων όπως integer, characters, κλπ. -
μπορείτε να δημιουργήσετε τους δικούς σας ορισμένους τύπους,
συναρτήσεις, κληρονομικότητα κλπ. Η PostgreSQL τρέχει σε Solaris,
SunOS, HPUX, AIX, Linux, Irix, Digital Unix, BSDi,NetBSD, FreeBSD, SCO
unix, NEXTSTEP, Unixware και σε οποιοδήποτε τύπο Unix. Η μεταφορά της
σε Windows 95/NT είναι σε εξέλιξη.
· Τίτλος: PostgreSQL SQL RDBMS Database (Σύστημα
Διαχείρισης Αντικειμενοστραφούς Σχεσιακής Βάσης Δεδομένων)
· Τρέχουσα έκδοση: 6.4
· Χρονολογία: Η PostgreSQL είναι 12 χρονών. Αναπτύσσεται από το
1985
· Συγγραφείς: Αναπτύσσεται από
εκατομμύρια/πανεπιστήμια/εταιρείες στο internet για τα τελευταία 12
χρόνια
Η PostgreSQL και τα σχετικά κομμάτια του κειμένου υπόκεινται στην
παρακάτω ΠΝΕΥΜΑΤΙΚΗ ΙΔΙΟΚΤΗΣΙΑ.
PostgreSQL Σύστημα Διαχείρισης Βάσης Δεδομένων
Πνευματική Ιδιοκτησία (c) του πανεπιστημίου της California
Άδεια για χρήση, αντιγραφή, μεταβολή, και διανομή αυτού του λογισμικό και της
τεκμηρίωσής του για οποιοδήποτε σκοπό, χωρίς τέλη, και χωρίς γραπτή συμφωνία
παρέχεται, με την προϋπόθεση ότι το σημείωμα πνευματικής ιδιοκτησίας και
αυτή και οι παρακάτω δύο παράγραφοι θα εμφανίζονται σε όλες τις κόπιες.
ΜΕ ΚΑΝΕΝΑΝ ΤΡΟΠΟ, ΔΕΝ ΘΑ ΘΕΩΡΗΘΕΙ ΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΗΣ ΚΑΛΙΦΟΡΝΙΑ ΝΟΜΙΚΑ ΥΠΕΥΘΥΝΟ
ΓΙΑ ΑΜΕΣΗ, ΕΜΜΕΣΗ, ΕΙΔΙΚΗ, ΤΥΧΑΙΑ, Η ΠΑΡΑΓΩΜΕΝΗ ΖΗΜΙΑ, ΣΥΜΠΕΡΙΛΑΜΑΝΟΜΕΝΗΣ ΚΑΙ ΤΗΣ
ΑΠΩΛΕΙΑΣ ΚΕΡΔΩΝ ΠΟΥ ΠΡΟΕΚΥΨΕ ΑΠΟ ΤΗΝ ΧΡΗΣΗ ΑΥΤΟΥ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ ΚΑΙ ΤΗΣ
ΤΕΚΜΗΡΙΩΣΗΣ ΤΟΥ, ΑΚΟΜΑ ΚΑΙ ΑΝ ΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΗΣ ΚΑΛΙΦΟΝΙΑ ΕΧΕΙ ΕΙΔΟΠΟΙΗΘΕΙ ΓΙΑ
ΤΗΝ ΠΙΘΑΝΟΤΗΤΑ ΜΙΑΣ ΤΕΤΟΙΑΣ ΖΗΜΙΑΣ.
ΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΗΣ ΚΑΛΙΦΟΡΝΙΑ ΕΙΔΙΚΑ ΑΠΑΡΝΕΙΤΑΙ ΚΑΘΕ ΕΓΓΥΣΗΣΗ, ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΜΕΝΗΣ,
ΑΛΛΑ ΟΧΙ ΠΕΡΙΟΡΙΣΜΕΝΗΣ ΜΟΝΟ ΣΕ ΑΥΤΗΝ, ΤΗΣ ΥΠΟΝΟΟΥΜΕΝΗΣ ΕΓΓΥΗΣΗΣ ΧΡΗΣΗΣ, ΚΑΙ ΧΡΗΣΗΣ
ΓΙΑ ΚΑΠΟΙΟ ΣΥΓΚΕΚΡΙΜΕΝΟ ΣΚΟΠΟ. ΤΟ ΛΟΓΙΣΜΙΚΟ ΠΟΥ ΠΑΡΕΧΕΤΑΙ ΕΔΩ ΕΙΝΑΙ ΣΕ ΒΑΣΗ "ΩΣ ΕΧΕΙ"
ΚΑΙ ΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΗΣ ΚΑΛΙΦΟΡΝΙΑΣ ΔΕΝ ΕΧΕΙ ΥΠΟΧΡΕΩΣΗ ΓΙΑ ΠΑΡΟΧΗ ΣΥΝΤΗΡΗΣΗΣ, ΕΝΗΜΕΡΩΣΕΩΝ,
ΕΜΠΛΟΥΤΙΣΜΩΝ, Η ΤΡΟΠΟΠΟΙΗΣΕΩΝ.
5. Πού μπορώ να τη βρω ;
Μπορείτε να αγοράσετε το CDROM Redhat Linux, Debian Linux ή το
Slackware Linux που περιέχουν ήδη την Postgresql σε μορφή πακέτου (και
ο πηγαίος κώδικας και τα εκτελέσιμα) από τα :
· Linux System Labs Web site: 7 (U.S.
δολάρια)
· Cheap Bytes Inc Web site: 7 (U.S.
δολάρια)
· Debian Κεντρικό Web site :
Ο οργανισμός PostgreSQL πουλά επίσης ένα 'PostgreSQL CDROM' που
περιέχει όλον τον πηγαίο κώδικα και εκτελέσιμα για πολλά λειτουργικά
συστήματα Unix και πλήρη τεκμηρίωση.
· Το CDROM της PostgreSQL θα το βρείτε από το κεντρικό Web site της
στο : για 29 (Αμερικάνικα δολάρια)
Διανομή της PostgreSQL μόνο με εκτελέσιμα:
· Μπορείτε να τρέξετε την PostgreSQL χωρίς να μεταγλωττίσετε τον
κώδικα. Εγκαταστήστε τα εκτελέσιμα για Intel-Linux από το αρχείο
postgresql-6.4.i386.rpm.
Αυτό είναι ένα redhat 'rpm' πακέτο και περιέχει και τον κώδικα και
τα εκτελέσιμα για την PostgreSQL.
· Site με εκτελέσιμα για Solaris, HPUX, AIX, IRIX, Linux :
Αν μεταγλωττίσετε τον κώδικα
για οποιαδήποτε πλατφόρμα, παρακαλώ στείλτε το στο site, μπορεί να
είναι χρήσιμο για τους υπόλοιπους.
· ftp site : Πάρτε τα εκτελέσιμα για Intel-Linux από το αρχείο
postgresql-6.4.i386.rpm.
Αυτό είναι ένα redhat 'rpm' πακέτο και περιέχει και τον κώδικα και
τα εκτελέσιμα για την PostgreSQL.
WWW Web sites:
· Κεντρικό Web site:
· Δεύτερο Web site:
·
·
·
·
Τα ftp sites παρουσιάζονται παρακάτω :-
· Primary FTP:
· Secondary FTP:
·
·
·
·
·
·
·
·
·
·
Ο πηγαίος κώδικας της PostgreSQL είναι επίσης διαθέσιμος σε όλα τα
mirror sites του sunsite unc (σύνολο περίπου 1000 sites σε όλο τον
κόσμο). Βρίσκεται επίσης στη διανομή του Red Hat Linux στο αρχείο
/pub/contrib/i386/postgresql.rpm .
· Για τη λίστα των mirror sites πηγαίνετε στο
6. Η PostgreSQL υποστηρίζει εξαιρετικά μεγάλες βάσεις, μεγαλύτερες
από 200 Gig
Η απόδοση των 32-bit μηχανών cpu θα πέσει γρήγορα όταν το μέγεθος της
βάσης ξεπεράσει τα 5 gig. Μπορείτε να τρέξετε βάση των 30 gig σε μια
32-bit cpu αλλά η απόδοση δε θα είναι και πολύ εντυπωσιακή. Υπάρχουν
περιορισμοί που επιβάλλονται από το μέγεθος της μνήμης RAM (μέγιστο 2
gig μόνο), περιορισμοί από τα μεγέθη του συστήματος αρχείων και επίσης
από το λειτουργικό σύστημα.
Αν χρειάζεται να χρησιμοποιήσετε εξαιρετικά μεγάλες βάσεις, σας
συμβουλεύουμε να χρησιμοποιήσετε μηχανές των 64-bit όπως Digital Alpha
cpu, Sun Ultra-sparc 64-bit cpu, Silicon graphics 64-bit cpu, Intel
Merced IA-64 cpu, μηχανές HPUX 64bit, IBM 64-bit. Μεταγλωττίστε την
PostgreSQL σε μια 64-bit cpu και θα μπορεί να υποστηρίζει τεράστιες
βάσεις και μεγάλα queries. Η απόδοση της PostgreSQL για ερωτήσεις σε
μεγάλους πίνακες και βάσεις θα είναι πολλές φορές ταχύτερη από την
PostgreSQL σε μηχανές με cpu 32-bit. Το πλεονέκτημα των μηχανών 64-bit
είναι ότι η δεικτοδότηση του χώρου μνήμης είναι πολύ μεγάλη και το
λειτουργικό σύστημα μπορεί να υποστηρίξει συστήματα μεγάλων αρχείων,
παρέχει καλύτερη απόδοση με μεγάλες βάσεις, υποστηρίζει πολύ
περισσότερη μνήμη (RAM), έχουν περισσότερες δυνατότητες κλπ.
7. αναπτύσσει το αίσθημα εμπιστοσύνης στον πελάτη Πώς μπορώ να
εμπιστευθώ την PostgreSQL ; Το πακέτο Regression για τεστ
Το πακέτο Regression για τεστ (src/test/regress) περιλαμβάνεται στη
διανομή και αφήστε τον υπολογιστή σας να επαληθεύσει τις στάνταρ
λειτουργίες SQL και τις δυνατότητες επέκτασης της PostgreSQL. Το
πακέτο για τεστ περιέχει ήδη εκατοντάδες SQL τεστ προγράμματα.
Θα πρέπει να χρησιμοποιήσετε τη δύναμη του υπολογιστή για να ελέγξετε
την PostgreSQL, αντί να χρησιμοποιήσετε τη δύναμη του ανθρώπινου
εγκεφάλου. Οι υπολογιστές μπορούν να εκτελέσουν τεστ για το λογισμικό
regression εκατομμύρια ή ακόμη και δισεκατομμύρια φορές γρηγορότερα
από ότι οι άνθρωποι.
Στο προσεχές μέλλον η ταχύτητα των υπολογιστών θα είναι αρκετά
τρισεκατομμύρια φορές γρηγορότεροι από τον ανθρώπινο εγκέφαλο!
Έτσι, έχει νόημα να χρησιμοποιήσουμε τη δύναμη του υπολογιστή για να
ελέγχουμε λογισμικό.
Μπορείτε να προσθέσετε και άλλα τεστ σε περίπτωση που το χρειάζεστε,
και μπορείτε να τα στείλετε στο κεντρικό web site της PostgreSQL αν
νομίζετε ότι θα είναι χρήσιμο σε άλλους στο internet. Το πακέτο
Regression για τεστ ενισχύει την εμπιστοσύνη του πελάτη στην
PostgreSQL και ευκολύνει τη γρήγορη εφαρμογή της PostgreSQL σε
συστήματα παραγωγής.
Το πακέτο Regression για τεστ μπορεί να θεωρηθεί σαν ένα "ΠΟΛΥ
ΣΤΑΘΕΡΟ" τεχνικό κείμενο συμφωνημένο αμοιβαία μεταξύ των
προγραμματιστών και των τελικών χρηστών. Οι προγραμματιστές της
PostgreSQL χρησιμοποιούν εκτεταμένα το πακέτο regression για τεστ κατά
την περίοδο της ανάπτυξης και επίσης πριν την έκδοση του λογισμικού
στο κοινό για να διασφαλίσουν την καλή ποιότητα.
Οι δυνατότητες της PostgreSQL αντικατροπτίζονται στο πακέτο για τεστ
regression. Σε περίπτωση που μια δυνατότητα, σύνταξη ή χαρακτηριστικό
δεν περιλαμβάνεται στο πακέτο δεν σημαίνει πως καλύπτεται αναγκαστικά
από την PostgreSQL. Μπορείτε να το ελέγξετε, παρόλα αυτά, εσείς και να
ενσωματώσετε το τεστ σας στο πακέτο.
8. Γραφικό πρόγραμμα επικοινωνίας (GUI FrontEnd Tool) με την Post
greSQL
Η διανομή της PostgreSQL περιλαμβάνει μια βιβλιοθήκη σε Tcl/Tk, που
ονομάζεται 'pgTcl'. Η Tcl/Tk είναι ένα εργαλείο για γρήγορη ανάπτυξη
εφαρμογών και μια πολύ δυνατή scripting γλώσσα. Αναπτύσσετε μια φορά
την εφαρμογή σας και την τρέχετε παντού : σε NT, Win 95, Linux, OS/2
και όλα τα συστήματα unix. Tcl είναι τα αρχικά του 'Tool Command
Language' και Tk του 'Tool Kit'. Υπάρχει ένα ολοκληρωμένο περιβάλλον
ανάπτυξης (IDE - integrated development environment) για την Tcl/Tk
που λέγεται SpecTcl. Κοιτάξτε γι αυτό το rpm πακέτο στη διανομή Redhat
linux ή στο sunscript site που δίνεται παρακάτω.
Συνιστούμε την Perl για γλώσσα προγραμματισμού μια και είναι η πιο
διαδεδομένη γλώσσα, πολύ ισχυρή και διατίθεται για όλα τα μηχανήματα
και όλες τις πλατφόρμες λειτουργικών. Σας συμβουλεύουμε να
χρησιμοποιήσετε Perl-Tk ή Perl-Qt ή C++ QtEZ ή C++ Lesstiff. Ο
συνδυασμός Perl, C και Tk θα ικανοποιήσει τις ανάγκες των περισσοτέρων
projects, λαμβάνοντας υπόψη το διαθέσιμο χρόνο, την ταχύτητα των
εκτελέσιμων και την ευκολία προγραμματισμού. Σημειώστε ότι τα
προγράμματα σε Java τρέχουν πολύ αργά. Ακόμη και τα προγράμματα που
είναι γραμμένα σε C++ τρέχουν πιο αργά από τα προγράμματα που
γράφονται σε C. Τα προγράμματα σε C εκτελούνται ταχύτερα από τα
αντίστοιχα προγράμματα γραμμένα σε οποιαδήποτε άλλη γλώσσα
προγραμματισμού.
Η Perl χρησιμοποιείται για τον προγραμματισμό του 90 % των internet
scripts στον κόσμο. Έτσι θα έχετε μόνο μια γλώσσα, την "Perl", για
όλες σας τις ανάγκες, σε εφαρμογές όσο και στο internet. Δείτε το
Perl Database Interface αυτού του κειμένου στο ``''
Θα πρέπει να μελετήσετε τα δυνατά σημεία της Perl σε σύγκριση με την
Tcl/Tk πριν ξεκινήσετε κάποιο project σε Tcl. Η Tcl/TK δίνεται
συνήθως με κάθε linux cdrom. Μπορείτε επίσης να τη βρείτε στα sites -
· Tcl/Tk
· Αντικειμενοστραφές extension της Tcl που ονομάζεται INCR στο
· Visual TCL site
· Visual TCL Redhat rpm στο
·
·
·
· Βιβλία αναφορών: Πολλά τεχνικά βιβλία για TCL/TK διατίθενται στην
αγορά.
9. Εργαλεία ενός Ολοκληρωμένου Συστήματος Ανάπτυξης για PostgreSQL
(GUI IDE)
Κοιτάξτε τα παρακάτω εργαλεία ανάπτυξης τα οποία μπορείτε να
χρησιμοποιήσετε σε συνδυασμό με οδηγούς ODBC/JDBC. Αυτοί είναι
παρόμοιοι με Borland C++ Builder, Borland JBuilder.
Το Vibe είναι Java και C++ IDE (Integrated Development Environment)
και κέρδισε στην Unix Επισκόπηση για τα ολοκληρωμένα συστήματα
ανάπτυξης της χρονιάς.
· Περισσότερες πληροφορίες για το Vibe στο
· Το 'QT' είναι μια πλατφόρμα ανάπτυξης εφαρμογών για Windows95/NT
και Unix και το ftp site του είναι το
Μπορείτε επίσης να χρησιμοποιήσετε Borland C++ Builder, Delphi,
Borland JBuilder, PowerBuilder σε Windows95 και να συνδεθείτε με
την PostgreSQL σε ένα σύστημα unix μέσω οδηγών ODBC/JDBC.
Δείτε επίσης το PERL Database Interface σε αυτό το κείμενο στο ``'' Η
Perl και C/C++ συνίστανται έντονα σαν επιλογές γλώσσας για IDE.
Δωρεάν εργαλεία IDE -
Δείτε το CDROM της διανομής redhat linux.
· Lesstiff Mottif Tool
· FreeBuilder
· SpecTCL
· JccWarrior
· Kanchenjunga Java RAD Tool for PostgreSQL
· Applixware Tool
· XWPE X Windows Programming Environment
· XWB X Windows Work Bench
· NEdit
10. Οδηγοί Διασύνδεσης με την PostgreSQL
10.1. ODBC Drivers για την PostgreSQL
ODBC είναι ακρωνύμιο του 'Open DataBase Connectivity', ένα δημοφιλές
πρότυπο για πρόσβαση σε πληροφορίες από διάφορες βάσεις από
διαφορετικούς πωλητές. Οι εφαρμογές που έχουν γραφτεί χρησιμοποιώντας
ODBC drivers, εγγυούνται ότι θα δουλέψουν με διάφορες βάσεις όπως
PostgreSQL, Oracle, Sybase, Informix κλπ.
· Το PostODBC έχει συμπεριληφθεί ήδη στη διανομή. Δείτε το κεντρικό
web site . Συμπεριλαμβάνεται στο CDROM
της PostgreSQL.
· Η Open Link Software Corporation
πουλάει ODBC για PostgreSQL και άλλες βάσεις. Η Open Link δίνει
επίσης δωρεάν ODBC (περιορισμένο αριθμό χρηστών) - τσεκάρετέ το.
· Insight ODBC για την PostgreSQL
Αυτό είναι το επίσημο site
του PostODBC.
Υπάρχει κάποιο έργο που ονομάζεται FreeODBC Pack Package. Δεν υπάρχει
σ' αυτό έκδοση για PostgreSQL, ίσως μπορείτε να βοηθήσετε.
· Αυτή είναι η δωρεάν έκδοση
για ODBC.
10.2. UDBC Drivers για την PostgreSQL
Το UDBC είναι μια στατική έκδοση ODBC ανεξάρτητη από διαχειριστές
οδηγών (driver managers) και υποστήριξη DLL, χρησιμοποιείται για να
προσθέτει υποστήριξη απευθείας διασύνδεσης με βάση μέσα στις
εφαρμογές.
· Η εταιρεία Open Link Software πουλά UDBC
για την PostgreSQL και άλλες βάσεις. Η Open Link δίνει επίσης
δωρεάν UDBC (περιορισμένο αριθμό χρηστών) - τσεκάρετέ το.
10.3. JDBC Drivers για την PostgreSQL
JDBC είναι ακρωνύμιο του 'Java DataBase Connectivity'. Η Java είναι
μια γλώσσα προγραμματισμού ανεξαρτήτου πλατφόρμας που αναπτύχθηκε από
την Sun Microsystems. Οι προγραμματιστές Java ενθαρρύνονται να
γράφουν εφαρμογές βάσεων δεδομένων χρησιμοποιώντας JDBC για να
διευκολύνουν τη μεταφερσιμότητα μεταξύ βάσεων όπως η PostgreSQL,
Oracle, informix, κλπ. Αν γράψετε εφαρμογή σε Java μπορείτε να πάρετε
τους οδηγούς JDBC για PostgreSQL από τα παρακάτω sites:
Ο οδηγός JDBC περιλαμβάνεται ήδη στη διανομή της PostgreSQL.
· Διασύνδεση Java
(της Sun) με PostgreSQL
·
· Η εταιρεία Open Link Software πουλά
JDBC για PostgreSQL και άλλες βάσεις. Η Open Link δίνει επίσης
δωρεάν JDBC (περιορισμένο αριθμό χρηστών) - τσεκάρετέ το.
· JDBC UK site
· JDBC FAQ site
Τα JDBC home, guide και FAQ βρίσκονται στα -
· JDBC HOME
· JDBC guide
· JDBC FAQ
10.4. Java για PostgreSQL
Οι προγραμματιστές Java μπορεί να θεωρήσουν τα παρακάτω sites πολύ
χρήσιμα για την PostgreSQL.
· και δείτε το postgresql-
jdbc-*.rpm
·
11. Perl Database Interface (DBI) Driver για PostgreSQL
11.1. Διασύνδεση Perl 5 με PostgreSQL
PERL είναι ακρωνύμιο του 'Practical Extraction και Report Language'.
Η Perl είναι διαθέσιμη σχεδόν σε κάθε λειτουργικό και πλατφόρμα
hardware. Μπορείτε να χρησιμοποιήστε Perl σε Windows95/NT, όλα τα Unix
(Solaris, HPUX, AIX, Linux, Irix, SCO κλπ.), σε mainframe MVS, desktop
OS/2, OS/400, Amdahl UTS και πολλά άλλα. Η Perl τρέχει ΑΚΟΜΗ και σε
πολλά μη δημοφιλή/γενικά άγνωστα λειτουργικά συστήματα και υλικά!!
Έτσι, μην εκπλαγείτε αν δείτε την perl να τρέχει σε πολλά όχι συχνά
χρησιμοποιούμενα λειτουργικά.
Μπορείτε να φανταστείτε την τεράστια βάση χρηστών και προγραμματιστών
σε Perl.
Η διασύνδεση Perl με PostgreSQL περιλαμβάνεται στη διανομή της
PostgreSQL. Κοιτάξτε στον κατάλογο src/pgsql_perl5.
· Το Email για επικοινωνία σχετικά με την Pgsql_perl5 :
E.Mergl@bawue.de
· Άλλη πηγή είναι τα -
· Perl Home page:
· Εκμάθηση της Perl, ψάξτε για τίτλο Tutorial στο :
· Το Perl FAQ είναι στο :
· Γραφικό περιβάλλον για Perl, Perl-Qt :
και ψάξτε για το
PerlQt-1.06-1.i386.rpm
· Γραφικό περιβάλλον για Perl, Perl-Qt :
· Γραφικό περιβάλλον για Perl, Perl-XForms :
και ψάξτε για το αρχείο
Xforms4Perl-0.8.4-1.i386.rpm
· Γραφικό περιβάλλον για Perl, Perl-Tk :
· Perl GUIkits :
· Perl Database Interfaces :
· Μεταφραστής από Perl σε "C" : και ψάξτε για το Compiler-a3.tar.gz
· Μεταφραστής από Perl σε κέλυφος Bourne :
· από awk σε perl a2p και από sed σε perl s2p περιλαμβάνεται με τη
διανομή της PERl.
· Δείτε επίσης τα newsgroups για PERL στο comp.lang.perl.*
11.2. Perl Database Interface DBI
11.2.1. ΤΙ ΕΙΝΑΙ ΤΟ DBI ;
Το παρακάτω είναι απόσπασμα από την κεντρική σελίδα του Perl DBI.
To Perl Database Interface (DBI) είναι ένα προγραμματιστικό interface
(API) σε Perl για διασύνδεση με βάσεις δεδομένων. Οι προσδιορισμοί
του Perl DBI API ορίζουν ένα σύνολο από ρουτίνες, μεταβλητές και
συμβάσεις που παρέχουν ένα συνεκτικό interface βάσης δεδομένων
ανεξάρτητο από την πραγματική βάση που χρησιμοποιείται. Οι
πληροφορίες για αυτό το τμήμα DBI προήλθε από το κείμενο 'DBI FAQ' το
οποίο έχει γράψει ο Alligator Descartes το αναπαραγάγαμε με την άδειά
του.
· Μπορείτε να επικοινωνήσετε με τον Alligator Descartes Hermetica στο
descarte@hermetica.com
11.2.2. Οδηγός DBI για την PostgreSQL - DBD-Pg-0.89
Κατεβάστε το DBD-Pg-0.89.tar.gz από τα
· DBD-Pg-0.89 :
· Comprehensive Perl Archive Network CPAN
· Λίστα οδηγών DBI και σελίδες DBI module
· Πληροφορίες για το DBI θα βρείτε στο
· Κεντρικό ftp site
· Διάφορα DBI link
· Διάφορα DBI link
· Διάφορα DBI link
· Η βάση PostgreSQL
ΑΠΑΙΤΗΣΕΙΣ:
· - να χτίσετε, να τεστάρετε και να εγκαταστήσετε την Perl 5
(τουλάχιστον την 5.002)
· - να χτίσετε, να τεστάρετε και να εγκαταστήσετε το module DBI
(τουλάχιστον το 0.89)
· - να χτίσετε, να τεστάρετε και να εγκαταστήσετε την PostgreSQL
(τουλάχιστον την 6.2)
11.2.3. Τεχνική υποστήριξη για το DBI
Παρακαλώ στείλτε τα σχόλιά σας και αναφορές λαθών στο
· E.Mergl@bawue.de
Συμπεριλάβετε παρακαλώ την έξοδο της εντολή perl -v, και perl -V, την
έκδοση της PostgreSQL, την έκδοση του DBD-Pg, και την έκδοση του DBI
στην αναφορά λαθών.
11.2.4. Τι είναι τα DBI, DBperl, Oraperl και *perl;
Όπως είπε και ο Tim Bunce, ο σχεδιαστής και συγγραφέας του DBI:
``Το DBI είναι ένα προγραμματιστικό interface (API) σε Perl για
διασύνδεση με διασύνδεση με βάσεις δεδομένων. Οι προσδιορισμοί του DBI
API ορίζουν ένα σύνολο από ρουτίνες, μεταβλητές και συμβάσεις που
παρέχουν ένα συνεκτικό interface βάσης δεδομένων ανεξάρτητο από την
πραγματική βάση που χρησιμοποιείται.''
Με απλά λόγια, το DBI interface επιτρέπει στους χρήστες να έχουν
διάφανη πρόσβαση σε πολλαπλούς τύπους βάσεων. Έτσι, αν συνδέεστε την
Oracle, Informix, mSQL, Sybase ή οποιαδήποτε άλλη βάση, δε χρειάζεται
να γνωρίζετε τους υποκείμενους μηχανισμούς του επιπέδου 3GL. Το API
που ορίζεται από το DBI θα δουλέψει σε όλους τους τύπους βάσεων.
Ένα παρόμοιο πλεονέκτημα είναι η ικανότητα να συνδεθείτε σε δύο βάσεις
διαφορετικού τύπου μέσω του ίδιου perl script, πχ, θέλετε να
διαβάσετε δεδομένα από μια βάση Oracle και να τα εισάγετε σε μια βάση
Informix μέσα στο ίδιο πρόγραμμα. Το επίπεδο DBI σας επιτρέπει να το
κάνετε αυτό απλά και ισχυρά.
DBperl είναι το παλιό όνομα για τις προδιαγραφές του interface.
Χρησιμοποιείται συνήθως για να υποδηλώσει τα perl4 modules για
διασύνδεση με βάσεις, όπως, oraperl, isqlperl, ingperl και λοιπά. Αυτά
τα interfaces δεν είχαν στάνταρ API και γενικά δεν υποστηρίζονται.
Να μια λίστα από DBperl modules, το αντίστοιχο DBI ταίρι τους και
πληροφορίες υποστήριξης. Ερωτήσεις σχετικά με τον οδηγό DBI θα πρέπει
να απευθύνονται στη λίστα αλληλογραφίας dbi-users .
Όνομα Module Απαιτούμενη Βάση Συγγραφέας DBI
------------ ----------------- ---------- ---
Sybperl Sybase Michael Peppler DBD::Sybase
http://www.mbay.net/~mpeppler
Oraperl Oracle 6 & 7 Kevin Stock DBD::Oracle
Ingperl Ingres Tim Bunce & DBD::Ingres
Ted Lemon
Interperl Interbase Buzz Moschetti DBD::Interbase
Uniperl Unify 5.0 Rick Wargo -
Pgperl Postgres Igor Metz DBD::Pg
Btreeperl NDBM John Conover SDBM;
Ctreeperl C-Tree John Conover -
Cisamperl Informix C-ISAM Mathias Koerber -
Duaperl X.500 Directory Eric Douglas -
User Agent
Παρόλα αυτά, μερικά DBI modules έχουν επίπεδα προσομοίωσης DBperl.
Έτσι, η DBD::Oracle έρχεται με ένα επίπεδο προσομοίωσης Oraperl, που
σας επιτρέπει να τρέξετε κληρονομικά oraperl scripts χωρίς αλλαγές. Το
επίπεδο προσομοίωσης μεταφράζει τις κλήσεις του oraperl API σε κλήσεις
DBI και τις εκτελεί μέσω του DBI switch.
Να ένας πίνακας με πληροφορίες για τα επίπεδα προσομοίωσης :
Module Επίπεδο προσομοίωσης Κατάσταση
------ --------------------- ------
DBD::Oracle Oraperl Ολοκληρωμένο
DBD::Informix Isqlperl Υπό ανάπτυξη
DBD::Sybase Sybperl Δουλεύει; (χρειάζεται επαλήθευση )
DBD::mSQL Msqlperl Εκδόθηκε πειραματικά με την
DBD::mSQL-0.61
Η προσομοίωση Msqlperl είναι μια ειδική περίπτωση. Το Msqlperl είναι
ένας οδηγός perl5 για mSQL βάσεις, αλλά δε συμμορφώνεται με τις
προδιαγραφές του DBI. Η χρήση αποδοκιμάζεται ρητά για χάρη του
DBD::mSQL. Μπορείτε να κατεβάσετε την Msqlperl από τη CPAN από το:
·
11.2.5. Προδιαγραφές DBI
Υπάρχουν λίγες πηγές πληροφορίας για DBI.
· Προδιαγραφές DBI
Υπάρχουν δύο προδιαγραφές διαθέσιμες σε αυτό το link, οι νέες
Πρόχειρες (Draft) DBI προδιαγραφές, αυτό το κείμενο αλλάζει καθημερινά
καθώς η ομάδα ανάπτυξης βαδίζει ορος ένα σταθερό interface, και οι
παλιές ιστορικές DBperl προδιαγραφές από τις οποίες αναπτύχθηκε το
τρέχον DBI interface.
Το τελευταίο κείμενο πρέπει να διαβαστεί μόνο και μόνο από ιστορικό
ενδιαφέρον και να μη χρησιμοποιηθεί ως εγχειρίδιο προγραμματισμού, ή
ως έγκυρο με οποιαδήποτε έννοια. Παρόλα αυτά, παραμένει μια ακόμη
χρήσιμη πηγή αναφοράς.
Τεκμηρίωση POD Τα PODs είναι κομμάτια τεκμηρίωσης που ενσωματώνονται
συνήθως σε προγράμματα perl που τεκμηριώνουν τον κώδικα ``in place'',
παρέχοντας ένα χρήσιμο βοήθημα για προγραμματιστές και χρήστες
modules. Το POD για DBI και drivers γίνεται όλο και περισσότερο
κοινότοπο, και η τεκμηρίωση για αυτά τα modules μπορεί να διαβαστεί με
τις παρακάτω εντολές.
Προδιαγραφές DBI Τα POD για προδιαγραφές DBI μπορεί να διαβαστεί με
την εντολή:
perldoc DBI
Oraperl Οι χρήστες του επιπέδου προσομοίωσης Oraperl που έρχεται μαζί
με την DBD::Oracle, μπορούν να συνεχίσουν να διαβάσουν για το πως να
προγραμματίσουν με το Oraperl πληκτρολογώντας:
perldoc Oraperl
Αυτό θα παράγει ένα ενημερωμένο αντίγραφο της αρχικής σελίδας βοηθείας
oraperl, που γράφτηκε από τον Kevin Stock για perl4. Το API της
oraperl εμφανίζεται και περιγράφεται εκεί πλήρως.
DBD::mSQL Οι χρήστες του DBD::mSQL module μπορούν να διαβάσουν για
μερικές private functions και ιδιομορφίες αυτού του οδηγού (driver)
πληκτρολογώντας:
perldoc DBD::mSQL
Συχνά Διατυπωμένες Ερωτήσεις (FAQ)
To κείμενο, Frequently Asked Questions είναι επίσης διαθέσιμο ως
τεκμηρίωση σε POD ! Μπορείτε να το διαβάσετε στο δικό σας σύστημα,
πληκτρολογώντας:
perldoc DBI::FAQ
Αυτό μπορεί να είναι βολικότερο για ανθρώπους που δεν είναι
συνδεδεμένοι μόνιμα ή άνετα, στο Internet.
Το POD γενικά Πληροφόρηση για τη συγγραφή POD, και για την φιλοσοφία
του POD γενικότερα, μπορεί να διαβαστεί γράφοντας:
perldoc perlpod
Χρήστες που έχουν εγκαταστήσει το Tk module ίσως να ενδιαφέρονται να
μάθουν πως υπάρχει διαθέσιμος ένας POD αναγνώστης βασισμένος σε Tk που
λέγεται tkpod, και διαμορφώνει POD σε μια βολική και αναγνώσιμη μορφή.
``Περιπλανήσεις'', ``Μεζεδάκια'' και Παρατηρήσεις Υπάρχει μια σειρά
από περιστασιακές ``περιπλανήσεις'' από διάφορους στις λίστες
αλληλογραφίας για DBI.
·
``DBI -- The perl5 Database Interface'' Αυτό είναι ένα άρθρο από τον
Alligator Descartes και τον Tim Bunce για τη δομή του DBI.
Δημοσιεύτηκε στο τεύχος 5 του ``The Perl Journal''. Είναι υπερβολικά
καλό. Πηγαίνετε και αγοράστε το περιοδικό. Εδώ που τα λέμε, αγοράστε
όλα τα τεύχη! ``The Perl Journal''s WWW site is:
·
``DBperl'' Αυτό το άρθρο, το οποίο δημοσιεύτηκε στην έκδοση Νοεμβρίου
του 1996 ``Dr. Dobbs Journal'' ασχολείται με DBperl.
``The Perl5 Database Interface'' Αυτό είναι ένα βιβλίο γραμμένο από
τον Alligator Descartes και εκδόθηκε από τους O'Reilly και Associates.
Λίστες Αλληλογραφίας υπάρχουν τρεις λίστες αλληλογραφίας για DBI που
διαχειρίζεται ο Ted Lemon. Σε όλες μπορείτε να γραφτείτε και να
ξεγραφτείτε από το World Wide Web στη διεύθυνση :
· Λίστες αλληλογραφίας
Οι λίστες στις οποίες μπορούν να συμμετέχουν οι χρήστες είναι:
dbi-announce Αυτή η λίστα αλληλογραφίας μόνο για ανακοινώσεις. Αν δεν
μπορείτε να χρησιμοποιήσετε την φόρμα της παραπάνω WWW σελίδας,
εγγραφείτε στη λίστα με τον ακόλουθο τρόπο:
· Email: dbi-announce-request@fugue.com
με κείμενο στο σώμα (body) του μηνύματος 'subscribe'
dbi-dev Η λίστα αυτή στοχεύει σε χρήση από τους προγραμματιστές που
κάνουν ανάπτυξη, που συζητάνε ιδέες και έννοιες για τα των DBI
interface, API και driver. Αν δεν μπορείτε να χρησιμοποιήσετε την
φόρμα της παραπάνω WWW σελίδας, εγγραφείτε στη λίστα με τον ακόλουθο
τρόπο:
· Email: dbi-dev-request@fugue.com
με κείμενο στο σώμα (body) του μηνύματος 'subscribe'
dbi-users Αυτή η λίστα αλληλογραφίας είναι μια λίστα γενικών
συζητήσεων που χρησιμοποιείται για αναφορές σφαλμάτων, συζήτηση
προβλημάτων και γενικές αναζητήσεις. Αν δεν μπορείτε να
χρησιμοποιήσετε την φόρμα της παραπάνω WWW σελίδας, εγγραφείτε στη
λίστα με τον ακόλουθο τρόπο:
· Email: dbi-users-request@fugue.com
με κείμενο στο σώμα (body) του μηνύματος 'subscribe'
Χρονικά/Αρχεία των Λιστών Αλληλογραφίας
· Αμερικάνικα Αρχεία Λιστών Αλληλογραφίας
· Ευρωπαϊκά Αρχεία Λιστών Αλληλογραφίας
11.2.6. Προβλήματα Μεταγλώττισης ή αλλιώς "Κόπηκε στις Εξετάσεις!"
Αν έχετε core dump, δοκιμάστε το module Devel::CoreStack για να
δημιουργήσετε ένα stack trace από το core dump. Το Devel::CoreStack
βρίσκεται στο CPAN στο:
·
Στείλτε Email στη λίστα dbi-users το stack trace, την έκδοση των
modules, της perl, τα τεστ που κάνατε, την έκδοση του λειτουργικού
συστήματος και όποιες άλλες σχετικές πληροφορίες. Όσες περισσότερες
πληροφορίες στείλετε, τόσο γρηγορότερα θα ανιχνεύσουν οι
προγραμματιστές τα προβλήματα. Αν δε μας στείλτε τίποτα, τότε μην
περιμένετε τίποτα και από εμάς.
-->
11.2.7. Υποστηρίζεται το DBI κάτω από πλατφόρμες Windows 95 / NT ;
Η μεταφορά των DBI και DBD::Oracle Win32 είναι τώρα ένα στάνταρ τμήμα
του DBI, έτσι, αν κατεβάσετε έκδοση του DBI μεγαλύτερη του 0.81 θα
πρέπει να δουλεύει μια χαρά. Μπορείτε να έχετε πρόσβαση στις βάσεις
Microsoft Access και SQL-Server από το DBI μέσω ODBC. Μαζί με το
DBI-0.79 (και μετέπειτα) δίνεται ένα πειραματικό DBI 'επίπεδο
προσομοίωσης' για το module Win32::ODBC. Ονομάζεται DBI::W32ODBC. Θα
χρειαστείτε το module Win32::ODBC.
· Win32 DBI
· Win32 ODBC
11.2.8. του; Τι είναι το DBM; Και γιατί θα πρέπει να χρησιμοποιώ το
DBI στη θέση
Το UNIX ευλογήθηκε από την αρχή με απλές ``βάσεις'' βασισμένες σε
επίπεδα αρχεία, γνωστές σαν σύστημα dbm. Το dbm σας επιτρέπει να
αποθηκεύετε δεδομένα σε αρχεία, και να ανακτάτε τα δεδομένα γρήγορα
Παρόλαυτά, αυτό έχει και σοβαρά μειονεκτήματα.
Κλείδωμα Αρχείων (File Locking)
Τα συστήματα dbm δεν παρείχαν ιδιαίτερα ισχυρές δυνατότητες για
κλείδωμα αρχείων, ούτε καμία ικανότητα για τη διόρθωση προβλημάτων που
προέκυπταν από ταυτόχρονες εγγραφές [στη βάση].
Αυθαίρετες Δομές Δεδομένων (Arbitrary Data Structures)
Τα συστήματα dbm επιτρέπουν μόνο μια σταθερή δομή δεδομένων: ζευγάρια
κλειδιών-τιμών (key-value pairs). Αυτή η τιμή μπορεί να είναι ένα
σύνθετο αντικείμενο, όπως ένα [ C ] struct, αλλά το κλειδί πρέπει να
είναι μοναδικό. Αυτό ήταν μεγάλος περιορισμός στη χρησιμότητα των
συστημάτων dbm.
Παρόλαυτά, τα συστήματα dbm ακόμα είναι χρήσιμα για χρήστες με απλά
σύνολα δεδομένων και περιορισμένους πόρους, μια και είναι γρήγορα,
δυνατά και εξαιρετικά καλά ελεγμένα. Τα modules της Perl για την
πρόσβαση σε συστήματα dbm έχουν ενσωματωθεί τώρα στην διανομή της,
μέσω του module AnyDBM_File.
Περιληπτικά, το DBM είναι μια ικανοποιητικότατη λύση για (κατά κανόνα)
read-only βάσεις, ή μικρά και απλά σύνολα δεδομένων. Παρόλαυτά, για
περισσότερο ισχυρά και επεκτάσιμα σύνολα δεδομένων, χωρίς ούτε καν να
αναφερθούμε και σε αξιόπιστο transactional locking, συνιστούμε στους
χρήστες να χρησιμοποιήσουν DBI.
11.2.9. Υποστηρίζεται < το τάδε χαρακτηριστικό > στο DBI;
Θεωρώντας ότι το χαρακτηριστικό που ζητήσατε είναι ένα μη-στάνταρ,
εξαρτώμενο από κάποια συγκεκριμένη βάση, χαρακτηριστικό, τότε η
απάντηση είναι όχι.
Το DBI αντανακλά ένα γενικό API που θα δουλέψει για τις περισσότερες
βάσεις, και δεν παρέχει καμία επιπλέον λειτουργικότητα για κάποια
συγκεκριμένη βάση δεδομένων (database-specific functionality).
Παρόλαυτά, οι συγγραφείς των οδηγών μπορούν, αν το επιθυμούν, να
συμπεριλάβουν hooks προς εξειδικευμένες λειτουργίες/χαρακτηριστικά
κάποιας βάσης δεδομένων μέσω της μεθόδου func που ορίζεται στο DBI
API. Όσοι αναπτύσσουν scripts θα πρέπει να σημειώσουν πως η
λειτουργικότητα που παρέχεται μέσω των μεθόδων func είναι απίθανο να
μεταφερθεί σε άλλες βάσεις.
11.2.10. Χρησιμεύει καθόλου το DBI για προγραμματισμό σε CGI;
Με μια λέξη, ναι! Το DBI είναι εξαιρετικά χρήσιμο για προγραμματισμό
σε CGI! Στην πραγματικότητα, θα τολμούσα να πω ότι ο προγραμματισμός
σε CGI είναι μία από τις κύριες χρήσεις του DBI.
To DBI δίνει την ικανότητα στους προγραμματιστές CGI να ενισχύσουν τις
βάσεις που έχουν WWW-fronted, πράγμα που παρέχει στους χρήστες τη
δυνατότητα να παίξουν με τεράστιες ποσότητες δομημένων δεδομένων.
Επίσης, στην περίπτωση που ένα site έχει περισσότερη κίνηση από ότι ο
server της βάσης δεδομένων μπορεί να αντιμετωπίσει, το DBI δίνει τη
δυνατότητα αναβάθμισης του server της βάσης δεδομένων στο παρασκήνιο,
χωρίς αλλαγές στα cgi scripts.
11.2.11. Πώς πετυχαίνω ταχύτερους χρόνους σύνδεσης με DBD Oracle και
CGI;
Ο Apache httpd διατηρεί μια δεξαμενή (pool) από παιδιά του (httpd
children) για να εξυπηρετούν τις αιτήσεις των clients.
Χρησιμοποιώντας το module του Apache mod_perl του Doug MacEachern, ο
μεταφραστής της perl (perl interpreter) ενσωματώνεται στα παιδιά του
httpd. Τα CGI, DBI, και τα υπόλοιπα αγαπημένα σας modules μπορούν να
φορτωθούν κατά την εκκίνηση κάθε παιδιού (child). Αυτά τα modules δε
θα ξαναφορτωθούν εάν δεν αλλάξουν στο δίσκο.
Για περισσότερες πληροφορίες σχετικά με τον Apache, δείτε το Apache
Project's WWW site:
· Apache Project WWW site
· Mod_perl module
11.2.12. Πώς επιτυγχάνω μόνιμες (persistent) συνδέσεις μεταξύ DBI και
CGI
Χρησιμοποιώντας το module Apache::DBI module του Edmund Mergl, τα
logins στη βάση δεδομένων αποθηκεύονται και αντιστοιχίζονται σε ένα
httpd child. Αν η εφαρμογή σας βασίζεται σε έναν μόνο χρήστη της
βάσης δεδομένων, η σύνδεση μπορεί να γίνεται με κάθε child. Μέχρι
σήμερα, οι συνδέσεις στις βάσεις δεδομένων δεν μπορούν να μοιράζονται
μεταξύ διαφορετικών παιδιών του httpd.
Μπορείτε να κατεβάσετε το Apache::DBI από τη CPAN μέσω:
·
11.2.13. το τρέχω από τον httpd, αποτυγχάνει!'' Γιατί; ``Όταν τρέχω
ένα perl script από την γραμμή εντολής, δουλεύει, αλλά όταν
Βασικά, ένας λόγος για τον οποίο μπορεί να συμβαίνει αυτό είναι ότι ο
χρήστης από τον οποίο τρέξατε το script στη γραμμή εντολών έχει σωστά
ρυθμισμένα τις μεταβλητές του περιβάλλοντος, στην περίπτωση του
DBD::Oracle, μεταβλητές όπως $ORACLE_HOME, $ORACLE_SID ή TWO_TASK.
Η διεργασία httpd τρέχει συνήθως κάτω από το χρήστη nobody, πράγμα που
σημαίνει ότι δεν έχει ρυθμισμένο το περιβάλλον του. Οποιοδήποτε script
επιχειρήσει να τρέξει κάτω από αυτήν την κατάσταση θα αποτύχει
σίγουρα.
Για να λύσετε αυτό το πρόβλημα, θέστε το περιβάλλον για τη βάση σας σε
ένα μπλοκ BEGIN ( ) στην αρχή του script σας. Έτσι θα διορθωθεί το
πρόβλημα.
Παρόμοια, θα πρέπει να ελέγξετε το logfile με τα httpd λάθη για τυχόν
ενδείξεις, όπως και τα ``Idiot's Guide To Solving Perl / CGI
Problems'' και ``Perl CGI Programming FAQ'' για περισσότερες
πληροφορίες. Είναι απίθανο το πρόβλημα να έχει σχέση με το DBI.
Διαβάστε και τα δύο αυτά κείμενα προσεκτικά!
· Το ``Idiot's Guide To Solving Perl / CGI Problems'' θα το βρείτε
στο:
11.2.14. Μπορώ να κάνω multi-threading με το DBI;
Μέχρι την ημερομηνία αυτού του FAQ, όχι. Η perl δεν υποστηρίζει
multi-threading. Παρόλαυτά, το multi-threading αναμένεται να γίνει
μέρος του πυρήνα της διανομής της perl στην έκδοση 5.005, που σημαίνει
ότι το DBI θα μπορεί να υποστηρίζει multi-threading αρκετά σύντομα
μετά απ' αυτό.
Για να δείτε παραδείγματα κώδικα OCI για την Oracle που έχει multi-
threaded εντολές SELECT, πηγαίνετε στο:
·
11.2.15. Πώς μπορώ να καλέσω stored procedures με το DBI;
Αν υποθέσουμε ότι έχετε δημιουργήσει μια stored procedure μέσα σε
κάποια βάση, πχ, στην Oracle, μπορείτε να χρησιμοποιήσετε το $dbh->do
για να εκτελέσετε άμεσα τη διαδικασία (procedure). Για παράδειγμα,
$dbh->do( "BEGIN someProcedure END" );
11.2.16. Πώς μπορώ να πάρω τις τιμές που επιστρέφονται από τις stored
procedures με το DBI;
Θυμηθείτε, όμως, να κάνετε έλεγχο για λάθη!
$sth = $dbh->prepare( "BEGIN foo(:1, :2, :3); END;" );
$sth->bind_param(1, $a);
$sth->bind_param_inout(2, \$path, 2000);
$sth->bind_param_inout(3, \$success, 2000);
$sth->execute;
11.2.17. Πώς μπορώ να δημιουργήσω ή να καταστρέψω μια βάση δεδομένων
με το DBI;
Η δημιουργία και διαγραφή μιας βάσης είναι έννοιες πολύ αφηρημένες για
να υποστηρίζονται ικανοποιητικά από το DBI. Για παράδειγμα, η Oracle
δεν υποστηρίζει καν την έννοια της διαγραφής της βάσης! Στην Oracle
επίσης, ο διακομιστής της βάσης δεδομένων (database server) είναι
ουσιαστικά η βάση, ενώ στην mSQL, η διεργασία του διακομιστή (server
process) τρέχει μια χαρά χωρίς να έχει δημιουργηθεί καμία βάση σε
αυτόν. Το πρόβλημα είναι τόσο ανόμοιο για να το θίξουμε.
Γι' αυτό το λόγο, μερικοί οδηγοί υποστηρίζουν δημιουργία και διαγραφή
βάσεων μέσω των private func methods. Δείτε την τεκμηρίωση των οδηγών
που χρησιμοποιείτε για να δείτε αν υποστηρίζουν αυτό το μηχανισμό.
11.2.18. Πώς διαχειρίζεται το DBI τις τιμές NULL ;
Οι τιμές NULL στο DBI αντιμετωπίζονται όπως η τιμή undef. Οι τιμές
NULL μπορούν καταχωρηθούν στις βάσεις ως NULL, για παράδειγμα:
$rv =
$dbh->do( "INSERT INTO table VALUES( NULL )" );
αλλά όταν ερωτηθούν, οι τιμές NULL θα πρέπει να συγκριθούν με την
undef. Αυτό είναι στάνταρ για όλους τους οδηγούς.
11.2.19. Τι είναι αυτές οι μέθοδοι func (func methods);
Η μέθοδος func ορίζεται στο DBI σαν το σημείο εισόδου για
λειτουργικότητα εξαρτώμενη από τη βάση, πχ, η ικανότητα να
δημιουργήσετε ή να διαγράψετε βάσεις. Το να καλέσετε αυτές τις
μεθόδους που εξαρτώνται από τους οδηγούς είναι απλό, για παράδειγμα,
για να καλέσετε τη μέθοδο createDatabase που παίρνει μια παράμετρο, θα
γράφαμε:
$rv =
$dbh->func( 'argument', 'createDatabase' );
Όσοι αναπτύσσουν λογισμικό θα πρέπει σημειώσουν ότι οι μέθοδοι func
δεν είναι μεταφέρσιμες μεταξύ διαφορετικών βάσεων.
11.2.20. Εμπορική Υποστήριξη και Εκπαίδευση
Το Interface της Perl5 για βάσεις είναι ένα ΔΩΡΕΑΝ λογισμικό. ΕΡΧΕΤΑΙ
ΧΩΡΙΣ ΚΑΜΙΑ ΕΓΓΥΗΣΗ ΟΠΟΙΟΥΔΗΠΟΤΕ ΕΙΔΟΥΣ.
Παρόλαυτά, μερικοί οργανισμοί παρέχουν είτε τεχνική υποστήριξη είτε
προγράμματα εκμάθησης του DBI.
Perl Clinic : Η Perl Clinic μπορεί να κλείσει συμβόλαια για εμπορική
υποστήριξη σε Perl, DBI, DBD::Oracle και Oraperl. Υποστήριξη παρέχεται
από την εταιρεία στην οποία δουλεύει ο Tim Bunce, ο συγγραφέας του
DBI. Για περισσότερες υπηρεσίες σχετικά με τις υπηρεσίες τους, δείτε
το :
·
12. Εργαλεία Διαχείρισης της PostgreSQL
12.1. PGACCESS - Ένα γραφικό εργαλείο για τη διαχείριση της Post
greSQL
Το PgAccess είναι ένα Tcl/Tk interface για την PostgreSQL.
Συμπεριλαμβάνεται ήδη στη διανομή της PostgreSQL. Ρίξτε μια ματιά σε
αυτό το web site για νεότερη έκδοση
·
· Αν έχετε οποιοδήποτε σχόλιο, πρόταση για βελτίωση, μη διστάσετε να
στείλετε e-mail στο : teo@flex.ro
Χαρακτηριστικά του PgAccess
Παράθυρα του PgAccess : Κεντρικό παράθυρο , δημιουργία πινάκων (table
builder) , Εμφάνιση πινάκων (ερωτήσεων) (table(query) view),
δημιουργία ερωτήσεων οπτικά (visual query builder).
Πίνακες
· - εμφάνιση πινάκων, μέγιστο 200 εγγραφές (αλλάζει από το μενού
preferences)
· - αλλαγή μεγέθους στήλης, σέρνοντας την κάθετη γραμμή (καλύτερα στο
χώρο του πίνακα από ότι στην επικεφαλίδα του πίνακα)
· - text wrap στα κελιά - αποθήκευση της εμφάνισης κάθε πίνακα
· - import/export σε εξωτερικά αρχεία (SDF,CSV)
· - δυνατότητες φιλτραρίσματος (δώστε ένα φίλτρο σαν price>3.14)
· - δυνατότητες ταξινόμησης (δώστε χειροκίνητα το(τα) πεδία προς
ταξινόμηση)
· - editing in place
· - βελτιωμένο βοήθημα για παραγωγή πινάκων (table generator
assistant)
· - βελτιωμένες δυνατότητες διόρθωσης πεδίων
Ερωτήσεις (Queries)
· - δημιουργεί, διορθώνει και αποθηκεύει "ερωτήσεις που καθορίζει ο
χρήστης"
· - αποθηκεύει ερωτήσεις σαν views
· - εκτελεί ερωτήσεις
· - εμφάνιση αποτελεσμάτων ερωτήσεων τύπου select
· - διαγραφή και αλλαγή ονόματος ερώτησης
· - Γραφικό χτίσιμο ερώτησης με δυνατότητες drag & drop. Για όσους
από εσάς είχατε στήσει το Tcl/Tk plugin για το Netscape Navigator,
μπορείτε να το δείτε να δουλεύει πατώντας εδώ
Sequences
· - δημιουργία sequences, διαγραφή και έλεγχός τους Συναρτήσεις
· - δημιουργία, έλεγχος και διαγραφή συναρτήσεων σε γλώσσα SQL
Μελλοντικές υλοποιήσεις
· - σχεδιασμός πινάκων (προσθήκη νέων πεδίων, αλλαγή ονόματος, κλπ.)
· - καθορισμός συνάρτησης
· - δημιουργία report
· - βασικό scripting
Αν έχετε οποιοδήποτε σχόλιο, πρόταση για βελτίωση, μη διστάσετε να
στείλετε e-mail στο :
· teo@flex.ro
Περισσότερες πληροφορίες για τη βιβλιοθήκη libgtcl
Θα χρειαστείτε επίσης να δηλώσετε προς χρήση τη βιβλιοθήκη διασύνδεσης
PostgreSQL σε Tcl σαν ένα Tcl/Tk 'load'-able module. Ονομάζεται
libpgtcl και ο πηγαίος κώδικάς της βρίσκεται στον κατάλογο της
PostgreSQL /src/interfaces/libpgtcl. Θα χρειαστείτε ιδιαίτερα, μια
βιβλιοθήκη libpgtcl που να μπορεί να φορτωθεί από Tcl/Tk. Αυτό είναι
διαφορετικό τεχνικά από ένα τυπικό PostgreSQL loadable object αρχείο,
επειδή η libpgtcl είναι μια συλλογή από object αρχεία. Κάτω από Linux,
ονομάζεται libpgtcl.so. Μπορείτε να κατεβάσετε από εδώ μια έκδοση ήδη
μεταγλωττισμένη για συστήματα Linux i386. Απλά αντιγράψτε το
libpgtcl.so στον κατάλογο βιβλιοθηκών του συστήματος (/usr/lib)και
ξεκινήστε. Μία λύση είναι να αφαιρέσετε από τον πηγαίο κώδικα τη
γραμμή που περιέχει το φόρτωμα της libpgtcl.so και να φορτώσετε τη
pgaccess.tcl όχι με wish, αλλά με pgwish (ή wishpg) αυτό το wish με το
οποίο είχε γίνει link με τη βιβλιοθήκη libpgtcl.
12.2. Windows Interactive Query Tool για PostgreSQL (WISQL ή MPSQL)
Η MPSQL παρέχει στους χρήστες ένα γραφικό SQL interface για την
PostgresSQL. Η MPSQL είναι παρόμοια με το SQL Worksheet της Oracle
και το εργαλείο ερωτήσεων του Microsoft SQL Server WISQL. Έχει ωραίο
γραφικό interface και ιστορικό εντολών. Επίσης μπορείτε να κάνετε cut
και paste και έχει και άλλα ωραία χαρακτηριστικά που βελτιώνουν την
παραγωγικότητα.
·
· Email: keidav@whidbey.com
· στο αρχείο tcl_syb/wisql.html
·
· Email: de@ucolick.org
12.3. Interactive Query Tool(ISQL) για την PostgreSQL - Ονομάζεται
PSQL
Το ISQL είναι για τερματικά με Character command line. Περιλαμβάνεται
στη διανομή, και λέγεται PSQL. Μοιάζει πολύ με το ISQL της Sybase, και
το SQLplus της Oracle. Στο unix prompt δώστε την εντολή 'psql' η οποία
θα σας βγάλει σε psql> prompt.
Πατήστε \h για να δείτε τη βοήθεια των εντολών.
Πολύ φιλικό στο χρήστη και εύκολο στη χρήση. Μπορείτε να έχετε
πρόσβαση σε αυτό και από scripts του κέλυφους.
12.4. MPMGR - Εργαλείο Διαχείρισης Βάσεων για PostgresSQL
Το MPMGR παρέχει ένα γραφικό interface διαχείρισης της PostgresSQL. Θα
το βρείτε στο
·
· Email: keidav@mutinybaysoftware.com
·
· Email: keidav@whidbey.com
· in file tcl_syb/wisql.html
· WISQL για την PostgreSQL
· Email: de@ucolick.org
13. Ρυθμίζοντας πολλαπλά κουτιά PostgreSQL σε μια οθόνη
Μπορείτε να στοιβάξετε τα κουτιά-cpu και να συνδεθείτε σε μια οθόνη
και να χρησιμοποιήσετε το διακόπτη για να διαλέξετε το host. Αυτό
εξοικονομεί χώρο και δε χρειάζεστε πολλές οθόνες, πληκτρολόγια και
ποντίκια (εξοικονομείτε περίπου 100 με 500 US δολάρια ανά σετ) και
γλιτώνετε επίσης από την ακαταστασία.
Χρησιμοποιώντας αυτή την τεχνική, μπορείτε να στοιβάξετε πολλούς
PostgreSQL servers (για ανάπτυξη, έλεγχο, παραγωγή), Web servers, ftp
servers, Intranet servers, Mail servers, News servers σε ένα πολύ ψηλό
ράφι. Ο διακόπτης μπορεί να χρησιμοποιηθεί επίσης για κουτιά με
Windows 95/NT ή OS/2.
Ρίξτε μια ματιά στα παρακάτω sites:
· Τηλεφωνικές παραγγελίες από την DataComm Warehouse Inc, σε 24ωρη
βάση, όλη την εβδομάδα, στο 1-800-328-2261. Παρέχουν κάθε τύπο
υλικού Η/Υ . Το 4-θυρο KVM switch
(PS/2) κοστίζει γύρω στα $89.99. Part No. DDS1354
· Network Technologies Inc
(120 δολάρια/PC 8
ports) το οποίο έχει λίστες για 'Server Switches' και 'switches
μόνο για Video '
· Scene Double Inc, Αγγλία
· Cybex corporation
· Raritan Inc
· RealStar Solutions Inc
· Belkin Inc
· Better Box Communications Ltd.
· Πηγαίνετε στο πλησιέστερο μαγαζί hardware και ζητήστε το "Server
Switch" γνωστό και σαν "KVM Auto Switches".
Ψάξτε στη μηχανή αναζήτησης yahoo για να βρείτε περισσότερες εταιρείες
με "Server Switches" ή "KVM Switches".
Συνίσταται ιδιαίτερα να έχετε ένα unix box ειδικά αφιερωμένο για κάθε
PostgreSQL data-server για καλύτερη απόδοση. Καμία άλλη
εφαρμογή/διεργασία δεν πρέπει να τρέχει σε αυτό το μηχάνημα. Δείτε το
τμήμα "Επαγγελματικά" στις τοπικές εφημερίδες για τοπικούς πωλητές που
πωλούν μόνο κουτιά intel, 13" μονόχρωμες οθόνες (οθόνη πολύ χαμηλού
κόστους). Οι τοπικοί πωλητές πωλούν μόνο το hardware χωρίς Microsoft
Windows/DOS (έτσι εξοικονομείτε $ 150). Δε χρειάζεστε έγχρωμη οθόνη
για το διακομιστή της βάσης δεδομένων, καθώς μπορείτε να κάνετε
απομακρυσμένη διαχείριση (remote administration) από έγχρωμο σταθμό
εργασίας. Πάρτε το RedHat (ή κάποια άλλη διανομή) Linux cdrom από το
-
· Linux System Labs Web site: 7 (U.S.
δολάρια)
· Cheap Bytes Inc Web site: 7 (U.S.
δολάρια)
Σιγουρευτείτε ότι το υλικό που αγοράσατε υποστηρίζεται από το
Redhat Linux. Δείτε το ftp site ης Redhat πριν αγοράσετε υλικό, για
προτεινόμενους SCSI adapters, κάρτες βίντεο κλπ. Με $ 600 μόνο
μπορείτε να πάρετε ένα ισχυρό κουτί intel με Redhat Linux που
τρέχει PostgreSQL. Χρησιμοποιήστε odbc/jdbc/perl/tcl για να
συνδεθείτε με την PostgreSQL από Windows95, OS/2, Unix Motif ή
κάποιο web browser (π.χ. Redbaron, Opera, Netscape, 20 άλλοι). (οι
Web browsers έχουν γίνει πια standard client).
Με αυτή την ιδέα μπορείτε να ελέγχετε πολλά κουτιά cpu με μια οθόνη
και ένα πληκτρολόγιο!
Παρακάτω θα βρείτε ένα απόσπασμα από την networktechnic Inc για
"Server Switches"
Παραγγείλετε τώρα στο 800-742-8324 (χωρίς δασμούς για Αμερική)
Για να λάβετε τον κατάλογό μας παρακαλώ στείλτε Email στη διεύθυνση:
sales@networktechinc.com
ΧΕΙΡΙΣΤΕΙΤΕ ΠΕΡΙΣΣΟΤΕΡΑ ΑΠΟ ΕΝΑ PC με ένα πληκτρολόγιο, οθόνη και
ποντίκι Οι ηλεκτρονικοί διακόπτες επιτρέπουν με ένα πληκτρολόγιο,
οθόνη και ποντίκι να χειρισθείτε 64 PC. Ενσωματωμένοι μικροϋπολογιστές
προσομοιώνουν την παρουσία πληκτρολογίου, οθόνης και ποντικιού με όλα
τα προσαρτημένα PC 100% του χρόνου.
Χαρακτηριστικά και Εφαρμογές
· Πληκτρολόγιο, χειριστήριο πάνω στη συσκευή ή τηλεχειριστήριο
· 9 pin D Serial ή 6 pin miniDIN υποστήριξη για ποντίκι
· 5 pin DIN ή 6 pin miniDIN υποστήριξη πληκτρολογίου
· 1600x1200 ανάλυση οθόνης
· Χρησιμοποιεί κοινά καλώδια
· Σε Desktop κόψιμο ή και για rack
Προδιαγραφές - Πληκτρολόγιο
· Όλα τα βύσματα είναι θηλυκά
· 5 pin DIN ή 6 pin miniDIN
· Μπορεί να εκκινεί οποιαδήποτε στιγμή οποιονδήποτε Η/Υ
Χειριστήριο - Μπροστινά Κουμπιά
· Συνδεθείτε σε έναν Η/Υ με το πάτημα ενός κουμπιού
· Κρατήστε πατημένο οποιοδήποτε κουμπί για περισσότερο από μισό
δευτερόλεπτο και μπείτε σε τρόπο λειτουργίας SCAN, BROADCAST ή
COMMAND
· Τα LEDs υποδεικνύουν τον τρόπο λειτουργίας του πληκτρολογίου
· Πατήστε CTRL+* και μπείτε σε τρόπο λειτουργίας COMMAND
· Είναι διαθέσιμοι οι SCAN, BROADCAST και COMMAND τρόποι λειτουργίας
Ποντίκι
* 9 pin D serial
· o διακόπτης NTI που προσομοιώνει το σειριακό ποντίκι της Microsoft
· o 9 pin D αρσενικό για ποντίκι
· o 9 pin D θηλυκό για τους Η/Υ
* 6 pin miniDIN
· o διακόπτης NTI που προσομοιώνει το ποντίκι IBM PS/2
· o Όλα τα βύσματα είναι θηλυκά
Καλωδιακό χειριστήριο/τηλεκοντρόλ
· Προαιρετικό --θα πρέπει να αγοραστεί ξεχωριστά
· Κάνει τις δουλείες του "Χειριστηρίου - Μπροστινών Κουμπιών"
Οθόνη-VGA
· Εύρος 150 MHz
· 1600X1200 ανάλυση χωρίς παραμόρφωση
· 1/4λα τα βύσματα είναι θηλυκά
14. Εφαρμογές και Εργαλεία για την PostgreSQL
14.1. Γλώσσα 4ης γενιάς (4GL) PostgreSQL για εφαρμογές με web και
βάση δεδομένων - Πλατφόρμα ανάπτυξης AppGEN
Το AppGEN μπορείτε να το κατεβάσετε από το
·
· .
Το AppGEN είναι μια υψηλού επιπέδου, τέταρτης γενιάς γλώσσα και
πλατφόρμα ανάπτυξης εφαρμογών για την παραγωγή εφαρμογών βασισμένων
στο World Wide Web (WWW). Αυτές οι εφαρμογές τυπικά χρησιμοποιούνται
στο internet ή στο intranet ενός οργανισμού. Οι εφαρμογές του AppGEN
υλοποιούνται ως C scripts που ακολουθούν τα πρότυπα του Common Gateway
Interface (CGI), τα οποία υποστηρίζονται από τους περισσότερους Web
Servers.
Για να χρησιμοποιήσετε το AppGEN θα χρειαστείτε τα ακόλουθα :-
Την PostgresSQL, σύστημα διαχείρισης σχεσιακών βάσεων δεδομένων
Έναν web server που να υποστηρίζει CGI όπως ο HTTPD του NSCA
Έναν μεταγλωττιστή ansi C όπως ο GCC
Το AppGEN αποτελείται από τα ακόλουθα εκτελέσιμα για Unix (Linux) :-
· defgen, το οποίο παράγει μια βασική πρότυπη εφαρμογή (template
application) από κάποιες λογικές δομές δεδομένων. Οι εφαρμογές
μπορούν να εισάγουν, ενημερώνουν, διαγράφουν και ψάχνουν εγγραφές
στην βάση δεδομένων ενώ παράλληλα διατηρούν αυτόματα και την
ακεραιότητα των δεδομένων (referential integrity).
· appgen, ο μεταγλωττιστής AppGEN που μεταγλωττίζει κώδικα appgen σε
εκτελέσιμο CGI C κώδικα και κείμενα HTML έτοιμα για χρήση σε έναν
web server.
· dbf2sql, μια εφαρμογή για μετατροπή αρχείων συμβατών με dBase III
.dbf σε εκτελέσιμα SQL scripts. Αυτό επιτρέπει σε δεδομένα που
φυλάσσονται στα περισσότερα πακέτα βάσεων δεδομένων για DOS/Windows
να μεταφερθούν σε έναν SQL server όπως η PostgresSQL.
· Επιπλέον, το AppGEN παρέχει μια συλλογή από κείμενα HTML , αρχεία
GIF και Java applets που χρησιμοποιούνται από το σύστημα, και
φυσικά, όπως κάθε καλό λογισμικό, συμπεριλαμβάνει και τον πλήρη
πηγαίο κώδικα.
Μπορείτε να επικοινωνήσετε με τον συγγραφέα, Andrew Whaley, στο
· andrew@arthur.smuht.nwest.nhs.uk
14.2. WWW Web interface για PostgresSQL - DBENGINE
Το dbengine είναι ένα plug 'n play Web interface για την PostgreSQL
που δημιουργήθηκε από τον Ingo Ciechowski. Βρίσκεται στο :
·
Σχετικά με το DBENGINE : Το dbengine είναι ένα interface διασύνδεσης
WWW και Postgres95 που παρέχει απλή πρόσβαση σε οποιαδήποτε βάση μέσα
σε λίγα λεπτά.
Το PHP 3 δίνει μια γλώσσα που μοιάζει με την Perl στα κείμενά σας,
αλλά όχι πραγματική Perl ενώ το AppGen και το wdb-p95 απαιτούν να
δημιουργήσετε μερικά αρχεία ρυθμίσεων για κάθε μία από τις βάσεις σας
-- μοιάζει σαν να πρέπει πρώτα απ' όλα να μάθετε κάποιο είδος νέας
γλώσσας πριν να ξεκινήσετε.
Αντίθετα με τα άλλα εργαλεία, δεν απαιτείται να μάθετε ειδικό
προγραμματισμό ή κάποια scripting language για να ξεκινήσετε να
δουλεύετε με το dbengine. Δεν υπάρχει επίσης κάποιο αρχείο ρυθμίσεων
για κάθε βάση, έτσι δε χρειάζεται να εξοικειωθείτε με μια νέα δομή.
Παρόλαυτά - σε περίπτωση που θέλετε να έχετε πρόσβαση σε όλα τα
χαρακτηριστικά του dbengine θα ήταν καλή ιδέα να μάθετε τη γλώσσα
Perl.
Ολο το σύστημα μπορεί να ρυθμιστεί μέσω απλών χειρισμών σε μια
πρόσθετη βάση δεδομένων που περιέχει πληροφορίες σχετικά με το πώς να
οπτικοποιήσετε τα δεδομένα σας. Μπορείτε επίσης να ορίσετε virtual
Fields τα οποία υπολογίζονται αμέσως πριν να εμφανιστούν στην οθόνη.
Άδεια Το dbengine είναι δωρεάν λογισμικό κάτω από τους ίδιους όρους
όπως και η Perl. Διαβάστε την άδειά της αν δεν είστε σίγουροι για τι
μπορείτε ή δεν μπορείτε να κάνετε. Σε τελική ανάλυση, αυτή είναι μια
ελαστικότερη και πιο ήπια έκδοση από την GNU άδεια -- δεν επηρεάζει τη
δουλειά σας αν θέλετε να "δανειστείτε" κάτι από το dbengine ή να
συγκεντρώσετε κομμάτια από αυτό σαν μέρος ενός εμπορικού προϊόντος!
14.3. Apache Webserver Module για PostgreSQL - NeoSoft NeoWebScript
Ο Apache είναι ένας πολύ γνωστός Web Server. Ένα module διασύνδεσης
PostgreSQL με τον Apache Webserver βρίσκεται στο -
·
Το NeoWebScript είναι μια γλώσσα προγραμματισμού που επιτρέπει και
απλά και σύνθετα προγράμματα να ενσωματωθούν σε αρχεία HTML.
Όταν ζητείται μια σελίδα HTML που περιέχει ενσωματωμένο κώδικα
NeoWebScript, ο webserver που υποστηρίζει NeoWebScript εκτελεί το(α)
ενσωματωμένα script(s), και παράγει μια web σελίδα με περιεχόμενο
κομμένο και ραμμένο στις προτιμήσεις του προγραμματιστή, η οποία
δημιουργήθηκε με αυτό το πρόγραμμα.
Το NeoWebScript είναι ένας γρήγορος, ασφαλής, εύκολος τρόπος για να
μάθετε ισχυρό, server-based προγραμματισμό στον κώδικα HTML των web
σελίδων. Με το NeoWebScript, είναι εύκολο να φτιάξετε μετρητές
(counters), φόρμες για email, γκράφιτι στις σελίδες, guest books και
να κρατάτε στοιχεία για τους επισκέπτες, ακόμη και για έναν αρχάριο
προγραμματιστή. Δείτε πόσο καλά το NeoWebScript κρατά τα δικά του σε
σύγκριση με την PERL και το JavaScript.
Αν θέλετε να εγκαταστήσετε το NeoWebScript στον webserver σας, ο
Webmaster σας πρέπει να διαβάσει το Sysop FAQ για να ξεκινήσει. Η
"Θεωρία των Λειτουργιών" (Theory of Operations) θα εξηγήσει πώς
δουλεύει το NeoWebScript, ενώ η εγκατάσταση θα σας καθοδηγήσει στα
διάφορα στάδιά της. Η διαχείριση ασχολείται με θέματα ρύθμισης και
εκτέλεσης του server, διάφοροι έλεγχοι επαληθεύουν τη σωστή λειτουργία
των NeoWebScript σας και η αποσφαλμάτωση ασχολείται με τα προβλήματα
του server.
Δεν υπάρχει κανένα κόστος για τη χρήση του NeoWebScript-2.2 για τον
ISP σας, το intranet σας ή το extranet σας. Θα δείτε την πλήρη άδεια
χρήσης, όταν εγγραφείτε για να το κατεβάσετε, αλλά η ουσία είναι πως
θα θέλαμε 99 σπαρταριστά δολάρια αν θέλετε να το ενσωματώσετε στα δικά
σας προϊόντα ή να το χρησιμοποιήσετε σε έναν server εμπορικών
συνδιαλλαγών (π.χ. SSL).
Το NeoWebScript είναι ένα module για τον Apache webserver που σας
επιτρέπει την ενσωμάτωση της γλώσσας προγραμματισμού Tcl/Tk στις
ιστοσελίδες σας σαν ένα εργαλείο scripting. Επινοήθηκε από τον Karl
Lehenbauer, τον Τεχνικό Διευθυντή της NeoSoft, και τεκμηριώθηκε,
εμπλουτίστηκε και επεκτάθηκε από τους προγραμματιστές και τεχνικούς
συγγραφείς της NeoSoft.
Ο Apache webserver είναι ο πλέον δημοφιλής webserver στον κόσμο,
χρησιμοποιούμενος στο 68 % των sites που εξετάστηκαν.
Η Tcl/Tk είναι η πανίσχυρη, δωρεάν, ανεξάρτητη πλατφόρμας γλώσσα
scripting, που αναπτύχθηκε από τον Δρ. John Ousterhout. Παραθέτουμε τα
λόγια του
"Η Tcl/Tk επιτρέπει στους προγραμματιστές λογισμικού να κάνουν την
δουλειά δέκα φορές ταχύτερα από ότι χρησιμοποιώντας εργαλειοθήκες
(toolkits) βασισμένες σε C ή C++. Είναι επίσης μια τέλεια γλώσσα
ενσωμάτωσης ήδη υπαρχόντων εφαρμογών που τις κάνει πιο γραφικές και
τις εξοπλίζει με Internet-ικές δυνατότητες".
Ο Karl Lehenbauer, Ιδρυτής και Προϊστάμενος του Τεχνικού Τμήματος της
NeoSoft, αποτελεί μέρος της ανάπτυξης της Tcl/Tk από τα πρώτα της
στάδια. Μαζί με τον Mark Diehkans, δημιούργησαν την Extended Tcl,
γνωστή επίσης και ως TclX ή NeoSoft Tcl, ένα ισχυρό σύνολο επεκτάσεων
στη γλώσσα. Πολλές από τις βασικές εντολές της Tcl προέκυψαν από την
Extended Tcl, και μετά εισήχθησαν από τον Dr. Ousterhout στο βασικό
πυρήνα της γλώσσας.
NeoSoft Inc., 1770 St. James Place, Suite 500, Houston, TX 77056 USA
14.4. για την PostgreSQL Οι HEITML επεκτάσεις της HTML στον server
και μια γλώσσα 4ης γενιάς
Το εργαλείο heitml είναι ένας άλλος τρόπος για να επικοινωνεί η
postgres με το world wide web. Για περισσότερες πληροφορίες
επικοινωνήστε με τον
Helmut Emmelmann H.E.I. Informationssyteme GmbH
Wimpfenerstrasse 23 Τηλ. 49-621-795141
68259 Mannheim Germany Φαξ. 49-621-795161
· Στείλτε email στον Κ. Helmut Emmelmann στο emmel@h-e-i.de
· Η κύρια σελίδα του Heitml
· Η δευτερεύουσα σελίδα του Heitml
Το heitml είναι επεκτάσεις της HTML στην πλευρά του server και
ταυτόχρονα γλώσσα 4ης γενιάς. Μπορείτε να γράψετε εφαρμογές για το web
σε στυλ HTML χρησιμοποιώντας HTML-οειδή tags.
Το heitml (προφέρετε "Χαϊ"-ΤιΕμΕλ) είναι επέκταση του HTML και μια
πλήρως εξοπλισμένη γλώσσα 4ης γενιάς που επιτρέπει σε εφαρμογές Web να
αλληλεπιδρούν με δεδομένα που φυλάσσονται σε SQL βάσεις, χωρίς να
καταφεύγουν σε περίπλοκα CGI scripts.
Το heitml επεκτείνει το HTML στην πλευρά του server, μετατρέποντας
δυναμικά αρχεία ".hei" σε HTML και είναι λοιπόν συμβατό με κάθε web
browser. Χρησιμοποιεί την γνώριμη, εύχρηστη σύνταξη HTML και παρέχει
πλούτο προκατασκευασμένων Tags και Βιβλιοθηκών για να λύσουν θέματα
που μέχρι τώρα χρειάζονταν CGI. Όπως και το XML, το heitml παρέχει
tags ορισμένα από τον χρήστη. Με το heitml τα ορισμένα από τον χρήστη
tags μετατρέπονται σε HTML και στέλνονται στον browser.
Το heitml στοχεύει και στους σχεδιαστές HTML και στους επαγγελματίες
προγραμματιστές. Οι σχεδιαστές HTML μπορούν να χρησιμοποιούν heitml
Tags για να χτιστούν δυναμικές σελίδες web, να προσπελαύνουν SQL
βάσεις, ή να δημιουργούν σύνθετες εφαρμογές web. Μετρητές, βάσεις με
στοιχεία καταχώρησης, φόρμες αναζήτησης, φόρμες email , ιεραρχικά
μενού, όλα μπορούν να κατασκευαστούν απλά χρησιμοποιώντας
προκαθορισμένα HTML-οειδή Tags που βρίσκονται στις διάφορες
Βιβλιοθήκες.
Για τους προγραμματιστές, το heitml ενσωματώνει μια πλήρη γλώσσα 4ης
γενιάς σε HTML
(π.χ. , , και Tags),
συν ισχυρές δυνατότητες υπολογισμού εκφράσεων με ακεραίους,
πραγματικούς, δυαδικούς, αλφαριθμητικούς, tuples τελεστές. Τα Tuples
αντιμετωπίζονται όπως στις μοντέρνες αντικειμενοστραφείς γλώσσες και
φυλάσσονται σε μεταβλητές σωρών (heap variable). Οι μεταβλητές της
heitml, συμπεριλαμβανομένων και όλων των σύνθετων δομών δεδομένων,
φυλάσσονται στο σωρό διατηρώντας τις αρχικές τους τιμές μεταξύ των
σελίδων χρησιμοποιώντας το Session Mode. Είναι δυνατόν να ορίσετε τα
δικά σας tags ή tags του περιβάλλοντος και ακόμα και να επανορίσετε τα
HTML-tags.
Το heitml κάνει δυνατό το να
- - - αναπτυχθούν Web Sites με ένα δομημένο και σπονδυλωτό τρόπο, ώστε
να μειωθεί δραστικά η καθυστέρηση λόγω συντήρησης.
- - - αναπτυχθούν έξυπνα και αλληλεπιδραστικά Web Sites, με
περιεχόμενο που προσαρμόζεται δυναμικά στις ανάγκες του χρήστη.
- - - εμφανίσετε το περιεχόμενο SQL βάσεων χωρίς να χρειαστεί καθόλου
προγραμματισμός εκτός από το να χρησιμοποιήσετε τη βιβλιοθήκη μας των
προκαθορισμένων "dba" Tags.
- - - αναπτυχθούν εφαρμογές σύνθετων βάσεων δεδομένων και καταλόγων
αγορών χρησιμοποιώντας τις Session Variables
Το heitml τρέχει σε Linux με οποιονδήποτε Web Server που χρησιμοποιεί
CGI interface, και είναι ιδιαίτερα γρήγορο (αποφεύγοντας την
καθυστέρηση λόγω CGI) με τον APACHE Web Server χρησιμοποιώντας το
Apache API. Μέχρι τώρα υποστηρίζονται οι βάσεις MSQL (έκδοση 1 και 2),
PostgreSQL (έκδοση 6), mysql, και η yard. Το heitml δουλεύει επίσης σε
Linux, BSDi, Solaris και SunOS, καθώς και σε Windows NT με CGI και
ISAPI και ODBC και Windows 95.
Το heitml (σε linux) είναι δωρεάν για ερευνητική, μη-εμπορική και
ιδιωτική χρήση. Τα εμπορικά Web Sites πρέπει να πληρώσουν τέλη για την
άδεια χρήσης. Η πλήρης λειτουργική έκδοση του heitml είναι διαθέσιμη
να την κατεβάσετε για μια περίοδο δοκιμής δωρεάν. (Σημειώστε,
παρόλαυτά, ότι κάθε Web σελίδα ".hei" που αναπτύσσετε θα εμφανίζει ένα
μήνυμα που θα το χαρακτηρίζει σαν έκδοση για μη εμπορική χρήση. Μετά
την εγγραφή, θα λάβετε ένα κλειδί για να εξαφανίσετε αυτό το μήνυμα
χωρίς να χρειαστεί να επανεγκαταστήσετε το πρόγραμμα.)
Το heitml (προφέρεται "Χαϊ"-ΤιΕμΕλ) επεκτείνει και εμπλουτίζει
σημαντικά τη λειτουργικότητα της HTML με τον ορισμό tags και
χαρακτηριστικά πλήρες προγραμματισμού. Αυτό κάνει δυνατή την ύπαρξη
εφαρμογών δυναμικού περιεχομένου και βάσεων δεδομένων μέσα στον κόσμο
της HTML, χωρίς CGI και εξωτερικό scripting ή άλλες γλώσσες
προγραμματισμού. Αυτό σημαίνει ότι εσείς, σαν συγγραφέας HTML,
μπορείτε να προσθέσετε εφαρμογές στις web σελίδες σας, χρησιμοποιώντας
απλά μερικά νέα tags χωρίς CGI και καθόλου προγραμματισμό. Από την
άλλη, σαν προχωρημένος χρήστης ή προγραμματιστής μπορείτε να
δημιουργήσετε ισχυρές προγραμματιστικές βιβλιοθήκες με tag. Αυτή η
προσέγγιση κάνει το heitml κατάλληλο τόσο για τους νεόφερτους στην
HTML όσο και για τους επαγγελματίες προγραμματιστές. Το heitml τρέχει
στο web server και δημιουργεί δυναμικά HTML, έτσι ώστε το heitml να
είναι συμβατό με τα στάνταρ του internet και με οποιοδήποτε web
browser. Επιτρέπει πλήρη πρόσβαση σε βάσεις ενώ προστατεύει το χρήστη
από την περιττή πολυπλοκότητα του CGI. Το heitml έχει αναπτυχθεί
σύμφωνα με πρόσφατες έρευνες και σε συστήματα κατασκευής
μεταγλωττιστών και δοσοληψιών (transaction).
Οι σελίδες heitml αναπτύσσονται όπως και οι σελίδες HTML, με έναν text
editor ή έναν HTML editor, και τοποθετούνται στο web server με το
γνωστό τρόπο. Παρόλαυτά, οι σελίδες μπορούν να περιέχουν τώρα δυναμικά
heitml tags και βιβλιοθήκες tag για πρόσβαση σε βάσεις. Μπορείτε να
χρησιμοποιήσετε αυτά τα tags για να έχετε πρόσβαση σε βάσεις, να
δημιουργήσετε δυναμικό περιεχόμενο, να στείλετε emails, και να
δημιουργήσετε ακόμη ισχυρές εφαρμογές όπως εγγραφή σε βάσεις και
συστήματα αγορών.
Οι νεόφερτοι στην γλώσσα HTML και οι επαγγελματίες προγραμματιστές θα
μείνουν έκπληκτοι με το πόσο γρήγορα και εύκολα μπορούν να σχεδιάσουν
ενδιαφέρουσες εφαρμογές όπως το Interactive Guestbook χωρίς να
χρειάζεται να μάθουν να γράφουν σύνθετα και πολύπλοκα CGI scripts,
απλά και μόνο χρησιμοποιώντας τα εργαλεία που παρέχονται με τη dba
βιβλιοθήκη μας.
Το heitml συνοδεύεται από ένα μεγάλο πλήθος tag βιβλιοθηκών, για να
δημιουργήσετε guestbooks, εφαρμογές συντήρησης της βάσης, επεκτάσιμες
φόρμες ερωτήσεων, ισχυρές φόρμες email ή να δομήστε το web site σας
χρησιμοποιώντας ένα ιεραρχικό μενού. Αυτά τα εργαλεία είναι έτοιμα,
απλά προσθέστε τα αντίστοιχα tags στο web site σας.
Σαν έμπειρος προγραμματιστής, μπορείτε να κάνετε πλήρη χρήση της
heitml αρχιτεκτονικής δυναμικών εγγραφών: Το heitml δεν είναι απλά μια
scripting γλώσσα με δυναμικούς τύπους, ισχυρή στον υπολογισμό
εκφράσεων, αναδρομικές ρουτίνες και πέρασμα εκτεταμένων παραμέτρων,
αλλά χαρακτηρίζεται επίσης από δυναμικές εγγραφές για την αυτόματη
διαχείριση των δεδομένων ενός session ανεξαρτήτου μεγέθους.
14.5. America On-line AOL Web server για PostgreSQL
Ο δωρεάν εμπορικός webserver, AOLserver έκδοσης 2.3 υποστηρίζει
συνδέσεις στη βάση PostgreSQL έκδοση 6.2.1 και μεγαλύτερη. Για
περισσότερες πληροφορίες επισκεφτείτε το
· AOL Web Server
14.6. Problem/Project Tracking System Application Tool για PostgreSQL
Βρίσκεται στο :
·
14.7. Μετατροπή αρχείων dbase dbf σε PostgreSQL
Το πρόγραμμα dbf2msql δουλεύει άψογα με mSQL και PostgreSQL. Μπορείτε
να το βρείτε στο
·
·
Το πρόγραμμα αυτό γράφτηκε από τον Maarten Boekhold, Faculty of
Electrical Engineering TU Delft, NL Computer Architecture and Digital
Technique section
· M.Boekhold@et.tudelft.nl
Μπορείτε να χρησιμοποιήσετε επίσης python για να διαβάσετε αρχεία dbf
και να τα φορτώσετε σε μια βάση δεδομένων postgres.
· Δείτε το
15. Εργαλείο για Σχεδιασμό/Υλοποίηση Web Βάσεων Δεδομένων για την
PostgreSQL - EARP
·
· στον κατάλογο 'pub/unix/earp'.
15.1. Τι είναι το EARP ;
Το EARP είναι ένα εργαλείο για σχεδιασμό/υλοποίηση Web βάσεων, που
κάθεται πάνω από το σύστημα βάσης δεδομένων PostgreSQL. Στη
λειτουργικότητά του περιλαμβάνονται:
· Ένα σύστημα γραφικού σχεδιασμού.
· Ένα interface για sendmail. (μπορεί να χειριστεί τα εισερχόμενα και
εξερχόμενα mail)
· Ένα αυξημένο μηχανισμό ασφαλείας.
· Έναν οδηγό cgi.
15.2. Υλοποίηση
Η κύρια υλοποίηση του EARP είναι ένα εκτελέσιμο CGI που τρέχει κάτω
από το δαίμονα http και παρέχει πρόσβαση στο διακομιστή της βάσης
δεδομένων. Όλα τα εργαλεία σχεδιασμού είναι χτισμένα μέσα στον οδηγό,
ο σχεδιασμός δεν γίνεται παρά μόνο σε web. Τα ίδια τα εργαλεία
απαιτούν ένα γραφικό browser, η συμβατότητα των αντικειμένων που
σχεδιάζονται με τα εργαλεία είναι ανεξάρτητα του τρόπου υλοποίησης,
βασισμένα στο σχεδιασμό ατομικών προτιμήσεων.
15.3. Τι χρειάζεστε για να τρέξετε το EARP
Το EARP πρέπει να τρέχει πιθανά σε πολλές πλατφόρμες με λίγο ή καθόλου
μεταφορά. Οι γνωστές πλατφόρμες που τρέχει είναι οι εξής:
· Solaris 2.5
· Linux 1.2.13+
· GNU C++
· PostgreSQL (έκδοση 1.01 / 1.02 )
· netsite server
· NCSA httpd
· GNU C++
· PostgreSQL (έκδοση 1.01 / 1.02 )
· NCSA httpd
· Apache httpd
Η τρέχουσα έκδοση (1.3) του Earp σχεδιάστηκε πάνω στην έκδοση του
libpq που έρχεται με την PostgreSQL v1.01/1.02. Αν χρησιμοποιείτε
μια πιο πρόσφατη έκδοση της Postgres, να περιμένετε πως το
πρόγραμμα θα χρειαστεί μερικές αλλαγές για να δουλέψει σωστά. Στην
αναπτυσσόμενη έκδοση (Earp 2.0), η υποστήριξη libpq ενσωματώνεται
σαν module.
15.4. Πώς δουλεύει ;
Ένα από τα κυριότερα χαρακτηριστικά του EARP είναι ότι χρησιμοποιεί
Αντικειμενοστραφή μέθοδο για να παράγει html σελίδες που επικοινωνούν
με τη βάση. Οι περισσότερες σελίδες αποτελούνται από διάφορα
αντικείμενα (objects). Κάθε αντικείμενο παράγεται από κάποιου τύπου
εργαλείο και αφού του δοθεί ένα όνομα, τα αντικείμενα συνδέονται
μεταξύ τους σε μία αλληλουχία που μπορεί να καλεστεί από το εργαλείο
της σελίδας (page tool). Τα αντικείμενα είναι μπορούν να
χρησιμοποιηθούν από πολλαπλές σελίδες. Υπάρχουν βασικά εργαλεία για
HTML, Ερωτήσεις (Querys), να παίρνετε τιμές από τις φόρμες, να
φορμάρετε ερωτήσεις και αντικείμενα εισόδου, και να συνδέετε μεταξύ
τους τα αντικείμενα σε άλλα αντικείμενα. Περισσότερα εξελιγμένα
εργαλεία περιλαμβάνουν το εργαλείο για mail και το multithreaded
εργαλείο ερωτήσεων.
Αλλο χαρακτηριστικό του EARP είναι η έξτρα ασφάλεια. Η πρόσβαση σε
διάφορες περιοχές του συστήματος EARP μπορεί να περιοριστεί με
διάφορους τρόπους. Για να ευκολύνει την έξτρα ασφάλεια, το EARP
ελέγχει για κάθε σύνδεση στο σύστημα, και προσδιορίζει σε ποια ids και
γκρουπ ανήκει ο συνδεδεμένος agent. Η πρόσβαση σε περιοχές καθορίζεται
ξεχωριστά, και ο συνδυασμός αποφασίζει αν επιτρέπεται η πρόσβαση σε
μια συγκεκριμένη περιοχή του Earp. Επιπλέον, ό,τι απαιτείται για να
υλοποιήσετε τα χαρακτηριστικά ασφαλείας είναι ένας http server που
υποστηρίζει βασικό (ή καλύτερα) user authentication.
15.5. Πού θα το βρω ;
Μπορείτε να κατεβάσετε το EARP με anonymous ftp από το
· στον κατάλογο 'pub/unix/earp'.
16. PHP Hypertext Preprocessor, μια scripting γλώσσα για την Post
greSQL η οποία ενσωματώνεται σε html και εκτελείται στο Server
Εργαλείο διασύνδεσης με το WWW
·
·
Το παλιό όνομα είναι Professional Home Pages (PHP 3) και το νέο
όνομα είναι PHP Hypertext Pre-Processor
· Υπάρχουν Mirror sites σε πολλές χώρες όπως το
www.COUNTRYCODE.php.net
·
·
·
Για ερωτήσεις, στείλτε e-mail στο :
· rasmus@lerdorf.on.ca
Το PHP 3 είναι μια scripting γλώσσα για την PostgreSQL η οποία
ενσωματώνεται σε html και εκτελείται στο Server. Σας επιτρέπει να
γράφετε απλά scripts στα αρχεία .HTML παρόμοια με την JavaScript, μόνο
που αντίθετα με την JavaScript, το PHP 3 δεν εξαρτάται από το browser.
Το JavaScript είναι μια γλώσσα η οποία ενσωματώνεται σε html και
τρέχει στο client-μέρος ενώ το PHP 3 εκτελείται στο Server. Το PHP 3
είναι παρόμοιο στην σύλληψη με το προϊόν της Netscape LiveWire Pro. Αν
έχετε τα απαιτούμενα χρήματα, και τρέχετε τον εμπορικό Server της
Netscape και έχετε ένα από τα υποστηριζόμενα λειτουργικά συστήματα,
ίσως θα πρέπει να ρίξετε μια ματιά στο LiveWire Pro. Αν σας αρέσει το
δωρεάν, ταχύτατα αναπτυσσόμενο λογισμικό που έρχεται με όλο τον πηγαίο
κώδικα πιθανά να σας αρέσει το PHP 3.
16.1. Κύρια χαρακτηριστικά
Υποστήριξη στάνταρ CGI, FastCGI και Apache module. Σαν ένα στάνταρ
πρόγραμμα CGI, το PHP 3 μπορεί να εγκατασταθεί σε οποιαδήποτε μηχανή
Unix και να τρέξει σε οποιοδήποτε Unix web server. Με την υποστήριξη
του νέου στάνταρ FastCGI, το PHP 3 έχει το πλεονέκτημα των βελτιώσεων
στην ταχύτητα που οφείλονται σε αυτό το μηχανισμό. Σαν Apache module,
το PHP 3 γίνεται εξαιρετικά ισχυρό και τρομακτικά γρήγορη εναλλακτική
του προγραμματισμού σε CGI.
· Καταγραφή των προσβάσεων (Access Logging) Με τη δυνατότητα
καταγραφής των προσβάσεων του PHP 3, οι χρήστες μπορούν να
συντηρήσουν το δικό τους μετρητή και καταγραφέα προσβάσεων (hit
counting and logging). Δε χρησιμοποιεί με κανένα τρόπο τα κεντρικά
αρχεία πρόσβασης στο σύστημα, και παρέχει παρακολούθηση προσβάσεων
σε πραγματικό χρόνο. Το Log Viewer Script παρέχει μια σύντομη
περίληψη των προσβάσεων σε ένα σύνολο σελίδων για κάθε ξεχωριστό
χρήστη. Επιπλέον, το πακέτο μπορεί να ρυθμιστεί ώστε να παράγει ένα
footer σε κάθε σελίδα το οποίο δείχνει πληροφορίες σχετικά με την
πρόσβαση. Δείτε το τέλος αυτής της σελίδας για ένα παράδειγμα σε
αυτά.
· Έλεγχος προσβάσεων Μια ενσωματωμένη οθόνη, βασισμένη στο web,
χειρίζεται τις ρυθμίσεις για τον έλεγχο των προσβάσεων. Είναι
δυνατό να δημιουργήσετε κανόνες για όλες ή κάποιες από τις web
σελίδες που έχει κάποιο συγκεκριμένο άτομο, το οποίο θέτει
διάφορους περιορισμούς για το ποιος μπορεί να βλέπει αυτές τις
σελίδες και πώς θα τις βλέπει. Οι σελίδες μπορεί να προστατεύονται
με κωδικό, να είναι πλήρως απαγορευμένες, να είναι απενεργοποιημένη
η καταγραφή (logging disabled) και ακόμη περισσότερα βασισμένα στο
domain του client, browser,τη διεύθυνση e-mail ή ακόμη και το
σχετικό κείμενο.
· Υποστήριξη για Postgres Η Postgres είναι ένα εξελιγμένο δωρεάν
RDBMS. Το PHP 3 υποστηρίζει την ενσωμάτωση Postgres95 και
PostgresSQL SQL ερωτήσεων κατευθείαν μέσα σε αρχεία .html.
· Υποστήριξη RFC-1867 Αποστολή/Ανέβασμα Αρχείων (File Upload) Το
Upload αρχείων είναι ένα νέο χαρακτηριστικό στο Netscape 2.0.
Επιτρέπει στους χρήστες να στείλουν (upload) τα αρχεία τους στο web
server. Το PHP 3 παρέχει το πραγματικό Mime decoding για να το
κάνει αυτό να δουλέψει και επίσης παρέχει το πλαίσιο για να κάνετε
κάτι χρήσιμο με το αρχείο που στείλατε, μόλος το λάβει ο server.
· HTTP-based authentication control Το PHP 3 μπορεί να χρησιμοποιηθεί
για να δημιουργήσει μηχανισμούς authentication επί παραγγελία,
βασισμένους σε HTTP, για τον Apache web server.
· Μεταβλητές, Πίνακες (arrays), Συσχετιστικοί πίνακες (Associative
Arrays) Το PHP 3 υποστηρίζει μεταβλητές τύπων (typed variables),
πίνακες και ακόμη και Perl-οειδείς συσχετιστικούς πίνακες
(associative arrays). Όλα αυτά μπορούν να περνούν από τη μία web
σελίδα στην άλλη χρησιμοποιώντας τις μεθόδους των φορμών, GET ή
POST.
· Conditionals, While Loops Το PHP 3 υποστηρίζει μια γλώσσα scripting
με όλα τα χαρακτηριστικά της C. Μπορείτε να έχετε συνθήκες
if/then/elseif/else/endif όπως και while loops και δηλώσεις
switch/case για να περιγράψει τη λογική ροή του πώς θα εμφανίζεται
η html σελίδα.
· Extended Regular Expressions Τα Regular expressions
χρησιμοποιούνται πολύ για ταυτοποίηση (pattern matching),
αντικαταστήσεις των pattern και γενικό χειρισμό αλφαριθμητικών. Το
PHP 3 υποστηρίζει όλους τους κοινούς τελεστές κανονικών εκφράσεων.
· Raw HTTP Header Control Η δυνατότητα να κάνουμε τις web σελίδες να
στέλνουν ειδικά τροποποιημένες επικεφαλίδες HTTP ανάλογα με κάποιες
συνθήκες είναι απαραίτητο για σχεδιασμό web sites υψηλού επιπέδου.
Συχνή χρήση αυτού, είναι η αποστολή μιας τοποθεσίας: URL header για
ανακατεύθυνση του πελάτη που έκανε την κλήση προς άλλο URL. Μπορεί
να χρησιμοποιηθεί επίσης για να απενεργοποιήσουμε το caching ή να
επεξεργαστούμε την τελευταία επικεφαλίδα ενημέρωσης.
· Δημιουργία GIF εικόνας επί τόπου/στον αέρα (On-the-fly) Το PHP 3
υποστηρίζει τη GD βιβλιοθήκη εικόνων του Thomas Boutell η οποία σας
δίνει τη δυνατότητα να δημιουργήσετε GIF εικόνες επί τόπου.
· Υποστήριξη ISP "Safe Mode" Το PHP 3 υποστηρίζει το μοναδικό "Safe
Mode" το οποίο κάνει ασφαλές το να έχετε πολλούς χρήστες να τρέχουν
PHP scripts στον ίδιο server.
· Είναι δωρεάν! Και το τελικό ουσιαστικό χαρακτηριστικό. Το πακέτο
είναι εντελώς δωρεάν. Βρίσκεται κάτω από την άδεια GPL η οποία σας
επιτρέπει να χρησιμοποιήσετε το λογισμικό για οποιοδήποτε σκοπό,
εμπορικό ή οποιονδήποτε άλλο. Δείτε το κείμενο της δημόσιας άδειας
GNU για περισσότερες λεπτομέρειες.
16.2. Αναγνώριση/Ευχαριστίες
* Μεγάλα κομμάτια αυτού του κώδικα αναπτύχθηκαν στο και για το
Πανεπιστήμιο του Τορόντο. Πολλές ευχαριστίες στον Lee Oattes του
Τμήματος Ανάπτυξης Δικτύων του πανεπιστημίου για τις συνεχείς
εποικοδομητικές κριτικές του.
* Ο κώδικας υποστήριξης της PostgreSQL γράφτηκε από τον Adam Sussman
· asussman@vidya.com
* Αναρίθμητοι άλλοι, βοήθησαν στο να ελεγχθεί και να αποσφαλματωθεί το
πακέτο.
16.3. PHP 3 - Σύντομο Ιστορικό
Το PHP ξεκίνησε την ζωή του ως cgi κώδικας επικάλυψης (cgi wrapper)
γραμμένος σε Perl. Δεν προοριζόταν για τίποτα πέρα από προσωπική
χρήση. Το όνομα του πρώτου αυτού πακέτου ήταν Personal Home Page
Tools, και αργότερα έγινε Personal Home Page Construction Kit.
Γράφτηκε ένα εργαλείο για να ενσωματώνει εύκολα ερωτήσεις SQL σε web
σελίδες. Ήταν βασικά ένα ακόμα CGI wrapper που μετέφραζε ερωτήσεις SQL
και έκανε την δημιουργία φορμών και πινάκων από τις ερωτήσεις μια
εύκολη υπόθεση. Το εργαλείο αυτό ονομάστηκε FI (Form Interpreter).
Το PHP/FI έκδοση 2.0 είναι ένα ενιαίο πρόγραμμα, εξ'ολοκλήρου
ξαναγραμμένο, που αποτελεί τον συνδυασμό των δύο παραπάνω πακέτων.
Έχει τώρα πια εξελιχθεί σε σημείο που είναι μια απλή προγραμματιστική
γλώσσα ενσωματωμένη σε αρχεία HTML. Το αρχικό ακρωνύμιο, PHP, έμεινε.
Δεν είναι καν αντιπροσωπευτικό πια. Το PHP/FI χρησιμοποιείται
περισσότερο από ολόκληρα web sites σήμερα, παρά για μικρές
εγκαταστάσεις Προσωπικών Σελίδων (Personal Home Page). Με όποιο όνομα,
εξαλείφει την ανάγκη για τα πολυάριθμα μικρά Perl cgi προγράμματα,
επιτρέποντας σας να βάλετε μικρά scripts απευθείας στα HTML αρχεία
σας. Αυτό επιταχύνει την ολική ταχύτητα των web pages σας, μια που η
καθυστέρηση του κλωνισμού (forking) της Perl σε πολλαπλά αντίτυπα έχει
εξαλειφθεί. Κάνει επίσης ευκολότερη την διαχείριση μεγάλων web sites
τοποθετώντας όλα τα συστατικά μιας web page σε ένα μόνο html αρχείο.
Ενσωματώνοντας υποστήριξη για διάφορες βάσεις, κάνει την ανάπτυξη
σελίδων-με-δυνατότητες-χρήσης-βάσης τετριμμένη. Πολλοί βρίσκουν την
ενσωματωμένη φύση του προγράμματος πολύ ευκολότερη παρά το να
προσπαθούν να δημιουργούν ξεχωριστά αρχεία HTML και CGI.
Κατά τη διάρκεια αυτής της τεκμηρίωσης, κάθε αναφορά στο PHP, FI ή στο
PHP/FI μιλάει για το ίδιο πράγμα. Οι διαφορά μεταξύ του PHP και του FI
είναι μόνο θέμα αντίληψης. Και τα δύο χτίζονται από τον κώδικα της
ίδιας διανομής. Τώρα το PHP/FI μετονομάστηκε σε PHP 3.
16.4. Τι μπορώ να κάνω, λοιπόν, με το PHP/FI ;
Το πρώτο πράγμα που θα παρατηρήσετε αν τρέξετε μια σελίδα μέσω του
PHP/FI είναι ότι προσθέτει ένα footer με πληροφορίες σχετικά με τον
αριθμό προσβάσεων στη σελίδα σας (αν έχετε μεταγλωττίσει την καταγραφή
προσβάσεων στο εκτελέσιμο). Αυτό είναι ένα πολύ μικρό δείγμα του τι
μπορεί να κάνει για σας το PHP/FI. Παίζει τον εξίσου σημαντικό ρόλο
του μεταφραστή cgi σε φόρμες, από εκεί βγαίνει και to FI μέρος του
ονόματος. Για παράδειγμα, αν δημιουργήσετε μια φόρμα σε μία από τις
web σελίδες σας, χρειάζεστε κάτι για να επεξεργαστεί την πληροφορία σε
αυτή τη φόρμα. Ακόμη και αν απλά θέλετε να περάσετε πληροφορία σε μια
άλλη σελίδα, θα πρέπει να χρησιμοποιήσετε ένα πρόγραμμα cgi για να το
κάνετε αυτό. To PHP/FI κάνει εξαιρετικά εύκολο το να πάρετε δεδομένα
από μια φόρμα και να κάνετε κάτι με αυτά.
16.5. Ένα απλό παράδειγμα
Ας υποθέσουμε ότι έχετε μια φόρμα: