SQL Data Definition. REFERENCES (foreign key), CHECKκαι PRIMARY KEY (key)

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

Download "SQL Data Definition. REFERENCES (foreign key), CHECKκαι PRIMARY KEY (key)"

Transcript

1 Κεφάλαια 4, 4, 5, 5, 6 - Ορισµός Βάσεων εδοµένων µε SQL DDL -ΠεριορισµοίΑκεραιότηταςστην SQL -Περιβάλλοντα Χρήσης της SQL (API) - Άλλες Γλώσσες Σχεσιακών Βάσεων (QBE) Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.84

2 SQL Data Definition H Γλώσσα Ορισµού (DDL) της SQL χρησιµοποιείται για CREATE, DROP και ALTER τις περιγραφές των Σχέσεων στη Βάση εδοµένων CREATE TABLE DEPARTMENT ( DNumber integer DName varchar(12) not null, MgrSSN char(9), MainLocation char(30) MgrSD char(9) primary key (Dnumber) foreign key MgrSSN references EMPLOYEE.SSN check MainLocation in ( athens, thessaloniki, patra ) ); Σε µερικά (παλαιότερα) SQL συστήµατα, δεν υπάρχει υποστήριξη για REFERENCES (foreign key), CHECKκαι PRIMARY KEY (key) Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.85

3 SQL DDL -συνέχεια Ηεντολή: DROP TABLE DEPENDENT διαγράφει τον πλήρη πίνακα DEPENDENT και τον ορισµό του (δεν είναι δυνατή πλέον η χρήση του για ενηµερώσεις, κλπ.) Ηεντολή: ALTER TABLE EMPLOYEE ADD JOB VARCHAR(15) προσθέτει ένα νέο γνώρισµα, µε όνοµα JOB, στη Σχέση EMPLOYEE Όλεςοιτιµέςγιατο JOB στηναρχήθαείναι NULL Αργότεραµπορείνααλλάξουνµετηνεντολή UPDATE. Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.86

