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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1 Department of Computer Science University of Cyprus EPL342 Databases Lecture 12: SQL DDL SQL Data Definition Language (Chapter , Elmasri-Navathe 5ED) + ΤransactSQL Reference Guide ιδάσκων: Παναγιώτης Ανδρέου

2 Περιεχόμενο ιάλεξης Εισαγωγή στην SQL Τύποι εδομένων της SQL 1999 Αριθμοί, Συμβολοσειρές, υαδικές Ακολουθίες, Λογικοί Τύποι, Ημερομηνίες & Ώρα, Χρονόσημα, κ.α. TSQL: Συναρτήσεις Ημερομηνίας, Αυτόματη Αύξηση Τιμής, Υπολογιζόμενα Γνωρίσματα, Εξειδικευμένοι Τύποι Ορισμός εδομένων (CREATE/DROP/ALTER) ημιουργία Σχήματος και Πινάκων Περιορισμοί (CONSTRAINTS) Οντότητας, Αναφορικής Ακεραιότητας, Ονομασία, Εντολές Ενεργοποίησης Αναφοράς, Προσωρινή Απενεργοποίηση Περιορισμών 12-2

3 Εισαγωγή στη SQL Στις προηγούμενες ενότητες μελετήσαμε μια τυπική γλώσσα Β, την Σχεσιακή Άλγεβρα, η οποία στηρίζεται πάνω στο Σχεσιακό Μοντέλο. Σε αυτή την ενότητα θα μελετήσουμε μια πραγματική γλώσσα βάσεων δεδομένων την SQL (Structured Query Language) η οποία στηρίζεται τόσο πάνω στη Σχεσιακή Άλγεβρα όσο και πάνω στον Λογισμό Πλειάδων. H γλώσσα SQL χωρίζεται σε 4 βασικές κατηγορίες (θα μελετήσουμε τις δύο πρώτες): Γλώσσα Ορισμού εδομένων (Data Definition Language, SQL- DDL) Γλώσσα Επεξεργασίας εδομένων (Data Manipulation Language, SQL-DML) Γλώσσα Ορισμού Πρόσβασης (Data Control Language, SQL-DCL) Γλώσσα Ορισμού Συναλλαγών (Transactional Control Language, SQL-TCL) 12-3

4 Εισαγωγή στην SQL (Παραδείγματα DDL/DML) Παράδειγμα Γλώσσας Ορισμού εδομένων (Data Definition Language, DDL) CREATE TABLE DEPARTMENT ( DNAME VARCHAR(10) NOT NULL, DNUMBER INTEGER NOT NULL, MGRSSN CHAR(9), MGRSTARTDATE CHAR(9) ); Παράδειγμα Γλώσσας Επεξεργασίας εδομένων (Data Manipulation Language, DML) SELECT D.MGRSSN, D.MGRSTARTDATE, FROM DEPARTMENT AS D WHERE DNUMBER = 10; 12-4

5 Εισαγωγή στην SQL (Παραδείγματα DCL/TCL) Παράδειγμα Γλώσσας Ορισμού Πρόσβασης (Data Control Language, DCL) GRANT SELECT, UPDATE ON My_table TO some_user, another_user; Παράδειγμα Γλώσσας Ορισμού Συναλλαγών Transactional Control Language, SQL-TCL) Συναλλαγή - Ομαδοποίηση πολλών δηλώσεων BEGIN TRANSACTION; UPDATE Account SET amount=amount-200 WHERE ac_no=1234; UPDATE Account SET amount=amount+200 WHERE ac_no=2345; IF ERRORS=0 COMMIT; IF ERRORS<>0 ROLLBACK; 12-5

6 Ιστορία της SQL 1969: Το Σχεσιακό Μοντέλο του Edgar F. Codd υλοποιείται από τη βάση IBM System R 1970: Ο Donald D. Chamberlin και ο Raymond F. Boyce, επιστήμονες της IBM Almaden, δημιουργούν την πρώτη έκδοση της SQL η όποια ονομάζεται SEQUEL. Το όνομα αλλάζει αργότερα σε SQL εφόσον το όνομα SEQUEL ήταν κατοχυρωμένο σε κάποια εταιρεία κατασκευής αεροπλάνων στην Αγγλία. Την ίδια χρονιά η Relational Software, Inc., επηρεασμένο από τους Codd, Chamberlin, and Boyce, φτιάχνει την βάση δεδομένων Oracle για κρατικές υπηρεσίες των ΗΠΑ. 1985: H ΙΒΜ κάνει την SQL Πατέντα (US Pat. 4,506,326). Οι πιο επιτυχημένες προσπάθειες τυποποίησης SQL (ANSI 1986) SQL1 (ANSI 1989) SQL2 ή SQL92 (ANSI 1992) SQL3 ή SQL99 (ANSI 1999) (+OLAP, XML, object-relational etc.) Πρότυπα που έμειναν κυρίως στις συστάσεις: SQL 2003 και SQL

7 Τύποι εδομένων της SQL:1999 Σε αυτή την ενότητα θα μελετήσουμε τους βασικούς τύπους δεδομένων της ANSI SQL:1999. Στα πλαίσια του εργαστηρίου έχετε μελετήσει ήδη αρκετούς εξειδικευμένους τύπους δεδομένων που ορίζονται στα πλαίσια της TSQL-DDL (π.χ., money, image=varbinary(max), text, κτλ.) TSQL 2008 Reference: O SQL Server έχει περισσότερους από 32 τύπους δεδομένων! ANSI SQL:1999 Τύποι Αριθμητικοί Τύποι: Numeric, Decimal, INT, FLOAT, REAL, κτλ. Αλφαριθμητικοί (Συμβολοσειρές) Τύποι: CHAR, VARCHAR, CLOB, NCHAR, NVARCHAR, NCLOB, κτλ. υαδικές Ακολουθίες: BIT, BLOB. Λογικοί Τύποι: BOOLEAN. Ημερομηνίες & Ώρα και Χρονόσημα: DATE, TIME, TIMESTAMP. ημιουργία Εξειδικευμένων Τύπων: CREATE DOMAIN. 12-7

