Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
se:datenbankentwicklung [2008-08-25 15:44] stefan |
se:datenbankentwicklung [2014-04-05 11:42] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Datenbankentwicklung ====== | ||
- | |||
- | ===== Administration ===== | ||
- | |||
- | ===== PL/SQL (Schwerpunkt der Klausur) ===== | ||
- | * PL/SQL: Procedural Language extension to SQL | ||
- | * Bietet eine Blockstruktur für Code an | ||
- | * Bietet prozedurale Konstrukte an (Variablen, Kontrollstrukturen etc.) | ||
- | * {{:se:plsqlarchitektur.jpg|}} | ||
- | * Vorteile | ||
- | * Integration in Oracle Tools | ||
- | * Modularisierte Anwendungsentwicklung | ||
- | * Portabilität des PL/SQL-Codes | ||
- | * Exception Handling | ||
- | * PL/SQL-Blöcke | ||
- | * Aufbau | ||
- | * DECLARE: Variablen, Cursor, eigene Exceptions | ||
- | * **BEGIN**: SQL und PL/SQL | ||
- | * EXCEPTION: Fehlerbehandlung | ||
- | * **END** | ||
- | * Typen | ||
- | * Anonymous | ||
- | * Procedure | ||
- | * Function | ||
- | * Speicherort: Server oder Anwendung | ||
- | * Variablen | ||
- | * [a-zA-Z][a-zA-Z0-9$_#]{0,29} | ||
- | * Deklarierung/Initialisierung in DECLARE, Zuweisung in BEGIN | ||
- | * ''identifier [CONSTANT] datatype [NOT NULL] [:= | DEFAULT expr];'' | ||
- | * String-Begrenzung: ''q'!Das ist ein Text!''' | ||
- | * Typen | ||
- | * Scalar: CHAR, VARCHAR, LONG, INTEGER, BOOLEAN, DATE etc. | ||
- | * Composite: Zusammengesetzte Variablen aus mehrere Datentypen | ||
- | * Reference | ||
- | * LOB: Fotos, Filme etc. | ||
- | * Nicht-PL/SQL: Bind variables | ||
- | * Host-Variablen, die mit ''VARIABLE'' deklariert werden und mit einem führenden '':'' referenziert werden | ||
- | * ''SET AUTOPRINT ON'' | ||
- | * Substitution Variables | ||
- | * referenziert mit führendem ''&'': Eingabe zur Laufzeit | ||
- | * ''ACCEPT varname PROMPT 'Text''' | ||
- | * User Variable: deklariert mit ''DEFINE'', referenziert mit ''&'' | ||
- | * ''%TYPE''-Attribut: Datentyp einer Spalte/Variable übernehmen (''identifier table.column_name%TYPE;'') | ||
- | * Mögliche Boolean-Werte: TRUE, FALSE, NULL (!) | ||
- | * Lexikalische Einheiten | ||
- | * Folgen von Zeichen, Zahlen, Whitespace und Symbolen | ||
- | * Typen: Identifier, Delimiter, Literals, Comments | ||
- | * SQL-Funktionen | ||
- | * Nicht in PL/SQL verfügbar: DECODE, GROUP-Funktionen | ||
- | * SELECT in PL/SQL | ||
- | * INTO wird benötigt | ||
- | * Abfragen müssen genaue eine Zeile zurückliefern | ||
- | * Variablenpriorität: Spaltennamen -> lokale Variablen/Parameter -> Tabellennamen | ||
- | * Cursor | ||
- | * Zeiger auf den privaten Speicherplatz des Oracle-Servers | ||
- | * Implizit: werden intern vom Oracle-Server erzeugt und verwendet (z.B. bei SQL-Statements) | ||
- | * Attributes: SQL%FOUND, SQL%NOTFOUND, SQL%ROWCOUNT | ||
- | * Explizit: werden vom Programmierer definiert und verwendet | ||
- | |||
- | ===== Web ===== | ||
- | |||
- | ===== Modellierung ===== | ||