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

Σχετικά έγγραφα
Lecture 12: SQL DDL I

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη

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

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

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

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

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

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

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

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

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

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

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ

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

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

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

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

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

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

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

Διάλεξη 11: SQL Data Definition Language. Διδάσκων: Παναγιώτης Ανδρέου

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εργαστήριο 1

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

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

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

Συστήματα Διαχείρισης Βάσεων Δεδομένων

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

( Boats)) ( Tempsids, bid. sname. Boats. Boats. Boats. (Reserves)/ > Reserves. Interlake' Sailors) ...

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Τύποι Δεδομένων Είσοδος/Έξοδος

Τμήμα Πληροφορικής ΑΠΘ

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

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

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 7 και 8: Αναπαραστάσεις. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

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

Εισαγωγή στην πληροφορική

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

Βάςεισ Δεδομζνων Ι. Ενότητα 7: Ειςαγωγή ςτην γλώςςα_sql. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικϊν Πλθροφορικισ ΣΕ

Βάσεις Δεδομένων Ενότητα 8

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. 5 ο Μάθημα. Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ. url:

Πράξεις με δυαδικούς αριθμούς

Chapter 3. Αριθμητική Υπολογιστών. Όγδοη (8 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Κεφάλαιο 2.5: Τύποι εδοµένων, Τελεστές και Αριθµητικές Εκφράσεις. ( ιαλέξεις 5-6) ιδάσκων: ηµήτρης Ζεϊναλιπούρ


Σφάλματα (errors) Σε κάθε υπολογισμό μιας πραγματικής ποσότητας υπάρχει σφάλμα

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

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6)

Chapter 3. Αριθμητική Υπολογιστών. (συνέχεια)

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Ι (ΗΥ120)

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

Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

Αρχιτεκτονικές Υπολογιστών

ΕΠΛ131 Αρχές Προγραμματισμού Ι

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

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

CE 120. Φροντιστήριο 14/10/2011

Πληροφορική. Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

ΤΕΙ Ιονίων Νήσων Εργαστηριακές Ασκήσεις στα Γεωγραφικά Συστήματα Πληροφοριών

ΤΕΜ-101 Εισαγωγή στους Η/Υ Εξεταστική Ιανουαρίου 2011 Θέματα Β

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

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

Βάσεις Δεδομένων. Εισαγωγή για το Εργαστήριο. Δρ. Τιάκας Ελευθέριος. Τμήμα Πληροφορικής ΑΠΘ

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 12: SQL DDL. SQL Data Definition Language

Περιεχόμενα. Κεφάλαιο 2.5: Τύποι Δεδομένων, Τελεστές και Αριθμητικές Εκφράσεις. (Διαλέξεις 5-6) Τύποι Δεδομένων. Τελεστές. Αριθμητικές εκφράσεις

Προγραμματισμός I (Θ)

9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures):

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

Αριθμητική Κινητής Υποδιαστολής Πρόσθεση Αριθμών Κινητής Υποδιαστολής

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

Σχεσιακό Πρότυπο Δεδομένων

Ζαχαρίας Μ. Κοντοπόδης Microsoft Jet S.Q.L. Διαφάνεια 1η

ΕΠΛ131 Αρχές Προγραμματισμού

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

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

Μονοδιάστατοι πίνακες Πολυδιάστατοι πίνακες Μέθοδοι Μέθοδοι Recursive Overloading

Εισαγωγή στον Προγραμματισμό

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

1. Το σύστημα κινητής υποδιαστολής 2. Αναπαράσταση πραγματικών δυαδικών αριθμών 3. Το πρότυπο 754 της ΙΕΕΕ

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

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

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

Σχεδίαση Βάσεων Δεδομένων

Δύο είναι οι κύριες αιτίες που μπορούμε να πάρουμε από τον υπολογιστή λανθασμένα αποτελέσματα εξαιτίας των σφαλμάτων στρογγυλοποίησης:

Σκοπός του μαθήματος

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Δύο είναι οι κύριες αιτίες που μπορούμε να πάρουμε από τον υπολογιστή λανθασμένα αποτελέσματα εξαιτίας των σφαλμάτων στρογγυλοποίησης:

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

Εισαγωγή στην Γλώσσα Προγραμματισμού Python. 12/10/16 1

Transcript:

Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109)

Δομημένη Γλώσσα Ερωτήσεων SQL - DDL SQL Περίληψη SQL Τύποι δεδομένων DDL Δηλώσεις - Εντολές

Δηλωτικές Ερωτήσεις SELECT Title, TeamName FROM WHERE Rank = 1; Title TeamName Champions