8 Τύποι εδομένων της SQL (Αριθμητικοί Τύποι) Ακέραιοι αριθμοί: ύο τύποι δεκαδικών ακεραίων αριθμών με διαφορετικό εύρος: INTEGER (ή INT), SMALLINT και ΤΙΝΥΙΝΤ Το εύρος των αριθμητικών τύπων εξαρτάται από την υλοποίηση εάν και συνήθως είναι 32 bits, 16 bits και 8 bits αντίστοιχα. Ο SQLServer υποστηρίζει το BIGINT το οποίο είναι 64 bits. Πραγματικοί Αριθμοί (Real Numbers): 3 τύποι κινητής υποδιαστολής: FLOAT[(precision)], REAL ( Float(24)), και DOUBLE PRECISION ( Float(53)) Οι χρήστες μπορούν να καθορίσουν την ακρίβεια του FLOAT όχι όμως αυτή του REAL ή DOUBLE PRECISION Αναπαράσταση δεκαδική ή επιστημονική (π.χ., 0.1 ή 1.0E-1) εκαδικοί Αριθμοί 3 τύποι δεκαδικής μορφής (όλοι υποδηλώνουν το ίδιο τύπο στη πράξη): DECIMAL(i,j), DEC(i,j) ή NUMERIC(i,j) (π.χ., i=3,j= ) i = ακρίβεια (# όλων των ψηφίων εκτός της υποδιαστολής i=18 default) j = κλίμακα (# των δεκαδικών ψηφίων. j=0 το default) Στον SQL EPL342: Server Databases δεν -υπάρχει Demetris Zeinalipour η έννοια των (University unsigned of Cyprus) αριθμών. 12-8

9 Τύποι εδομένων της SQL (Συμβολοσειρές) Μια Συμβολοσειρά (Αλφαριθμητική Ακολουθία) είναι μια σειρά από εκτυπώσιμους (printable) χαρακτήρες οι οποίοι δηλώνονται με μονά εισαγωγικά: Hello SQL Τύποι Συμβολοσειρών: προαιρετικό Σταθερού μήκους n: CHAR[(n)] ή CHARACTER[(n)] Η προκαθορισμένη τιμή του n είναι 1, αντιπροσωπεύοντας ένα μονό χαρακτήρα, δηλ., CHAR ή CHARACTER αντιπροσωπεύει ένα χαρακτήρα Οι χαρακτήρες που δεν αξιοποιούνται μένουν κενοί (space padding) ενώ οι κενοί χαρακτήρες δεν λαμβάνουν μέρος σε συγκρίσεις (δεν ισχύει για εξ. εφαρμογές) Μεταβλητού μήκους, μέγιστου μεγέθους n: VARCHAR[(n)] ή CHAR VARYING[(n)] Μεγάλου Μήκους (Character Large OBject CLOB): TEXT (deprecated θα αφαιρεθεί από μελλοντική έκδοση της MSSQL) Προσδιορίζει μεγάλες ακολουθίες (π.χ., κείμενα ή μεγάλες περιγραφές) μέχρι 2 ή 4 GB (τα αντικείμενα αυτά αποθηκεύονται συνήθως εκτός βάσης δεδομένων) Πάνω σε αυτά τα πεδία δεν είναι συνήθως δυνατό να γίνουν συγκρίσεις. Στον SQL Server να ορίζεται ως VARCHAR(MAX) => δεν είναι deprecated Χαρακτήρες UNICODE για αναπαράσταση Ξένων Γλωσσών: NATIONAL CHARACTER[(n] ή ΝCHAR(N) NATIONAL VARYING CHARACTER[(n)] ή NVARCHAR(N) NATIONAL LARGE CHARACTER OBJECT[(n)] ή NCLOB(N) 12-9

10 Τύποι εδομένων της SQL ( υαδικές Ακολουθίες) Τα Bit strings είναι σειρές από δυαδικά ψηφία (0 ή 1) ή NULL. (TRUE=1, FALSE=0 ή NULL) Τύποι Bit Strings Σταθερού μήκους n: BIT[(n)] Μεταβλητού μήκους, μέγιστου μεγέθους n: VARBIT[(n)] ή BIT VARYING[(n)] Μεγάλου Μήκους (Binary Large OBject BLOB): Αντίστοιχα με το CLOB αλλά χωρίς ρητή κωδικοποίηση Η προκαθορισμένη τιμή του n είναι 1. O SQL server αποθηκεύει τα bits σε byte (π.χ., 3bit = 1Byte, 9b=2B, ) Μειονεκτήματα Κάποιες υλοποιήσεις (π.χ., Oracle) δεν υποστηρίζουν bit-strings οπόταν συνίσταται η χρήση Char(1)=Y N εν επιτρέπεται η χρήση ευρετηρίων πάνω από bit strings π.χ., EPL342: ευρετήριο Databases κατακερματισμού - Demetris Zeinalipour που να βρίσκει (University γρήγορα of Cyprus) τους EMPLOYEE βάσει του δυαδικού γνωρίσματος sex= M F.

11 Τύποι εδομένων της SQL (Ημερομηνία και Ώρα) Οι τύποι δεδομένων Ημερομηνίας και Ώρας προστεθήκαν στην SQL2 Τρεις τύποι χρονολογικών δεδομένων Ημερομηνία (DATE) Ώρα (TIME) Χρονοσήμανση (TIMESTAMP) Πέρα από αυτούς τους τύπους η έννοια της Ώρας/Ημερομηνίας στις περισσότερες υλοποιήσεις υποστηρίζεται και υπό την μορφή συναρτήσεων όπως θα δούμε στη συνέχεια

12 Τύποι εδομένων της SQL (Ημερομηνία και Ώρα) Τύπος εδομένων DATE Εξ ορισμού μορφή (Default format): YYYY-MM-DD Εύρος: έως Ακρίβεια: Ημέρας Ημερολόγιο: Γρηγοριανό DEFAULT τιμή: Μέγεθος: 3 bytes στον SQL Server) 3 bytes (16Μ days = 45K years) Εάν ήταν 2bytes (65K days = 180 years) Παράδειγμα CREATE TABLE DEPARTMENT (... MGRSTARTDATE DATE NOT NULL DEFAULT ); 12-12

13 Τύποι εδομένων της SQL (Ημερομηνία και Ώρα) Τύπος εδομένων TIME [(precision)] Εξ ορισμού μορφή: hh:mm:ss[.nnnnnnn] Εύρος: 00:00: εως 23:59: Ακρίβεια: 100 nanoseconds (almost microsec.) DEFAULT τιμή: 00:00:00 Μέγεθος: 5 bytes (στον SQL Server) Τύπος εδομένων TIMESTAMP[(precision)] Συνδυάζει την ώρα μαζί μαζί την ημερομηνία Στον SQL Server 2008 ονομάζεται datetime2 (YYYY- MM-DD hh:mm:ss[.nnnnnnn]) Υπάρχουν και τα datetime (YYYY-MM-DD hh:mm:ss[.nnn] - millisecond) και smalldatetime (YYYY-MM-DD hh:mm:ss - second) 12-13

14 Τύποι εδομένων της SQL (Ημερομηνία και Ώρα) Εξειδικευμένοι Τύποι SQL Server Data type Format Range Accuracy Storage size (bytes) time hh:mm:ss[.nnnnn nn] 00:00: through 23:59: nanoseconds 3 to 5 date YYYY-MM-DD smalldatetime YYYY-MM-DD hh:mm:ss datetime YYYY-MM-DD hh:mm:ss[.nnn] through through through day 3 1 minute second 8 datetime2 YYYY-MM-DD hh:mm:ss[.nnnnn nn] :00: through :59: nanoseconds 6 to :00: through YYYY-MM-DD datetimeoffset hh:mm:ss[.nnnnn 100 nanoseconds 8 to 10 nn] [+ -]hh:mm 23:59: (in EPL342: Databases - Demetris UTC) Zeinalipour (University of Cyprus) 12-14

15 Τύποι εδομένων της SQL (Συναρτήσεις Ημερομηνίας και Ώρας) Πέρα από τους τύπους για ημερομηνίες, όλα τα συστήματα παρέχουν και συναρτήσεις: Eπεξεργασίας της ώρας/ημερομηνίας Πρόσθεση Ημερομηνιών / Ωρών, Εξαγωγή μήνα, ημέρας, ή χρονολογίας από μια ημερομηνία, Εμφάνιση ημερομηνίας με διάφορους τρόπους, κτλ. Αυτές θα αξιοποιηθούν αργότερα από την SQL-DML Παραδείγματα Συναρτήσεων από τον SQL Server: DATEDIFF ( datepart, startdate, enddate ) SELECT DATEDIFF(year, ' ' ' '); Returns 1 DATEADD (datepart, number, date ) SELECT DATEADD(month, 1, ' '); Returns DATEPART(datepart, date ) SELECT DATEPART(year, 0); Returns: 1900 ISDATE ( expression ) SELECT ISDATE('04/15/2008'); Returns 1 Datepart: year, month, dayofyear, day,week, weekday,hour,sec ond,millisecond 12-15

16 Τύποι εδομένων της SQL (Αυτόματη Αύξηση Τιμής - Autoincrement ) Σε πολλές περιπτώσεις είναι χρήσιμο να δημιουργούνται αυτόματα κάποιοι μοναδικοί αριθμοί από την βάση δεδομένων (π.χ., για να χρησιμοποιηθούν ως πρωτεύων κλειδιά) Π.χ., Κατά την εισαγωγή προϊόντων (products) σε μια βάση θέλουμε να παράγεται αυτόματα το κλειδί PID. Εάν και η SQL:99 δεν έχει πρόνοια για ένα τέτοιο τύπο, όλες οι βάσεις τον υλοποιούν με κάποιο τρόπο. Συγκεκριμένα, το Auto-increment υλοποιείται ως ειδικό τύπο ακεραίου ο οποίος αυξάνεται αυτόματα PostgreSQL: Serial: Από 1 μέχρι Auto-increment Bigserial: Από 1 μέχρι Microsoft Access: Autonumber Oracle: CREATE SEQUENCE command SQL Server 2008: IDENTITY 12-16

17 Τύποι εδομένων της SQL (Αυτόματη Αύξηση Τιμής - Autoincrement ) Στο SQL Server 2008, η αυτόματη αύξηση γίνεται μέσω του IDENTITY, το οποίο δίνεται ως γνώρισμα στην εντολή CREATE TABLE, δηλ: IDENTITY [ ( seed, increment ) ] Seed: Αρχή Αρίθμησης, Increment: Αύξηση Μετρητή Η εξ ορισμού τιμή είναι (1,1) ή πρέπει να ορίζονται και τα δυο. Παράδειγμα Χρήσης CREATE TABLE Products ( PID int IDENTITY(1,1) PRIMARY KEY,.) Επισημάνσεις: Το IDENTITY χρησιμοποιείται σε συνδυασμό με κάποια αριθμητική τιμή (tinyint, smallint, bigint, dec(p,0)) πράξη μόνο με int ή bigint. Εάν κάνουμε DROP ή TRUNCATE ένα πίνακα τότε ο counter του IDENTITY μηδενίζεται (για αυτό να χρησιμοποιείται το DELETE) Εάν χρησιμοποιείται ως PRIMARY KEY χρειάζεται προσοχή ειδικά εάν τα δεδομένα πρόκειται να φορτωθούν στη βάση δεδομένων. Όμοια, ο τύπος δεδομένων UniqueIdentifier (GUID) είναι 16byte συμβολοσειρά, π.χ., '6F9619FF-8B86-D011-B42D-00C04FC964FF η οποία ανατίθεται αυτόματα με DEFAULT NEWID() 12-17

18 Τύποι εδομένων της SQL (Υπολογιζόμενα Γνωρίσματα - Computed Columns) Σε κάποιες περιπτώσεις είναι χρήσιμο να δημιουργούνται αυτόματα κάποια γνωρίσματα βάσει άλλων γνωρισμάτων Π.χ., ListPrice = Price * 1.2; Ορισμένες βάσεις δεδομένων, όπως ο SQL Server υποστηρίζουν την έννοια των Υπολογιζόμενων Γνωρισμάτων (Computed Columns) τα οποία γνωρισματα δεν υπάρχουν αλλά υπολογίζονται κατά την αναφορά τους. CREATE TABLE Grades ( Midterm float, Final float, Exercise float, FinalGrade AS 0.25*Midterm + 0.5*Final *Exercises) Μειονεκτήματα εν είναι συμβατό με την SQL:99 οπόταν υπάρχουν προβλήματα μεταφερσιμότητας (portability) του κώδικα Σε αρκετές περιπτώσεις, πολλές λειτουργίες δεν υποστηρίζονται (π.χ., ευρετήρια, περιορισμοί, κτλ.) 12-18

19 Τύποι εδομένων της SQL ( ημιουργία Εξειδικευμένων Τύπων εδομένων) Η SQL:99 παρέχει την δυνατότητα δημιουργίας εξειδικευμένων τύπων δεδομένων μέσω της εντολής CREATE DOMAIN. Η αντίστοιχη εντολή στην TSQL είναι η CREATE TYPE Παραδείγματα σε SQL:99: CREATE DOMAIN name_dom AS CHAR(20); CREATE DOMAIN sectno_dom AS SMALLINT; CREATE DOMAIN section_dom VARCHAR(20) DEFAULT 'none'; CREATE DOMAIN address_dom CHAR(50) DEFAULT NULL; CREATE DOMAIN qpa_dom DECIMAL (3,2) DEFAULT 0.00; Παραδείγματα σε ΤSQL: CREATE TYPE SSN FROM varchar(11) NOT NULL ;

20 Τύποι εδομένων της SQL ( ημιουργία Εξειδικευμένων Τύπων εδομένων) Εάν και θα δούμε την έννοια των περιορισμών αργότερα, αναφέρουμε ότι η SQL99 υποστηρίζει περιορισμούς CHECK και κατά την δημιουργία εξειδικευμένων τύπων. Παραδείγματα σε SQL:99 CREATE DOMAIN gender_dom AS CHAR(1) CHECK (VALUE IN ( 'F', 'f', 'M', 'm' )); CREATE DOMAIN gender_dom AS CHAR(1) CHECK (VALUE IN ( 'F', 'f', 'M', 'm' ) OR (VALUE IS NULL)); CREATE DOMAIN ssn_dom CHAR(11) CHECK ((VALUE BETWEEN ' ' AND ' ')); CREATE DOMAIN hour_dom AS INTEGER DEFAULT 0 CHECK (VALUE >= 0); 12-20

21 Ορισμός εδομένων στην SQL ( ημιουργία Σχήματος) Σε νεότερες εκδόσεις του SQL Server μπορούμε να αναθέσουμε επί μέρους αντικείμενα της βάσης σε επί μέρους Ομάδες (διαφορετικά Σχήματα Βασης), π.χ., Command: CREATE SCHEMA Person SQL Server 2008 Schema => Container of Objects Το παράδειγμα στα δεξιά δείχνει δυο ομάδες Person και HumanResources. Η default ομάδα είναι ο dbo (database owner) Συνεπώς μια αναφορά σε ένα αντικείμενο χρησιμοποιεί την έξης σημειογραφία: [ServerName.[DatabaseName.[SchemaName.]]].ObjectName 12-21

22 Ορισμός εδομένων στην SQL ( ημιουργία Σχήματος) ιαφορετικ ά Σχήματα 12-22

23 Ορισμός εδομένων στην SQL (Data Definition Language - DDL) Μια Γλώσσα Ορισμού εδομένων (Data Definition Language, SQL-DDL) μας επιτρέπει να δημιουργήσουμε και να διαχειριστούμε τις δομές μιας βάσης δεδομένων. Αυτό επιτυγχάνεται μέσω κάποιων εντολών της SQL, π.χ.,: CREATE δημιουργεί ένα αντικείμενο βάσης π.χ., σχήμα βάσης, πίνακα, ευρετήριο, σκανδάλη, τύπο δεδ., κτλ. DELETE/DROP/TRUNCATE DELETE διαγράφει στοιχεία από το αντικείμενο βάσει συνθήκης (χωρίς να αποδεσμεύεται ο χώρος). ΤRUNCATE/DROP: διαγράφει το αντικείμενο / διαγράφει το αντικείμενο και την περιγραφή του αποδεσμεύοντας και τον χώρο. ALTER μεταβάλει την δομή ενός αντικειμένου Π.χ., προσθήκη στήλης, επιπλέον περιορισμού, κτλ

24 Ορισμός εδομένων στην SQL (CREATE TABLE) Από την SQL2, μπορούμε με την χρήση της εντολής CREATE TABLE να ορίσουμε και τους ακόλουθους περιορισμούς: Γνωρίσματα Ορίζεται ο τύπος δεδομένων κάθε γνωρίσματος, π.χ., age int, Πρωτεύοντα κλειδιά (PRIMARY KEY) Ορίζεται το Κλειδί κάθε Σχέσης εν μπορεί να είναι NULL εν είναι απαραίτητο να υπάρχει εάν και συνίσταται να υπάρχει ευτερεύοντα κλειδιά (UNIQUE) Ορίζονται τα μοναδικά γνωρίσματα μιας Σχέσης (π.χ., Dname στο Department) Μπορεί να είναι NULL (βασική διαφορά από τα Primary Keys) Κανόνες Αναφορικής Ακεραιότητας (FOREIGN KEY). Για ένα ξένο κλειδί, αναφέρει σε ποιο πρωτεύων κλειδί αναφέρεται καθώς και εντολής ενεργοποίησης αναφοράς. (πράξεις αντιδράσεις σε διαγραφές και ενημερώσεις) 12-24

25 Ορισμός εδομένων στην SQL (CREATE TABLE) Παράδειγμα δημιουργίας πίνακα με βασικούς περιορισμούς και χωρίς δράσεις αντίδρασης σε διαγραφές και ενημερώσεις CREATE TABLE DEPT ( DNAME VARCHAR(10) NOT NULL [UNIQUE], DNUMBER INTEGER NOT NULL [PRIMARY KEY] MGRSSN CHAR(9) [REFERENCES EMP], ); To γνώρισμα ΕΝ μπορεί να είναι NULL. Default: NULL (δηλαδή επιτρέπεται να είναι NULL) Για σύνθετα κλειδιά επιβάλλεται να ορίζεται στο τέλος και όχι δίπλα από τον ορισμό του γνωρίσματος. MGRSTARTDATE CHAR(9), PRIMARY KEY (DNUMBER), UNIQUE (DNAME), FOREIGN KEY (MGRSSN) REFERENCES EMP 12-25

26 Ορισμός εδομένων στην SQL (CREATE TABLE - Παράδειγμα) Σημειώστε ότι ακόμη δεν ορίσαμε την αντίδραση σε διαγραφές και ενημερώσεις) Μπορούσαν να οριστούν δίπλα από το γνωρίσματα Σύνθετα κλειδιά ορίζονται πάντα στο τέλος 12-26