4 Περιορισµοί Ακεραιότητας Το Σχεσιακό Μοντέλο υποστηρίζει 6 είδη περιορισµών ακεραιότητας: ΠΕ ΙΟ ΤΙΜΩΝ (DOMAIN), ΣΤΗΛΩΝ (COLUMN) και ΟΡΙΖΟΜΕΝΩΝΑΠΟΤΟΝΧΡΗΣΤΗ (USER-DEFINED), ΚΛΕΙ Ι (KEY), ΑΚΕΡΑΙΟΤΗΤΑΟΝΤΟΤΗΤΑΣ (ENTITY INTEGRITY), ΑΝΑΦΟΡΙΚΗΑΚΕΡΑΙΟΤΗΤΑ (REFERENTIAL INTEGRITY.) Τα περισσότερα εµπορικά DBMS δεν υποστηρίζουν όλους τους περιορισµούς ακεραιότητας (υποστήριξη εδώ σηµαίνει ότι αν µια ενηµέρωση καταστρατηγεί έναν περιορισµό τότε το DBMS δεν επιτρέπει την εκτέλεσή του) Έχουµε ήδη µιλήσει για τον προσδιορισµό των έµφυτων στο µοντέλο περιορισµών, (κλειδί, ακεραιότηταοντότητας, αναφορικήακεραιότητα. Οιάλλοι 3 περιορισµοί προσδιορίζονταιρητά. Μοντέρνα DBMS επιβάλουν όλο και περισσότερους δοµικούς περιορισµούς, µε καλό παράδειγµα την: Access της Microsoft. Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.87

5 Περιορισµοί στο Σχεσιακό Μοντέλο Όταν υποστηρίζεται ένας περιορισµός ακεραιότητας, αρκετές ενέργειες πρέπει να γίνουν από το DBMS. Αυτές είναι, η διαδοχική τροποποίηση (cascade delete) και η διαδοχική ενηµέρωση (cascade update.) Μερικά DBMSs υποστηρίζουν άµεσα τα παραπάνω (Access) Άλλα DBMSs απαιτούναπότονχρήστηναγράψει triggers (διαδικασίες) για την υποστήριξη αυτών (SQL Server) Περιορισµοί Στηλών και Πεδίων υποστηρίζονται µερικώς (ενίοτε και από strong-typing ή άλλους ισχυρούς µηχανισµούς) Περιορισµοί που ορίζονται από τον Χρήστη έχουν περιληφθεί σε νεώτερες εκδόσεις της τυποποίησης της SQL (SQL-92) µε ASSERTIONS (ειδικοί κανόνες) Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.88

6 Περιορισµοί Πεδίου Τιµών Γενικά οι περιορισµοί ακεραιότητας προφυλάγουν τα δεδοµένα από καταστροφή που προέρχεται από ατυχή χρήση. Τα Domain constraints είναι η πλέον απλή µορφή περιορισµών ακεραιότητας Η SQL υποστηρίζει πολλούς τύπους πεδίων τιµών: char(n). varchar(n). int. smallint. numeric(p,d). real, double precision. float(n). Null values επιτρέπονται.. Με το not null απαγορεύονται Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.89

7 date. time. Τύποι Πεδίου Τιµών (συνέχεια)» Π.χ. date » Π.χ. time 09:00:30 time 09:00:30.75 timestamp: η ηµεροµηνία και η χρονική στιγµή» Π.χ.. timestamp :00:30.75 Interval: χρονική περίοδος» Π.χ. Interval 1 day» Χρονικές πράξεις επιτρέπονται Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.90

8 Ορισµός νέων τύπων πεδίου τιµών Το create domain στη SQL-92 ορίζει νέο τύπο (από άλλους υπάρχοντες) create domain person-name char(20) not null create domain Dollars numeric(12, 2) create domain Euros numeric(12,2) εν µπορούµε να συγκρίνουµε µια τιµή τύπου Dollars µε µιατιµήτύπου Euros. However, we can convert type as below (cast r.a as Pounds) (Should also multiply by the dollar-to-pound conversion-rate) Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.91

9 Περιορισµοί Πεδίου Τιµών (συνέχεια) Το check clause στην SQL-92 επιτρέπει επιπλέον περιορισµούς: ιαβεβαίωση ότι ένα πεδίο τιµών για ΩΡΟΜΙΣΘΙΑ επιτρέπει µόνο τιµές που είναι µεγαλύτερες από κάποιο ελάχιστο. create domain hourly-wage numeric(5,2) constraint value-test check(value > = 4.00) Το constraint value-test είναι προαιρετικό, αλλά χρήσιµο για να δείχνειπουενδεχοµένωςγίνεταιµιαπαραβίαση. Μπορεί να είναι αρκετά σύνθετο create domain AccountType char(10) constraint account-type-test check (value in ( Checking, Saving )) check (branch-name in (select branch-name from branch)) Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.92

10 Αναφορική Ακεραιότητα στην SQL Κύρια / Υποψήφιακλειδιάκαιαναφορικήακεραιότηταορίζονταιστην SQL µε την εντολή create table: Το primary key clause για γνωρίσµατα του κύριου κλειδιού. Tο unique key clause για γνωρίσµατα του υποψήφιου κλειδιού. Το foreign key clause για γνωρίσµατα του εξωτερικού κλειδιού και το όνοµα της σχέσης που αναφέρεται από το εξωτερικό κλειδί Ένα εξωτερικό κλειδί αναφέρεται στο κύριο κλειδί της αναφερόµενης σχέσης foreign key (account-number) references account Είναι δυνατή και η σύντµηση account-number char (10) references account Επίσης, µπορεί να γραφεί σε πλήρη µορφή (ρητή αναφορά σε γνώρισµα) Πάντα αναφέρεται σε κύριο ή υποψήφιο κλειδί foreign key (account-number) references account(account-number) Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.93

11 Αναφορική Ακεραιότητα στην SQL Παράδειγµα create table customer (customer-name char(20), customer-street char(30), customer-city char(30), primary key (customer-name)) create table branch (branch-name char(15), branch-city char(30), assets integer, primary key (branch-name)) create table account (account-number char(10), branch-name char(15), balance integer, primary key (account-number), foreign key (branch-name) references branch) create table depositor (customer-name char(20), account-number char(10), primary key (customer-name, account-number), foreign key (account-number) references account, foreign key (customer-name) references customer Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.94

12 Assertions --Παραδείγµατα Κάθε Υπάλληλος είναι είτε Άνδρας ή Γυναίκα CREATE ASSERTION gender CHECK Sex= m OR Sex= f Οι Μισθοί πρέπει να ξεπερνούν το 1,000,000 CREATE ASSERTION salary_bound CHECK Salary > Αν κάποιος επιχειρήσει την παρακάτω εισαγωγή: insert into EMPLOYEE (select Name= tom,.., Salary= , ) η εισαγωγή ΑΛΛΑΖΕΙ εµπεδώνοντας τον κανόνα assert σε: insert into EMPLOYEE (select Name= tom,.., Salary= where > ) Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.95

13 Assertions Παραδείγµατα (2) The sum of all loan amounts for each branch must be less than the sum of all account balances at the branch. create assertion sum-constraint check (not exists (select * from branch where (select sum(amount) from loan where loan.branch-name = branch.branch-name) >= (select sum(amount) from account where loan.branch-name = branch.branch-name))) Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.96

14 Triggers To trigger είναι µια εντολή που εκτελείται αυτόµατα από το σύστηµα σαν παρενέργεια (εκπυρσοκρότηση) µιας τροποποίησης της Βάσης εδοµένων Για να σχεδιαστεί ένας µηχανισµός trigger χρειάζεται να Γραφούνοισυνθήκεςεκτέλεσηςτου trigger Γραφούν οι πράξεις που γίνονται όταν το trigger εκτελείται. Τα Triggers επίσηµαορίστηκανµετηντυποποίησητης SQL το 1999, αλλά προϋπήρχαν και σε παλαιότερα DBMS Τα Triggers ΕΝ ΣΥΝΙΣΤΑΝΤΑΙ (εκτός αν είναι απολύτως απαραίτητα) διότι µπορεί να έχουν αναπάντεχα αποτελέσµατα όταν δεν έχουν σχεδιαστεί καλά Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.97

15 Παράδειγµα Trigger στην SQL:1999 create trigger overdraft-trigger after update on account referencing new row as nrow for each row when nrow.balance < 0 begin atomic insert into borrower (select customer-name, account-number from depositor where nrow.account-number = depositor.account-number); insert into loan values (n.row.account-number, nrow.branch-name, nrow.balance); update account set balance = 0 where account.account-number = nrow.account-number end Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.98

16 Χρήση των triggers για Εξωτερικές πράξεις Π.χ., κάνε νέα παραγγελία για ένα προϊόν του οποίου η ποσότητα στηναποθήκηλιγοστεύειµετάαπόµιατροποποίηση. create trigger reorder-trigger after update of amount on inventory referencing old row as orow, new row as nrow for each row when nrow.level < = (select level from minlevel where minlevel.item = orow.item) and orow.level > (select level from minlevel where minlevel.item = orow.item) begin insert into orders (select item, amount from reorder where reorder.item = orow.item) end Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.99

17 Triggers στην MS-SQLServer -Συντακτικό create trigger overdraft-trigger on account for update as if inserted.balance < 0 begin insert into borrower (select customer-name,account-number from depositor, inserted where inserted.account-number = depositor.account-number) insert into loan values (inserted.account-number, inserted.branch-name, inserted.balance) update account set balance = 0 from account, inserted where account.account-number = inserted.account-number end Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.100

18 ηµιουργία Ευρετηρίων στην SQL Στις περισσότερες περιπτώσεις µια Σχέση Βάσης αντιστοιχεί σε αποθηκευµένο αρχείο Η εντολή CREATE INDEX χρησιµοποιείται για τον προσδιορισµό ευρετηρίου (index) που έχει ονοµασία (index name) CREATE INDEX LN_INDEX on EMPLOYEE (Name); Για τον προσδιορισµό ενός περιορισµού ευρετηρίου κλειδιού στο γνώρισµα (γνωρίσµατα) κλειδιού χρησιµοποιείται το UNIQUE CREATE UNIQUE INDEX S_IND on EMPLOYEE (SSN); Γιατονπροσδιορισµόενός ευρετηρίουσυστάδων (clustering index) χρησιµοποιείται το CLUSTER CREATE INDEX D_IN on EMPLOYEE(DNumber) CLUSTER; Στα περισσότερα DBMS, κάποια παραλλαγή των B+-tree χρησιµοποιείται για την υλοποίηση ευρετηρίων Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.101

19 Σχεσιακές Όψεις και SQL Η αρχιτεκτονική 3-επιπέδων στα DBMS, έχει σαν αποτέλεσµα διαφορετικοί χρήστες να βλέπουν διαφορετικά εξωτερικά σχήµατα (όψεις) - αυτό επιτυγχάνεται στο σχεσιακό µοντέλο µε την έννοια του VIEW External Schema 1 External Schema 2... External Schema N RELATIONAL VIEWS Conceptual Schema RELATIONAL DATABASE SCHEMA (RELATIONS) Internal Schema Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.102

20 Σχεσιακές Όψεις Ορισµός (1) ΜιαΟΨΗ (VIEW) είναιµιασχέσηπου ΕΝείναιστοιχείοτου Εννοιολογικού Σχήµατος (οι Σχέσεις Βάσης)) αλλά είναι προσβάσιµη ως µια ιδεατή (virtual) σχέση ΟχρήστηςδενµπορείναξεχωρίσειανµιαΣχέσηείναιΣχέση Βάσης ήείναιόψη Η Όψη ΕΝ αποθηκεύεται (materialized) στην Βάση εδοµένων ΤαπεριεχόµενατηςΌψηςπροσδιορίζονταιαπότον (αποθηκευµένο) ορισµό της σαν µια συνάρτηση των περιεχοµένων της ΜιαΌψηορίζεταισεΣχέσειςΒάσηςήσεάλλεςΌψειςµεκάποιο query Πράξεις (queries, ενηµερώσεις) σε Όψεις µεταφράζονται σε Πράξεις στις ορίζουσες (την Όψη) Σχέσεις Βάσης ΕΝ υπάρχουν περιορισµοί στα Queries σε Όψεις Ελάχιστες ενηµερώσεις σε Όψεις επιτρέπονται Μια Όψη αλλάζει δυναµικά µε τη Βάση δεδοµένων Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.103

21 Σχεσιακές Όψεις Ορισµός (2) CREATE VIEW table_name [ ( view_column_list ) ] AS query_expression [ WITH CHECK OPTION ] V1: Εργαζόµενοι σε Έργα CREATE VIEW PROJWORKER(EName, Address, Project) AS select Name, Address, PName from EMPLOYEE, PROJECT, WORKS_ON where PROJECT.PNumber = WORKS_ON.PNumber and WORKS_ON.SSN=EMPLOYEE.SSN ; Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.104

22 Σχεσιακές Όψεις - Παραδείγµατα Όταν το view_column_list λείπει, τα γνωρίσµατα της ΟΨΗΣ κληρονοµούνται από τα Γνωρίσµατα της ορίζουσας Σχέσης V2: Υπάλληλοι µε υψηλούς µισθούς CREATE VIEW BIGSHARKS AS select * from EMPLOYEE where Salary > and BirthDate > ; Οχρήστηςδύναταινακάνειερωτήσειςάµεσασεαυτήτηνέα Σχέση που λέγεται BIGSHARKS, και η οποία έχει ακριβώς τα ίδια Γνωρίσµατα µε τη Σχέση EMPLOYEE Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.105

23 Σχεσιακές Όψεις Παραδείγµατα (2) Μια Όψη είναι δυνατόν να έχει διαφορετικά γνωρίσµατα (νέα) από το Εννοιολογικό Σχήµα V3: Πληροφορίες για Τµήµατα (µέσος µισθός, κλπ.) CREATE VIEW DEPTINFO (Name, NoOfEmpl, AvgSalary) AS select DName, COUNT(*), AVG(Salary) from DEPARTMENT d, EMPLOYEE e where d.dnumber = e.dnumber group by DName ; Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.106

24 Σχεσιακές Όψεις Παραδείγµατα (3) V4: Βρεςτοναριθµότωνυπαλλήλωνκαιτονµέσοµισθό (παρουσίασε και το όνοµα τµήµατος) select * from where DEPTINFO Name = research V5: Αύξησεκατά 1 τοναριθµότωνυπαλλήλωνστοτµήµα Έρευνας Αυτή η ενηµέρωση ΕΝ επιτρέπεται (Γιατί?) Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.107

25 Σχεσιακές Όψεις - Εκτέλεση Όπως ήδη ειπώθηκε, το σύστηµα µεταφράζει προσβάσεις (ενηµερώσεις) σε Όψεις ΣΕ προσβάσεις (ενηµερώσεις) σε Σχέσεις Βάσης. ΠΩΣ ΜΠΟΡΕΙ ΝΑ ΓΙΝΕΙ ΑΥΤΌ? ΧΑΖΗ Προσπάθεια 1: ηµιούργησε (Materialize) την Όψη (προσωρινός πίνακας) και εκτέλεσε το query σε αυτήν. ΧΑΖΗ Προσπάθεια 2: Κράτα συνεχώς ενήµερη την Όψη -- δηλαδή, κράτησέ την δηµιουργηµένη (ονοµάζεται, snapshot) και όποτε σχετικές ενηµερώσεις γίνονται στις Σχέσεις Βάσης, τότε πέρασε αυτές και στην Όψη. Εκτέλεσε το query στο snapshot. ΣΩΣΤΗ Προσπάθεια: Άλλαξε το query αντικαθιστώντας την Όψηµετο query σεσχέσειςβάσηςπουτηνορίζει, καιεκτέλεσε το query σεαυτέςτιςσχέσειςβάσης. Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.108

26 Σχεσιακές Όψεις Παραδείγµατα Εκτέλεσης Για παράδειγµα, το query στην Όψη BIGSHARKS: select Name, Address from BIGSHARKS where DNumber = 5 Τροποποιείται ανάλογα και το παρακάτω query εκτελείται: select Name, Address from EMPLOYEE where Salary > and BirthDate > and DNumber = 5 Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.109

27 Σχεσιακές Όψεις - Ενηµερώσεις Γενικά, υπάρχουν σοβαροί περιορισµοί στις ενηµερώσεις Μια ενηµέρωση Όψης είναι αναµφίβολη αν µια µοναδική ενηµέρωση στις Σχέσεις Βάσης µπορεί να εκπληρώσει το ζητούµενο αποτέλεσµα στην Όψη ΠΑΡΑΤΗΡΗΣΕΙΣ: Μια όψη που ορίζεται σε µια (ακριβώς) Σχέση Βάσης είναι ενηµερώσιµη αν τα γνωρίσµατα της Όψης περιέχουν το Κύριο Κλειδί Όψεις που ορίζονται σε πολλαπλές Όψεις είναι γενικά µηενηµερώσιµες Όψεις που περιέχουν Συναθροιστικές Συναρτήσεις είναι σίγουρα µη-ενηµερώσιµες Οι Ενηµερώσεις των Όψεων παραµένουν ένα ενδιαφέρον ανοικτό ερευνητικό θέµα / πρόβληµα (π.χ., Data Warehouses) Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.110

28 Σχεσιακές Όψεις - Σχόλια To WITH CHECK OPTION χρησιµοποιείταισεενηµερώσιµες όψεις για να αντιµετωπίσει το πρόβληµα των γραµµών που εξαφανίζονται (vanishing rows) Για παράδειγµα, θεωρήστε την Όψη: CREATE VIEW V AS select * from R where A = X Έστω η ενηµέρωση: UPDATE V set A = Y Η ενηµέρωση θα προχωρήσει κανονικά, αλλά οι πλειάδες που ήταν πριν προσβάσιµες στην V θα εξαφανιστούν! (προφανώς, δεν θα ικανοποιούν πλέον την συνθήκη της WHERE-πρότασης) Οι Όψεις χρησιµοποιούνται (επίσης) ως µηχανισµοί ασφάλειας και δικαιοδοσίας Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.111

29 Εµφύτευση της SQL σε Γλώσσα Προγραµµατισµού Εντολές DML συχνά εµφυτεύονται σε προγράµµατα γλώσσας προγραµµατισµού (host) Η εµφυτευµένη SQL εντολή διακρίνεται από εντολές της Γλώσσας Προγραµµατισµού µε ειδικό τρόπο, π.χ. µε πρόθεµα Υπάρχουν δυο τρόποι εµφύτευσης: 1.- Επέκταση της Γλώσσας Προγραµµατισµού (αλλαγή του Compiler) Ενδεικτικά, RIGEL, MODULA-R, Gemstone, Orion, κλπ.) Ονοµάζονται database programming languages 2.- Χρήση ενός προ-επεξεργαστή της Γλώσσας για τις εντολές DML Ο προ-επεξεργαστής αντικαθιστά τις εντολές DML µε κλήσεις στην host γλώσσα, οι οποίες εκτελούνται Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.112

