ΗΥ360 Αρχεία και Βάσεις ∆ εδοµένων ∆ ιδάσκων: ∆. Πλεξουσάκης Project 2014 OnlyBooks 1 Διαδικαστικά Δήλωση ομάδων : 16/12/2014 με email στο hy360@csd.uoc.gr Ομάδες : 3 ατόμων! Παράδοση: 19/1/2014 - 12:00 το μεσημέρι Εξέταση: 26/1 – 29/1/2014 Όλα τα μέλη της κάθε ομάδας θα πρέπει να είναι παρόντα. Υλοποίηση: Σε δικά σας μηχανήματα ή σε μηχανήματα της σχολής 2 Παραδοτέα - ένα πλήρες διάγραμμα οντοτήτων-σχέσεων για την εταιρία - τα γνωρίσματα (όνομα, τύπος) όλων των οντοτήτων και σχέσεων - τα πρωτεύοντα κλειδιά - επεξηγήσεις για τα μη-προφανή γνωρίσματα και τις μη-προφανείς σχέσεις - περιορισμούς πληθικότητας - τη μετάφραση του μοντέλου σας στο σχεσιακό μοντέλο - τις εντολές της γλώσσας ορισμού δεδομένων για τις σχέσεις που προκύπτουν - περιορισμούς ακεραιότητας και συναρτησιακές εξαρτήσεις - καθορισμό κλειδιών των σχέσεων βάσει των συναρτησιακών εξαρτήσεων - μετατροπή του μοντέλου σε τρίτη κανονική μορφή με διατήρηση των συναρτησιακών εξαρτήσεων και χωρίς απώλεια πληροφορίας - περιγραφή των ερωτήσεων προς τη βάση δεδομένων με SQL - τον κώδικα των προγραμμάτων τα οποία υλοποιούν τις διαδικασίες που καθορίστηκαν παραπάνω - ένα σύντομο εγχειρίδιο χρήσης του συστήματος - ενδεικτικά αποτελέσματα από την εκτέλεση των διαδικασιών - περιγραφή των περιορισμών της υλοποίησής σας και των δυνατοτήτων βελτίωσής του 3 Υλοποίηση 1. Σε μηχανήματα της σχολής 2. Σε δικά σας μηχανήματα 1. Windows 2. Linux Βάση : MySQL server Διεπαφή : PHP, JAVA κλπ 4 Υλοποίηση Linux - Προαπαιτούμενα MySQL server για την υλοποίηση της βάσης - Apache , PHP - JAVA - PHPMYADMIN (Εργαλείο διαχείρησης βάσεων MySQL) APACHE - PHP Ubuntu : https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu Fedora / Centos : https://www.digitalocean.com/community/tutorials/how-to-install-lamp-linux-apache-mysql-php-on-fedora JAVA Ubuntu: http://www.krizna.com/ubuntu/install-eclipse-in-ubuntu-12-04/ Fedora/ Centos : http://www.itzgeek.com/how-tos/linux/centos-how-tos/install-eclipse-4-4-luna-ide-on-centos-7-rhel7.html#axzz3LUrO4Uqd PHPMYADMIN Ubuntu : https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-on-ubuntu-12-04 Fedora / Centos : https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-with-nginx-on-acentos-7-server 5 Υλοποίηση Linux - Προαπαιτούμενα 6 Υλοποίηση Windows- Προαπαιτούμενα XAMPP : http://downloads.sourceforge.net/project/xampp/XAMPP%20Windows/5.6.3/xampp-win325.6.3-0-VC11-installer.exe Εγκατάσταση : http://www.wikihow.com/Install-XAMPP-for-Windows Πριν εγκαταστήσετε το XAMPP, και αν έχετε εγκατεστημένο το Skype, θα πρέπει να αλλάξετε κάποιες προεπιλεγμένες ρυθμίσεις που επηρεάζουν την εγκατάσταση του XAMPP, χωρίς φυσικά να επηρεάζεται η λειτουργία του Skype: Στο Skype, από το μενού Εργαλεία / Επιλογές αποεπιλέξτε την επιλογή «Χρήση των θυρών 80 και 443» 7 Υλοποίηση Windows- Προαπαιτούμενα JAVA: Eclipse : https://elearn.uoc.gr/pluginfile.php/19047/mod_resource/content/0/F10_ECLIPSE_2014_201 5.pdf NetBeans : https://elearn.uoc.gr/pluginfile.php/19046/mod_resource/content/0/F10_NETBEANS_2014_ 2015.pdf 8 Παραδείγματα PHP <?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $sql = "SELECT id, firstname, lastname FROM MyGuests"; $result = mysqli_query($conn, $sql); if (mysqli_num_rows($result) > 0) { // output data of each row while($row = mysqli_fetch_assoc($result)) { echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>"; } } else { echo "0 results"; } mysqli_close($conn); ?> 9 Παραδείγματα JAVA // JDBC driver name and database URL static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost/EMP"; // Database credentials static final String USER = "username"; static final String PASS = "password"; //STEP 2: Register JDBC driver Class.forName("com.mysql.jdbc.Driver"); //STEP 5: Extract data from result set while(rs.next()){ //Retrieve by column name int id = rs.getInt("id"); int age = rs.getInt("age"); String first = rs.getString("first"); String last = rs.getString("last"); } //Display values System.out.print("ID: " + id); System.out.print(", Age: " + age); System.out.print(", First: " + first); System.out.println(", Last: " + last); //STEP 6: Clean-up environment rs.close(); stmt.close(); conn.close(); //STEP 4: Execute a query System.out.println("Creating statement..."); stmt = conn.createStatement(); String sql; sql = "SELECT id, first, last, age FROM Employees"; ResultSet rs = stmt.executeQuery(sql); 10
© Copyright 2024 Paperzz