27 Ορισμός εδομένων στην SQL (CREATE TABLE - Παράδειγμα) 12-27

28 Ορισμός εδομένων στην SQL (CREATE TABLE Constraint Ordering) Οι αναφορικοί περιορισμοί μπορούν να ορίζονται σε επίπεδο i) γνωρίσματος, ii) σχέσης ή iii) με μεταβολή σχήματος (με ALTER TABLE που θα δούμε σε λίγο) Ο βολικότερος τρόπος είναι με μεταβολή σχήματος εφόσον μπορεί να υπάρχουν προβλήματα προτεραιότητας όπως το πιο κάτω και να μην μπορούμε να προχωρήσουμε. Πρόβλημα Προσέγγισης (i) και (ii) CREATE TABLE EMPLOYEE( SSN INTEGER PRIMARY KEY, DNO INTEGER NOT NULL, FOREIGN KEY (DNO) REFERENCES DEPARTMENT(DNO)); Μήνυμα Λάθους Foreign key 'FK EMPLOYEE DNO 4CA06362' references invalid table 'DEPARTMENT'. CREATE TABLE DEPARTMENT( DNO INTEGER NOT NULL PRIMARY KEY, MGRSSN INTEGER NOT NULL, FOREIGN KEY (MGRSSN) REFERENCES EMPLOYEE(SSN)); 12-28