30 Εµφύτευση της SQL SQL εντολέςκαλούνταιµέσααπόέναπρόγραµµαµιας host γλώσσας (π.χ., C ή COBOL) Οιεντολέςτης SQL µπορούννααναφέρονταισε host µεταβλητές Πρέπει να περιλαµβάνουν µια εντολή για σύνδεσµο µε την σωστή βάση. Οι SQL Σχέσεις είναι σύνολα εγγραφών, χωρίς προκαθορισµένο (a priori) όριο στον αριθµό των εγγραφών. εν υπάρχουν τέτοιεςδοµέςστην C! Για να αντιµετωπίσει αυτή την δυσκολία η SQL υποστηρίζει ένα µηχανισµό που λέγεται cursor Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.113

31 Cursors Οι δυνατότητες που προσφέρονται για τον CURSOR είναι ηλώνεται για µια σχέση ή ένα query που είναι γεννήτορας µιας σχέσης. Μπορεί να ανοίξει (open) έναν cursor, και διαδοχικά να φέρει (fetch) πλειάδες, µετά να µετακινήσει (move) τον cursor, µέχρις ότου όλες οι πλειάδες ανακληθούν Μπορείµετηχρήσητου ORDER BYναελέγχειτησειρά ανάκλησης των πλειάδων»πεδίαστην ORDER BY πρότασηπρέπεινα παρουσιάζονται και στην SELECT πρόταση. Μπορεί να διαγράφει / τροποποιεί πλειάδες που δείχνονται από τον cursor Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.114

