Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση της MySQL. Γιώργος Πυρουνάκης -

Σχετικά έγγραφα
Εργαστήριο Βάσεων Δεδομένων

Βάσεις Δεδομένων Ι SQL Μέρος 3 ο. (Constraints & Joins) Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ

Εργαστήριο Βάσεων Δεδομένων

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση του DBDesigner. Γιώργος Πυρουνάκης - forky@di.uoa.gr

Οδηγίες Χρήσης της MySQL

Οδηγίες Χρήσης της MySQL

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

Βάσεις Δεδομένων (Databases)

databases linux - terminal (linux / windows terminal)

SQL Τύποι Δεδομένων Δημιουργία Πίνακα Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #3

Σχεδιασμός Βάσεων Δεδομένων

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #2

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Θέματα Προγραμματισμού Διαδικτύου ~ MySQL & PHP ~

Παράδειγμα Εμφιαλωτήριο. Διάγραμμα Οντοτήτων - Συσχετίσεων

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

Παράδειγμα Insert Update Delete Alter.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (2)

Ηλεκτρονικοί Υπολογιστές II

Διαχείριση Πολιτισμικών Δεδομένων

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY.

Εργαστηά ριο Βαά σεων Δεδομεάνων

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 2

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

Βάσεις Περιβαλλοντικών Δεδομένων

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML.

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

Ενεργές ΒΔ. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Βάσεις Δεδομένων Ενεργές ΒΔ 1

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων

PHPMyAdmin: Σύντομος οδηγός για αρχάριους

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

Προγραμματισμός Παγκόσμιου Ιστού

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Βάσεις Δεδομένων

Λευτέρης Κουμάκης ΠΟΛΥΜΕΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ ΣΤΗΝ ΥΓΕΙΑ

Βασικές Εντολές SQL. Θεωρία & Εντολές SQL. Γραμμή Εντολών MS-DOS (MySQL)

Τεχνολογία Πολιτισμικού Λογισμικού

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1)

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2)

Φυσική Σχεδίαση Υλοποίηση βάσης

Το σχεσιακό μοντέλο βάσεων δεδομένων

Εργαστήριο Βάσεων Δεδομένων

(Μέρος 3:Γλώσσα Ορισµού, Γλώσσα Τροποποίησης, Ενσωµατωµένη SQL) Βάσεις εδοµένων Ευαγγελία Πιτουρά 2

Βάσεις Δεδομένων 5η εργαστηριακή άσκηση

Πανεπιστήµιο Ιωαννίνων Τµήµα Μαθηµατικών Μάθηµα: Βάσεις εδοµένων (741) Εργαστηριακό Τεστ Οµάδα: Α 18/11/2004

Ανοικτά Ακαδημαϊκά Μαθήματα

ΗΓλώσσαSQL. Εισαγωγή Βασικές Έννοιες Τύποι Δεδομένων Ορισμός Δεδομένων Χειρισμός Δεδομένων

10 η Διάλεξη Python Βάσεις δεδομένων στη python

Προγραμματισμός Διαδικτύου Ασκήσεις Εργαστηρίου

Χρήση της PHP και επικοινωνία με τη MySQL

Εργαστήριο βάσεων δεδομένων. Εισαγωγή στη MySQL (2)

Οδηγίες Βασικής Χρήσης του MySQL Workbench

XAMPP Apache MySQL PHP javascript xampp

ΕΠΛ 342 Βάσεις εδοµένων

Εργαστήριο Βάσεων Δεδομένων. Triggers

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 3

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 4ο Μάθημα: SQL - Παράδειγμα. Δρ. Κωνσταντίνος Χ.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.

ΗΛΕΚΤΡΟΝΙΚΟ ΚΑΤΑΣΤΗΜΑ

1. ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΤΗΣ MySQL

Τμήμα Διοίκησης Επιχειρήσεων

Σχεδιασμός Πληροφοριακών Συστημάτων. Σημειώσεις

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 9β: SQL (Διαχείριση εγγραφών, Όψεις, Περιορισμοί, Εναύσματα) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής

Αρχεία και Βάσεις Δεδομένων

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 3ο Μάθημα: Εισαγωγή στην SQL. Δρ. Κωνσταντίνος Χ.

Ανάκτηση Δεδομένων (Information Retrieval)

Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL. Διδάσκων: Παναγιώτης Ανδρέου

ΔΟΜΕΣ ΚΑΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL

Βάσεις Δεδομένων (Databases)

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter )

ΚΕΦΑΛΑΙΟ ΤΡΙΤΟ ΕΝΤΟΛΕΣ SQL

Παράδειγμα Select Introduction Group By Join Aliases.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (3)

Website... 2 Στατικό website... 2 Δυναμικό website... 3 Πλεονεκτήματα δυναμικού website... 3 website από την πλευρά του πελάτη...

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Βάσεις Δεδομένων Ι Ευρετήρια/Indexes. (...και επιδόσεις ΣΔΒΔ) Views (Όψεις) Φώτης Κόκκορας (MSc/PhD) Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπ/νιών