29 Ορισμός εδομένων στην SQL (CREATE TABLE Constraint Ordering) Επίλυση με μεταβολή σχήματος κάνοντας χρήση του ALTER TABLE /* ημιουργία Πινάκων χωρίς αναφορικούς περιορισμούς */ CREATE TABLE EMPLOYEE( SSN INTEGER PRIMARY KEY, DNO INTEGER NOT NULL); CREATE TABLE DEPARTMENT( DNO INTEGER NOT NULL PRIMARY KEY, MGRSSN INTEGER NOT NULL); H ALTER θα μελετηθεί εκτενεστέρα σε λίγο /* ημιουργία Αναφορικών Περιορισμών με ALTER TABLE */ ALTER TABLE EMPLOYEE ADD CONSTRAINT FOREIGN KEY (DNO) REFERENCES DEPARTMENT(DNO)); ALTER TABLE DEPARTMENT ADD CONSTRAINT FOREIGN KEY (MGRSSN) REFERENCES EMPLOYEE(SSN)); 12-29

30 ιαγραφή εδομένων στην SQL (DROP TABLE) H Drop χρησιμοποιείται για να αφαιρέσει μια σχέση και τον ορισμό της (σχήμα) από τον κατάλογο της βάσης: Π.χ., DROP TABLE EMPLOYEE, DEPARTMENT,,n; A. εν επιτρέπεται να κάνουμε DROP πίνακα που αναφέρεται από κάποιο άλλο πίνακα (πρώτα DROP τα constraint ) ALTER TABLE dbo.employee DROP CONSTRAINT fk_dno B. Μπορούμε να κάνουμε DROP πολλαπλούς πίνακες δεδομένου του ότι τους κάνουμε drop με ακολουθία που δεν επηρεάζει το σημείο Α DELETE διαγράφει εγγραφές βάσει συνθήκης και καταγράφοντας τις αλλαγές σε ένα κατάστιχο (LOG) Π.χ., DELETE [*] FROM DEPENDENT [WHERE condition]; ΤRUNCATE: διαγράφει ΟΛΕΣ τις εγγραφές μιας σχέσης και δεν καταγράφει τις αλλαγές σε κατάστιχο (LOG) Π.χ., TRUNCATE TABLE DEPENDENT; 12-30

31 Εξέλιξη Σχήματος Πινάκων (Η εντολή ALTER) H εντολή ALTER μας επιτρέπει την μετεξέλιξη του σχήματος μιας βάσης (π.χ., προσθήκη ή αλλαγή πεδίου, περιορισμών, κτλ.) Ας δούμε κάποια παραδείγματα (δείτε και τα παραδείγματα του εργαστηρίου) A) Προσθήκη Γνωρίσματος ALTER TABLE Company.Employee ADD COLUMN LastRaise date; Παρατηρήσεις Η στήλη δημιουργείται αλλά φέρει την τιμή NULL. Μπορούμε να κάνουμε τα ακόλουθα: Προσθήκη Σταθερής Τιμής ADD COLUMN LastRaise date NOT NULL DEFAULT Προσθήκη Μεταβαλλόμενης Τιμής (μέσω συνάρτησης TSQL) ADD COLUMN LastRaise date NOT NULL DEFAULT GETDATE() Το DEFAULT θα μελετηθεί εκτενεστέρα στη συνέχεια 12-31

32 Εξέλιξη Σχήματος Πινάκων (Η εντολή ALTER) Β) ιαγραφή Γνωρίσματος ALTER TABLE Company.Employee DROP COLUMN LastRaise; Παρατηρήσεις Eαν η στήλη υπό διαγραφή αναφέρεται από κάποια άλλη σχέση τότε δεν είναι εφικτή η διαγραφή (εφόσον παραβιάζεται ο κανόνας αναφορικής ακεραιότητας). Στην SQL:99 (όχι ΤSQL) υπάρχει η έννοια του CASCADE ALTER TABLE tname DROP COLUMN cname CASCADE; το οποίο ακυρώνει οποιεσδήποτε αναφορές στο column_name (constraints, views, κτλ) προτού γίνει η διαγραφή. Η ALTER έχει πολλές επιλογές, π.χ.,: ALTER TABLE tname ALTER COLUMN cname DROP DEFAULT; ALTER TABLE tname ALTER COLUMN cname SET DEFAULT 1; Για την πλήρη σύνταξη της ALTER σε TSQL

33 Επιπλέον Περιορισμοί στην SQL Σε αυτή την ενότητα θα μελετήσουμε τους περιορισμούς που μπορούμε να διατυπώσουμε με την SQL-DDL. Θα κάνουμε ιδιαίτερη αναφορά στους περιορισμούς στα πλαίσια της TSQL-DDL (SQL Server 2008). Πέρα από τους περιορισμούς που είδαμε ήδη NULL/NOT NULL, PRIMARY KEY, UNIQUE και FOREIGN KEY θα μελετήσουμε και τα ακόλουθα: Ονομασία Περιορισμών (Naming) Περιορισμοί DEFAULT Περιορισμοί CHECK Εντολές Ενεργοποίησης Αναφοράς ON DELETE ON UPDATE { NO ACTION CASCADE SET NULL SET DEFAULT } Προσωρινή Απενεργοποίηση Περιορισμών WITH CHECK / WITH NO CHECK 12-33

34 Περιορισμοί στην SQL (Ονομασία Περιορισμών) Στα προηγούμενα παραδείγματα δεν δώσαμε κάποια ονόματα στους περιορισμούς,π.χ., Αυτό που γίνεται είναι ότι η DBMS φτιάχνει τα δικά της ονόματα (π.χ., PK_Department_22AE2995) για να αναπαρασταθεί το PRIMARY KEY(Dnumber). To όνομα θα χρειαστεί εάν θέλουμε να αλλάξουμε ένα περιορισμό αργότερα με την χρήση της εντολής ALTER. CREATE TABLE DEPARTMENT ( Dnumber INT NOT NULL,. CONSTRAINT PKDnumber PRIMARY KEY(Dnumber) ) 12-34

35 Περιορισμοί στην SQL (Περιορισμός DEFAULT) DEFAULT <value>: Ορίζει ένα value για ένα γνώρισμα δεδομένου ότι αυτό δεν ορίζεται ρητά κατά την εισαγωγή μιας πλειάδας σε μια σχέση. Παράδειγμα: CREATE TABLE LIBRARIAN /* or Micro_db.LIBRARIAN */ ( Name nvarchar(50) NOT NULL, SSN int NOT NULL PRIMARY KEY, startdate DATE NOT NULL DEFAULT GETDATE(), Salary DEC(8,2) DEFAULT 0.0 ); Πληροφορίες για TSQL To value μπορεί να είναι NULL ή String ή scalar value Το DEFAULT δεν εφαρμόζεται πάνω σε IDENTITY, TIMESTAMP 12-35

36 Περιορισμοί στην SQL (Περιορισμός CHECK) CHECK (logical expression): Περιορισμός που επιβάλει την ακεραιότητα οντότητας περιορίζοντας τις δυνατές τιμές ενός γνωρίσματος βάσει λογικής συνθήκης. Η συνθήκη εφαρμόζεται σε κάθε αλλαγή (insert, update) ΕΝ επιτρέπεται αναφορά σε άλλο πίνακα μέσω της CHECK Παράδειγμα: CREATE TABLE LIBRARIAN ( /* or Micro_db.LIBRARIAN */ Name nvarchar(50) NOT NULL, SSN int NOT NULL PRIMARY KEY, Salary DEC(8,2) DEFAULT 0.0 CHECK(Salary >= 0) ); Πληροφορίες για TSQL εν μπορεί να οριστεί για text, ntext, or image. Σημειώστε ότι αυτοί οι τύποι είναι επίσης deprecated. Για αυτό μπορεί να οριστούν ως varchar(max), nvarchar(max) και varbinary(max) αντίστοιχα

37 Περιορισμοί στην SQL (Περιορισμός CHECK) Παραδείγματα Λειτουργιών της CHECK σε TSQL Λειτουργία Σύνταξη σε TSQL Εξειδίκευση Πεδίου Ορισμού Month BETWEEN 1 and 12 Εξειδίκευση Πεδίου Ορισμού Shippers IN ( Ups, Fed Ex, USPS ) Σύγκριση Πεδίου με Σταθερά Price >= 0 Σύγκριση Πεδίων DeliveryDate >= OrderDate Σύγκριση Πεδίου με Συνάρτηση StartDate <= GETDATE ( ) Έλεγχος Μορφής (e.g., ) [ ] : Οποιοσδήποτε χαρακτήρας μέσα σε προσδιορισμένο εύρος (π.χ. [a-f]) ή σύνολο ([abcdef]). Έλεγχος Μορφής % : 0 ή περισσότεροι χαρακτήρες _ : 1 οποιοσδήποτε χαρακτήρας. SSN LIKE [0-9] [0-9] [0-9] -[0-9] [0-9] [0-9] [0-9] [0-9] [0-9] LIKE %@cs.ucy.ac.cy %@%.cy * To LIKE θα μελετηθεί εκτενεστέρα στα πλαίσια της SQL-DML 12-37