32 Ο Cursor που παίρνει ονόµατα ναυτικών που έχουν κρατήσει ένα κόκκινο σκάφος, σε σε αλφαβητική σειρά DECLARE sinfo CURSOR FOR SELECT S.sname FROM Sailors S, Boats B, Reserves R WHERE S.sid=R.sid AND R.bid=B.bid AND B.color= red ORDER BY S.sname; FETCH 5 IN sinfo; εν επιτρέπεται να αντικατασταθεί S.sname από το, ας πούµε, S.sidστην ORDER BY πρόταση! (Γιατί?) Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.115

33 Εµφύτευσητης SQL σε C --Παράδειγµα char SQLSTATE[6]; EXEC SQL BEGIN DECLARE SECTION char c_nονοµα[20]; short c_minrating; float c_age; EXEC SQL END DECLARE SECTION c_minrating = random(); EXEC SQL DECLARE sinfo CURSOR FOR SELECT S.Ονοµα, S.age FROM ΝΑΥΤΙΚΟΣ S WHERE S.rating > :c_minrating ORDER BY S.Ονοµα; do { EXEC SQL FETCH sinfo INTO :c_ονοµα, :c_age; printf( %s is %d years old\n, c_nονοµα, c_age); } while (SQLSTATE!= ); EXEC SQL CLOSE sinfo; Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.116

34 υναµική SQL Επιτρέπεισεπρογράµµατανακατασκευάζουνκαιναστέλνουν SQL επερωτήσεις σε run time Παράδειγµα χρήσης δυναµικής SQL από ένα πρόγραµµα C char * sqlprog = update account set balance = balance * 1.05 where account-number =? EXEC SQL prepare dynprog from :sqlprog; char account [10] = A-101 ; EXEC SQL execute dynprog using :account; Το δυναµικό SQL πρόγραµµα περιέχει ένα?, που θα συµπληρωθεί από τον χρήστη όταν το SQL πρόγραµµα εκτελείται Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.117

35 APIΒάσης εδοµένων: Εναλλακτικόςτης Εµφύτευσης τρόπος πρόσβασης Αντί να αλλάζει ο compiler, προστίθεται µια βιβλιοθήκη µε Κλήσεις στη Βάση εδοµένων (API) Application Programming Interface Ειδικές ιαδικασίες / Αντικείµενα Περνά τις SQL εντολές σαν character strings από τη γλώσσα και παρουσιάζει τα αποτελέσµατα µε φιλικό (για τη γλώσσα) τρόπο Το ODBC της Microsoft έχει γίνει το C/C++ standard στα Windows Το JDBC της SUN είναιτοανάλογογιατη Java Ανεξάρτητα του DBMS» Ένας οδηγός παγιδεύει τις κλήσεις και τις µεταφράζει σε κώδικα για το DBMS» ΗΒάσηµπορείναείναιστο ίκτυο Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.118

36 SQL API στη Java (JDBC) Connection con = // connect DriverManager.getConnection(url, login", pass"); Statement stmt = con.createstatement(); // set up stmt String query = "SELECT COF_NAME, PRICE FROM COFFEES"; ResultSet rs = stmt.executequery(query); try { // handle exceptions // loop through result tuples while (rs.next()) { String s = rs.getstring("cof_name"); Float n = rs.getfloat("price"); System.out.println(s + " " + n); } } catch(sqlexception ex) { System.out.println(ex.getMessage () + ex.getsqlstate () + ex.geterrorcode ()); } Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.119

37 Μειονεκτήµατατων Host Programming Languages Ανάµιξη των ιαδικαστικών και ηλωτικών γλωσσών (το γνωστό language mismatchπρόβληµα) ιαφορετικοί προ-επεξεργαστές απαιτούνται για διαφορετικές γλώσσες Οι Σχέσεις δεν αποτελούν πολίτες Α κατηγορίας στην γλώσσα (π.χ., µια Σχέση δεν περνιέται σαν παράµετρος σε διαδικασία) Η HOST γλώσσα πιθανόν να µην υποστηρίζει χρήσιµες δοµές (π.χ., η FORTRAN δεν υποστηρίζει εγγραφές) Οι database programming languagesκέρδισανπολύέδαφος, ειδικά σε object-oriented DBMSs Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.120

38 Χρήση της SQL SQL sessions O Πελάτης (client) συνδέεται σε ένα SQL Εξυπηρετητή (server), ξεκινώντας ένα session Εκτελεί µια σειρά από εντολες Αποσυνδέει το session Μπορεί να κάνει commit ή rollback της εργασίας που εκτέλεσε στο session Έναπεριβάλλον SQL έχειπολλέςσυνιστώσες, περιλαµβανοµένου ενός µοναδικού αριθµού χρήσης, και ενός διαγράµµατος (schema), που ορίζει ποιο από τα πολλά διαγράµµατα ένα session χρησιµοποιεί Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.121

39 Άλλαχαρακτηριστικά: ιαγράµµατα, Κατάλογοι και Περιβάλλοντα Ιεραρχία 3-επιπέδωνστηνονοµασίαΣχέσεων. Η Β περιέχει πολλά catalogs Κάθε κατάλογος µπορεί να περιέχει πολλά διαγράµµατα (schemas) Τα SQL αντικείµενα (Σχέσεις, Όψεις) περιλαµβάνονται σε ένα schema Π.χ. catalog5.company-schema.employee Κάθε χρήστης έχει Default κατάλογο και ιάγραµµα, και ο συνδυασµός αυτός είναι µοναδικός για το χρήστη Πολλαπλές εκδόσεις µιας εφαρµογής µπορούν να εκτελούνται σε διαφορετικά ιαγράµµατα Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.122