Τ.Ε.Ι. ΚΑΒΑΛΑΣ ΤΜΗΜΑ. Λυμπερίδης Αντώνιος ΜΑΙΟΣ ΕΠΟΠΤΗΣ ΚΑΘΗΓΗΤΗΣ Βασίλειος Χατζής

Ανάπτυξη διαδικτυακών εφαρμογών με την Python Το εργαλείο Flask

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

Βάσεις Δεδομένων. Ενότητα 6: Γλώσσα Structured Query Language -SQL. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Κεφάλαιο 2. Δημιουργία Βάσης Δεδομένων και Πινάκων

Τεχνολογία Πολιτισμικού Λογισμικού

Η Γλώσσα SQL. Εισαγωγή Βασικές Έννοιες Τύποι Δεδομένων Ορισμός Δεδομένων Χειρισμός Δεδομένων

Το Μοντέλο των Οντοτήτων Συσχετίσεων Entity Relationship Model. Νικόλαος Ζ. Ζάχαρης

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL

Κεφάλαιο 6. Περιορισμοί Ακεραιότητας Βάσεων Δεδομένων

Transcript:

Σχεδίαση και Χρήση Βάσεων Δεδομένων Χρήση της MySQL Γιώργος Πυρουνάκης - forky@di.uoa.gr

Δομή Διάλεξης Παράδειγμα (Βάση Δεδομένων Προμηθευτές/Προϊόντα) Εισαγωγή στη MySQL Χρήση του mysql client Χρήση του MySQL Query Browser Βάση Δεδομένων Ταινιοθήκης 31/10/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 2

Προμηθευτές/Προϊόντα: Σχήμα S (ΠΡΟΜΗΘΕΥΤΗΣ) SN SONOMA KATAS P (ΠΡΟΙΟΝ) SPOLI SP (ΠΑΡΑΓΓΕΛΙΑ) SN PN POSOT PN PONOMA XROMA BAROS PPOLI 31/10/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 3

Προμηθευτές/Προϊόντα: Τιμές SN S1 S2 S3 SONOMA ΔΟΥΚΑΣ ΑΝΔΡΕΟΥ ΦΩΤΙΟΥ KATAST 20 10 30 SPOLI ΛΟΝΔΙΝΟ ΠΑΡΙΣΙ ΠΑΡΙΣΙ SN S1 S1 S1 PN P1 P2 P3 POSOT 300 200 400 S2 P1 300 S2 P2 400 S3 P2 200 PN PONOMA ΧΡΟΜΑ BAROS PPOLI P1 ΠΑΞΙΜΑΔΙ ΚΟΚΚΙΝΟ 12 ΛΟΝΔΙΝΟ P2 ΒΙΔΑ ΠΡΑΣΙΝΟ 17 ΠΑΡΙΣΙ P3 ΚΑΤΣΑΒΙΔΙ ΜΠΛΕ 17 ΡΩΜΗ P4 ΚΑΤΣΑΒΙΔΙ ΚΟΚΚΙΝΟ 14 ΛΟΝΔΙΝΟ 31/10/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 4

MySQL Σύστημα Διαχείρισης Βάσεων Δεδομένων ανοικτού κώδικα (open source) Χρήση MySQL Server v5.0 Γενικές πληροφορίες στο http://dev.mysql.com Εγχειρίδιο αναφοράς στο http://dev.mysql.com/doc/refman/5.0/en/ 31/10/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 5

Πλατφόρμα LAMP Ανάπτυξη δυναμικών website με χρήση εφαρμογών ανοικτού κώδικα Linux (λειτουργικό σύστημα) Apache (web εξυπηρέτης) MySQL (ΣΔΒΔ) PHP, Perl ή Python (γλώσσα προγραμματισμού) 31/10/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 6

Χρήση του mysql client Command-line client Σύνδεση στον τοπικό ή σε απομακρυσμένο εξυπηρέτη MySQL Σύνδεση στον τοπικό εξυπηρέτη Login στον polynikes.di.uoa.gr shell> /opt/mysql/bin/mysql -u forky -p Σύνδεση σε απομακρυσμένο εξυπηρέτη Login σε έναν υπολογιστή που έχει mysql client shell> {mysql path}/mysql -u forky -p -h polynikes.di.uoa.gr 31/10/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 7

Τα πρώτα βήματα Εμφάνιση προσβάσιμων βάσεων δεδομένων > SHOW DATABASES; Χρήση συγκεκριμένης βάσης δεδομένων > USE test; Εμφάνιση του CREATE της βάσης > SHOW CREATE DATABASE test; Έξοδος από τον mysql client > QUIT (ή EXIT) 31/10/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 8