38 Περιορισμοί στην SQL (Εντολές Ενεργοποίησης Αναφοράς) Οι CHECK, NOT NULL, DEFAULT είναι περιορισμοί που χρησιμοποιούνται στο επίπεδο ενός γνωρίσματος ή μιας σχέσης. Η FOREIGN KEY από την άλλη αναφέρεται σε περιορισμούς μεταξύ δυο σχέσεων. π.χ., Π.χ., FOREIGN KEY (MGRSSN) REFERENCES EMP(SSN) Εάν παραβιαστεί ο αναφορικός περιορισμός τότε η βάση απορρίπτει την πράξη (REJECT) Π.χ., δεν μπορούμε να σβήσουμε τον Manager κάποιου υπαλλήλου στην βάση. Για να εξειδικεύσουμε την αντίδραση της βάσης σε τέτοιες τροποποιήσεις χρησιμοποιούνται κάποιες επιπλέον εντολές στην δήλωση ενός πίνακα. ες επόμενη διαφάνεια 12-38

39 Περιορισμοί στην SQL (Εντολές Ενεργοποίησης Αναφοράς) Οι Εντολές Ενεργοποίησης Αναφοράς δηλώνουν τι θα γίνει στο FK (Foreign Key) μιας σχέσης από αλλαγή στο PK (Primary Key) αναφερόμενης σχέσης. Ενεργοποιούνται αν παραβιαστεί ένας αναφορικός περιορισμός κατά το ON DELETE ή ON UPDATE Employee(Ssn, Ename, Dno) Department(Dno, Dname) Λειτουργίες: FK PK NO ΑCTION: Απαγορεύει την Αλλαγή (Default). Γιατί να ορίζεται; Για να ξεκαθαρίσει την πρόθεση του σχεδιαστή SET NULL: Θέτει το FK=NULL. Προϋποθέτει ότι η στήλη FK μπορεί να είναι NULLABLE. SET DEFAULT: Θέτει το FK=DEFAULT. Προϋποθέτει ότι το Default έχει οριστεί για το FK. CASCADE: ιάδοση Αλλαγής ON DELETE CASCADE: ιαγράφει την πλειάδα του FK ON EPL342: UPDATE Databases CASCADE: - Demetris Zeinalipour Ενημερώνει (University το FK of με Cyprus) το νέο PK 12-39

40 Περιορισμοί στην SQL (Εντολές Ενεργοποίησης Αναφοράς) Εάν σβηστεί ο Supervisor του υπαλληλου Χ τότε Χ.Super_ssn=NULL Εάν αλλάξει SSN ο Supervisor του υπαλληλου Χ τότε Χ.Super_ssn=NewSSN 12-40

41 Περιορισμοί στην SQL (Εντολές Ενεργοποίησης Αναφοράς) Οι Εντολές Ενεργοποίησης Αναφοράς, ειδικότερα το ON DELETE CASCADE, χρειάζονται μεγάλη προσοχή διότι η ενέργεια δύναται να προκαλέσει αλυσίδωτες αλλαγές (Chaining) που μπορεί να σβήσει ολόκληρο πίνακα! Π.χ., Θεωρήστε την δήλωση CREATE TABLE Employee ( SSN int NOT NULL PRIMARY KEY, PK FK Employee(Ssn, MgrSSN) MgrSSN int, FOREIGN KEY(MgrSSN) REFERENCES Employee(SSN) ON DELETE CASCADE) Και το στιγμιότυπο Εmployee = {(1,1), (2,1), (3,2), (4,3)} Σβήνοντας τον Employee.SSN=1 θα προκαλούσε διαγραφή όλων των εγγραφών του πίνακα! Για αυτό ο SQL Server δεν επιτρέπει την πιο πάνω εντολή CREATE TABLE επιστρέφοντας το μήνυμα λάθους Introducing FOREIGN KEY constraint 'FK Employee SSN 1CF15040' on table 'Employee' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints

42 Περιορισμοί στην SQL (Προσωρινή Απενεργοποίηση Περιορισμών) Γνωρίζουμε ότι η βάση δεδομένων είναι συνεχώς σε μια συνεπή (consistent) κατάσταση. ηλαδή όλοι οι περιορισμοί (κλειδιού, αναφορικής ακεραιότητας, κτλ) τηρούνται με ακρίβεια. Κάποτε επιθυμούμε να απενεργοποιήσουμε προσωρινά κάποιους περιορισμούς, π.χ., Σειρά Εισαγωγής εδομένων: εάν φορτώσουμε πρώτα τους Employee μετά τα Departments δεν θέλουμε να μας δίνει μηνύματα λάθους (λόγω foreign key constraint) Εισαγωγή Παλιών εδομένων, θέλουμε να φορτώσουμε κάποια ΠΑΛΙΑ δεδομένα που δεν ακολουθούν κάποιο περιορισμό (π.χ., μορφοποίηση). Μπορούμε να τα φορτώσουμε και μετά να ενεργοποιήσουμε τον περιορισμό για τα νέα δεδομένα. ΕΝ ΣΥΝΙΣΤΑΤΑΙ ΤΟ ΣΕΝΑΡΙΟ 2 ΩΣΤΟΣΟ (ΑΣΥΝΕΠΕΙΑ) 12-42

43 Περιορισμοί στην SQL (Προσωρινή Απενεργοποίηση Περιορισμών) WITH CHECK WITH NOCHECK: ηλώνει κατά πόσο τα δεδομένα ενός πίνακα θα επικυρωθούν (validated) ή όχι έναντι κάποιου περιορισμού (π.χ., περιορισμό FOREIGN KEY ή CHECK) Επισημάνσεις Οι περιορισμοί πρέπει να απενεργοποιούνται ΠΡΟΣΩΡΙΝΑ. εν μπορούμε να απενεργοποιήσουμε το PRIMARY KEY και UNIQUE Ενεργοποίηση/Απενεργοποίηση θα γίνει με χρήση της εντολής ALTER. Παραδείγματα Ενεργ./Απενεργ. Υφιστάμενου Περιορισμού: ALTER TABLE Employee CHECK ΝΟCHECK CONSTRAINT fk_something Εισαγωγή Νέου Περιορισμού FK (χωρίς έλεγχο παλιών data): : ALTER TABLE Employee WITH NOCHECK ADD CONSTRAINT FK_Employee FOREIGN KEY(SSN) REFERENCES Employee(SSN) Εισαγωγή Νέου Περιορισμού CHECK (χωρίς έλεγχο παλιών data): ALTER TABLE Employee WITH NOCHECK WITH CHECK είναι default για νέους περιορισμούς ADD CONSTRAINT CN_SSNFormat CHECK (SSN LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9] ) 12-43

Lecture 12: SQL DDL I

Lecture 12: SQL DDL I Department of Computer Science University of Cyprus EPL342 Databases Lecture 12: SQL DDL I SQL Data Definition Language (Chapter 6.1, Elmasri-Navathe 7ED) + ΤransactSQL Reference Guide http://msdn.microsoft.com/en-us/library/bb510741.aspx

Διαβάστε περισσότερα

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

Διάλεξη 11: SQL Data Definition Language. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 11: SQL Data Definition Language Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Εισαγωγή στην SQL Τύποι Δεδομένων της SQL 1999 Ορισμός Δεδομένων (CREATE/DROP/ALTER)

Διαβάστε περισσότερα

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

Διάλεξη 12: SQL Data Definition Language. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 12: SQL Data Definition Language Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Επιπρόσθετοι Περιορισμοί Παραδείγματα/Ασκήσεις Διδάσκων: Παναγιώτης Ανδρέου EPL342:

Διαβάστε περισσότερα

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter ) Department of Computer Science University of Cyprus EPL342 Databases Lecture 8: RM II Relational Model (Chapter 5.2-5.3) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342 8-1 Περιεχόμενο

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων Η γλώσσα SQL H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων H SQL έχει διάφορα τμήματα: Γλώσσα Ορισμού Δεδομένων (ΓΟΔ) Γλώσσα Χειρισμού Δεδομένων (ΓΧΔ) Ενσωματωμένη

Διαβάστε περισσότερα

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

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων) Λογικός

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Δομημένη Γλώσσα Ερωτήσεων SQL - DDL SQL Περίληψη SQL Τύποι δεδομένων DDL Δηλώσεις - Εντολές

Διαβάστε περισσότερα

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

Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Ενημέρωση Βάσης Δεδομένων (INSERT, UPDATE, DELETE) SQL DCL (GRANT, DENY, REVOKE)

Διαβάστε περισσότερα

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

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούµενα µαθήµατα: Εννοιολογικός Σχεδιασµός Βάσεων Δεδοµένων (µε

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Περιεχόμενο Διάλεξης Κεφάλαιο 5: Το Σχεσιακό Μοντέλο Δεδομένων Περιορισμοί Σχεσιακού Μοντέλου

Διαβάστε περισσότερα

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

SQL Τύποι Δεδομένων Δημιουργία Πίνακα Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1) Εργαστήριο Βάσεων Δεδομένων Εισαγωγή στη My (1) Η (Structured Query Language) είναι μια πλήρης γλώσσα Βάσεων Δεδομενων Είναι δομημένη σε βάσεις που περιέχουν πίνακες Οι πίνακες αποτελούνται από γραμμές