40 Μειονεκτήµατα της SQL Η SQL δενυποστηρίζει strong typing, inheritance, etc. Οι SQL πίνακες ΕΝ ΕΙΝΑΙ ΣΧΕΣΕΙΣ (επιτρέπουν διπλές πλειάδες) Οι SQL πίνακες δεν εµφωλιάζονται (δεν αποτελούν τιµές για άλλους πίνακες) Η SQL δενυποστηρίζειπολλέςπράξεις, όπως: generalized restriction, division, forall Η SQL δεν υποστηρίζει 3-V logic (Λογική 3 τιµών αληθείας) Η SQL δεν υποστηρίζει µεταβατικούς περιορισµούς Η SQL δενυποστηρίζεισυναρτησιακέςεξαρτήσεις (functional dependencies) Η SQL δεν υποστηρίζει περιορισµούς ακεραιότητας σε Όψεις ΠΑΡΟΛΑ ΑΥΤΑ, η SQL είναι η STANDARD ΓΛΩΣΣΑ Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.123

41 Query-by-Example (QBE) Μια Γλώσσα για ερωταποκρίσεις που αναπτύχθηκε στην IBM (από τον Moshe Zloof) και παρουσιάζεται σε ένα προϊόν (QMF) (που είναι εναλλακτικός τρόπος διεπαφής για το DB2) Ευκολότερη από την SQL για τον µέσο χρήστη (ΟΠΤΙΚΗ και ΙΣ ΙΑΣΤΑΤΗ) ΚΕΝΤΡΙΚΗ Ι ΕΑ: Το Σύστηµα παρέχει στον χρήστη τη δυνατότητα να δει το περίγραµµα των Σχέσεων στη Βάση και ο Χρήστης συµπληρώνει τους πίνακες δίνοντας παραδείγµατα για το πώς θέλει να είναι η απάντηση QBE1: ΒρεςταονόµατατωνΥπαλλήλωνστοΤµήµα 4 EMPLOYEE SSN Name BDate Address Sex Salary SupSSN DNumber P. x 4 Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.124

42 QBE ΣΥΝΟΨΗ Οι Αρχές της Γλώσσας Ο χρήστης δεν απαιτείται να θυµάται τα ονόµατα των γνωρισµάτων και των σχέσεων Στην διατύπωση της ερωταπόκρισης, δεν απαιτείται να τηρούνται ανελαστικοί κανόνες Στηρίζεται στον σχεσιακό λογισµό πλειάδων (µεταβλητές είναι οι στήλες) Σχεσιακά πλήρης διατύπωση, και κάτι παραπάνω, µια και εκφράζεται και transitive closure Πως Λειτουργεί Σύµβολα µε _ να προηγείται, είναι ΜΕΤΑΒΛΗΤΕΣ Σύµβολα χωρίς _ να προηγείται είναι ΣΤΑΘΕΡΕΣ ΤΙΜΕΣ (υποδηλώνουν µια συνθήκη για επιλογή - equality selection-condition) Το πρόσηµο P. χρησιµοποιείται για να υποδειχθεί ποια γνωρίσµατα θα τυπωθούν (υποδηλώνει µια προβολή - projection) Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.125

43 QBE Σύνοψη Ηδιαδικασία ιαδικασία ερωταπόκρισης Πρώτα, ο χρήστης διαλέγει τις σχέσεις (πίνακες) που χρειάζεται για το query Παρουσιάζονται τα περιγράµµατα των πινάκων που διαλέχτηκαν Ο χρήστης «πηγαίνει» στις κατάλληλες στήλες (µε ειδικά πλήκτρα) Τιµές-παραδείγµατα (µεταβλητές), σταθερές, κλπ., δακτυλογραφούνται Άλλοι συγκριτικοί τελεστές (πέραν της ισότητας που είναι αυτόµατη για σταθερές τιµές) πρέπει να δακτυλογραφηθούν (όπως, >, <, κλπ.) πιοπολύπλοκεςσυνθήκεςµπαίνουνσεένακουτί-συνθηκών (condition box) Συνθήκες στην ίδια σειρά υποδηλώνουν το Boolean AND Συνθήκες σε διαφορετικές σειρές υποδηλώνουν το Boolean OR Ηάρνηση (negation - Boolean NOT) προσδιορίζεταιµετοσύµβολο Οι Συνενώσεις (JOINS) εκφράζονται µε τη χρήση κοινών παραδειγµατικών τιµών σε πολλαπλούς πίνακες Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.126

44 QBE Παραδείγµατα (1) QBE2: Βρες τα ονόµατα των Υπαλλήλων που εργάζονται σε ένα Τµήµα που έχει µάνατζερ διαφορετικό από αυτόν µε αριθµό 3334 EMPLOYEE SSN Name BDate Address Sex Salary SupSSN DNumber P. x no DEPARTMENT DNumber DName MgrSSN MgrSD no 3334 Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.127

45 QBE Παραδείγµατα (2) QBE3: Βρες τα ονόµατα των Υπαλλήλων που έχουν µισθό µεγαλύτερο των 300,000 και εργάζονται στο Τµήµα 5 SSN Name BDate Address Sex Salary SupSSN DNumber P. x > QBE4: Βρες τα ονόµατα των Υπαλλήλων που έχουν µισθό µεγαλύτερο των 300,000 ή εργάζονται στο Τµήµα 5 SSN Name BDate Address Sex Salary SupSSN DNumber P. x 5 P. y > Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.128

46 QBE Παραδείγµατα (3) QBE5: Βρες ονόµατα και διευθύνσεις Υπαλλήλων του Τµήµατος 4 που κερδίζουν περισσότερα από κάποιον που εργάζεται στο Τµήµα 5 EMPLOYEE SSN Name BDate Address Sex Salary SupSSN DNumber P. tom P. kifis CONDITION BOX 10 > 20 Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.129

47 QBE Παραδείγµατα (4) QBE6: Βρες τα ονόµατα των Υπαλλήλων που έχουν µισθό µεγαλύτερο από τον µισθό του µάνατζερ του Τµήµατός των EMPLOYEE SSN Name BDate Address Sex Salary SupSSN DNumber P. tom DEPARTMENT DNumber DName MgrSSN MgrSD CONDITION BOX > 15 Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.130

48 QBE Παραδείγµατα (5) QBE7: Βρες όλους τους Εξαρτώµενους για Υπαλλήλους που έχουν ένα Εξαρτώµενο γεννηθέντα το 1972 ενώ δεν έχουν κανένα Εξαρτώµενο που γεννήθηκε µετά το 1975 DEPENDENT ESSN Name Sex BDate Relation P <1975 Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.131

49 QBE Παραδείγµατα (6) QBE8: Βρες το άθροισµα των µισθών όλων τον Υπαλλήλων EMPLOYEE SSN Name BDate Address Sex Salary SupSSN DNumber P.SUM.ALL. x QBE9: Εισαγωγή ενός νέου Υπαλλήλου EMPLOYEE SSN Name BDate Address Sex Salary SupSSN DNumber I thomas ekali m Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.132

50 QBE Παραδείγµατα (7) QBE10: ώσε αύξηση µισθού 15% για όλους τους Υπαλλήλους του Τµήµατος 5 EMPLOYEE SSN Name BDate Address Sex Salary SupSSN DNumber 44 s 5 U. 44 s* 1.15 Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.133

51 Μια µατιά στην MS Access Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.134

