ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ

Σχετικά έγγραφα
ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΓΡΕΒΕΝΑ)

ΤΜΗΜΑ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

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

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

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

Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL

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

Περιεχόμενα. Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL. Συνένωση Σχέσεων στην SQL2 (3) Συνένωση Σχέσεων στην SQL2. (Join Relations Feature in SQL)

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


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

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

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

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

MySQL stored procedures

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

DELETE, UPDATE, INSERT.

DELETE, UPDATE, INSERT



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

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

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

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

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

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

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

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

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

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

PL/SQL. Κώστας Στεφανίδης

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

Εργαστήριο βάσεων δεδομένων. MySQL Stored Procedures

Βάσεις Δεδομένων Σύνθετα SQL queries. Ψευδώνυμα (Aliases) (2) Ψευδώνυμα (Aliases) (1) Ασάφεια και Πλήρη Ονόματα. Ερώτημα χωρίς τον όρο WHERE (1)

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

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

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

Entity-Relationship Model (Chen) Οντολογικό Σχεσιακό Μοντέλο

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


Δομημένος Προγραμματισμός

Ασκήσεις -Επανάληψη. Βάσεις Δεδομένων

Βάσεις Δεδομένων Σύνθετα SQL queries

GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP.

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

DISTINCT, LIKE, NULL, AND, OR, BETWEEN

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

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

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

ΚΕΦΑΛΑΙΟ 10 ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ (ή εντολές Ελέγχου και Επιλογής ή εντολές Επιλογής και Απόφασης)

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

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

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

Pascal. 26 Οκτωβρίου 2011

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

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ- Ακαδημαϊκό Φροντιστήριο ΕΠΑΛ-Κάνιγγος 13 Αθήνα 2017

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΟΝΟΜΑΤΕΠΩΝΥΜΟ ΑΡΙΘΜΟΣ ΜΗΤΡΩΟΥ

Κεφάλαιο 12 Υλοποίηση Stored Procedures, Χρήση Ευρετηρίων

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

Pascal. 15 Νοεμβρίου 2011

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

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

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


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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

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

1 / 97

Δομημένος Προγραμματισμός (ΤΛ1006)

Κλειδιά (keys) Λογικά, σκεφτόµαστε για «κλειδιά» σαν τα δεδοµένα (τα πεδία) εκείνα τα οποία µας επιτρέπουν να ξεχωρίσουµε τις διάφορες εγγραφές

1 / 87

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

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης

Δομές Διακλάδωσης. Κεφάλαιο 6 Trimos Mike

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

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Σχεσιακός Ορισµός. Μαθ. #12

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

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

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Lecture 14: SQL DML I

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

Ακολουθεί η πλήρης ανάλυση της παραµετροποίησης χωρισµένη στις αντίστοιχες ενότητες µε αυτές του module Customization Tools. :

Κεφάλαιο 3 Σχεσιακό Μοντέλο

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

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

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης

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

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

Υπολογιστικά Συστήματα

1 / 150

1 / 105

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

Transcript:

ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ Διδάσκων: Τσίπουρας Μάρκος

Σχήμα Βάσης Δεδομένων 2 EMPLOYEE EMP_ID LASTNAME FISTNAME SALARY ADDRESS SEX BDATE SUPERVISOR_ID DNUMBER DEPARTMENT DEP_LOCATIONS DNUMBER DNAME MANAGER_ID MNG_STARTDATE DNUMBER LOCATIONS PROJECT WORKS_ON PNUMBER PNAME PLOCATION DNUMBER EMP_ID PNUMBER HOURS DEPENDENTS EMP_ID DNAME SEX BDATE RELATIONSHIP

3 Stored Procedures Οι αποθηκευμένες διαδικασίες εκτελούν ένα σύνολο προτάσεων της Transact-SQL και χρησιμοποιούνται συνήθως για να αυξήσουν την απόδοση και την ταχύτητα επαναλαμβανόμενων εργασιών στη βάση δεδομένων. Οι αποθηκευμένες διαδικασίες μεταγλωττίζονται μια φορά, κατά τη δημιουργία τους και αποθηκεύεται ως αντικείμενο στη βάση. Ύστερα μπορούν να απλά εκτελεστούν όσες φορές επιθυμούμε. Μπορούν να δέχονται παραμέτρους και να επιστρέφουν πολλαπλές τιμές ως έξοδο, να περιέχουν εντολές που διαχειρίζονται τη βάση δεδομένων ή να καλούν άλλες διαδικασίες. Οι αποθηκευμένες διαδικασίες δημιουργούνται με την εντολή create procedure.