Διαβάστε περισσότερα

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

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης Φροντιστήριο SQL Examples Ξένου Ρουμπίνη 1 SQL-DDL Data Definition/Description Language (DDL): προσδιορίζουν τη δομή ή το σχήμα των δεδομένων.

Διαβάστε περισσότερα

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3: Ενότητα 3: Σχεσιακό Μοντέλο. Από το ιδεατό στο λογικό (σχεσιακό) μοντέλο. Από το λογικό στο φυσικό (SQL) μοντέλο Ευαγγελίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

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

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. Χρήσιμοι Σύνδεσμοι Σημειώσεις μαθήματος: http://medisp.bme.teiath.gr/eclass/courses/tio103/ https://eclass.teiath.gr/courses/tio100/

Διαβάστε περισσότερα

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

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML. Κεφάλαιο 5 Η γλώσσα SQL 5.1 Εισαγωγή Η γλώσσα SQL (Structured Query Language) είναι η πιο διαδεδομένη διαλογική γλώσσα ερωταπαντήσεων που χρησιμοποιείται για την επικοινωνία του χρήστη με σχεσιακές ΒΔ.

Διαβάστε περισσότερα

Lecture 12: SQL DDL I

Lecture 12: SQL DDL I Department of Computer Science University of Cyprus EPL342 Databases Lecture 12: SQL DDL I SQL Data Definition Language (Chapter 8.1, Elmasri-Navathe 5ED) + ΤransactSQL Reference Guide http://msdn.microsoft.com/en-us/library/bb510741.aspx

Διαβάστε περισσότερα

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

Συστήματα Διαχείρισης Βάσεων Δεδομένων ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ Συστήματα Διαχείρισης Βάσεων Δεδομένων Νικόλαος Ζ. Ζάχαρης Τι είναι μια Βάση Δεδομένων Είναι

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language) Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language) Παύλος Εφραιμίδης Βάσεις Δεδομένων Η Γλώσσα SQL - Μέρος Πρώτο 1 SQL - Structured Query Language (1) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1) Βάσεις Δεδομένων Η γλώσσα SQL Structured Query Language) Παύλος Εφραιμίδης SQL - Structured Query Language 1) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης των Σχεσιακών ΒΔ Εξασφαλίζει μεταφερσιμότητα

Διαβάστε περισσότερα

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

Σχεδιασμός Βάσεων Δεδομένων Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σχεδιασμός Βάσεων Δεδομένων Εργαστήριο 4 Δρ. Βασιλική Κούφη Περιεχόμενα Υλοποίηση Βάσεως Δεδομένων Εκτέλεση ερωτημάτων SQL στην Βάση Δεδομένων BHMA 1. Σχεδιασμός

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Lecture 21: Functional Dependencies and Normalization

Lecture 21: Functional Dependencies and Normalization Department of Computer Science University of Cyprus EPL342 Databases Lecture 21: Functional Dependencies and Normalization Informal Design Guidelines (Chapter 14.1, Elmasri-Navathe 7ED) Demetris Zeinalipour

Διαβάστε περισσότερα

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

Εργαστήριο Βάσεων Δεδομένων Εργαστήριο Βάσεων Δεδομένων Φροντιστήριο 3 ο (26/11/2008) Εισαγωγή στην Mysql SQL Η SQL (Structured Query Language) είναι μια πλήρης γλώσσα Βάσεων Δεδομένων. Είναι δομημένη σε βάσεις που περιέχουν πίνακες.

Διαβάστε περισσότερα

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

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις εδοµένων 2012-2013 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούμενα μαθήματα: Εννοιολογικός Σχεδιασμός Βάσεων Δεδομένων (με

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων 2η εργαστηριακή άσκηση Βάσεις Δεδομένων 2η εργαστηριακή άσκηση Εισαγωγή στο περιβάλλον της oracle Δημιουργία πινάκων Δρ. Εύη Φαλιάγκα 1. Login Χρησιμοποιώντας έναν web explorer, μπαίνετε στο http://10.0.0.6:8080/apex και συμπληρώνετε

Διαβάστε περισσότερα

Lecture 13: SQL DDL II

Lecture 13: SQL DDL II Department of Computer Science University of Cyprus EPL342 Databases Lecture 13: SQL DDL II SQL Data Definition Language (Chapter 8.2-8.3, Elmasri-Navathe 5ED) + ΤransactSQL Reference Guide http://msdn.microsoft.com/en-us/library/bb510741.aspx

Διαβάστε περισσότερα

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

Το σχεσιακό μοντέλο βάσεων δεδομένων ΕΣΔ232 Οργάνωση Δεδομένων στη Κοινωνία της Πληροφορίας Το σχεσιακό μοντέλο βάσεων δεδομένων Περιεχόμενα Περιεχόμενα - Βιβλιογραφία Ενότητας Εισαγωγή στο σχεσιακό μοντέλο Σχεσιακές γλώσσες ερωτημάτων Περιορισμοί

Διαβάστε περισσότερα

Διάλεξη 02: Βάσεις Δεδομένων Εισαγωγή. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 02: Βάσεις Δεδομένων Εισαγωγή. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 02: Βάσεις Δεδομένων Εισαγωγή Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Αρχιτεκτονική Τριών Επιπέδων Χρήστες Βάσεων Δεδομένων Μοντέλα Δεδομένων και Γλώσσες

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Διάλεξη 06: Σχεσιακό Μοντέλο I (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 06: Σχεσιακό Μοντέλο I (Relational Data Model) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Εισαγωγή στο Σχεσιακό Μοντέλο Ορισμοί Σχεσιακού Μοντέλου Σχεσιακοί

Διαβάστε περισσότερα

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

ΗΓλώσσαSQL. Εισαγωγή Βασικές Έννοιες Τύποι Δεδομένων Ορισμός Δεδομένων Χειρισμός Δεδομένων ΗΓλώσσαSQL Εισαγωγή Βασικές Έννοιες Τύποι Δεδομένων Ορισμός Δεδομένων Χειρισμός Δεδομένων Εισαγωγή Η δομημένη γλώσσα ερωτημάτων SQL (Structured Query Language) χρησιμοποιείται για τους χρήστες του ΣΔΒΔ

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Lecture 14: SQL DML I

Lecture 14: SQL DML I Department of Computer Science University of Cyprus EPL342 Databases Lecture 14: SQL DML I SQL Structured Query Language (Chapter 8.4, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

Διαβάστε περισσότερα

ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΓΡΕΒΕΝΑ)

ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΓΡΕΒΕΝΑ) [Ημερομηνία] ΣΗΜΕΙΩΣΕΙΣ ΓΙΑ ΤΗΝ TRANSACT-SQL ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΓΡΕΒΕΝΑ) ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙΙ Υπεύθυνος: Καρβούνης Χ. Ευάγγελος Η Transact-SQL (T-SQL) είναι ή υλοποίηση της γλώσσας ερωταπαντήσεων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL ΓΙΑΝΝΗΣ ΑΓΑΘΑΓΓΕΛΟΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΗΥ360 - ΑΡΧΕΙΑ ΚΑΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL SQL SQL - STRUCTURED QUERY LANGUAGE 2 Μια γλώσσα επερωτήσεων για τη διαχείριση Σχεσιακών

Διαβάστε περισσότερα

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

ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL ΗΥ360 - ΑΡΧΕΙΑ ΚΑΙ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΦΡΟΝΤΙΣΤΗΡΙΟ ΣΤΗ ΓΛΩΣΣΑ SQL ΛΙΛΙΤΣΗΣ ΠΡΟΔΡΟΜΟΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ SQL - STRUCTURED QUERY LANGUAGE 2 Μια γλώσσα επερωτήσεων για τη διαχείριση Σχεσιακών Βάσεων

Διαβάστε περισσότερα

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

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων με βάση slides από A. Silberschatz, H. Korth, S. Sudarshan, Database System Concepts, 5 th edition Περιορισμοί πεδίου τιμών Περιορισμοί ακεραιότητας

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων. Εισαγωγή για το Εργαστήριο. Δρ. Τιάκας Ελευθέριος. Τμήμα Πληροφορικής ΑΠΘ 2015-2016 Βάσεις Δεδομένων Εισαγωγή για το Εργαστήριο Δρ. Τιάκας Ελευθέριος Τμήμα Πληροφορικής ΑΠΘ 2015-2016 2 Βασικοί στόχοι Μερικοί βασικοί στόχοι του εργαστηρίου είναι: Η ικανότητα ανάλυσης των απαιτήσεων, κατασκευής