52 Κλείνοντας Η QBE είναιµιακοµψήκαιφιλικήπροςτοχρήστηγλώσσα που βασίζεται στο σχεσιακό λογισµό πεδίου Είναι ιδιαίτερα εκφραστική (σχεσιακά πλήρης, αν και οι ενηµερώσεις ληφθούν υπόψη). Απλές ερωταποκρίσεις είναι εξαιρετικά εύκολο να εκφραστούν στην QBE, µε ένα ελάχιστο συντακτικό που πρέπει κανείς να θυµάται Η QBE Έχει επηρεάσει σε µεγάλο βαθµό τις γραφικές διευκολύνσεις για queries που σήµερα προσφέρονται σε πολλάπροϊόντα, περιλαµβανοµένηςκαιτης Microsoft Access. Ι.Β. ΣχεσιακέςΓλώσσες Εµφύτευση / DDL Σελίδα 2.135

Κεφάλαιο 5. Ορισµός Βάσεων εδοµένων µε SQL DDL - Άλλες Γλώσσες Σχεσιακών Βάσεων (QBE) Ι.Β. Σχεσιακές Γλώσσες Εµφύτευση / DDL Σελίδα 2.

Κεφάλαιο 5. Ορισµός Βάσεων εδοµένων µε SQL DDL - Άλλες Γλώσσες Σχεσιακών Βάσεων (QBE) Ι.Β. Σχεσιακές Γλώσσες Εµφύτευση / DDL Σελίδα 2. Κεφάλαιο 5 Ορισµός Βάσεων εδοµένων µε SQL DDL - Άλλες Γλώσσες Σχεσιακών Βάσεων (QBE) Ι.Β. Σχεσιακές Γλώσσες Εµφύτευση / DDL Σελίδα 2.84 SQL Data Definition H Γλώσσα Ορισµού (DDL) της SQL χρησιµοποιείται

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

Κεφάλαιο 5. Ορισµός Βάσεων εδοµένων µε SQL DDL - Άλλες Γλώσσες Σχεσιακών Βάσεων (QBE) Ι.Β. Σχεσιακές Γλώσσες Εµφύτευση / DDL Σελίδα 2.

Κεφάλαιο 5. Ορισµός Βάσεων εδοµένων µε SQL DDL - Άλλες Γλώσσες Σχεσιακών Βάσεων (QBE) Ι.Β. Σχεσιακές Γλώσσες Εµφύτευση / DDL Σελίδα 2. Κεφάλαιο 5 Ορισµός Βάσεων εδοµένων µε SQL DDL - Άλλες Γλώσσες Σχεσιακών Βάσεων (QBE) Ι.Β. Σχεσιακές Γλώσσες Εµφύτευση / DDL Σελίδα 2.90 SQL Data Definition H Γλώσσα Ορισµού (DDL) της SQL χρησιµοποιείται

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

Η Γλώσσα SQL. Μέρος β. Η Γλώσσα SQL Σελίδα 1

Η Γλώσσα SQL. Μέρος β. Η Γλώσσα SQL Σελίδα 1 Η Γλώσσα SQL Μέρος β Η Γλώσσα SQL Σελίδα 1 Διαγραφή - Deletion Εντολή DELETE delete from relation_name where-qualification Σημασιολογία: Εκτέλεσε την ανάλογη SELECT εντολή και έπειτα διάγραψε τις πλειάδες

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

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

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

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

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

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

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

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

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

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ 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 Μια γλώσσα σχεσιακής βάσης

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

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

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

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

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

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

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

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

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

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

SQL: Συναρτήσεις Συνάθροισης

SQL: Συναρτήσεις Συνάθροισης SQL: Συναρτήσεις Συνάθροισης Συναρτήσεις Συνάθροισης (Aggregate Functions) Εφαρμόζονται πάνω σε σύνολα τιμών γνωρισμάτων. count, max, min, avg, sum Περιορισμοί: η συνάρτηση count μπορεί να εφαρμοστεί σε

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

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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων Η γλώσσα 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) Ένας από τους βασικούς λόγους της απόλυτης επικράτησης των Σχεσιακών ΒΔ Εξασφαλίζει μεταφερσιμότητα

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

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

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

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

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

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

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

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

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

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

Βάσεις δεδομένων. (8 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις δεδομένων. (8 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (8 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα SQL (συνέχεια) Φωλιασμένες υπο-ερωτήσεις Δημιουργία όψεων Πράξεις ενημέρωσης και περιορισμοί 1/5/2014 Βάσεις Δεδομένων 2 Από το

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

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

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

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

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

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

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

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

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

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

S Q Q L L -- SQL (Structured Query Language) select insert update delete 2.47

S Q Q L L -- SQL (Structured Query Language) select insert update delete 2.47 Κεφάλαιο 4 Η Γλώσσα SQL και Σχεσιακός Λογισµός Ι.Β. Σχεσιακός Λογισµός και η Γλώσσα SQL Σελίδα 2.46 SQL -ΕΙΣΑΓΩΓΗ SQL (Structured Query Language) είναι η τυποποιηµένη standard γλώσσα στις Σχεσιακές Βάσεις.

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

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

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

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

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

Αρχεία και Βάσεις Δεδομένων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αρχεία και Βάσεις Δεδομένων Διάλεξη 11η: Περιορισμοί Ακεραιότητας - Κανονικές Μορφές Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Αποτελούν μηχανισμό για τον

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

Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα)

Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα) Database System Concepts and Architecture (Αρχιτεκτονική, οµές, και Μοντέλα) Μοντέλα, οµές (Σχήµα) και Αντιπρόσωποι (Data Models, Schema, and Instances) DBMS αρχιτεκτονική ιάφοροι τύποι γλωσσών και διεπαφές

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

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

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

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

Query-by-Example (QBE)

Query-by-Example (QBE) Φροντιστήριο 8 o Χειµερινό Εξάµηνο 2009-10 Τµήµα Μηχανικών Η/Υ και Πληροφορικής Πολυτεχνική Σχολή, Πανεπιστήµιο Πατρών Πέµπτη, 3 εκεµβρίου 2009 Τι είναι η QBE; Γλώσσα επερωτήσεων σε σχεσιακές ϐάσεις δεδοµένων

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

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

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

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

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 Περιεχόμενο

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εργαστήριο Βάσεων Δεδομένων. Triggers Εργαστήριο Βάσεων Δεδομένων Triggers CREATE TRIGGER Δήλωση δημιουργίας Trigger: CREATE [DEFINER = { user CURRENT_USER }] TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt

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

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

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples ΙΙ Ξένου Ρουμπίνη ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης Φροντιστήριο SQL Examples ΙΙ Ξένου Ρουμπίνη 1 SQL(DML) - Query Example 1 Query:1 Βρείτε τα ονόματα των έργων που δεν αφορούν το τμήμα research

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

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

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

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

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

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

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

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εξάμηνο 7 ο Oracle SQL Developer An Oracle Database stores and organizes information. Oracle SQL Developer is a tool for accessing and maintaining the data

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

Κεφ 4: Προχωρημένες Εντολές SQL

Κεφ 4: Προχωρημένες Εντολές SQL Κεφ 4: Προχωρημένες Εντολές SQL Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Σύνδεση σχέσεων (join) Οι λειτουργίες Join παίρνουν ως είσοδο δυο σχέσεις και επιστρέφουν

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Stored procedures, Exceptions, ιακιώµατα Γιώργος Μαρκοµανώλης Περιεχόµενα Stored Procedures... 1 Exceptions... 1 Εντολή

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

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

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

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

Διάλεξη 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)

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

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

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ Μία διαδικασία την οποία δηλώνει ο Διαχειριστής της Βάσης Δεδομένων και η οποία ενεργοποιείται αυτόματα από το ΣΔΒΔ κάθε φορά που συμβαίνουν μεταβολές ορισμένου τύπου στα δεδομένα

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

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

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

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

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

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

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

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. Relational Model Μαθ. #9 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model Μαθ. #9 Σχεσιακό Μοντέλο Μεταφορά E-R ιαγράµµατος σε Σχέσεις Μια οντότητα «Ε» Μεταφράζεται σε µια σχέση της οποίας το σχήµα αποτελείται από όλα τα γνωρίσµατα του «Ε» Εάν

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

