Lecture 20: External DB Programming II

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

Download "Lecture 20: External DB Programming II"

Transcript

1 Department of Computer Science University of Cyprus EPL342 Databases Lecture 20: External DB Programming II Internal Prog.: Sprocs, UDFs, Cursors, External Prog.: Embedded SQL,JDBC, SQL/CLI (Chapter , Elmasri-Navathe 5ED + ΤransactSQL Reference Guide ιδάσκων: Παναγιώτης Ανδρέου

2 Περιεχόµενο ιάλεξης Εσωτερικός Προγραµµατισµός DB II Εσωτερικός Προγραµµατισµός Scripts/Batchesσε TSQL Stored Procedures (Sprocs) σε TSQL User Defined Functions (UDFs) σε TSQL Cursors σε TSQL Εξωτερικός Προγραµµατισµός DB Ενσωµατωµένη SQL (Embedded SQL): SQLCA και SQLJ Ενσωµατωµένη SQL µε Κλήσεις Συναρτήσεων (Embedded SQL with APIs and Functions Calls): JDBC και SQL/CLI (ex ODBC) 20-2

3 Β) Stored Procedures σε TSQL Stored Procedures (Sprocs), είναι εντολές (T)SQL οι οποίες αποθηκεύονταιστη βάση δεδοµένων και οι οποίες µπορούν να πάρουν ορίσµατα και να επιστρέψουν τιµές. Παράδειγµα: ηµιουργία Sproc το οποίο επιστρέφει όλους τους Employee USE epl342 GO CREATE PROC spemployee AS GO SELECT * FROM Emp1 20-3

4 Β) Stored Procedures σε TSQL (Sprocχωρίς Παραµέτρους) Κλήση Sproc (χωρίς Παραµέτρους) µέσω EXEC USE epl342 GO EXEC spemployee Άλλες Εντολές Ακύρωση SProc DROP PROC spemployee [;] Μεταβολή Sproc ALTER PROC GO AS SELECT * FROM Emp1 20-4

5 Β) Stored Procedures σε TSQL (Χαρακτηριστικά Sprocs) Βασικό Πλεονέκτηµα Sprocs: Επίδοση/Μειωµένη Κίνηση ικτύου: Το Sprocείναι Precompiled/Optimized πριν την κλήση του. Επίσης µειώνεταιη κυκλοφορία δεδοµένωνµεταξύ DBMS και προγράµµατος εφαρµογής. DBMS Catalog/ Indexes SProcs Tables Triggers Dynamic SQL: SELECT * FROM EMPLOYEE E, DEPARTMENT D WHERE E.Dno=E.Dno Μικρό Πακέτο Program WITH Stored Procedures Program WITHOUT Stored Procedures Μεγαλύτερο Πακέτο 20-5

6 Β) Stored Procedures σε TSQL (Χαρακτηριστικά Sprocs) Άλλα Πλεονεκτήµατα Sprocs Ασφάλεια: Τα Sprocsµας επιτρέπουν να δώσουµε πρόσβασησε λειτουργίες της βάσης χωρίς να δίνουµε πρόσβαση στους πίνακες. Ακρίβεια: Οι διεπαφές (ODBC, JDBC, κτλ) στη προσπάθεια να προσφέρουν ένα κοινό υπόβαθρο λειτουργίας σε διαφορετικούς κατασκευαστές βάσεων κάνουν διάφορους συµβιβασµούς στην ακρίβεια (π.χ., µετατροπή τύπων κτλ) Εύκολη µεταφορά σε άλλη Γλώσσα Προγραµµατισµού: Αυτό εφόσον όλη η λογική της βάσης υλοποιείται εσωτερικά και όχι στην γλώσσα προγραµµατισµού. Μειονεκτήµατα Sprocs ύσκολη Μεταφορά σε άλλο DBMS:Αυτό λόγω του ότι οι γλώσσες που χρησιµοποιούνται σε Προγ. Γλώσσες Βάσεων εδοµένων (π.χ., σύνταξη της TSQL) δεν είναι προτυποποιηµένες 20-6

7 Β) Stored Procedures σε TSQL (Sprocµε ΠαράµετροΕισόδου) Παράδειγµα Sproc: Βρες όλα τα name, dependent name βάσει κάποιας συµβολοσειράς αναζήτησης USE epl342 GO CREATE PROC spempdep nvarchar(50) SELECT E.fname, D.dname FROM Dependent D, Emp1 E WHERE D.ssn=E.ssn AND Παράµετρος Εισόδου (max αριθµός = 2100) D.Dname LIKE '%' SearchName + '%'; EMPLOYEE Κλήση Sproc: EXEC spempdep1 'Ach' Επιστρέφει Franklin, Achilleas DEPENDENT 20-7