Διαβάστε περισσότερα

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εργαστήριο 1 ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Εργαστήριο 1 Τι είναι Βάση Δεδομένων Σύστημα διαχείρισης βάσεων δεδομένων Α σύστημα διαχείρισης βάσεων δεδομένων (ΠΔΒΔ (πρόγραμμα διαχείρισης βάσεων δεδομένων)) είναι λογισμικό υπολογιστών

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #2 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #2 Διδάσκων: Γιάννης Θεοδωρίδης Συντάκτης Κειμένου: Βαγγέλης Κατσικάρος Φεβρουάριος 2008 Περιεχόμενα SQL Language

Διαβάστε περισσότερα

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

Ενεργές ΒΔ. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Βάσεις Δεδομένων Ενεργές ΒΔ 1 Ενεργές ΒΔ Παύλος Εφραιμίδης pefraimi ee.duth.gr Βάσεις Δεδομένων Ενεργές ΒΔ 1 Active Databases Υποστηρίζουν την αυτόματη εκτέλεση ενεργειών όταν συμβούν συγκεκριμένα γεγονότα Ένας διαδεδομένος μηχανισμός

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 20: Κανονικοποίηση και Συναρτησιακές Εξαρτήσεις Ι Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Εισαγωγή στην Κανονικοποιήση Άτυπες κατευθύνσεις για Σχεδιασμό

Διαβάστε περισσότερα

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

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Πίνακας Πεδίο Τύπος Κύριο κλειδί Αναφορική ακεραιότητα οντοτήτων Ξένο κλειδί Αναφορική ακεραιότητα δεδομένων Δρ. Κεραμόπουλος Ευκλείδης 2 ΚΥΡΙΟ ΚΛΕΙΔΙ ΦΟΙΤΗΤΗΣ ΑΜ CHAR(5) ΟΝΟΜΑ VARCHAR(20)

Διαβάστε περισσότερα

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

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY. Η γλώσσα ορισμού δεδομένων της SQL Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 Περιεχόμενα 1 Δημιουργία πινάκων με την

Διαβάστε περισσότερα

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

Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY. Η γλώσσα ορισμού δεδομένων της SQL Οι εντολές CREATE TABLE, ALTER TABLE, CREATE KEY, ALTER KEY Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr astavrak@uoi.gr @AStavrakoudis Άνοιξη 2016 1 / 85 Περιεχόμενα

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΕΥΤΕΡΟ ηµιουργία Βάσης, Πίνακα, Domain Γιώργος Μαρκοµανώλης Περιεχόµενα ηµιουργία Βάσης... 1 ηµιουργία µιας shadow βάσης... 2 ιαγραφή

Διαβάστε περισσότερα

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

Σχεδιασμός Πληροφοριακών Συστημάτων. Σημειώσεις Σχεδιασμός Πληροφοριακών Συστημάτων Σημειώσεις Συμπλήρωμα για τις Εκδόσεις 4 (4.1) και 4.2 των Σημειώσεων Έκδοση 19/2/2011 Μάριος Μάντακας mmantak@gmail.com Διαφορά από την προηγούμενη Έκδοση: Προσθήκη

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10 Πράξεις Αλλαγής εδοµένων INSERT (εισαγωγή) Αυτός ο τελεστής παρέχει µια λίστα από πεδία τιµών για µια καινούργια πλειάδα η οποία θα εισαχθεί σε µια σχέση R

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Ηλεκτρονικοί Υπολογιστές II ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ηλεκτρονικοί Υπολογιστές II Εντολές ορισμού δεδομένων (DDL) στην SQL Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

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

Τμήμα Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων «Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα» «Σημειώσεις για την SQL» ΕΞΑΜΗΝΟ: ΣΤ Δρ. Κωνσταντίνος Χ. Γιωτόπουλος Πάτρα, Νοέμβριος 2010 SQL Create Table Η CREATE TABLE

Διαβάστε περισσότερα

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

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι Σημειώσεις μαθήματος: http://medisp.bme.teiath.gr/eclass/courses/tio103/ https://eclass.teiath.gr/courses/tio100/

Διαβάστε περισσότερα

Lecture 8: RM I + RA I

Lecture 8: RM I + RA I Department of Computer Science University of Cyprus EPL342 Databases Lecture 8: RM I + RA I Relational Model + Relational Algebra (Chapter 5.2-5.3, 6.1 Elmasri-Navathe 7ED) Demetris Zeinalipour http://www.cs.ucy.ac.cy/courses/epl342

Διαβάστε περισσότερα

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

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε. Χρήσιμοι Σύνδεσμοι Σημειώσεις μαθήματος: http://medisp.bme.teiath.gr/eclass/courses/tio103/ https://eclass.teiath.gr/courses/tio100/

Διαβάστε περισσότερα

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model SQL Μαθ. #11 Ε-R Model for a COMPANY database The COMPANY relational database schema A relational database instance of the COMPANY schema SQL Μια γλώσσα σχεσιακής βάσης

Διαβάστε περισσότερα

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

ΕΠΛ 342 Βάσεις εδοµένων ΕΠΛ 342 Βάσεις εδοµένων Εργαστήριο 3 ο SQL - DML Ιωάννα Συρίµη syrimi@ucy.ac.cy Data Manipulation Language Εισαγωγή νέων Εγγραφών Insert Into ιαγραφή Εγγραφών Delete Αλλαγή υφιστάµενων Εγγραφών Update

Διαβάστε περισσότερα

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