Οι εντολές 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 Περιεχόμενα

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

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

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

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

Οι εντολές 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 Δημιουργία πινάκων με την

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

Εισαγωγή Mια από τις βασικές λειτουργίες ενός σχεσιακού συστήµατος διαχείρισης βάσεων δεδοµένων είναι η διαχείριση του πληροφοριακού περιεχοµένου που

Εισαγωγή Mια από τις βασικές λειτουργίες ενός σχεσιακού συστήµατος διαχείρισης βάσεων δεδοµένων είναι η διαχείριση του πληροφοριακού περιεχοµένου που ΤΕΙ ΑΘΗΝΩΝ ΣΧΟΛΗ Σ Ο ΤΜΗΜΑ ΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2009-2010 Η/Υ ΙΙΙ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ (Θεωρία) ΜΑΘΗΜΑ 4ο Η γλώσσα βάσεων δεδοµένων SQL, η γλώσσα QBE. Αθανασίου Ειρήνη, MSc 1 Εισαγωγή Mια

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

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

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

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

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

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

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

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

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

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

Η Γλώσσα SQL. Παράδειγμα ΒΔ (Τράπεζα)

Η Γλώσσα SQL. Παράδειγμα ΒΔ (Τράπεζα) Η Γλώσσα SQL Βασική δομή Συνήθεις τύποι ερωτημάτων Συνδέσεις (joins) Θεωρήσεις (views) και παραγόμενες σχέσεις Τροποποίηση της βάσης δεδομένων Η SQL ως γλώσσα ορισμού δεδομένων Ακεραιότητα δεδομένων Βασική

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

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

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

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

ΘΕΜΑΤΑ. Ερώτηση 1 Κατά τη Φυσική Αποθήκευση (Physical storage) μιας ΒΔ αποθηκεύονται στον δίσκο τα:

ΘΕΜΑΤΑ. Ερώτηση 1 Κατά τη Φυσική Αποθήκευση (Physical storage) μιας ΒΔ αποθηκεύονται στον δίσκο τα: ΘΕΜΑΤΑ Θέμα 1 ο Σε μία βάση δεδομένων χρηματιστηριακών συναλλαγών υπάρχουν οι παρακάτω πίνακες που αποτελούνται από τα εξής πεδία : : ΚΣ, ΗΜΝΙΑ, ΩΡΑ, ΚΜ, ΤΙΜΗ ΜΕΤΟΧΗ : ΚΜ, ΟΝΟΜΑ, ΕΤΟΣ_ΙΔΡΥΣΗΣ, ΚΚ, ΚΑΤΗΓΟΡΙΑ

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

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

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 2 ο Σύνολο Ασκήσεων Οι βαθμοί θα ανακοινωθούν αύριο μαζί με τους βαθμούς της προγραμματιστικής άσκησης Τα αστεράκια δείχνουν τον εκτιμώμενο βαθμό δυσκολίας (*) εύκολο (**) μέτριο (***) δύσκολο Βάσεις Δεδομένων

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

Η Γλώσσα SQL. Μέρος β. Η Γλώσσα SQL Σελίδα 1