8 Β) Stored Procedures σε TSQL (Sproc µε Παράµετρο Εισόδου/Εξόδου) Παράδειγµα Stored Procedure που λαµβάνει ως είσοδο ένα CustomerIDκαι ελέγχει το ιστορικό αγορών του εν λόγω πελάτη. CREATE PROCEDURE VARCHAR(20) OUT AS DECIMAL(8,2) = (SELECT SUM(amount) FROM transactions tr = 0 BEGIN = Empty RETURN END > 1000 = 'Standard' ELSE WHERE tr.customerid Μεταβλητή εξόδου Κλήση Sproc sp_customerlevel VARCHAR(20) EXEC sp_customerlevel OUT Επιστρέφει Empty = Gold 20-8

9 C) UDFs σε TSQL UDF (User Defined Functions):συναρτήσειςτου χρήστη οι οποίες αποτελούνται από εντολές (T)SQL και οι οποίες αποθηκεύονται στη βάση δεδοµένων. Σηµειώστε ότι κάθε βάση δεδοµένων παρέχει και built-in συναρτήσεις οι οποίες ονοµάζονται System Functions (π.χ., MAX, MIN, ABS, κτλ) Τα UDFs (TSQL) διακρίνονται στις κατηγορίες: Scalar-valued Functions Επιστρέφουν Βαθµωτή Τιµή (Scalar: int, varchar, κτλ.) Table-Valued Functions Επιστρέφουν Πίνακα Aggregate Functions Επιστρέφουν κάποιο συναθροιστικόαποτέλεσµα (π.χ., µια εξειδικευµένη MAX συνάρτηση) 20-9

10 C) UDFs σε TSQL (Παράδειγµα I) Παράδειγµα ηµιουργίας UDF (Scalar) που µετατρέπει τα Μέτρα σε Ίντσες CREATE FUNCTION dbo.meterstoinches DECIMAL(10,3)) -- Παράµετρος Εισόδου (δια τιµής) RETURNS DECIMAL(10,3) -- Τιµή Επιστροφής (δεν µπορούµε να περάσουµε τιµές δια αναφοράς ) AS BEGIN DECIMAL(10,3) = (@Meters * ) * 12 --Επιστροφή Αποτελέσµατος END Γενικά, ισχύουν οι γνωστοί κανόνες συναρτήσεων που υπάρχουν σε άλλες γλώσσες (π.χ., εµβέλεια µεταβλητών, κτλ) 20-10

11 Κλήση UDF (Scalar): C) UDFs σε TSQL (Παράδειγµα I) SELECT dbo.meterstoinches(123.45) AS 'Inches' Επιστρέφει: Inches (1 row(s) affected) Άλλο Παράδειγµα: SELECT Weight, dbo.meterstoinches(length), Cost,... FROM Products WHERE ProductID =

12 C) UDFs σε TSQL UDFχωρίς παράµετρο (Παράδειγµα II) CREATE FUNCTION dbo.two () RETURNS INT --Τιµή Επιστροφής AS Query BEGIN END SELECT * FROM EMP1 RETURN 2 --Επιστροφή Αποτελέσµατος Κλήση UDF στο WHERE WHERE ssn = dbo.two() Αποτέλεσµα Εκτέλεσης Query ssn Fname Minit Lname Dno salary Franklin T Wong (1 row(s) affected) 20-12

13 C) UDFs σε TSQL (UDF Table-Valued Function) CREATE FUNCTION dbo.getemployees() TABLE -- ήλωση ότι η Συνάρτηση Επιστρέφει Πίνακα ( -- Πεδία Σχέσης Επιστροφής ) AS EmpID nchar(10) NOT NULL, FirstName nchar(10) NULL BEGIN -- Εισαγωγή Όλων των αποτελεσµάτων της σχέσης Emp1 στη INSERT SELECT ssn,fname FROM Emp1 -- Τερµατισµός της συνάρτησης (το records επιστρέφεται έτσι και αλλιώς) RETURN; END Κλήση UDF (Table-Valued) στο FROM Select * FROM dbo.getemployees() Σηµείωση: Το αποτέλεσµα της συνάρτησης µπορεί να χρησιµοποιηθεί στο FROM 20-13

14 C) UDFs σε TSQL ( ιαφορές µε Sprocs) Τα UDFs και στα Sprocs έχουν περισσότερες οµοιότητες παρά διαφορές στην TSQL. Βασικές διαφορές: Α) Στο πως γίνεται η κλήση: Στα UDFsη κλήση συνήθως στο SELECT (και κάποτε στο WHEREή FROM) ενώ στα SPROC η κλήση γίνεται µέσω EXEC. B) Στο πως επιστρέφονται τα αποτελέσµατα: Στα UDFs τα αποτελέσµατα µπορούν να χρησιµοποιηθούν άµεσα ενώ στα SPROCπρέπει να τοποθετηθούν σε ενδιάµεσους πίνακες Π.χ.,Για χρήση αποτελεσµάτων της spemployeeσε ενα query τα εισάγω πρώτα σε ένα ενδιάµεσο πίνακα EmpBack INSERT INTO EmpBack EXEC spemployee 20-14