Φυσική Σχεδίαση Υλοποίηση βάσης ΕΣΔ330 Διαχείριση Δεδομένων στη Κοινωνία της Πληροφορίας Φυσική Σχεδίαση Υλοποίηση βάσης Περιεχόμενα Περιεχόμενα Εισαγωγή Μετασχηματισμός οντοτήτων Μετασχηματισμός συσχετίσεων Ακεραιότητα δεδομένων Παραδείγματα

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Β. Μεγαλοοικονόμου, Δ. Χριστοδουλάκης Σχεσιακό Μοντέλο SQL- Μέρος Β Ακ.Έτος 2008-09 (μεβάσητιςσημειώσειςτωνsilberchatz, Korth και Sudarshan και του C. Faloutsos

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΤΡΙΤΟ Foreign key, Index, DML Ερωτήµατα Γιώργος Μαρκοµανώλης Περιεχόµενα Foreign Key... 1 Index... 4 DML Ερωτήµατα... 6 INSERT...

Διαβάστε περισσότερα

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

Σχεσιακό Πρότυπο Δεδομένων Βάσεις Δεδομένων Ι - 02 Σχεσιακό Πρότυπο Δεδομένων (Relational Data Model) (σύντομη παρουσίαση) Τύποι Δεδομένων Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Θεσσαλίας Τι είναι τα Πρότυπα

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων 3η εργαστηριακή άσκηση Βάσεις Δεδομένων 3η εργαστηριακή άσκηση Εισαγωγή στο περιβάλλον της oracle Συσχέτιση πινάκων (εισαγωγή ξένων κλειδιών) Δρ. Μαρία Ευθυμιοπούλου 1. Εμφάνιση πινάκων στο Workspace Στο προηγούμενο εργαστήριο

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων 5η εργαστηριακή άσκηση Βάσεις Δεδομένων 5η εργαστηριακή άσκηση SQL Δρ. Μαρία Ευθυμιοπούλου Εντολές sql Για να γράψετε ή να επικολλήσετε εντολές sql πηγαίνετε από το μενού SQL Workshop και επιλέγετε το SQL Commands 1. Δημιουργία

Διαβάστε περισσότερα

Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Εισαγωγή στην SQL DML SELECT, FROM, WHERE,

Διαβάστε περισσότερα

Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 04: Εννοιολογική Σχεδίαση Βάσης Δεδομένων II (Entity Relationship Modelling) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Συσχετίσεις, Ρόλοι και Δομικοί Περιορισμοί

Διαβάστε περισσότερα

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

Διάλεξη 18: Προγραμματισμός Βάσης Δεδομένων ΙΙ. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 18: Προγραμματισμός Βάσης Δεδομένων ΙΙ Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Σκανδάλες (Triggers) σε TSQL Ευρετήρια (Indexes) σε TSQL Εισαγωγή στον διαδικαστικό

Διαβάστε περισσότερα

Βάσεις Δεδομένων (Ε) Εισαγωγή στην υλοποίηση σχεσιακών βάσεων δεδομένων

Βάσεις Δεδομένων (Ε) Εισαγωγή στην υλοποίηση σχεσιακών βάσεων δεδομένων Βάσεις Δεδομένων (Ε) Εισαγωγή στην υλοποίηση σχεσιακών βάσεων δεδομένων Εισαγωγή στη χρήση της γλώσσας SQL και στον προγραμματισμό εφαρμογών βάσεων δεδομένων Θα χρησιμοποιήσουμε το Σχεσιακό Σύστημα (προϊόν)

Διαβάστε περισσότερα

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

Τμήμα Πληροφορικής ΑΠΘ Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ 2013-2014 2 Σκοπός του 2 ου εργαστηρίου Σκοπός αυτού του εργαστηρίου είναι: Η μελέτη ερωτημάτων σε μία μόνο σχέση. Εξετάζουμε τους τελεστές επιλογής

Διαβάστε περισσότερα

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

Ζαχαρίας Μ. Κοντοπόδης Microsoft Jet S.Q.L. Διαφάνεια 1η ε ένα.δ.β.δ. ο χειρισμός των δεδομένων της βάσης γίνεται με τη χρήση της Δομημένης Γλώσσας Ερωτήσεων (SQL). Ο Βασικός σκοπός της SQL είναι η υποβολή ερωτήσεων (Queries) στα στοιχεία της βάσης δεδομένων.

Διαβάστε περισσότερα

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Βάσεις Δεδομένων Βασίλειος Βεσκούκης v.vescoukis@cs.ntua.gr Βασικές πράξεις της Σχεσιακής Αλγεβρας Σχεσιακό Μοντέλο Δεδομένων Ορισμός Βάσης

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ ΤΡΙΤΟ ΕΝΤΟΛΕΣ SQL ΚΕΦΑΛΑΙΟ ΤΡΙΤΟ ΕΝΤΟΛΕΣ SQL 3.1 Εντολή επιλογής δεδομένων Η εντολή επιλογής δεδομένων select έχει την γενική μορφή SELECT FROM [WHERE ] [GROUP BY ]

Διαβάστε περισσότερα

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

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ Η συνθήκη WHERE βάζει περιορισμούς στις εγγραφές που επιστρέφονται. Ο όρος ORDER BY ταξινομεί τις εγγραφές που επιστρέφονται. Παράδειγμα: SELECT * FROM table_name ORDER

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI B. Μεγαλοοικονόμου Αντικειμενοστρεφή και αντικειμενο-σχεσιακά ΣΔΒΔ (παρουσίαση βασισμένη εν μέρη σε σημειώσεις των Silberchatz, Korth και Sudarshan και του

Διαβάστε περισσότερα

Lecture 21: Functional Dependencies and Normalization

Lecture 21: Functional Dependencies and Normalization Department of Computer Science University of Cyprus EPL342 Databases Lecture 21: Functional Dependencies and Normalization Informal Design Guidelines (Chapter 10.1, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL Εθνικό Μετσόβιο ολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Βάσεις Δεδομένων Βασίλειος Βεσκούκης v.vescoukis@cs.ntua.gr Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL Η γλώσσα SQL

Διαβάστε περισσότερα

Διάλεξη 08: Αντιστοίχηση Εννοιολογικού σε Σχεσιακό Μοντέλο (ER/EER to Relational) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 08: Αντιστοίχηση Εννοιολογικού σε Σχεσιακό Μοντέλο (ER/EER to Relational) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 08: Αντιστοίχηση Εννοιολογικού σε Σχεσιακό Μοντέλο (ER/EER to Relational) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Αλγόριθμος Αντιστοίχισης ER/EER σε Σχεσιακό

Διαβάστε περισσότερα

Το Σχεσιακό μοντέλο και η γλώσσα SQL

Το Σχεσιακό μοντέλο και η γλώσσα SQL Το Σχεσιακό μοντέλο και η γλώσσα SQL Μανόλης Γεργατσούλης (manolis@ionio.gr) Αναπληρωτής Καθηγητής Ομάδα Βάσεων Δεδομένων και Πληροφοριακών Συστημάτων, Τμήμα Αρχειονομίας Βιβλιοθηκονομίας, Ιόνιο Πανεπιστήμιο

Διαβάστε περισσότερα

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής. ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2012 SQL Structured Query Language Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Πράξεις της σχεσιακής άλγεβρας ΠΡΑΞΗ ΣΚΟΠΟΣ

Διαβάστε περισσότερα

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

Κεφάλαιο 6. Περιορισμοί Ακεραιότητας Βάσεων Δεδομένων Κεφάλαιο 6. Περιορισμοί Ακεραιότητας Βάσεων Δεδομένων Σύνοψη Η εργαστηριακή δραστηριότητα που περιγράφεται στο κεφάλαιο αυτό έχει ως στόχο την γνωριμία με τις τεχνικές και τους μηχανισμούς που χρησιμοποιούνται

Διαβάστε περισσότερα

Lecture 23: Functional Dependencies and Normalization

Lecture 23: Functional Dependencies and Normalization Department of Computer Science University of Cyprus EPL342 Databases Lecture 23: Functional Dependencies and Normalization Normalization and Normal Forms (Chapter 10.3-10.4, Elmasri-Navathe 5ED) ιδάσκων:

Διαβάστε περισσότερα

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

Η Γλώσσα SQL. Εισαγωγή Βασικές Έννοιες Τύποι Δεδομένων Ορισμός Δεδομένων Χειρισμός Δεδομένων Η Γλώσσα SQL Εισαγωγή Βασικές Έννοιες Τύποι Δεδομένων Ορισμός Δεδομένων Χειρισμός Δεδομένων Εισαγωγή Η δομημένη γλώσσα ερωτημάτων SQL (Structured Query Language) χρησιμοποιείται για τους χρήστες του ΣΔΒΔ

Διαβάστε περισσότερα

Lecture 16: SQL DML III

Lecture 16: SQL DML III Department of Computer Science University of Cyprus EPL342 Databases Lecture 16: SQL DML III SQL Structured Query Language (Chapter 8.5.5-8.6, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

Διαβάστε περισσότερα

2. Ορισμός σχήματος ΒΔ με SQL

2. Ορισμός σχήματος ΒΔ με SQL 1.1 Μαγειρική Η κυρία Αντωνία είναι καλή μαγείρισσα και φημίζεται για την ποικιλία των φαγητών που ξέρει να φτιάχνει. Για κάθε συνταγή μαγειρικής, εκτός από το όνομά της, γνωρίζει τον σεφ που τη δημιούργησε,

Διαβάστε περισσότερα

Βάσεις δεδομένων. (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr

Βάσεις δεδομένων. (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Βάσεις δεδομένων (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Ευρετήρια Σκανδάλες PL/SQL Δείκτες/Δρομείς 2 Αποθήκευση δεδομένων Πρωτεύουσα αποθήκευση Κύρια μνήμη (main memory) ή κρυφή μνήμη

Διαβάστε περισσότερα

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

Παράδειγμα Insert Update Delete Alter.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (2) Εργαστήριο Βάσεων Δεδομένων Εισαγωγή στη MySQL (2) ER Σχεσιακό Create Tables 1/4 CREATE TABLE student( name VARCHAR(25) DEFAULT 'unknown' NOT NULL, lastname VARCHAR(25) DEFAULT 'unknown' NOT NULL, AM INT(5)

Διαβάστε περισσότερα

Εισαγωγή στις Βάσεις Δεδομζνων II

Εισαγωγή στις Βάσεις Δεδομζνων II ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΣΙΑ ΠΑΝΕΠΙΣΗΜΙΟ ΚΡΗΣΗ Εισαγωγή στις Βάσεις Δεδομζνων II Ενότητα: Η γλώσσα SQL Διδάσκων: Πηγουνάκης Κωστής ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΧΟΛΗ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

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

9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures): 9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers Σκοπός της παρούσας εργαστηριακής άσκησης, είναι η εξοικείωση του σπουδαστή με τη δημιουργία αποθηκευμένων διαδικασιών (Stored Procedures) και σκανδάλης

Διαβάστε περισσότερα

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

Κεφάλαιο 2. Δημιουργία Βάσης Δεδομένων και Πινάκων Κεφάλαιο 2. Δημιουργία Βάσης Δεδομένων και Πινάκων Σύνοψη Σ αυτό το κεφάλαιο θα δημιουργήσουμε μια βάση δεδομένων που αφορά ένα κατάστημα ενοικίασης ψηφιακών δίσκων με το όνομα DVDClub. Θα εργαστούμε,

Διαβάστε περισσότερα

Lecture 18: Internal DB Programming I

Lecture 18: Internal DB Programming I Department of Computer Science University of Cyprus EPL342 Databases Lecture 18: Internal DB Programming I Views/Assertions/Triggers (Chapter 8.7-8.8, Elmasri-Navathe 5ED + ΤransactSQL Reference Guide

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 5: ER II. Data Modeling Using the ER Model

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 5: ER II. Data Modeling Using the ER Model Department of Computer Science University of Cyprus EPL342 Databases Lecture 5: ER II Data Modeling Using the ER Model (Chapter 3.4-3.7, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

Διαβάστε περισσότερα

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

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 4: Τελεστές Τελεστές: Τελεστής Ανάθεσης 2 Το σύμβολο της ανάθεσης είναι το = Προσοχή: το σύμβολο ελέγχου ισότητας είναι το ==. Η μορφή των προτάσεων ανάθεσης είναι:

Διαβάστε περισσότερα