Η Γλώσσα SQL. Μέρος β. Η Γλώσσα SQL Σελίδα 1 Η Γλώσσα SQL Μέρος β Η Γλώσσα SQL Σελίδα 1 SQL -- Πλήρης Μορφή select [ distinct ] target_list from tuple_variable_list [ where predicate ] [ group by grouping_attributes ] [ having group_condition ] [

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

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

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

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

QUERY-BY-EXAMPLE. Η Γλώσσα SQL Σελίδα 1

QUERY-BY-EXAMPLE. Η Γλώσσα SQL Σελίδα 1 QUERY-BY-EXAMPLE Η Γλώσσα SQL Σελίδα 1 Query-by-Example (QBE) Μια Γλώσσα για ερωταποκρίσεις που αναπτύχθηκε στην IBM (από τον Moshe Zloof) και παρουσιάζεται σε ένα προϊόν (QMF) (που είναι εναλλακτικός

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

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

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

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

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

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

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

Οψεις (VIEWS) στην SQL Η εντολή CREATE VIEW Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 1 / 55 Περιεχόμενα 1 Εισαγωγικά για τις όψεις 2 Οψεις και συζεύξεις 3 Επιπλέον χρήση των όψεων

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Triggers, Stored procedures Γιώργος Μαρκοµανώλης Περιεχόµενα Triggers-Ενηµέρωση δεδοµένων άλλων πινάκων... 1 Ασφάλεια...

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

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

10 η Διάλεξη Python Βάσεις δεδομένων στη python 10 η Διάλεξη Python Βάσεις δεδομένων στη python ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Η standard διεπαφη της python για βάσεις δεδομένων βασίζεται στο DB-API Python Database API υποστηρίζει ένα ευρύ φάσμα βάσεων δεδομένων

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

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

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

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

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

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

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

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

Εισαγωγή στις βασικές έννοιες των Βάσεων Δεδομένων Εισαγωγή στις βασικές έννοιες των Βάσεων Δεδομένων Σχεδιασμός Βάσεων Δεδομένων Μάθημα 1 ο Μαρία Χαλκίδη ΠΕΡΙΕΧΟΜΕΝΑ ΜΑΘΗΜΑΤΟΣ Σχεσιακό Μοντέλο Κανονικοποίηση Μοντέλο Οντοτήτων-Σχέσεων Κύκλος ζωής Βάσεων

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

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

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

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

Κεφάλαιο 3 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. I.B. Το Σχεσιακό Μοντέλο Σελίδα 2.1

Κεφάλαιο 3 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ. I.B. Το Σχεσιακό Μοντέλο Σελίδα 2.1 Κεφάλαιο 3 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ I.B. Το Σχεσιακό Μοντέλο Σελίδα 2.1 Το Σχεσιακό Μοντέλο και Σχεσιακά Συστήµατα ιοίκησης Βάσεων εδοµένων Σύνοψη Άτυπος και Τυπικός Ορισµός του Μοντέλου οµές, Πράξεις, οµικοί

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

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 MySQL + Γλώσσα Προγραμματισμού Ευαγγελία Πιτουρά 1 Database drivers Για να χρησιμοποιήσουμε μια βάση δεδομένων από μια γλώσσα προγραμματισμού χρειαζόμαστε έναν driver. JDBC είναι το API για τη Java και

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

ΕΝΑΥΣΜΑΤΑ ΣΤΗΝ POSTGRES

ΕΝΑΥΣΜΑΤΑ ΣΤΗΝ POSTGRES ΕΝΑΥΣΜΑΤΑΣΤΗΝPOSTGRES ΓΕΝΙΚΑ Μία διαδικασία την οποία δηλώνει ο Διαχειριστής της Βάσης Δεδομένων και η οποία ενεργοποιείται αυτόματα από το ΣΔΒΔ κάθε φορά που συμβαίνουν μεταβολές ορισμένου τύπουσταδεδομέναονομάζεταιέναυσμα(trigger).

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

Κεφάλαιο 4. Η Γλώσσα SQL και Σχεσιακός Λογισµός. Ι.Β. Σχεσιακός Λογισµός και η Γλώσσα SQL Σελίδα 2.46

Κεφάλαιο 4. Η Γλώσσα SQL και Σχεσιακός Λογισµός. Ι.Β. Σχεσιακός Λογισµός και η Γλώσσα SQL Σελίδα 2.46 Κεφάλαιο 4 Η Γλώσσα SQL και Σχεσιακός Λογισµός Ι.Β. Σχεσιακός Λογισµός και η Γλώσσα SQL Σελίδα 2.46 Σχεσιακός Λογισµός: ΕΙΣΑΓΩΓΗ Ο Σχεσιακός Λογισµός (RC) είναι µια µη-διαδικαστική, τυπική γλώσσα που βασίζεται

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

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

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

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

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

( Boats)) ( Tempsids, bid. sname. Boats. Boats. Boats. (Reserves)/ > Reserves. Interlake' Sailors) ... sname rating age Dustin 7 45.0 29 Brutus 1 33.0 Lubber 8 55.5 32 Andy 8 25.5 58 Rusty 10 35.0 64 Horatio 7 35.0 71 Zorba 10 16.0 74 Horatio 9 35.0 85 Art 3 25.5 95 Bob 3 63.5 day 101 10/10/98 102 10/10/98

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

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

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

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

Η αναλυτική περιγραφή της γλώσσας SQL αποτελεί αντικείµενο των σελίδων που ακολουθούν. Η ΓΛΩΣΣΑ ΟΡΙΣΜΟΥ Ε ΟΜΕΝΩΝ

Η αναλυτική περιγραφή της γλώσσας SQL αποτελεί αντικείµενο των σελίδων που ακολουθούν. Η ΓΛΩΣΣΑ ΟΡΙΣΜΟΥ Ε ΟΜΕΝΩΝ Κεφάλαιο 6 SQL Στο κεφάλαιο αυτό παρουσιάζεται η δοµηµένη γλώσσα ερωτοαποκρίσεων (Structured Query Language, SQL) που χρησιµοποιείται για τη διαχείριση των δεδοµένων της βάσης. Η διαχείριση αυτή περιλαµβάνει

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Views, Triggers Γιώργος Μαρκοµανώλης Περιεχόµενα Όψη... 1 ηµιουργία όψης... 2 Επιλογή CHECK... 3 Όψεις µόνο για εµφάνιση

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

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

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

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

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

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

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

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

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

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

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 MySQL + Γλώσσα Προγραμματισμού Ευαγγελία Πιτουρά 1 Database drivers Για να χρησιμοποιήσουμε μια βάση δεδομένων από μια γλώσσα προγραμματισμού χρειαζόμαστε έναν driver. JDBC είναι το API για τη Java και

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

Η Γλώσσα SQL. Μέρος α. Η Γλώσσα SQL Σελίδα 1

Η Γλώσσα SQL. Μέρος α. Η Γλώσσα SQL Σελίδα 1 Η Γλώσσα SQL Μέρος α Η Γλώσσα SQL Σελίδα 1 SQL - ΕΙΣΑΓΩΓΗ SQL (Structured Query Language) είναι η τυποποιηµένη standard γλώσσα στις Σχεσιακές Βάσεις. Η πρώτη χρήση ήταν στο πρότυπο σύστηµα της IBM, που

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

Πληροφοριακά Συστήµατα

Πληροφοριακά Συστήµατα Nell Dale John Lewis Chapter 12 Πληροφοριακά Συστήµατα Στόχοι Ενότητας Η κατανόηση της έννοιας «Πληροφοριακό Σύστηµα» Επεξήγηση της οργάνωσης λογιστικών φύλλων (spreadsheets) Επεξήγηση της ανάλυσης δεδοµένων

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

Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 2

Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 2 Η Γλώσσα SQL Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 1 Η γλώσσα SQL What men or gods are these? What maidens loth? What mad pursuit? What struggle to escape? What pipes and timbrels? What wild ectasy?

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

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

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions) Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions) Αυγερινός Αραμπατζής avi@ee.duth.gr www.aviarampatzis.com Βάσεις Δεδομένων Stored Procedures 1 Stored Routines (1/2) Τμήματα κώδικα τα

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

SQL: Αιτήματα. Κεφάλαιο 5. Database Management Systems, R. Ramakrishnan and J. Gehrke

SQL: Αιτήματα. Κεφάλαιο 5. Database Management Systems, R. Ramakrishnan and J. Gehrke SQL: Αιτήματα Κεφάλαιο 5 Database Management Systems, R. Ramakrishnan and J. Gehrke Στιγμιότυπα Στιγμιότυπα των σχέσεων Sailors Reserves και Boats. Αν στο κλειδί της σχέσης Reserved δε συμμετείχε το γνώρισμα

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

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

Εργαστήριο Βάσεων Δεδομένων Εργαστήριο Βάσεων Δεδομένων Φροντιστήριο 4/2/2009 Δικαιώματα χρηστών - Προβολές (Views) ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ MYSQL queries results mysql host DB server queries results Client host Β Δ Ηχρήσητηςmysql βασίζεται

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

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

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

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

Η Γλώσσα SQL. What is the average salary in the Toy department? Anonymous SQL user

Η Γλώσσα SQL. What is the average salary in the Toy department? Anonymous SQL user Η γλώσσα SQL Η Γλώσσα SQL What men or gods are these? What maidens loth? What mad pursuit? What struggle to escape? What pipes and timbrels? What wild ectasy? John Keats, Ode on a Grecian Urn What is the

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

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

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

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

Εισαγωγή στην πληροφορική Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στην πληροφορική Ενότητα 6: Εισαγωγή στις βάσεις δεδομένων (Μέρος Β) Αγγελίδης Παντελής Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης

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

Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές

Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές Εργαστήριο Βάσεων Δεδομένων Δικαιώματα Χρηστών Προβολές Επικοινωνία με MySQL mysql host DB server queries results Client host Β Δ Η χρήση της mysql βασίζεται στο μοντέλο client server Remote access to

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

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

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

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

-----------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------- ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ BΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΜΑΡΤΙΟΥ 2006 - ΛΥΣΕΙΣ Ι. Βασιλείου -----------------------------------------------------------------------------------------------------

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