15 [ Ενδιάµεσοι Πίνακεςσε TSQL ] (Temporary Tables in TSQL Οι ΤοπικοίΕνδιάµεσοι Πίνακες δηµιουργούνται στα πλαίσια µιας σύνδεσης µε την βάση (Session)και καταστρέφονται αµέσως µετά. Είναι χρήσιµοι για προσωρινή αποθήκευση ενδιάµεσων αποτελεσµάτων σε προγράµµατα TSQL ηµιουργία: CREATE TABLE #tablename ( ) Σηµείωση: Ο πίνακας δηµιουργείται στην tempdb Εισαγωγή εδ.: INSERT INTO #ΤemporaryTable EXEC sp_somestoredprocedure Καθολικοί Ενδιάµεσοι Πίνακες: Eχουν αντίστοιχη λειτουργία µε τους Τοπικούς, µε την διαφορά ότι σε αυτούς έχουν πρόσβαση όλες οι συνδέσεις µε την βάση (sessions). ηµιουργία: CREATE TABLE ##tablename ( ) 20-15

16 C) UDFs σε TSQL (Άλλες ιαφορές UDF vs. Sprocs) Το UDFείναι υποπρόγραµµατο οποίο γράφεται για να εκτελείκάποιους υπολογισµούςκαι να επιστρέφει µια µοναδική τιµή. Το Sprocείναι υποπρόγραµµατο οποίο γράφεται για να εκτελεί µια ακολουθίααπό εντολέςκαι να επιστρέφει 0 ή περισσότερες τιµές. Τα UDFsΠΡΕΠΕΙνα επιστρέφουν τιµή µε το RETURNενώ τα SPROCsµπορούν να χρησιµοποιούν το RETURNαλλά χωρίς να επιστρέφουν τιµή. UDFs µπορεί να χρησιµοποιηθούν στο SELECT (δεδοµένου του ότι δεν κάνουν επεξεργασία πινάκων) Τα UDFs έχουν µόνο ΙΝ παραµέτρους. Τα SPROCs µπορεί να έχουν OUT ή IN/OUT παραµέτρους

17 SQL/PSM - Persistent Stored Modules Στo πρότυπο ANSI, τα Sprocsκαι UDFsορίζονται ως µέρος της ενότητας SQL/PSM (SQL/Persistent Stored Modules) Το Persistent (δηλ., µόνιµα) υποδηλώνει ότι οι λειτουργίες αυτές αποθηκεύονταικαι εκτελούνταιαπό τον διαθέτη της βάσης παρά τον πελάτη. Βασικό Πρόβληµα είναι το γεγονός ότι ο κάθε κατασκευαστήςακολουθεί δική του σύνταξη για υλοποίηση του PSM H TSQL είναι ένα παράδειγµα µη-συµβατής γλώσσας. To ίδιο ισχύει για την PL/SQL (Procedural Language/ SQL) της Oracle 20-17

18 Υλοποίηση Προγρ. Αντικειµένων Βάσης µέσω Γλωσσών Υψηλού Επίπεδου Τα προγραµµατιστικά αντικείµενα µιας βάσης (UDFs, Sprocs, Triggers, User-Defined Types, κτλ)µπορούν σε πολλές βάσεις να γραφούν µε σύνταξηγλωσσών υψηλού επιπέδου αντί µε σύνταξη SQL/PSM (TSQL, PL/SQL) π.χ., SQL Server: Χρήση.ΝΕΤ και C# (δες SQLCLR: SQL Common Language Runtime). Ακολουθεί παράδειγµα στην επόµενη διαφάνεια. Oracle και DB2: Υλοποίηση UDFs σε C ή JAVA Λόγοι Χρήσης αυτών των Τεχνικών: Πιο πολλές δυνατότητες σε µια γλώσσα υψηλού επιπέδου Επίδοση, Ασφάλεια, κτλ. DBMS C# Program Catalog/ Indexes Tables SProcs Triggers

19 Υλοποίηση Προγρ. Αντικειµένων Βάσης µέσω Γλωσσών Υψηλού Επίπεδου using System; using System.Data; using System.Data.Sql; using System.Data.SqlTypes; using Microsoft.SqlServer.Server; public partial class UserDefinedFunctions { }; [Microsoft.SqlServer.Server.SqlFunction] public static SqlString RiskProfile() { } // Put your code here return new SqlString( Hello ); Σηµείωση: εν χρειάζεται να καταλάβετε τι αναπαριστούν οι βιβλιοθήκες στο using Υλοποίηση ενός UDF σε C# το οποίο ενσωµατώνεται στις λειτουργίες της βάσης DBMS C# Program Catalog/ Indexes Tables SProcs Triggers 20-19

20 D) Cursors ( ροµείς)σε TSQL Γνωρίζουµε ότι τα αποτελέσµαταεπερωτήσεων επιστρέφονται σε µια επερώτηση υπό µορφή µιας σχέσης Π.χ., SELECT * FROM Emp1 επιστρέφει ένα ολόκληρο πίνακα. Εάν θέλουµε να επεξεργαστούµετα αποτελέσµατααυτά γραµµή-γραµµή (αντί να απλά να τυπωθούν), τότε χρησιµοποιούµε την έννοια του ροµέα (Cursor). Cursors υπάρχουν και στην JAVA όπως είδατε στο φροντιστήριο. Cursor in Sproc (TSQL) DECLARE cursorname CURSOR FOR SELECT * FROM Emp1 OPEN cursorname BEGIN END Έµφαση επόµενων διαφανειών Cursor in JAVA ResultSet rs; rs = stmt.executequery("select * FROM Emp1"); while ( rs.next() ) { System.out.println(rs.getString("ssn")); } Catalog/ Indexes Tables 20-20