4 Stored Procedures Η γενική δομή μιας αποθηκευμένης διαδικασίας της Transact-SQL είναι η εξής: Create procedure όνομα_διαδικασίας <Παράμετροι-προαιρετικές> As <Σώμα διαδικασίας> sql εντολές, δηλώσεις μεταβλητών, cursor Εκτελούμε τη διαδικασία με την πρόταση execute ακολουθούμενη από το όνομα της διαδικασίας: execute όνομα_διαδικασίας

5 Παραδείγματα Παράδειγμα 5.1 create procedure select_employee as select emp_id, lastname, salary from employee execute select_employee Η διαδικασία select_employee επιλέγει τον αριθμό ταυτότητας, το επώνυμο και το μισθό όλων των εργαζομένων. Μετά την εκτέλεση της εμφανίζει τα εξής αποτελέσματα που είναι όλοι οι εργαζόμενοι καταχωρημένοι στον πίνακα employee

6 Χρήση παραμέτρων Οι παράμετροι είναι τα ορίσματα της διαδικασίας. Ένα όρισμα αντιπροσωπεύει την τιμή που παρέχεται σε μια παράμετρο όταν καλείται η διαδικασία. Μπορούμε προαιρετικά να δηλώσουμε μια ή περισσότερες παραμέτρους μετά την πρόταση Create procedure. Το όνομα των παραμέτρων ξεκινά με @ και είναι τοπικές στη διαδικασία που τις δημιουργεί.

7 Χρήση παραμέτρων Δηλώνουμε τις παραμέτρους ως εξής: Create procedure όνομα_διαδικασίας --παράμετροι @παράμετρος_1 τύπος_δεδομένων, @παράμετρος_2 τύπος_δεδομένων, As <Σώμα διαδικασίας> sql εντολές, δηλώσεις μεταβλητών, cursor Εκτέλεση: Execute <όνομα_διαδικασίας> τιμή_παραμ_1,τιμή_παραμ_2,. ή Execute <όνομα_διαδικασίας> @παράμετρος_1= τιμή_παραμ_1, @παράμετρος_2= τιμή_παραμ_2,.

8 Παραδείγματα Παράδειγμα 5.2 create procedure select_employee1 @emp_id char(8) as select emp_id, lastname, salary from employee where emp_id=@emp_id execute select_employee1 'A276654' Στην παραπάνω διαδικασία επιλέγεται μόνο ο αριθμός ταυτότητας, το επώνυμο και ο μισθός του εργαζομένου που ο αριθμός ταυτότητας δίνεται στην παράμετρο @emp_id από το χρήστη.

9 Άσκηση Άσκηση 5.1 Να γραφεί διαδικασία η οποία θα δέχεται σαν παραμέτρους ένα αριθμό ταυτότητας (@emp_id) και ένα πόσο σε ευρώ (@extra_money). Στην συνέχεια θα υπολογίζει τον μέσο μισθό όλων των εργαζομένων (@avg_salary) και: Αν ο εργαζόμενος με αριθμό ταυτότητας από την πρώτη παράμετρο (@emp_id) έχει μισθό μικρότερο από τον μέσο (@avg_salary), τότε να αυξάνεται ο μισθός του κατά πόσο ίσο με την δεύτερη παράμετρο (@extra_money) Αλλιώς εμφανίζεται το μήνυμα 'Ικανοποιητικός μισθός'

10 Άσκηση Άσκηση 5.1 create procedure extra_money @emp_id char(8), @salary money as Declare @avg_salary money, @salary money Set @avg_salary = (select avg(salary) from employee) Set @salary = (select salary from employee where emp_id =@emp_id) If @avg_salary >@salary Begin Update employee set salary = salary +@extra_money where emp_id =@emp_id end else print 'Ικανοποιητικός μισθός'