Σύνολα χαρακτήρων Ορίζεται σε επίπεδο: Εξυπηρέτη, Βάσης Δεδομένων, Πίνακα ή Στήλης Υποστηριζόμενα σύνολα χαρακτήρων > SHOW CHARACTER SET; Υποστηριζόμενοι κανόνες σύγκρισης χαρακτήρων (collations) > SHOW COLLATION LIKE 'greek%'; Το greek χρησιμοποιεί 1 byte Το utf8 χρησιμοποιεί από 1 έως 3 bytes 31/10/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 9

CREATE TABLE S CREATE TABLE S ( SN char(2) CHARACTER SET latin1 NOT NULL, SONOMA varchar(20) NOT NULL, KATAST smallint unsigned, SPOLI varchar(20), PRIMARY KEY (SN) ) ENGINE = InnoDB; 31/10/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 10

CREATE TABLE P CREATE TABLE P ( PN char(2) CHARACTER SET latin1 NOT NULL, PONOMA varchar(20) NOT NULL, XROMA set ('ΚΟΚΚΙΝΟ', 'ΜΠΛΕ', 'ΠΡΑΣΙΝΟ'), BAROS smallint unsigned, PPOLI varchar(20), PRIMARY KEY (PN) ) ENGINE = InnoDB; 31/10/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 11

CREATE TABLE SP CREATE TABLE SP ( SN char(2) NOT NULL, PN char(2) NOT NULL, POSOT int unsigned, PRIMARY KEY (SN, PN), FOREIGN KEY (SN) REFERENCES S(SN) ON UPDATE CASCADE ON DELETE RESTRICT, FOREIGN KEY (PN) REFERENCES P(PN) ON UPDATE CASCADE ON DELETE RESTRICT ) ENGINE = InnoDB DEFAULT CHARACTER SET latin1; 31/10/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 12

Τύποι πινάκων Κάθε πίνακας μιας ΒΔ μπορεί να χρησιμοποιεί διαφορετικό τύπο (storage engine) MyISAM Χρησιμοποιείται εξ' ορισμού Δυνατότητες full-text αναζήτησης Άνάκτηση και αποθήκευση με υψηλές ταχύτητες InnoDB Περιορισμοί σε ξένα κλειδιά (foreign key constraints) Δυνατότητα χρήσης transactions 31/10/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 13

Εισαγωγή τιμών Εμφάνιση πινάκων > SHOW TABLES; Εμφάνιση του CREATE ενός πίνακα > SHOW CREATE TABLE S; Εισαγωγή τιμών σε πίνακα > INSERT INTO S VALUES ('S1', 'ΔΟΥΚΑΣ', 20, 'ΛΟΝΔΙΝΟ'); 31/10/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 14

Προμηθευτές/Προϊόντα: Τιμές SN S1 S2 S3 SONOMA ΔΟΥΚΑΣ ΑΝΔΡΕΟΥ ΦΩΤΙΟΥ KATAST 20 10 30 SPOLI ΛΟΝΔΙΝΟ ΠΑΡΙΣΙ ΠΑΡΙΣΙ SN S1 S1 S1 PN P1 P2 P3 POSOT 300 200 400 S2 P1 300 S2 P2 400 S3 P2 200 PN PONOMA ΧΡΟΜΑ BAROS PPOLI P1 ΠΑΞΙΜΑΔΙ ΚΟΚΚΙΝΟ 12 ΛΟΝΔΙΝΟ P2 ΒΙΔΑ ΠΡΑΣΙΝΟ 17 ΠΑΡΙΣΙ P3 ΚΑΤΣΑΒΙΔΙ ΜΠΛΕ 17 ΡΩΜΗ P4 ΚΑΤΣΑΒΙΔΙ ΚΟΚΚΙΝΟ 14 ΛΟΝΔΙΝΟ 31/10/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 15

Tips Για χρήση ελληνικών > charset greek Εμφάνιση αποτελεσμάτων κάθετα Χρήση του τερματικού όρου \G (π.χ. SELECT * FROM P \G) Εναλλακτικοί τρόποι εμφάνισης αποτελεσμάτων > pager less ή > pager more Βοήθεια (πάντα είναι χρήσιμη) > help 31/10/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 16

MySQL Query Browser Γραφικό περιβάλλον για τη δημιουργία και εκτέλεση επερωτήσεων σε MySQL Server Διατίθεται δωρεάν Διαθέσιμο στο http://dev.mysql.com/downloads/ (MySQL GUI Tools) Ελληνικές οδηγίες χρήσης στο http://dev.mysql.com/doc/query-browser/el/ 31/10/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 17

Σχήμα ΒΔ Ταινιοθήκης xaraktirismos tainia eidos etaireia_parag onoma dieuthinsi atomo ar_taut epitheto onoma hm_gen tainia titlos etos_parag etaireia_parag diarkeia skinothetei ar_taut tainia paizei ar_taut tainia 31/10/2007 Σχεδίαση και Χρήση Βάσεων Δεδομένων 18