21 D) Cursors ( ροµείς)σε TSQL USE epl342 nchar(10) DECLARE employee_cursor CURSOR FOR -- ήλωση µεταβλητής τύπου Cursor SELECT ssn,fname FROM Emp1 --Επερώτηση που συνδέεται µε τον Cursor OPEN employee_cursor (Παράδειγµα Χρήσης) -- Άνοιγµα Cursor (Εκτέλεση Επερώτησης) -- Ανάγνωση πρώτης γραµµής στις µεταβλητές id, fname FETCH NEXT FROM 0=OK, -1=ERROR, -- όσο δεν άδειασαν τα αποτελέσµατα BEGIN PRINT RTRIM(@ssn) + ', ' + RTRIM(@fname) -- RTRIM: φεύγει right spaces FETCH NEXT FROM employee_cursor --Ανάγνωση επόµενης END CLOSE employee_cursor --Κλείσιµο Cursor DEALLOCATE employee_cursor --Αποδέσµευση Πίνακα Ενδιάµεσων Αποτελεσµάτωνπου χρησιµοποιεί ο SqlServerγια το Result του Cursor. Εναλλακτικά µένει στην µνήµη µέχρι το Κλεισιµο του Session. Τυπώνει 1, 1 2, Franklin 3, Alicia 4, Jennifer 5, Ramesh 6, Joyce 7, Ahmad 8, James , 1

22 D) Cursors ( ροµείς)σε TSQL (Χαρακτηριστικά Cursor) Κατεύθυνση Cursor: H default λειτουργία του cursor είναι να κινείται µπροστά NEXT (default), εγγραφή-εγγραφή µέσα σε ένα αποτέλεσµα. Υπάρχουν ορίσµατα (SCROLL) για να κινείταιδιαφορετικά FIRST, LAST, PRIOR, RELATIVE, κτλ. ΕνηµέρωσηΑποτελεσµάτων: Είναι δυνατό να ενηµερώνεται το αποτελέσµατα που προσπελαύνεται από ένα CURSOR (READ ONLY (default) UPDATE ) π.χ., κατά την προσπέλαση αύξησε ένα γνώρισµα κατά 1 Εµβέλεια Cursor: Η εµβέλεια ενός CURSORµπορεί να περιοριστεί τοπικά µέσα στο ίδιο batch) (LOCAL (default) GLOBAL) Στο manual υπάρχουν αρκετές άλλες εξειδικεύσεις που προσφέρονται από την TSQL 20-22

23 D) Cursors ( ροµείς)σε TSQL (Παράδειγµα Χρήσης) ISO Syntax DECLARE cursor_name [ INSENSITIVE ] [ SCROLL ] CURSOR FOR select_statement [ FOR { READ ONLY UPDATE [ OF column_name [,...n ] ] } ] [;] Transact-SQL Extended Syntax DECLARE cursor_name CURSOR [ LOCAL GLOBAL ] [ FORWARD_ONLY SCROLL ] [ STATIC KEYSET DYNAMIC FAST_FORWARD ] [ READ_ONLY SCROLL_LOCKS OPTIMISTIC ] [ TYPE_WARNING ] FOR select_statement [ FOR UPDATE [ OF column_name [,...n ] ] ] [;] 20-23

24 D) Cursors ( ροµείς)σε TSQL (Παράδειγµα Script για BackupΒάσεων) VARCHAR(50) -- database name VARCHAR(256) -- path for backup files VARCHAR(256) -- filename for backup VARCHAR(20) -- used for file name = 'C:\Backup\' -- κατάλογος στον οποίο θα γίνει το backup = CONVERT(VARCHAR(20),GETDATE(),112) DECLARE db_cursor CURSOR FOR SELECT name FROM master.dbo.sysdatabases WHERE name NOT IN ('master','model','msdb','tempdb') Μορφοποίηση Ηµερ.µε style 112, δηλ. σε: Continued Οn Next Page Πίνακας του Καταλόγου που περιέχει τα ονόµατα όλων των βάσεων 20-24

25 D) Cursors ( ροµείς)σε TSQL (Παράδειγµα Χρήσης) -- Continued From Previous Page OPEN db_cursor --άνοιγµα cursor FETCH NEXT FROM db_cursor -- ανάκτηση επόµενης τιµής σε τοπική var = 0 BEGIN --δηµιουργία filename + '_' + '.BAK' -- εντολή για backup βάσης στο BACKUP TO DISK -- Τo RESTORE DATABASΕ κάνει restore την βάση FETCH NEXT FROM db_cursor END π.χ., 'C:\Backup\epl342_ BAK CLOSE db_cursor DEALLOCATE db_cursor 20-25