SQL Περίληψη SQL είναι η γλώσσα ερωτήσεων για το System R και υλοποιήθηκε από την IBM San Jose [Astraham, Gray, Linsday, Selinger, ] SQL είναι το de-facto πρότυπο στις περισσότερες RDBMS Οι πιο επιτυχημένες προσπάθειες τυποποίησης SQL (ANSI 1986) SQL1 (ANSI 1989) SQL2 or SQL92 (ANSI 1992) SQL3 (ANSI 1999/2000) SQL = DDL + DML

SQL Τύποι δεδομένων Αριθμητικοί Σειρά χαρακτήρων Σειρά από δυαδικά ψηφία (Bit) Χρονολογικά δεδομένα NULL τιμή έγκυρη για όλους τους τύπους

SQL Αριθμητικά δεδομένα Ακέραιοι αριθμοί: Δύο τύποι δεκαδικών ακεραίων αριθμών με διαφορετικό εύρος: INTEGER (ή INT) και SMALLINT Το εύρος των αριθμητικών τύπων εξαρτάτε από την υλοποίηση Πραγματικοί Αριθμοί: 3 τύποι κινητής υποδιαστολής: FLOAT [ακρίβεια], REAL, και DOUBLE PRECISION Οι χρήστες μπορούν να καθορίσουν την ακρίβεια του FLOAT Η ακρίβεια του REAL και DOUBLE PRECISION είναι αμετάβλητη Η γραφή μπορεί να είναι δεκαδική ή επιστημονική (με εκθέτη) Τυποποιημένοι Αριθμοί: 3 τύποι δεκαδικής μορφής: DECIMAL(i,j), DEC(i,j) ή NUMERIC(i,j) i = ακρίβεια (# ολων των ψηφίων εκτός της υποδιαστολής) j = κλίμακα (# των δεκαδικών ψηφίων. J=0 το προκαθορισμένο)

Παρατηρήσεις στους αριθμητικούς τύπους Είναι σαν τα datatype στην C BIGINT για long integer ή integer Το Truncation είναι σχεδόν 0 Η στρογγυλοποίηση είναι business αντί Scientific [0..4] 0 [0..4] 0 [6..9] 1 [5..9] 1 Τις μισές φορές το 5 είναι 0 και μισές 1 Μερικά συστήματα χρησιμοποιούν Number() για floating Χρήματα ή Νομισματικά δεδομένα είναι αριθμητικά δεδομένα με το σύμβολο του νομίσματος

SQL Σειρά χαρακτήρων Μια Σειρά χαρακτήρων είναι μια σειρά από εκτυπώσιμους (printable) χαρακτήρες Στην SQL, η σειρές χαρακτήρων (character string) δηλώνονται με μονά εισαγωγικά: Hello SQL Δύο τύποι character strings Σταθερού μήκους n: CHAR(n) ή CHARACTER(n) Μεταβλητού μήκους, μέγιστου μεγέθους n: VARCHAR(n) ή CHAR VARYING (n) Η προκαθορισμένη τιμή του n είναι 1, αντιπροσωπεύοντας ένα μονό χαρακτήρα. Επίσης, CHAR ή CHARACTER Χαρακτήρες ξένων γλωσσών (ISO-defined chars): NATIONAL CHARACTER(n) και NATIONAL VARYING CHARACTER(n)

SQL Σειρά δυαδικών ψηφίων (Bit Strings) Τα Bit strings είναι σειρές από δυαδικά ψηφία, ή bits Τύποι Bit Strings Σταθερού μήκους n: BIT(n) Μεταβλητού μήκους, μέγιστου μεγέθους n: VARBIT(n) ή BIT VARYING (n) Η προκαθορισμένη τιμή του n είναι 1.

SQL Χρονολογικά δεδομένα (Temporal Data) Τρεις τύποι χρονολογικών δεδομένων DATE TIME και TIMESTAMP τύπος δεδομένων INTERVAL τύπος δεδομένων. INTERVAL αντιπροσωπεύει τύπους δεδομένων

Ημερομηνία και Ώρα DATE (10 θέσεις) αποθηκεύει τιμή ημερολογίου YEAR, MONTH, και DAY: YYYY-MM-DD TIME ορίζει HOURS, MINUTES, και SECONDS με 24ωρη δήλωση: HH:MM:SS TIME(i) ορίζει i επιπρόσθετα δεκαδικά κλάσματα δευτερολέπτου: HH:MM:SS:ddd...d TIME WITH TIME ZONE περιλαμβάνει το εκτόπισμα [+13:00 to -12:59] από την πρότυπη παγκόσμια ζώνη ώρας (time zone): HH:MM:SS+/-hh:mm hh είναι τα 2 ψηφία για το TIMEZONE_HOUR και mm τα 2 ψηφία για το TIMEZONE_MINUTE TIMESTAMP αντιπροσωπεύει μια πλήρη ημερομηνία και ώρα με 6 κλάσματα του δευτερολέπτου και ζώνη ώρας κατ επιλογή.

Διαστήματα (Intervals) Διάστημα είναι το αποτέλεσμα από την αφαίρεση 2 ημερομηνιών. Π.χ., AdmitDate DischargeDate Έχουμε 2 τύπους διαστημάτων: Year-Month & Day-Time Format: INTERVAL start-field(p) [TO end-field(fs)] p είναι η ακρίβεια (προκαθορισμένη τιμή p=2) fs είναι η ακρίβεια των δεκαδικών κλασμάτων των δευτερολέπτων, εφαρμόζετε μόνο στο DAY/TIME (προκαθορισμένη τιμή είναι τα 6 ψηφία) Year-Month διαστήματα: INTERVAL YEAR, INTERVAL YEAR(p), INTERVAL MONTH, INTERVAL MONTH(p), INTERVAL YEAR TO MONTH, INTERVAL YEAR(p) TO MONTH Π.χ., INTERVAL YEAR(2) to MONTH καθορίζεται στο [0:0,99:11]

Διαστήματα (Intervals) DAY-TIME διαστήματα: τα πεδία μπορεί να είναι παραπλήσια επιλογή από την DAY, HOUR, MINUTE, SECOND E.g., INTERVAL DAY TO HOUR [0:0, 99:23] (day:hours) INTERVAL DAY(1) TO HOUR INTERVAL DAY TO MINUTE INTERVAL SECOND(8) INTERVAL DAY(5) to SECOND(10) INTERVAL MINUTE(3) to SECOND

Συναρτήσεις για τα Dates Όλα τα συστήματα παρέχουν συναρτήσεις με διάφορα ονόματα Για κατασκευή ημερομηνίας από strings ή integers Για εξαγωγή μήνα, ημέρας, ή χρονολογίας από μια ημερομηνία Για εμφάνιση ημερομηνίας με διάφορους τρόπους Παραδείγματα, CAST(string AS DATE) [SQL2: CAST(<value> AS <type>] π.χ., 2002-02-18' AS DATE MAKEDATE (int year, int month, int day) ή DATE (int year, int month, int day) π.χ., MAKEDATE(1999, 12, 31) EXTRACT (MONTH/DAY/YEAR FROM <date>) [SQL3] YEAR(<date>), MONTH(<date>), DAY(<date>)

Πράξεις για τα Dates Datetime (+ ή -) Interval = Datetime Datetime - Datetime = Interval Interval (* ή /) Number = Interval Interval (+ ή -) Interval = Interval Παραδείγματα: (CURRENT_DATE + INTERVAL '1' MONTH) (CURRENT_DATE - INTERVAL 18' DAY) (CURRENT_DATE BirthDate)

Βασικές SQL-DDL Εντολές Για το σχήμα της βάσης: CREATE SCHEMA, DROP SCHEMA Για τα πεδία ορισμού: CREATE DOMAIN, DROP DOMAIN Για τους πίνακες: CREATE TABLE, DROP TABLE, ALTER TABLE Για τα views: CREATE VIEW, DROP VIEW Για τους περιορισμούς ακεραιότητας Για τα Indexes [καταργήθηκαν στην SQL2]

Σχήμα Βάσης Δεδομένων CREATE SCHEMA <database-name> AUTHORIZATION <user-identifier>; Για παράδειγμα: CREATE SCHEMA micro_db AUTHORIZATION panos; DROP SCHEMA <db-name> [RESTRICT CASCADE]; Restrict: αφαιρεί το σχήμα αν η βάση δεν έχει δεδομένα Cascade: αφαιρεί τα πάντα, δεδομένα και ορισμούς Π.χ., DROP SCHEMA micro_db RESTRICT;

Σχήμα και κατάλογος SQL2, SQL3 υποστηρίζουν πολλαπλά σχήματα βάσης Ο Κατάλογος (Catalog) περιέχει τους ορισμούς του σχήματος της βάσης INFORMATION_SCHEMA Σχήματα και σχέσης (πίνακες) tbl-name, creator, #of-tuples, tuple-length, #of-attributes Χαρακτηριστικά των σχέσεων (στήλες) tbl-name, atrb-name,type, format, order, key-no,... Indexes tbl-name, index-name, key-attribute,... Εξουσιοδότηση Ακεραιότητα Ονοματολογία των πινάκων: Schema-name.Table-name