26 Εξωτερικός Προγραµµατισµός DB Internal DB Programming DBMS SProcs Views UDFs Interfaces: JDBC, ODBC, κτλ. External DB Programming Έµφαση Επόµενων ιαφανειών Programming Language (π.χ., JAVA, C, C#, ) Catalog/ Indexes Tables Triggers 20-26

27 Εξωτερικός Προγραµµατισµός DB External DB Programming Ενσωµατωµένη SQL (Embedded SQL) SQLCA και SQLJ Ενσωµατωµένη SQL µε Κλήσεις Συναρτήσεων (Embedded SQL with APIs and Functions Calls) JDBC και SQL/CLI (ex ODBC) 20-27

28 Εµπέδωση SQL σε Γλώσσα C (SQLCA) Παράδειγµα include "sqlca.h" // Σύνδεση µε την βάση δεδοµένων µέσω εξειδικευµένων εντολών int loop; // µεταβλητή C EXEC SQL BEGIN DECLARE SECTION; varchar dname[16], fname[16], ; char ssn[10], bdate[11], ; int dno, dnumber, SQLCODE, ; EXEC SQL END DECLARE SECTION;... loop = 1; Γνωρίσµατα Σχέσης Βάσης while (loop) { prompt ( Enter SSN:, ssn); EXEC SQL select FNAME, LNAME, ADDRESS, SALARY } into :fname, :lname, :address, :salary from EMPLOYEE where SSN == :ssn; if (SQLCODE == 0) printf(fname, ); else printf( SSN does not exist:, ssn); prompt( More SSN? (1=yes, 0=no):, loop); END-EXEC ήλωση Μεταβλητών µεταφοράς δεδοµένων από SQL σε C Αρχικοποίηση µεταβλητών µεταφοράς δεδοµένων Έλεγχος Λαθών Εάν το αποτέλεσµα ήταν σύνολο πλειάδων τότε κάπου εδώ θα µπορούσε να χρησιµοποιηθεί EPL342: Databases ένας Cursor - Demetris της SQLCA Zeinalipour για εκτύπωση (University of αποτελεσµάτων Cyprus) 20-28

29 Εµπέδωση SQLσε JAVA (SQLJ) Υπάρχει η δυνατότητα εµπέδωσης SQL εκφράσεων και σε JAVA, κατ αντίστοιχο τρόπο µε το SQLCAπου είδαµε στην προηγούµενη διαφάνεια. Αυτή η προσπάθεια, που ξεκίνησε από την Oracle ονοµάζεται SQLJκαι έχει στόχο να κάνει τον προγραµµατισµό JAVA+Oracleευκολότερο. Στο SQLJ, οι εµπεδωµένες SQL εκφράσεις µετατρέπονται από τον µεταφραστή sqlj σε JDBC κλήσεις, οπόταν αυτή η τεχνολογία είναι απλά ένα επίπεδο αφαιρετικότητας πάνω από το JDBC

30 Εµπέδωση SQLσε JAVA (SQLJ) Παράδειγµα ssn = readentry("enter a SSN: "); try { } #sql{select FNAME, LNAME, ADDRESS, SALARY into :fname, :lname, :address, :salary from EMPLOYEE where SSN = :ssn}; catch (SQLException se) { } System.out.println("SSN does not exist: ",+ssn); return; ήλωση ότι ακολουθεί εµπεδωµένη SQL έκφραση ιαχείριση Λαθών µέσα στο Περιβάλλον της JAVA System.out.println(fname + " " + lname + ); 20-30

31 Ενσωµατωµένη SQLµέσω Κλήσεων Συναρτήσεων O πιο παραδοσιακός τρόπος σύνδεσης µια εφαρµογής µε µια DBMS είναι µέσω κλήσεων συναρτήσεων. Εάν η εφαρµογή είναι γραµµένη σε JAVA τότε χρησιµοποιείται το JDBC, το οποίο είδατε στο φροντιστήριο. Εάν η εφαρµογήείναι γραµµένη σε άλλη γλώσσα τότε χρησιµοποιούνται άλλα API (Application Protocol Interfacesκαι βιβλιοθήκες. SQL/CLI (o διάδοχος του ODBC) ή OLEDB (σε Win) Microsoft s ActiveX Data Objects ADO ( 96), ADO.NET Σύνοψη τεχνολογιών Πρόσβασης σε εδοµένα από την Microsoft:

32 Ενσωµατωµένη SQLµέσω Κλήσεων Συναρτήσεων Για σύνδεση µέσω ODBC σε Windows απαιτείται η δήλωση µιας βάσης στον Data Source Administrator των Windows 20-32

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

Διάλεξη 17: Προγραμματισμός Βάσης Δεδομένων Ι. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 17: Προγραμματισμός Βάσης Δεδομένων Ι Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Όψεις (Views) σε TSQL Αποθηκευμένες Διαδικασίες (Stored Procedures) σε TSQL

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

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

Διάλεξη 19: Προγραμματισμός Βάσης Δεδομένων ΙΙΙ. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 19: Προγραμματισμός Βάσης Δεδομένων ΙΙΙ Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Scripts/Batches σε TSQL Δυναμική SQL Δρομείς (Cursors) σε TSQL Διδάσκων:

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

Lecture 20: External DB Programming II

Lecture 20: External DB Programming II Department of Computer Science University of Cyprus EPL342 Databases Lecture 20: External DB Programming II Internal Prog.: Sprocs, UDFs, Cursors, External Prog.: Embedded SQL,JDBC, SQL/CLI (Chapter 9.2-9.4,

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

Lecture 19: Internal DB Programming II

Lecture 19: Internal DB Programming II Department of Computer Science University of Cyprus EPL342 Databases Lecture 19: Internal DB Programming II Internal DB Programming, Scripts/Batches in TSQL (Chapter 9.1, Elmasri-Navathe 5ED + ΤransactSQL

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

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

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

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

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

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

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ 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 Βάσεις εδοµένων Εργαστήριο 6 ο PL/SQL Ιωάννα Συρίµη syrimi@ucy.ac.cy PL/SQL Procedural Language/SQL Επέκταση της SQL µε χαρακτηριστικά γλωσσών προγραµµατισµού Επιτρέπει την χρήση προτάσεων SQL

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

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

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

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

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

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

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

Αποθηκευμένες Διαδικασίες 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) Τμήματα κώδικα τα

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

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

Εργαστήριο βάσεων δεδομένων. MySQL Stored Procedures Εργαστήριο βάσεων δεδομένων MySQL Stored Procedures Stored Procedures Μια store procedure είναι μια διαδικασία. Είναι ένα πρόγραμμα που αποτελείται από SQL εντολές. Αποθηκεύεται και εκτελείται στον database

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

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

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

MySQL stored procedures

MySQL stored procedures MySQL stored procedures Δημήτρης Σουραβλιάς Δομή παρουσίασης Εισαγωγή Δημιουργία μιας απλής stored procedure Μεταβλητές Παράμετροι Ροή ελέγχου Cursors 2 Εισαγωγή Μια stored procedure: είναι ένα τμήμα προγράμματος

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

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

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

Lecture 3: Introduction III

Lecture 3: Introduction III Department of Computer Science University of Cyprus EPL342 Databases Lecture 3: Introduction III System Concepts and Architecture (Chapters 2.2-2.7, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εξάμηνο 7 ο JDBC JDBC is a set of classes and interfaces written in Java that allows Java programs to send SQL statements to a database like Oracle JDBC

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

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

. Εργαστήριο Βάσεων Δεδομένων. Triggers Εργαστήριο Βάσεων Δεδομένων Triggers Triggers: Βασικές Έννοιες Ένας trigger είναι ένα κομμάτι κώδικα, μια ρουτίνα Συνδέεται με ένα συγκεκριμένο πίνακα Καλείται όταν συμβεί ένα γεγονός στον πίνακα Συχνές

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

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

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

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

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

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

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

PL/SQL. Κώστας Στεφανίδης PL/SQL Κώστας Στεφανίδης Βασική ομή DECLARE /* Μεταβλητές και τύποι */ BEGIN /* ιαδικασίες και εντολές PL/SQL*/ /* Είναι το μόνο τμήμα που απαιτείται */ EXCEPTION /* Εντολές χειρισμού λαθών */ END; Βασική

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

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

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

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

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

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

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

. Εργαστήριο Βάσεων Δεδομένων. Stored Procedures Εργαστήριο Βάσεων Δεδομένων Stored Procedures Αρχιτεκτονική επικοινωνίας με τη βάση δεδομένων Μια βάση χρησιμοποιείται μέσω του client-server μοντέλου Τα δεδομένα είναι αποθηκευμένα στον DB Server Οι clients

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

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

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

Μετατροπή χαρακτήρων ASCII σε ακέραιο αριθµό (atoi) & Άνοιγµα αρχείου µέσα από τo QtSPIM, διάβασµα, και αποθήκευση του περιεχοµένου του στη µνήµη

Μετατροπή χαρακτήρων ASCII σε ακέραιο αριθµό (atoi) & Άνοιγµα αρχείου µέσα από τo QtSPIM, διάβασµα, και αποθήκευση του περιεχοµένου του στη µνήµη Μετατροπή χαρακτήρων ASCII σε ακέραιο αριθµό (atoi) & Άνοιγµα αρχείου µέσα από τo QtSPIM, διάβασµα, και αποθήκευση του περιεχοµένου του στη µνήµη ( ιάλεξη 3) ιδάσκων: Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy

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

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

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

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

Postgress ΣΤΟΧΟΣ ΣΧΕΤΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ ΥΛΙΚΟ. ΠΕΡΙΒΑΛΛΟΝ ΓΙΑ ΕΞΑΣΚΗΣΗ pgadmin ΥΠΟΒΑΘΡΟ. Συναρτήσεις στην PostgreSQL. 1. Γενικά

Postgress ΣΤΟΧΟΣ ΣΧΕΤΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ ΥΛΙΚΟ. ΠΕΡΙΒΑΛΛΟΝ ΓΙΑ ΕΞΑΣΚΗΣΗ pgadmin ΥΠΟΒΑΘΡΟ. Συναρτήσεις στην PostgreSQL. 1. Γενικά ΣΤΟΧΟΣ Postgress Το 9ο εργαστήριο εισάγει τον/ην φοιτητή/τρια στη χρήση και προγραµµατισµό συναρτήσεων στην PostgreSQL. ΣΧΕΤΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ ΥΛΙΚΟ Η σχετική ύλη του βιβλίου του µαθήµατος (διαφάνειες και

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

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

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

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

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

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

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

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ (Κεφάλαιο 2.7 και 12) Αρχεία στην C ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 14-1 Επανάληψη στην Αποθήκευση (Storage) Για να αποθηκεύσουµε δεδοµένα από ένα πρόγραµµα, πρέπει να χρησιµοποιήσουµε την ευτερεύουσα

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

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

7. Ανάπτυξη Εφαρµογών Βάσεων Δεδοµένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 7. Ανάπτυξη Εφαρµογών Βάσεων Δεδοµένων Σχεδιασμός Βάσεων Δεδομένων Χρήστος Δουλκερίδης 2017-18 Διάρθρωση

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

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. (Διάλεξη 15)

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. (Διάλεξη 15) (Κεφάλαιο 2.7 και 12) Αρχεία στην C (Διάλεξη 15) 14-1 Επανάληψη στην Αποθήκευση (Storage) Για να αποθηκεύσουμε δεδομένα από ένα πρόγραμμα, πρέπει να χρησιμοποιήσουμε την Δευτερεύουσα Μνήμη 14-2 Επανάληψη

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

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

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

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

Επανάληψη για τις Τελικές εξετάσεις

Επανάληψη για τις Τελικές εξετάσεις Επανάληψη για τις Τελικές εξετάσεις ( ιάλεξη 21) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Εισαγωγή Το µάθηµα EPL032 έχει ως βασικό στόχο την επίλυση προβληµάτων πληροφορικής µε την χρήση της γλώσσας προγραµµατισµού

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

Προγραμματισμός ΙΙ (Java) 6. Διαχείριση δεδομένων

Προγραμματισμός ΙΙ (Java) 6. Διαχείριση δεδομένων Προγραμματισμός ΙΙ (Java) 6. Διαχείριση δεδομένων Σχεσιακές Βάσεις Δεδομένων Τα δεδομένα μας οργανώνονται σε ένα ή περισσότερους πίνακες: σε στήλες και σειρές Κάθε πίνακας έχει ένα όνομα και αποτελείται

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

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

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

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

Εργαστήριο Βάσεων Δεδομένων. 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

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

Μεθόδων Επίλυσης Προβλημάτων

Μεθόδων Επίλυσης Προβλημάτων ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 10 Αρχεία στην C Επανάληψη στην Αποθήκευση (Storage)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5 η Διάλεξη Python - Αρχεία

5 η Διάλεξη Python - Αρχεία 5 η Διάλεξη Python - Αρχεία Αρχεία Άνοιγμα Επεξεργασία Κλείσιμο Αρχεία Η python κάνει διάκριση μεταξύ αρχείων κειμένου (text) και δυαδικών αρχείων (binary) Τα δεδομένα στα αρχεία κειμένου χωρίζονται μεταξύ

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

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

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

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

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

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

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

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 12-1 Ανασκόπηση οµής Προγράµµατος µε Συναρτήσεις #include 1 void PrintMessage (); Πρότυπο ( ήλωση) Συνάρτησης (

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

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) ιδάσκων: Παναγιώτης

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

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

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

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

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Ορισμός

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

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

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

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

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Κλάσεις και Αντικείμενα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Κλάσεις Η γενική μορφή μιας κλάσης είναι η εξής: class class-name { private data and

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 12 Υλοποίηση Stored Procedures, Χρήση Ευρετηρίων Κεφάλαιο 12 Υλοποίηση Stored Procedures, Χρήση Ευρετηρίων Σύνοψη Στο παρόν κεφάλαιο θα παρουσιασθούν βασικά στοιχεία όσον αφορά τις stored procedures και τη χρήση ευρετηρίων. Προαπαιτούμενη γνώση H ύλη

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 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 χρησιµοποιείται

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

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10 ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10 Πράξεις Αλλαγής εδοµένων INSERT (εισαγωγή) Αυτός ο τελεστής παρέχει µια λίστα από πεδία τιµών για µια καινούργια πλειάδα η οποία θα εισαχθεί σε µια σχέση 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 Άνοιξη 2014 Περιεχόμενα 1 Δημιουργία πινάκων με την

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Συναρτήσεις Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Συναρτήσεις Ως τώρα γράφαμε όλα τα προγράμματα μας μέσα στην main..1

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1 Είσοδος/ Έξοδος Σε σχεδόν όλα τα προγράµµατα πρέπει να πάρουµε κάποια δεδοµένα και να δώσουµε

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

Συστήματα Διαχείρισης Βάσεων Δεδομένων (ΗΥ460) Χειμερινό εξάμηνο 2017

Συστήματα Διαχείρισης Βάσεων Δεδομένων (ΗΥ460) Χειμερινό εξάμηνο 2017 Συστήματα Διαχείρισης Βάσεων Δεδομένων (ΗΥ460) Χειμερινό εξάμηνο 2017 1. Εγκατάσταση της Oracle Εγκαταστήστε την Oracle Database 11g Release 2 στο pc σας. Μπορείτε να την κατεβάσετε από το παρακάτω link:

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

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

Βάσεις δεδομένων. (7 ο μάθημα) Ηρακλής Βαρλάμης Βάσεις δεδομένων (7 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα SQL Βασικές πράξεις Πράξεις συνόλων Συνενώσεις Συναθροιστικές συναρτήσεις Ομαδοποιήσεις 10/4/2014 Βάσεις Δεδομένων 2 Η γλώσσα

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

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor

ΕισαγωγήστουςΗ/Υ. PHP Hypertext Preprocessor ΕισαγωγήστουςΗ/Υ PHP Hypertext Preprocessor ΤιείναιηPHP; PHP είναιµία server-based scripting language σχεδιασµένη ειδικά για το web. Σε µία html σελίδα µπορούµε να ενσωµατώσουµε php κώδικα που εκτελείται

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

Μετατροπή χαρακτήρων ASCII σε αριθμό (atoi) & διάβασμα, και αποθήκευση του περιεχομένου του στη μνήμη. (Διάλεξη. Πανεπιστήμιο Κύπρου

Μετατροπή χαρακτήρων ASCII σε αριθμό (atoi) & διάβασμα, και αποθήκευση του περιεχομένου του στη μνήμη. (Διάλεξη. Πανεπιστήμιο Κύπρου Μετατροπή χαρακτήρων ASCII σε αριθμό (atoi) & Άνοιγμα αρχείου μέσα από τo SPIM, διάβασμα, και αποθήκευση του περιεχομένου του στη μνήμη (Διάλεξη 3) 1 Μετατροπή χαρακτήρων ASCII σε ακέραιο Ο πιο κάτω κώδικας

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

Κεφάλαιο 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 χρησιµοποιείται

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

Κλάσεις και Αντικείµενα

Κλάσεις και Αντικείµενα Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν

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

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

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

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

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εξάμηνο 7 ο Procedures and Functions Stored procedures and functions are named blocks of code that enable you to group and organize a series of SQL and PL/SQL

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

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

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

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

databases linux - terminal (linux / windows terminal)

databases linux - terminal (linux / windows terminal) databases linux - terminal (linux / windows terminal) 1) ανοίγουμε την mysql -> $ mysql -u root -p (enter) password (enter) TIP: αν κατά την εντολή αυτή μας γράψει, ERROR 2002 (HY000): Can't connect to

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

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 1.3-1.4: Εισαγωγή Στον Προγραµµατισµό ( ιάλεξη 2) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Περιεχόµενα Εισαγωγικές Έννοιες - Ορισµοί Ο κύκλος ανάπτυξης προγράµµατος Παραδείγµατα Πότε χρησιµοποιούµε υπολογιστή?

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

Copyright 2007 Ramez Elmasri and Shamkant B. NavatheΕλληνικήΈκδοση ίαυλος

Copyright 2007 Ramez Elmasri and Shamkant B. NavatheΕλληνικήΈκδοση ίαυλος ιαφάνεια 9-1 Κεφάλαιο 9 Εισαγωγή στις Τεχνικές Προγραµµατισµού SQL Copyright 2007 Ramez Elmasri and Shamkant B. NavatheΕλληνικήΈκδοση ιαυλος Περιεχόµενα 9.1 Γενικοί Περιορισµοί σαν Βεβαιώσεις 9.2 Όψεις

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

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

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

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

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

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

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

είκτες και Πίνακες (2)

είκτες και Πίνακες (2) είκτες και Πίνακες (2) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Πολυδιάστατοι πίνακες Πέρασµα παραµέτρων σε προγράµµατα C ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 1-1 Πίνακες εικτών Πίνακας δεικτών είναι

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

Κεφάλαιο 7: Υποπρογράμματα. Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών

Κεφάλαιο 7: Υποπρογράμματα. Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Κεφάλαιο 7: Υποπρογράμματα Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών Ορισμός Αφαίρεση με χρήση υποπρογραμμάτων (subprogram abstraction) είναι η αντιστοίχιση ενός συνόλου εισόδων σε ένα σύνολο εξόδων

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

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Είσοδος/Έξοδος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2009-2010 Είσοδος/Έξοδος Μέχρι τώρα όποτε θέλαμε να διαβάσουμε χρησιμοποιούσαμε πάντα

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

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

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

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

8. Μέθοδοι (Methods)

8. Μέθοδοι (Methods) 8. Μέθοδοι (Methods) Χειμερινό εξάμηνο 2012 Πέτρος Κωμοδρόμος komodromos@ucy.ac.cy http://www.eng.ucy.ac.cy/petros 1 Θέματα Μέθοδοι που παρέχονται από τη τάξη Math του Java API Χρήση στατικών μεθόδων και

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

Κεφάλαιο 8.7. Πίνακες & Συναρτήσεις ( ιάλεξη 17) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 8.7. Πίνακες & Συναρτήσεις ( ιάλεξη 17) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 8.7 Πίνακες & Συναρτήσεις ( ιάλεξη 17) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 17-1 Εισαγωγή Στις προηγούµενες διαλέξεις µάθαµε πώς να δηλώνουµε, αρχικοποιούµε και να επεξεργαζόµαστε πίνακες. Σήµερα θα µελετήσουµε

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων

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