K a pitel 4. O bjektrelationa le D atenm odell- und S pra c herw eiterung en kom m erzieller D atenba nks ys tem e

Größe: px
Ab Seite anzeigen:

Download "K a pitel 4. O bjektrelationa le D atenm odell- und S pra c herw eiterung en kom m erzieller D atenba nks ys tem e"

Transkript

1 K a pitel 4 O bjektrelationa le D atenm odell- und S pra c herw eiterung en kom m erzieller D atenba nks ys tem e IBM DB2 Universal Database, Version 8.2 Oracle10g IBM Informix Dynamic Server, Version 9.4 PostgreSQL, Version 7.4

2 D is c la im er D ies es K a pitel ba s iert a uf dem folg enden B uc h, w elc hes a uc h zur w eiteren Vertiefung em pfohlen w ird: C a n Türker: S QL:1999 & S QL:2003 O bjektrelationa les S QL, S QLJ & S QL/X M L. dpunkt-verla g, H eidelberg, IS B N :

3 O bjektrelationa le E rw eiterung en in D B 2 N eue B a s is datentypen B enutzerdefinierte Typen Distinct-Typen Strukturierte Typen (mit Typvererbung) R eferenztyp Typis ierte Ta bellen (m it S ubta bellenbildung ) Typis ierte S ic hten (m it S ubs ic htenbildung ) Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS / (Dr. C. Türker) 4-3

4 N eue B a s is datentypen La rg e O bjec ts B LO B (Binary Large Object) C LO B (Character Large Object) Operationen S U B S TR, P O S S TR, (C O N C AT) IS [N OT] N U LL, LIK E, LE N G TH Nicht erlaubt B LO B /C LO B -Attribute als Teil eines Schlüssels oder in booleschen bzw. arithmetischen Ausdrücken G R O U P B Y, O R D E R B Y, E QUA LS, G R E ATE R /LE S S TH A N B O O LE A N D atentyp nic ht unters tützt 4-4

5 B a s is datentypen Basisdatentyp Bedeutung SMALLINT (16 Bit) ganze Zahl [-32768, 32767] INTEGER (32 Bit) ganze Zahl [ , ] BIGINT (64 Bit) ganze Zahl [ , ] DECIMAL(p,q) NUMERIC(p,q) FLOAT(p) REAL DOUBLE Festkommazahl mit Genauigkeit p und q Nachkommastellen (p 31) Fließkommazahl mit Genauigkeit p ( 31) CHAR(q) Alphanumerische Zeichenkette mit fester Länge q ( 254) VARCHAR(q) Alphanumerische Zeichenkette mit variabler Länge q ( 3745) CLOB BLOB DATE TIME TIMESTAMP Alphanumerische Zeichenkette mit variabler Länge bis 2GB Binäre Zeichenkette mit variabler Länge bis 2GB Datum Zeit Zeitstempel Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS / (Dr. C. Türker) 4-5

6 Verw endung neuer B a s is datentypen Defnition einer Tabelle mit LOB-Attributen: C R E ATE TA B L E MitarbeiterTupelTabelle ( Name VA R C H A R (30), Bild B LO B (1M), Bewerbung C LO B (50k) ); Erzeugen von LOB-Attributen: IN S E R T IN TO MitarbeiterTupelTabelle VA LU E S ( 'Billy', B LO B ('Bilddaten innerhalb einer Anwendung zuweisen!'), C LO B ('Bewerbung innerhalb einer Anwendung zuweisen!') ); 4-6

7 D is tinc t-typen D is tinc t-typ is t eine K opie eines B a s is datentyps S ynta x: C R E ATE D IS TIN C T TY P E Distinct-Typname A S Basisdatentyp WITH C O M PA R IS ON S D is tinc t-typdefinition g eneriert a utom atis c h Cast-Funktionen zur Konversion zwischen Distinct-Typ und Ausgangstyp Vergleichsoperatoren (=, <, >, <=, <=, <>) für Instanzen des Distinct-Typs Gilt nicht für die Typen B LO B, C LO B, LO N G VA R C H A R, LO N G VA R G R A P H IC (hier darf WITH C OM PA R IS O N S nicht verwendet werden) 4-7

8 B eis pieldefinition und Verw endung von D is tinc t-typet Typen Defnition von Distinct-Typen: C R E ATE D IS TIN C T TY P E Franken A S D E C IM A L(9,2) WITH C OM PA R IS O N S ; C R E ATE D IS TIN C T TY P E Euro A S D E C IM A L(9,2) WITH C OM PA R IS O N S ; Verwendung von Distinct-Typen in Tabellendefnitionen: C R E ATE TA B LE CHBank(Nr IN TE G E R, Stand Franken); C R E ATE TA B LE EuroBank(Nr IN TE G E R, Stand Euro); Anfrage basierend auf Distinct-Typen und generierten Cast- Funktionen: S E LE C T c.nr, c.stand FR O M CHBank c, EuroBank e WH E R E C A S T(c.Stand A S DECIMAL) < C A S T(e.Stand A S DECIMAL); 4-8

9 S truk turierte Typen A bs tra kter O bjekttyp m it A ttributen und M ethoden Defaultwerte und Integritätsbedingungen werden nicht unterstützt Keine kollektionswertigen Attribute Attribut eines strukturierten Typs darf weder denselben Typ noch einen Subtyp dieses strukturierten Typs haben Typvererbung: Ein Subtyp erbt die Attribute und Methoden des Supertyps Substituierbarkeit: Subtypinstanz ist als Supertypinstanz verwendbar Typdefinition g eneriert a utom atis c h Methoden zum Zugrif auf und Ändern der Attributwerte Konstruktoren zum Erzeugen von Instanzen Operatoren zum Vergleichen von Instanzen 4-9

10 S trukturierte Typen D efinition von Wurzeltypen Syntax: Jede Instanz eines strukturierten Typs kann mit einer OID assoziiert werden Default-Typ der OID ist VA R C H A R (16) C R E ATE TY P E Typname A S (Attributdefnitionsliste) [[N OT] IN S TA N TIA B L E ] [N OT FIN A L] M O D E D B 2S QL [R E F U S IN G Typ] [C A S T (S O U R C E A S R E F) WITH Funktionsname] [C A S T (R E F A S S O U R C E ) WITH Funktionsname] [Methodendeklarationsliste] Typ der OID kann mit R E F U S IN G geändert werden 4-10

11 S trukturierte Typen B eis piele C R E ATE TY P E AdresseTyp A S ( Strasse VA R C H A R (30), Nr D E C IM A L(4), PLZ D E C IM A L(5), Ort VA R C H A R (40), Land VA R C H A R (25) ) CMR EO ATE D E DTY B 2S P E QKundeTyp L; A S ( KNr IN TE G E R, Name VA R C H A R (30), Anschrift AdresseTyp ) R E F U S IN G IN TE G E R M O D E D B 2S QL; C R E ATE TY P E LieferantTyp A S ( LNr IN TE G E R, Name VA R C H A R (25), Anschrift AdresseTyp ) M O D E D B 2S Q L; C R E ATE TY P E AuftragTyp A S ( ANr IN TE G E R, Kunde R E F(KundeTyp) Eingang DAT E, Bearbeitet DAT E, Lieferant R E F(LieferantTyp) ) M O D E D B 2S Q L; 4-11

12 R eferenztyp R E F : R eferenz a uf ein O bjekt eines s trukturierten Typs Attributwert ist eine OID (object identifer) B eis piel: E in Teil referenziert ein a nderes Teil C R E ATE TY P E TeilTyp A S ( Nr D E C IM A L(10), Bezeichnung VA R C H A R (25), Farbe VA R C H A R (15), IstTeilVon R E F(TeilTyp), Preis Franken ) M O D E D B 2S QL M E TH O D Gesamtpreis() R E TU R N S Franken LA N G UAG E S QL; 4-12

13 M etho denim plem entierung M ethodendekla ration und -im plem entierung erfolg t a na log zu S QL:2003 Deklaration A LTE R TY Perfolgt E TeilTyp innerhalb A D D Mder E THDefnition/Änderung O D des Objekttyps AnzahlUnterteile() R E TU R N S IN TE G E R LA N G UA G E S QL; C R E ATE M E TH OD AnzahlUnterteile() Implementierung R E TU R N S IN TE Gin Eeiner R separaten Anweisung (hier SQL-Variante) FO R TeilTyp R E TU R N (S E LE C T C O U N T(*) FR O M Teil WH E R E IstTeilVon->Bezeichnung = S E LF..Bezeichnung); 4-13

14 S ubtypbildung A ufba u von Typhiera rc hien S ubtypdefinition m ittels U N D E R -K la us el Subtyp erbt alle Attribute und Methoden des Supertyps Supertyp muss selbst ein strukturierter Typ sein Subtyp darf nur maximal einen direkten Supertyp haben Keine (direkte) Mehrfachvererbung möglich Geerbte Methoden können überschrieben werden (OV E R R ID IN G ) S ynta x: C R E ATE TY P E Typname U N D E R Supertypname A S (Attributdefnitionsliste) [[N OT] IN S TA N TIA B L E ] [N OT FIN A L] M O D E D B 2S QL [Methodendeklarationsli ste] Beispiel: C R E ATE TY P E BWKundeTyp U N D E R KundeTyp A S ( Interessen VA R C H A R (50) ) M O D E D B 2S QL; 4-14

15 Typis ierte Ta belle B a s iert a uf einem s trukturierten Typen S peic hert Ins ta nz des s trukturierten Typs a ls Z eile der Ta belle O ID -A ttribut is t s ic htba r! Muss für alle Wurzeltabellen explizit angegeben werden Wert wird innerhalb von IN S E R T belegt und ist danach unveränderlich Wert muss N OT N U LL und eindeutig innerhalb der Tabellenhierarchie sein K a nn Integ ritä ts beding ung en entha lten K a nn Integ ritä ts beding ung en entha lten Primär-/Unique-/Fremdschlüssel, Not Null, Check-Klausel, Scope- Klausel 4-15

16 Syntax: Typis ierte Ta bellen D efinition von Wurzelta bellen C R E ATE TA B LE Tabellenname O F StrukturierterTyp ( R E F IS OID-Attributname U S E R G E N E R ATE D [Attributoptionsliste] ) Attributoption: Attributname WITH O P TIO N S Optionsliste C H E C K -Integritätsbedingung U N IQU E -Integritätsbedingung Optionen: S C O P E TypisierteTabelle D E FAU LT Wert Integritätsbedingung 4-16

17 Typis ierte Ta belle B eis piele C R E ATE TA B LE Teil O F TeilTyp ( R E F IS oid U S E R G E N E R ATE D, Nr WITH O P TIO N S N OT N U LL P R IM A RY K E Y, IstTeilVon WITH O P TIO N S S C O P E Teil ); C R E ATE TA B LE Kunde O F KundeTyp ( R E F IS oid U S E R G E N E R ATE D, KNr WITH O P TIO N S N OT N U LL P R IM A R Y K E Y, Name WITH O P TIO N S N OT N U LL ); 4-17

18 Typis ierte Ta belle Weitere B eis piele C R E ATE TA B LE Auftrag OF AuftragTyp ( R E F IS oid U S E R G E N E R ATE D, ANr WITH O P TIO N S N OT N U LL P R IM A R Y K E Y ); C R E ATE TA B LE Lieferant O F LieferantTyp ( R E F IS oid U S E R G E N E R ATE D, LNr WITH O P TIO N S N OT N U LL P R IM A R Y K E Y, Name WITH O P TIO N S N OT N U LL ); 4-18

19 O perationen a uf typis ierten Ta bellen IN S E R T IN TO Kunde VA LU E S (KundeTyp(17), 17, 'Billy', -- OID (erstes Attribut) durch -- Referenzkonstruktoraufruf erzeugt AdresseTyp()..Strasse('Seefeldstrasse')..Nr(31)..Plz(8008)..Ort('Zurich')..Land('Schweiz')); U P DATE Kunde S E T Anschrift= AdresseTyp()..Strasse('Kreuzstrasse')..Nr(31)..Plz(8008)..Ort('Zurich')..Land('Schweiz') WH E R E Name = 'Billy'; D E LE TE FR O M Kunde WH E R E Anschrift..Ort = 'Zurich'; Zugrif auf Attribute/Methoden einer Instanz eines strukturierten Typs erfolgt mittels dem Doppel- Dot-Operator

20 A ttributbeleg ung en Ä ndern von s trukturierten A ttributen U P DATE Kunde S E T Anschrift..Stadt = 'Zürich' WH E R E Anschrift..Stadt = 'Zuerich'; Ä ndern von R eferenzattributen U P DATE Teil S E T IstTeilVon =(S E LE C T oid FR O M Teil WH E R E Bezeichnung = 'Fahrrad') WH E R E Bezeichnung = 'Rad'; 4-20

21 Ü berla den des K ons truktors Defnition eines Konstruktors: C R E ATE FU N C TIO N AdresseTyp (S VA R C H A R (30), N D E C IM A L(4), P D E C IM A L(5), O VA R C H A R (25), L VA R C H A R (20)) R E TU R N S AdresseTyp LA N G UA G E S QL R E TU R N AdresseTyp()..Strasse(S)..Nr(N)..PLZ(P)..Ort(O)..Land(L); Einfügen eines neuen Kunden mit Hilfe des neuen Konstruktors: IN S E R T IN TO Kunde VA LU E S (KundeTyp(17), 17, 'Billy', AdresseTyp('Seefeldstrasse', 31, 8008, 'Zurich', 'Schweiz')); 4-21

22 O ID -E rzeug ung O ID s s ind " s ys tem g enerierba r", w enn der s trukturierte Typ ohne R E F U S IN G definiert w urde IN S E R T IN TO Teil VA LU E S (TeilTyp(G E N E R ATE _U N IQU E ()), 13, 'Fahrrad', 'Silber-Blau', NULL); N utzer ka nn w eiterhin O ID s verg eben IN S E R T IN TO Teil VA LU E S (TeilTyp('RYWZBA12WS'), 18, 'Rahmen', 'Blau', (S E LE C T oid FR O M Teil WH E R E Nr Referenzattributbelegung =13)); mit einer Anfrage (oben) oder Direktangabe (unten) IN S E R T IN TO Teil VA LU E S (TeilTyp(G E N E R ATE _U N IQU E ()), 56, 'Gabel', 'Blau', TeilTyp('RYWZBA12WS')); 4-22

23 E infa c he A nfra g en B eis piele Zugrif auf OID-Attribut: S E LE C T oid FR O M Kunde; Zugrif auf eine Komponente eines objektwertigen Attributs: S E LE C T Anschrift..Stadt FR O M Kunde; Zugrif auf ein Referenzattribut (OID des referenzierten Objekts): S E LE C T IstTeilVon FR O M Teil; Zugrif auf ein Attribut eines referenzierten Objekts (Dereferenzierung mit anschliessendem Komponentenzugrif): S E LE C T IstTeilVon->Bezeichnung FR OM Teil; S E LE C T D E R E F(IstTeilVon)..Bezeichnung FR O M Teil; 4-23

24 S ubta a bellenbildung bildung A ufba u von Ta bellenhiera rc hien S ynta x: C R E ATE TA B LE Tabellenname O F StrukturierterTyp U N D E R Supertabelle IN H E R IT S E LE C T P R IV ILE G E S Typ der [( Attributoptionsliste Subtabelle muss ein )] direkter Subtyp des Typs der Supertabelle sein (Tiefe) Extension der Subtabelle muss immer eine Untermenge der (tiefen) Extension der Supertabelle sein Instanzen der Subtabelle sind auch Mitglieder der zugehörigen Supertabellen Subtabelle darf nur maximal eine direkte Supertabelle haben Keine (direkte) Mehrfachspezialisierung möglich Subtabelle kann neue Integritätsbedingungen hinzudefnieren Subtabellen besitzen keine eigene Referenzklausel 4-24

25 S ubta belle B eis piel C R E ATE TA B LE BWKunde O F BWKundeTyp U N D E R Kunde IN H E R IT S E LE C T P R IV ILE G E S ( Interessen WITH O P TION S N OT N U LL A ); c htung : Schlüsselwort IN H E R IT S E LE C T P R IV ILE G E S ist nicht optional Strukturierter Typ der Subtabelle mindestens ein "eigenes" Attribut defnieren 4-25

26 A nfra g en a n Ta bellenhiera rc hien S E LE C T Name FR O M Kunde; liefert die Namen aller Kunden (inklusive der BWKunden) Zugrif auf tiefe Extension einer Supertabelle S E LE C T Name FR O M Zugrif auf tiefe Extension einer BWKunde; Subtabelle liefert die Namen aller BWKunden S E LE C T Name FR O M Zugrif auf fache Extension einer O N LY (Kunde); Supertabelle liefert nur die Namen der Kunden, die keine BWKunden sind S E LE C T Name, Interessen FR O M O U TE R (Kunde); liefert Namen und Interessen aller Kunden Zugrif auf Attribute der Subtabelle auf Supertabellenebene 4-26

27 Typis ierte S ic hten S ynta x: D efinition einer typis ierten S ic ht C R E ATE V IE W Sichtenname O F StrukturierterTyp M O D E D B 2S QL ( R E F IS OID-Attributname U S E R G E N E R ATE D [Attributoptionsliste] ) A S Anfrageausdruck [WITH C H E C K O P TIO N ] Referenzklausel ist zwingend notwendig für Wurzelsichten Sichtanfrage über genau einer Tabelle bzw. Sicht nur benutzerdefnierte OIDs sind erlaubt 4-27

28 S ubs ic htenbildung A ufba u von S ic htenhiera rc hien S ynta x: D efinition einer S ubs ic ht C R E ATE V IE W Sichtenname O F StrukturierterTyp M O D E D B 2S QL U N D E R Supersicht IN H E R IT S E LE C T P R IV ILE G E S [( Attributoptionsliste )] A S Anfrageausdruck [WITH C H E C K O P TIO N ] Typ der Subsicht muss ein direkter Subtyp des Typs der Supersicht sein Supersicht muss auf eine fache Extension zugreifen (ONLY) Supersicht darf keine andere Subsicht desselben Subtyps besitzen Subsicht erweitert Supersicht: Alle Instanzen der Subsicht sind auch automatisch in der Supersicht sichtbar 4-28

29 Typis ierte S ic hten B eis piele Defnition einer Wurzelsicht: C R E ATE V IE W ZuercherKunde O F KundeTyp M ODE D B 2S QL (R E F IS oid U S E R G E N E R ATE D ) A S (S E LE C T * FR O M O N LY (Kunde) WH E R E Anschrift..Ort = 'Zurich'); Defnition einer Subsicht: C R E ATE V IE W AKunde O F BWKundeTyp M O D E D B 2S QL U N D E R ZuercherKunde IN H E R IT S E LE C T P R IV ILE G E S A S (S E LE C T * FR O M BWKunde WH E R E Name LIK E 'A%'); 4-29

30 D B 2 D atenm odell S E T M U LTIS E T O B J E C T R OW R E F Basisdatentyp Einstiegspunkte Typisierte Tabelle: Untypisierte Tabelle: S E T(O B J E C T(...)) M U LTIS E T(R OW(...)) Subtypbeziehung Untermengenbeziehung 4-30

31 D B 2 D atenm odellüberblic k Attributtypen UNDER Basistyp Referenztyp Distinct-Typ Strukturierter Typ Attributtypen OF UNDER Tupeltabelle (Multimenge von Tupeln eines Tupeltyps) Tupelsicht (Multimenge von Tupeln eines Tupeltyps) Typisierte Tabelle (Menge von Objekten eines strukturierten Typs) Sichtberechnu ng UNDER OF basiert auf Typisierte Sicht (Multimenge von Objekten eines strukturierten Typs) Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS / (Dr. C. Türker) 4-3 1

32 D efinition von Funktionen B eis piele C R E ATE FU N C TIO N AnzahlAuftraege (k VA R C H A R (30)) R E TU R N S IN TE G E R LA N G UAG E S Q L R E TU R N (S E LE C T C O U N T(*) FR O M Auftrag WH E R E Kunde->Name = k); Funktion, die einen "atomaren" Wert liefert! C R E ATE FU N C TIO N AnzahlAuftraege () R E TU R N S TA B LE (Name VA R C H A R (30), Anzahl IN TE G E R ) LA N G UAG E S Q L R E TU R N (S E LE C T Kunde->Name, C O U N T(*) FR O M Auftrag G R O U P B Y Kunde->Name); Funktion, die eine Tabelle liefert! 4-32

33 S FW-B loc k (1) S E LE C T : Wa s da rf in der P rojektions lis te s tehen? Attribute (auch abgeleitete, berechnete) Methoden-/Funktionsaufrufe Unterabfragen Nur () skalare Unterabfragen, die genau einen Wert liefern B eis piel: S E LE C T Name, AnzahlAuftraege(Name), (S E LE C T C O U N T(*) FR O M Auftrag a WH E R E a.kunde->name = k.name) FR O M Kunde k; 4-33

34 S FW-B loc k (2) FR O M : Welc he Ta bellena us drüc ke s ind erla ubt? Tupeltabellen Objekttabellen (auch fache Extensionen) Kollektionsabgeleitete Tabellen Methoden-/Funktionsaufrufe (die Tabellen liefern) Unterabfragen (abgeleitete Tabellen) auch rekursive Tabellen B eis piel: Funktions a bg eleitete bzw. m ittels U ntera bfra g en a bg eleitete Ta bellen S E LE C T * FR O M TA B L E (AnzahlAuftraege()) a; S E LE C T * FR O M (S E LE C T Kunde FR O M Auftrag) k; Korrelationsvariable muss in beiden Fällen angegeben werden! 4-34

35 S FW-B loc k (3) WH E R E : Welc he P rä dikate s ind erla ubt? Prädikate über Attribute Prädikate mit Methoden-/Funktionsaufrufen Prädikate mit Unterabfragen B eis piel: S E LE C T * FR O M Kunde k WH E R E Name LIK E 'C%' A N D AnzahlAuftraege(Name) > 5 A N D E X IS TS (S E LE C T * FR O M Lieferant l WH E R E k.name = l.name); 4-35

36 O bjektrelationa le E rw eiterung en in O ra c le10g N eue B a s is datentypen R eferenztypkonsns truktortor B enutzerdefinierte Typen Kollektionstypen Tabellentyp Variabler Arraytyp Objekttypen (mit Subtypenbildung) O bjektta bellen O bjekts ic hten (m it S ubs ic htenbildung ) H iera rc his c he A nfra g en (a ls bes c hrä nkte R ekurs ion) 4-36

37 N eue B a s is datentypen La rg e O bjec ts B LO B ("Internes" Binary Large Object) C LO B ("Internes" Character Large Object) B FILE ("Externes" Large Object) Operationen E M P TY _B LO B, E M P TY _C LO B, B FILE N A M E IS [N OT] N U LL Nicht erlaubt B LO B /C LO B -Attribute als Teil eines Schlüssels oder in booleschen bzw. arithmetischen Ausdrücken G R O U P B Y, O R D E R B Y K ein B O O LE A N D atentyp unters tützt 4-37

38 Basisdatentyp Bedeutung NUMBER(p,q) Zahl mit p 38 und -84 q 127 [1.0*10-130, 9.9 9* ] SMALLINT INTEGER DECIMAL(p,q) NUMERIC(p,q) FLOAT(p) REAL DOUBLE PRECISION B a s is datentypen NUMBER(38) NUMBER(38) NUMBER(p,q) NUMBER mit Genauigkeit p ( 126) CHAR(q) Alphanumerische Zeichenkette mit fester Länge q ( 2000) VARCHAR(q) Alphanumerische Zeichenkette mit variabler Länge q ( 4000) CLOB Alphanumerische Zeichenkette mit variabler Länge bis 4GB BLOB Binäre Zeichenkette mit variabler Länge bis 4GB BFILE Lokator auf externe Datei der Grösse bis 4GB LONG RAW Binäre Zeichenkette mit variabler Länge bis 2GB RAW Binäre Zeichenkette mit variabler Länge bis 32KB DATE Datum 4-38

39 Verw endung neuer B a s is datentypen Defnition einer Tabelle mit LOB-Attributen: C R E ATE TA B L E MitarbeiterTupelTabelle ( Name VA R C H A R (30), Bild B LO B, BildDatei B FILE, Bewerbung C LO B, BewerbungDatei B FILE ); Defnition von Alias-Ordnern, in denen externe LOBs zu fnden sind: C R E ATE D IR E C TO RY MITARBEITER_BILDER A S 'D:\ImgSamp\'; C R E ATE D IR E C TO RY MITARBEITER_BEWERBUNGEN A S 'D:\RsmSamp\'; Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS / (Dr. C. Türker) 4-3 9

40 E rzeug en von LO B s Erzeugen von LOB-Attributen: IN S E R T IN TO MitarbeiterTupelTabelle VA LU E S ('Billy', E M P TY _B LO B (), B FILE N A M E ('MITARBEITER_BILDER', 'billy.gif'), E M P TY _C LO B (), B FILE N A M E ('MITARBEITER_BEWERBUNGEN', 'billy.rsm') E ); M P TY _B LO B () bzw. E M P TY _C LO B () initialisieren LOB-Lokatoren (notwendig für spätere Zuweisung) 4-40

41 P rozedur zum B eleg ung eines LO B s C R E ATE P R O C E D U R E SetBewerbung (InputName IN VA R C H A R 2) IS textdaten C LO B ; datei B FILE ; B E G IN S E LE C T Bewerbung, BewerbungDatei IN TO textdaten, datei FR O M MitarbeiterTupelTabelle WH E R E Name = InputName; D B M S _LO B.FILE OP E N (datei, D B M S _LO B.FILE _R E A D O N LY ); D B M S _LOB.LOA D FR OM FILE (textdaten, datei, D B M S _LO B.G E TLE N G TH (datei)); D B M S _LO B.FILE C LO S E (datei); U P DATE MitarbeiterTupelTabelle S E T Bewerbung = textdaten WH E R E Name = InputName; E N D ; 4-41

42 P rozedur zum A nzeig en eines LO B s C R E ATE P R O C E D U R E ShowBewerbung (InputName IN VA R C H A R 2) IS pufer VA R C H A R (60); textdaten C LO B ; textlaenge D E C IM A L; position D E C IM A L; B E G IN textlaenge := 60; position := 1; S E LE C T Bewerbung IN TO textdaten FR O M MitarbeiterTupelTabelle WH E R E Name = InputName; D B M S _LO B.R E A D (textdaten, textlaenge, position, pufer); D B M S _O U TP U T.P U T_LIN E (pufer); E N D ; 4-42

43 R eferenztyp R E F : R eferenz a uf eine Ins ta nz eines O bjekttyps Wert eines Referenzattributs ist eine OID B eis piel: E in Teil referenziert ein a nderes Teil C R E ATE TY P E TeilTyp A S O B J E C T ( Nr N U M B E R (10), Bezeichnung VA R C H A R (25), Farbe VA R C H A R (15), IstTeilVon R E F TeilTyp Vorw ); ä rts dekla ration erm ög lic ht zyklis c he Typdefinitionen C R E ATE TY P E LieferantTyp; 4-43

44 B enutzerdefinierte D atentypen Ta bellentyp TA B LE : G eordnete M ultim eng e m it indiziertem Z ug riff Ohne Grössenbeschränkung Alle Elemente besitzen denselben Typ Elementindex als Iterator Anfragen auf geschachtelte Tabelle anwendbar Daten der geschachtelte Tabelle sind auch indizierbar S ynta x: C R E ATE TY P E Tabellentypname A S TA B LE O F Elementtyp B eis piel: C R E ATE TY P E HobbiesTabellenTyp A S TA B LE O F VA R C H A R (20); A LTE R TA B LE MitarbeiterTupelTabelle A D D Hobbies HobbiesTabellenTyp N E S TE D TA B LE Hobbies S TOR E A S Kundenhobbies; 4-44

45 B enutzerdefinierte D atentypen Va ria bler A rra ytyp VA R R AY : G eordnete M ultim eng e m it indiziertem Z ug riff Grösse wird bei der Instanzierung festgelegt Alle Elemente besitzen denselben Typ Elementindex als Iterator Achtung: VARRAY-Werte nicht direkt in SQL, sondern nur in PL/SQL nutzbar S ynta x: C R E ATE TY P E Arraytypname A S V A R R AY (Arraygrösse) O F Elementtyp C R E ATE TY P E TelefonArrayTyp A S V A R R AY (30) O F B eis piel: VA R C H A R (20); A LTE R TA B LE MitarbeiterTupelTabelle A D D Telefone TelefonArrayTyp; 4-45

46 Verw endung von K ons truktoren Erzeugen von Instanzen eines Array- bzw. Tabellentyps: IN S E R T IN TO MitarbeiterTupelTabelle (Name, Hobbies, Telefone) VA LU E S ('Johnny', H obbies Ta bellentyp('reisen', 'Sport', 'Kino'), TelefonA rra ytyp(' ', ' ')); 4-46

47 K ollektionen und N ullw erte Werte für ein kollektionswertiges Attribut (hier Telefone): TelefonArraytyp(' ', NULL, ' ') TelefonArraytyp(' ', NULL) TelefonArraytyp(' ') TelefonArraytyp(NULL) TelefonArraytyp() NULL Kardinalität: NUL L 4-47

48 S elektion von a rra y-und ta bellenw ertig en A ttributen Z ug riff a uf kom plette K ollektion erfolg t a na log zu a nderen A ttributen S E LE C T Name, Telefone, Hobbies FR O M MitarbeiterTupelTabelle; S elektion und B eleg ung einzelner A rra yelem ente nur innerha lb von P L/S Q L-A nw eis ung en m ög lic h S elektion und B eleg ung einzelner E lem ente einer inneren Ta belle hing eg en a uc h in S Q L-A nw eis ung en m ög lic h 4-48

49 P L/S QL-M ethoden für K ollektionen (i) liefert i-tes E lem ent C O U N T g ibt K a rdina litä t a us E X TE N D verg rös s ert K ollektion um ein N U LL-E lem ent FIR S T bzw. LA S T liefern den kleins ten bzw. g rös s ten verw endeten Index P R IO R bzw. N E X T liefern den vorherg ehenden bzw. na c hfolg enden Index D E LE TE (i) lös c ht da s i-te E lem ent TR IM (i) lös c ht die letzten i E lem ente LIM IT liefert m a xim a l zulä s s ig e A nza hl von E lem enten eines A rra ys 4-49

50 S elektion einzelner E lem ente a us A rra ys /inneren Ta bellen S E T S E R V E R O U TP U T O N ; D E C LA R E C U R S O R mcursor IS S E LE C T * FR O M MitarbeiterTupelTabelle; mitarbeiter mcursor% R OWTY P E ; B E G IN FO R mitarbeiter IN mcursor LO O P D B M S _O U TP U T.P U T_LIN E ('Kundenname: ' mitarbeiter.name); FO R i IN 1..mitarbeiter.Telefone.C O U N T LO O P D B M S _O U TP U T.P U T_LIN E (i '.Telefon: ' mitarbeiter.telefone(i)); E N D LO O P ; FO R i IN 1..mitarbeiter.Hobbies.C O U N T LO O P D B M S _O U TP U T.P U T_LIN E (i '.Hobby: ' mitarbeiter.hobbies(i)); E N D LO O P ; E N D LO O P ; 4-50

51 E infüg en einzelner E lem ente in A rra ys C R E ATE P R O C E D U R E NeueNummer (n VA R C H A R, nr VA R C H A R ) A S t TelefonArrayTyp; B E G IN S E LE C T Telefone IN TO t FR O M MitarbeiterTupelTabelle WH E R E Name = n; IF t IS N U LL TH E N t := TelefonArrayTyp(nr); E LS E IF t.c O U N T < t.lim IT THEN t.e X TE N D ; E N D IF; t(t.la S T) := nr; E N D IF; U P DATE MitarbeiterTupelTabelle S E T Telefone = t WH E R E Name = n; E N D ; 4-51

52 B eleg ung kollektions w ertig er A ttribute m ittels S FW-Q uery Grundmuster: IN S E R T IN TO Tabelle (Kollektionsattribut) VA LU E S ([C A S T(M U LTIS E T] (SFW-Query) [A S Tabellentypkonstruktor)]) Beispiel: IN S E R T IN TO MitarbeiterTupelTabelle (Name, Hobbies, Telefone) VA LU E S ('John', (C A S T (M U LTIS E T( S E LE C T D IS TIN C T VA LU E (h) FR O M MitarbeiterTupelTabelle, TA B LE (Hobbies) h WH E R E name = 'Billy' O R name = 'Can') A S HobbiesTabellenTyp)), (S E LE C T Telefone FR O M MitarbeiterTupelTabelle WH E R E Name = 'Billy')); 4-52

53 B ea rbeitung innerer Ta bellen Tupel in eine innere Tabelle einfügen: IN S E R T IN TO TA B LE (SFW-Query-Liefert- Innere-Tabelle) VA LU E S (...); Tupel einer inneren Tabelle ändern: U P DATE TA B L E (SFW-Query-Liefert-Innere- Tabelle) S E T... WH E R E...; Tupel aus einer inneren Tabelle löschen: D E LE TE FR O M TA B LE (SFW-Query-Liefert- Innere-Tabelle) WH E R E...; 4-53

54 B ea rbeitung innerer Ta bellen B eis piele IN S E R T IN TO TA B L E (S E LE C T Hobbies FR OM MitarbeiterTupelTabelle WH E R E Name = 'Billy') VA LU E S ('Kino'); U P DATE TA B LE (S E LE C T Hobbies FR O M MitarbeiterTupelTabelle WH E R E Name = 'Billy') h S E T VA LU E (h) = 'TV' WH E R E VA LU E (h) = 'Kino'; VA LU E ist hier notwendig, um auf den Wert der Tupel der inneren Tabelle zuzugreifen! D E LE TE TA B LE (S E LE C T Hobbies FR O M MitarbeiterTupelTabelle WH E R E Name = 'Billy') h WH E R E VA LU E (h) = 'Reisen'; 4-54

55 B enutzerdefinierte D atentypen O bjekttyp O B J E C T : S trukturierter Typ m it M ethoden und S ubtypbildung Defaultwerte und Integritätsbedingungen werden nicht unterstützt S ynta x für die D efinition eines Wurzeltyps : C R E ATE TY P E Typname A S O B J E C T ( Attributdefnitions-und- Methodendeklarationsliste [Abbildungs-bzw-Ordnungsmethode] ) [[N OT] FIN A L] [[N OT] IN S TA N TIA B LE ] Default: FIN A L, IN S TA N TIA B LE 4-55

56 Wurzeltypen B eis piele (1) C R E ATE TYPE PositionTyp A S O B J E C T ( PosNr IN TE G E R, Teil R E F TeilTyp, Menge IN TE G E R, Preis IN TE G E R ); C R E ATE TY P E AuftragTabellenTyp A S TA B LE O F R E F AuftragTyp; C R E ATE TY P E VorratTyp A S O B J E C T ( Anzahl D E C IM A L(10), Kosten D E C IM A L(12,2), RefTeil R E F TeilTyp ); C R E ATE TY P E PositionTabellenTyp A S TA B LE O F PositionTyp; C R E ATE TY P E AuftragTyp A S O B J E C T ( ANr IN TE G E R, Lieferant R E F LieferantTyp, Eingang DAT E, Bearbeitet DAT E, Positionen PositionTabellenTyp, M E M B E R FU N C TION Anzahl R E TU R N IN TE G E R ); C R E ATE TY P E VorratTabellenTyp A S TA B LE O F VorratTyp; 4-56

57 Wurzeltypen B eis piele (2) C R E ATE TY P E AdresseTyp A S O B J E C T ( Strasse VA R C H A R (30), Nr D E C IM A L(4), PLZ D E C IM A L(5), Ort VA R C H A R (40), Land VA R C H A R (25) ) N OT FIN A L; ); C R E ATE TY P E KundeTyp A S O B J E C T ( KNr IN TE G E R, Name VA R C H A R (30), Anschrift AdresseTyp, C R E ATE TY P E LieferantTyp A S O B J E C T ( LNr IN TE G E R, Name VA R C H A R (25), Adresse AdresseTyp, Telefone TelefonArrayTyp, Vorrat VorratTabellenTyp Telefone TelefonArrayTyp, Auftraege AuftragTabellenTyp, M E M B E R FU N C TIO N NeueNummer(t VA R C H A R ) R E TU R N TelefonArrayTyp ) N OT FIN A L; 4-57

58 S ubtypbildung A ufba u von Typhiera rc hien S ynta x: C R E ATE TY P E Subtypname U N D E R Supertypname ( Attributdefnitions-und- Methodendeklarationsliste [Überschreibende-Abbildungsmethode] ) [[N OT] FIN A L] [[N OT] IN S TA N TIA B LE ] Subtyp erbt alle Attribute und Methoden des Supertyps Subtyp hat nur einen direkten Supertyp (keine Mehrfachvererbung) Geerbte Methoden sind überschreibbar B eis piel: C R E ATE TY P E BWKundeTyp U N D E R KundeTyp ( Hobbies HobbiesTabellenTyp, Kredit D E C IM A L(9,2) ); 4-58

59 O perationen a uf O bjekttypen D efa ult-k ons truktor heis s t w ie der O bjekttyp und hat für jedes A ttribut einen Pa ra m eter A ttributzug riff m ittels P unktnotation O bjektverg leic h ba s iert a uf fla c her G leic hheit R eferenzverg leic h is t a uc h m ög lic h Typtes t m ittels IS O F Tem porä re Typa npa s s ung m ittels TR E AT O bjekttypna m e(p1,..., pn) o.attributnam e o1 = o2 REF(o1) = REF(o2) o IS O F (Objekttypname) TR E AT (o AS Objekttypname) Vorlesung "Objektrelationale, erweiterbare Datenbanken" - WS / (Dr. C. Türker) 4-5 9

60 M ethodendekla ration S ynta x: [[N OT] OV E R R ID IN G ] [[N OT] FIN A L] [[N OT] IN S TA N TIA B LE ] {M E M B E R S TATIC } {FU N C TIO N P R O C E D U R E } Methodenname [(Parameterliste)] [R E TU R N Rückgabetyp] OV E R R ID IN G : überschreibende Methode FI N A L: nicht-überschreibbare Methode IN S TA N TIA B LE : abstrakte Methoden; Objekttyp bietet keine Implementierung D E FAU LT: N OT OV E R R ID IN G, N OT FIN A L, IN S TA N TIA B L E M E M B E R : Instanzmethode wird auf einem Objekt aufgerufen (besitzt impliziten SELF-Parameter) S TATIC : statische Methode wird auf dem Objekttyp aufgerufen P R O C E D U R E : hat keinen Rückgabewert FU N C TIO N : hat einen Rückgabewert, darf aber keine Objektattributwerte ändern 4-60

61 M etho denim plem entierung M ethodendekla ration und -im plem entierung erfolg en s trikt g etrennt Deklaration erfolgt innerhalb der Defnition des Objekttyps Implementierung in einer separaten Anweisung (hier in PL/SQL) B eis piel: B eis piel: C R E ATE TY P E B O DY AuftragTyp A S M E M B E R FU N C TIO N Anzahl R E TU R N IN TE G E R A S a IN TE G E R ; B E G IN FO R i IN 1..S E LF.Positionen.C O U N T LO O P a := a + S E LF.Positionen(i).Menge; E N D LO O P ; R E TU R N a; E N D ; E N D ; 4-61

62 M ethodenim plem entierung Weiteres B eis piel C R E ATE TY P E B O DY KundeTyp A S M E M B E R FU N C TIO N NeueNummer(nr VA R C H A R ) R E TU R N TelefonArrayTyp IS t TelefonArrayTyp := S E L F.Telefone; B E G IN IF t IS N U LL TH E N t := TelefonArrayTyp(nr); E LS E IF t.c O U N T < t.lim IT TH E N t.e X TE N D ; E N D IF; t(t.la S T) := nr; E N D IF; R E TU R N t; E N D ; 4-62

Objektrelationale Erweiterungen in DB2

Objektrelationale Erweiterungen in DB2 Strukturierte BLOB CLOB Nicht Objektrelationale Erweiterungen in DB2 l Neue Basisdatentypen l Benutzerdefinierte Typen Distinct-Typen Typen (mit Typvererbung) l Referenztyp l Typisierte Tabellen (mit Subtabellenbildung)

Mehr

K a pitel 3. S QL:2003 D er objektrelationa le D atenba nks ta nda rd

K a pitel 3. S QL:2003 D er objektrelationa le D atenba nks ta nda rd K a pitel 3 S QL:2003 D er objektrelationa le D atenba nks ta nda rd Rückblick SQL-92 Übersicht SQL:2003 Benutzerdefnierte Datentypen Typisierte Tabellen Typ- und Tabellenhierarchien D is c la im er D

Mehr

G u t fü r m ic h e in L e b e n la n g. M a rin a D ie in g 1 8.0 6.0 9 S e ite 1

G u t fü r m ic h e in L e b e n la n g. M a rin a D ie in g 1 8.0 6.0 9 S e ite 1 G u t fü r m ic h e in L e b e n la n g. S e ite 1 - G iro k o n to - S p a re n - K re d it - K fw -S tu d ie n k re d it - S ta a tlic h e F ö rd e ru n g - V e rs ic h e ru n g e n S e ite 2 G iro k

Mehr

Objektrelationale, erweiterbare Datenbanken WS 04/05

Objektrelationale, erweiterbare Datenbanken WS 04/05 Eidgenössische Technische Hochschule Zürich Swiss Federal Institute of Technology Zurich Institut für Informationssysteme Dr.C.Türker Objektrelationale, erweiterbare Datenbanken WS 0405 Übung 8 Aufgabe

Mehr

MEX-Editor Möglichkeiten für das Outsourcing von Leistungen beim Einsatz der Software

MEX-Editor Möglichkeiten für das Outsourcing von Leistungen beim Einsatz der Software MEX-Editor Möglichkeiten für das Outsourcing von Leistungen beim Einsatz der Software 1 ArchivInForm Dienstleister für Archive G rü n d u n g 1 9 9 9 E in tra g u n g in s H a n d e ls re g is te r a ls

Mehr

Objektrelationale und erweiterbare Datenbanksysteme

Objektrelationale und erweiterbare Datenbanksysteme Objektrelationale und erweiterbare Datenbanksysteme Erweiterbarkeit SQL:1999 (Objekt-relationale Modellierung) In der Vorlesung werden nur die Folien 1-12 behandelt. Kapitel 14 1 Konzepte objekt-relationaler

Mehr

Preisliste w a r e A u f t r a g 8. V e r t r b 8. P C K a s s e 8. _ D a t a n o r m 8. _ F I B U 8. O P O S 8. _ K a s s a b u c h 8. L o h n 8. L e t u n g 8. _ w a r e D n s t l e t u n g e n S c h

Mehr

Objektrelationale Datenbanken

Objektrelationale Datenbanken Vorlesung Datenbanksysteme vom 26.11.2008 Objektrelationale Datenbanken Konzepte objektrelationaler DBs SQL:1999 OO vs. OR Konzepte objektrelationaler Datenbanken Große Objekte (LOBs: Large Objects) Mengenwertige

Mehr

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL Relationales Modell: SQLDDL SQL als Definitionssprache SQLDDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben Externe Ebene

Mehr

Themen des Kapitels. 2 Grundlagen von PL/SQL. PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren. 2.1 Übersicht. Grundelemente von PL/SQL.

Themen des Kapitels. 2 Grundlagen von PL/SQL. PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren. 2.1 Übersicht. Grundelemente von PL/SQL. 2 Grundlagen von PL/SQL Grundelemente von PL/SQL. 2.1 Übersicht Themen des Kapitels Grundlagen von PL/SQL Themen des Kapitels PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren Im Kapitel Grundlagen

Mehr

1 3N a rbenhernien Patientena bh 0 1 ng ig e Fa ktoren

1 3N a rbenhernien Patientena bh 0 1 ng ig e Fa ktoren 1 3N a rbenhernien Patientena bh 0 1 ng ig e Fa ktoren A o. U n iv. P ro f. D r. C h ris to p h P ro fa n te r U n iv e rs it 0 1 ts k lin ik fø¹ r V is c e ra l-, T ra n s p la n ta tio n s - u n d T

Mehr

SQL objektorientiert

SQL objektorientiert Dušan Petković SQL objektorientiert An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney Mexico City Madrid Amsterdam Vorwort 11 Teil 1: Einführung 15

Mehr

Sitzungsberichte. der. philosophisch-philologischen und historischen Classe. der» k. b. Akademie der Wissenschaften. zu IVEünchen Heft I.

Sitzungsberichte. der. philosophisch-philologischen und historischen Classe. der» k. b. Akademie der Wissenschaften. zu IVEünchen Heft I. Sitzungsberichte der philosophisch-philologischen und historischen Classe der» k. b. Akademie der Wissenschaften zu IVEünchen. 1881. Heft I. M ü n c h e n. Akademische Buchdruckerei von F. Straub 1881.

Mehr

Datenbanken. 5 Tabellen. Karl Meier karl.meier@kasec.ch 12.10.2010. Inhalt. Domänen verwenden Tabellen anzeigen, ändern, löschen Übung

Datenbanken. 5 Tabellen. Karl Meier karl.meier@kasec.ch 12.10.2010. Inhalt. Domänen verwenden Tabellen anzeigen, ändern, löschen Übung Datenbanken 5 Tabellen Karl Meier karl.meier@kasec.ch 12.10.2010 Tabellen erstellen en Integritätsregeln Inhalt Domänen verwenden Tabellen anzeigen, ändern, löschen Übung 2 1 Einfache Tabellen erstellen

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs])

Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs]) Datenbanken II Speicherung und Verarbeitung großer Objekte (Large Objects [LOBs]) Hochschule für Technik, Wirtschaft und Kultur Leipzig 06.06.2008 Datenbanken II,Speicherung und Verarbeitung großer Objekte

Mehr

Deutsche Rentenversicherung Deutsche Sozialversicherung und Europarecht im H inb lick auf und ausländische d ie A l terssicherung W anderarb eitnehm er/ innen m o b il er W issenscha f tl er Aktuelle Entwicklungen

Mehr

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language) Einführung in SQL 1. Grundlagen Structured Query Language Viele Dialekte Unterteilung: i. DDL (Data Definition Language) ii. iii. DML (Data Modifing Language) DRL (Data Retrival Language) 1/12 2. DDL Data

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

Mehr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Raum: LF 230 Bearbeitung: 9.-11. Mai 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/ Tabellen in IBM DB2 Tabellen Eine relationale

Mehr

5.4 Klassen und Objekte

5.4 Klassen und Objekte 5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen

Mehr

Vorlesung. Grundlagen betrieblicher Informationssysteme. Prof. Dr. Hans Czap. Email: Hans.Czap@uni-trier.de. Lehrstuhl für Wirtschaftsinformatik I

Vorlesung. Grundlagen betrieblicher Informationssysteme. Prof. Dr. Hans Czap. Email: Hans.Czap@uni-trier.de. Lehrstuhl für Wirtschaftsinformatik I Vorlesung Grundlagen betrieblicher Informationssysteme Prof. Dr. Hans Czap Email: Hans.Czap@uni-trier.de - II - 1 - Inhalt Kap. 1 Ziele der Datenbanktheorie Kap. 2 Datenmodellierung und Datenbankentwurf

Mehr

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2 5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken

Mehr

Sicheres und effizientes Messdatenmonitoring mit TAC Vista am Projekt B.Braun Medical AG Escholzmatt CH. TAC GmbH Marcel Gramann

Sicheres und effizientes Messdatenmonitoring mit TAC Vista am Projekt B.Braun Medical AG Escholzmatt CH. TAC GmbH Marcel Gramann Sicheres und effizientes Messdatenmonitoring mit TAC Vista Sicheres und effizientes Messdatenmonitoring mit TAC Vista am Projekt B.Braun Medical AG Escholzmatt CH TAC GmbH Marcel Gramann Life Science Projekte

Mehr

Kapitel DB:VI (Fortsetzung)

Kapitel DB:VI (Fortsetzung) Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Der Bereich Wirtschaftswissenschaften der Ernst-Moritz-Arndt- Universität Greifswald

Der Bereich Wirtschaftswissenschaften der Ernst-Moritz-Arndt- Universität Greifswald Der Bereich Wirtschaftswissenschaften der Ernst-Moritz-Arndt- Universität Greifswald Sachstandsbericht 2004 PR O F. D R. M A N FR ED JÜ RG EN M A TS CH K E G R EI FS W A LD 20 04 Im pr es su m ISBN 3-86006-209-3

Mehr

C++ - Operatoren. Eigene Klassen mit neuen Funktionen

C++ - Operatoren. Eigene Klassen mit neuen Funktionen C++ - Operatoren Eigene Klassen mit neuen Funktionen Übersicht Klassen bisher Eigene Operatoren definieren 2 Bisher Durch Kapselung, Vererbung und Polymorphy können nun eigene Klassen definiert werden,

Mehr

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL Datenmodifikation mit SQL Folie 45 SQL - Datenmodifikation Einfügen INSERT INTO Relation [(Attribut, Attribut,...)] VALUES (Wert, Wert,...) INSERT INTO Relation [(Attribut, Attribut,...)] SFW-Anfrage Ändern

Mehr

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views in SQL. 2 Anlegen und Verwenden von Views 2 Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

Mehr

Thema: Stellung von Arzt und Koordinator STELLUNG DES ARTZES IN DER ERNÄHRUNGSMEDIZINISCHEN PRAXIS. P ra x is

Thema: Stellung von Arzt und Koordinator STELLUNG DES ARTZES IN DER ERNÄHRUNGSMEDIZINISCHEN PRAXIS. P ra x is Thema: Stellung von Arzt und Koordinator STELLUNG DES ARTZES IN DER ERNÄHRUNGSMEDIZINISCHEN PRAXIS 1. K o n z e p t d e r S c h w e rp u n k tp ra x is 2. O rg a n is a tio n s s tru k tu re n in d e r

Mehr

Konstante Relationen

Konstante Relationen Konstante Relationen values-syntax erzeugt konstante Relation values ( [, Konstante] * )[, ( [, Konstante] * )]* Beispiel values (1, eins ), (2, zwei ), (3, drei ); Resultat ist eine

Mehr

Oracle Datenbankprogrammierung mit PL/SQL Grundlagen

Oracle Datenbankprogrammierung mit PL/SQL Grundlagen Oracle Datenbankprogrammierung mit PL/SQL Grundlagen Seminarunterlage Version: 12.05 Version 12.05 vom 29. Januar 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt-

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Typ- und Tabellenhierarchie

Typ- und Tabellenhierarchie Typ- und Tabellenhierarchie Ziel: Modellierung von Hierarchien von Objektmengen Ohne Typhierarchien keine Tabellenhierarchien! - Strukturierter Typ kann andere strukturierte Typen als Subtypen haben -

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Persistenz. Workplace Solutions. Persistenz. ÿ RDBMS und OO ÿ Strukturkonflikt ÿ Object-RDBMS-Mapping. Abbildung Objekte auf RDBMS

Persistenz. Workplace Solutions. Persistenz. ÿ RDBMS und OO ÿ Strukturkonflikt ÿ Object-RDBMS-Mapping. Abbildung Objekte auf RDBMS Persistenz ÿ RDBMS und OO ÿ Strukturkonflikt ÿ Object-RDBMS-Mapping APCON Abbildung Objekte auf RDBMS Der Strukturkonflikt Basisklassen und Domänen Klassen zur Kapselung der relationalen Datenbank Abbildung

Mehr

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

Mehr

Javakurs 2013 Objektorientierung

Javakurs 2013 Objektorientierung Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine

Mehr

ORACLE und IBM DB2 Datentypen 14.12.2011

ORACLE und IBM DB2 Datentypen 14.12.2011 1/27 ORACLE und IBM DB2 Datentypen PHP-User-Group Stuttgart 14.12.2011 ORACLE Datentypen ein Überblick IBM DB2 Datentypen ein Überblick 2/27 ORACLE und IBM DB2 Datentypen Wer Wer bin bin ich ich?? Thomas

Mehr

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung Eltern Kind Kind Vererbung Definition von Klassen auf Basis von bestehenden Klassen. Implementierung von ist ein. bildet ein hierarchisches

Mehr

Sicherer Mailabruf mit SSH (Secure Shell)

Sicherer Mailabruf mit SSH (Secure Shell) Sicherer Mailabruf mit SSH (Secure Shell) Name des Ausarbeitenden: Oliver Litz Matrikelnummer: xxxxxxx Name des Ausarbeitenden: Andreas Engel Matrikelnummer: xxxxxxx Fachbereich: GIS Studiengang: Praktische

Mehr

3. Das Relationale Datenmodell

3. Das Relationale Datenmodell 3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

Mehr

M ittels ta nd in der Fina nzm a rktkris e

M ittels ta nd in der Fina nzm a rktkris e R a iffeis enba nk R heinba c h V oreifel eg M ittels ta nd in der Fina nzm a rktkris e A u s s ic h te n fü r d e n U n te rn e h m e r B u rk h a rd K ra u s V o rs ta n d R a iffe is e n b a n k R h

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

Mehr

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen

Mehr

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R VII-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

Mehr

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche Teile

Mehr

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

Mehr

Relationale Datenbanken in der Praxis

Relationale Datenbanken in der Praxis Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5

Mehr

SQL-Loader. Prof. Dr. Waldemar Rohde Dipl.-Ing. Jörg Höppner 05.05.2006 1

SQL-Loader. Prof. Dr. Waldemar Rohde Dipl.-Ing. Jörg Höppner 05.05.2006 1 SQL-Loader Prof. Dr. Waldemar Rohde Dipl.-Ing. Jörg Höppner 05.05.2006 1 Beschreibung Definition transferiert Daten aus einer oder mehreren externen Dateien in eine oder mehrere Tabellen einer Oracle-Datenbank.

Mehr

1 Polymorphie (Vielgestaltigkeit)

1 Polymorphie (Vielgestaltigkeit) 1 Polymorphie (Vielgestaltigkeit) Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte, andere Arten von Zahlen oder andere Objekttypen

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

SQL: statische Integrität

SQL: statische Integrität SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen

Mehr

MySQL, phpmyadmin & SQL. Kurzübersicht

MySQL, phpmyadmin & SQL. Kurzübersicht MySQL, phpmyadmin & SQL Kurzübersicht Referenzen MySQL Documentation: http://dev.mysql.com/doc PHP 5 / MySQL5. Studienausgabe. Praxisbuch und Referenz (Kannengießer & Kannengießer) 2 Datenbank anlegen

Mehr

E i n b a u-b a c k o f e n O I M 2 2 3 0 1 B i t t e z u e r s t d i e s e B e d i e n u n g s a n l e i t u n g l e s e n! S e h r g e e h r t e K u n d i n, s e h r g e e h r t e r K u n d e, v i e

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

Mehr

105.3 SQL-Datenverwaltung

105.3 SQL-Datenverwaltung LPI-Zertifizierung 105.3 SQL-Datenverwaltung Copyright ( ) 2009 by Dr. W. Kicherer. This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License. To view a

Mehr

PL/SQL. Deklaration von Variablen. Inhalt. PL/SQL Block Struktur. PL/SQL Block Struktur

PL/SQL. Deklaration von Variablen. Inhalt. PL/SQL Block Struktur. PL/SQL Block Struktur PL/SQL Deklaration von Variablen Inhalt Erkennen der PL/SQL Blockstruktur Beschreiben von Variablen in PL/SQL Unterschied zwischen PL/SQL und nicht-pl/sql Variablen Deklaration von PL/SQL Variablen Ausführen

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

Datenbankmodelle 1. Das Entity-Relationship-Modell. Prof. Dr. Bernhard Schiefer 2-1

Datenbankmodelle 1. Das Entity-Relationship-Modell. Prof. Dr. Bernhard Schiefer 2-1 Datenbankmodelle 1 Das Entity-Relationship-Modell Prof. Dr. Bernhard Schiefer 2-1 Datenbankmodelle ER-Modell hierarchisches Modell Netzwerkmodell relationales Modell objektorientierte Modelle Prof. Dr.

Mehr

Pflegebericht im Krankenhaus

Pflegebericht im Krankenhaus Pflegebericht im Krankenhaus, K ra n k e n h a u s S tift B e th le h e m L u d w ig s lu s t 1 Rechtliche Anforderungen D o k u m e n te n fä ls c h u n g : Tipp-Ex Überkleben Schreiben mit Bleistift

Mehr

Virtualbox und Windows 7

Virtualbox und Windows 7 AUGE e.v. - Der Verein der Computeranwender Virtualbox und Windows 7 Basierend auf dem Release Candidate 1 Peter G.Poloczek M5543 Virtualbox - 1 Virtuelle Maschinen einrichten Incl. virtueller Festplatte,

Mehr

F C M 3.1 für Window s

F C M 3.1 für Window s F C M 3.1 für Window s Noon2Noon S torage Nürnbe rg, 22.10.2012 Ma rkus S tumpf - E mpalis C ons ulting G mbh Wa s is t F C M 3.1? Framework verschiedener Tivoli Produkte MMC Gui TSM Backup-Archive Client

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java Bisherige Beobachtungen zu Objekten: werden in Klassen zusammengefasst besitzen Eigenschaften und Verhalten verbergen private Informationen werden geboren, leben und

Mehr

Kapitel 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 3: Datenbanksysteme Vorlesung:

Mehr

Allgemeines Übereinkommen über den Handel mit Dienstleistungen ( D a s W T O - D i e n s t l e i s t u n g s a b k o m m e n G A T S ) Teil I Geltungsbereich und Begriffsbestimmung A rtik el I Geltungsbereich

Mehr

Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug. 2007. Name: Note:

Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug. 2007. Name: Note: 1 Modul Datenbanksysteme 2 Prüfung skizzenhaft SS Aug. 2007 Name: Note: Nr. Aufgaben Max. Punkte Erreichte Punkte 1 Grundlagen ~ 10% Vgl. Hinweis unten 2 Integrität, Procedures, Triggers, Sichten ~ 20%

Mehr

Sructred Query Language

Sructred Query Language Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen

Mehr

Details zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY.

Details zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY. SELECT - Der Grundbefehl zur Auswahl von Daten Die SELECT-Anweisung fragt Daten aus einer Datenbank ab und stellt diese in einer virtuellen Tabelle zur Verfügung. Diese virtuelle Tabelle, eine Menge von

Mehr

Prof. W. Henrich Seite 1

Prof. W. Henrich Seite 1 Klasse - ist ein benutzerdefinierter Datentyp (Referenztyp) - hat Datenelemente - hat Methoden - Konstruktor ist spezielle Methode zum Erstellen eines Objektes vom Typ der Klasse (Instanz) - jede Klasse

Mehr

Die Verbindung privater mit ö f f entl ic h er I nf o rmatio n "On the stock market it is b etter to b e rig ht f or the w rong reason than to b e w rong f or the rig ht reason. " Paulos (2003 Eine Konsequenz:

Mehr

Entwicklungsprozesse in Open-SourceProjekten. SugarCRM Ingo Jaeckel / 13.2.2009

Entwicklungsprozesse in Open-SourceProjekten. SugarCRM Ingo Jaeckel / 13.2.2009 Entwicklungsprozesse in Open-SourceProjekten SugarCRM Ingo Jaeckel / 13.2.2009 1 SugarCRM Commercial Open Source SugarLDS / Open Quotes And Contracts Bug #1 Unit Testing von SugarCRM Modulen Bug #2 Anzeige

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 02: Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Klassen Grundstruktur einer Java-Klasse Eigenschaften (Attribute) Variablen

Mehr

Temporale Daten in objekt-relationalen Datenbanksystemen

Temporale Daten in objekt-relationalen Datenbanksystemen Temporale Daten in objekt-relationalen Datenbanksystemen Carsten Kleiner Universität Hannover Institut für Informatik FG Datenbanken und Informationssysteme (dbis) 30159 Hannover 13.Workshop Grundlagen

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt. Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.

Mehr

Potentialanalyse EU-F ö r d er u ng - ein Werkstattbericht - Grundlinien des Instruments - P l a n u n g s s t a n d D e z e m b e r 2 0 0 7 - D r. J e n s -P e t e r G a u l, K o W i KoWi Koordinierungsstelle

Mehr

Inhaltsverzeichnis. jetzt lerne ich

Inhaltsverzeichnis. jetzt lerne ich Inhaltsverzeichnis jetzt lerne ich Einführung 15 1 Erste Schritte 21 1.1 Datenbanken und Datenbank-Managementsysteme 21 1.2 Zugriff auf Datenbanken 22 1.3 Was der Großvater noch wusste... 22 1.4 Einordnung

Mehr

cs241: Datenbanken mit Übungen HS 2011

cs241: Datenbanken mit Übungen HS 2011 UNIVERSITÄT BASEL Prof. Dr. Heiko Schuldt MSc. Nenad Stojnić BSc. Ivan Giangreco BSc. Florian Lindörfer cs241: Datenbanken mit Übungen HS 2011 Übung 5 Abgabe bis: 4.11.2011 Hinweise: Modalitäten der Abgabe:

Mehr

5. Datendefinition in SQL

5. Datendefinition in SQL Datendefinition 5. Datendefinition in SQL Schema, Datentypen, Domains Erzeugen von Tabellen (CREATE TABLE) Schemaevolution: Ändern/Löschen von Tabellen Sichtkonzept (Views) CREATE VIEW / DROP VIEW Problemfälle

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

SQLJ. Standardisierte Java-DB. DB-Schnittstelle. Spezifikationen. Oracle, IBM, Informix, Sybase,, Tandem, Sun, Microsoft stehen dahinter

SQLJ. Standardisierte Java-DB. DB-Schnittstelle. Spezifikationen. Oracle, IBM, Informix, Sybase,, Tandem, Sun, Microsoft stehen dahinter SQLJ Standardisierte Java-DB DB-Schnittstelle Spezifikationen Part 0: Embedded SQL für Java (ANSI-Standard; Object Language Binding) Statische Einbettung von SQL-Anweisungen in Java-Quelltext Part 1: Java

Mehr

Unterabfragen (Subqueries)

Unterabfragen (Subqueries) Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und

Mehr

1000 Dinge, an die zu denken ist, wenn Microsoft Office SharePoint Server 2007 implementiert werden soll

1000 Dinge, an die zu denken ist, wenn Microsoft Office SharePoint Server 2007 implementiert werden soll 1000 Dinge, an die zu denken ist, wenn Microsoft Office SharePoint Server 2007 implementiert werden soll 1 0 0 0 Di n g e, a n di e z u d e n k e n ist, w e n n M i c r o s o f t O f f i c e S h a r e

Mehr

2. Datenbank-Programmierung

2. Datenbank-Programmierung 2. Datenbank-Programmierung SQL ist eingeschränkt bezüglich der algorithmischen Mächtigkeit, z.b. Berechnung einer transitiven Hülle ist in Standard-SQL nicht möglich. Die Einschränkung ist von Bedeutung

Mehr

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Programmierung 2

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Programmierung 2 SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R IV-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

Mehr

Java Einführung Methoden in Klassen

Java Einführung Methoden in Klassen Java Einführung Methoden in Klassen Lehrziel der Einheit Methoden Signatur (=Deklaration) einer Methode Zugriff/Sichtbarkeit Rückgabewerte Parameter Aufruf von Methoden (Nachrichten) Information Hiding

Mehr

Objektorientierte PL/SQL- Programmierung

Objektorientierte PL/SQL- Programmierung Objektorientierte PL/SQL- Programmierung Autoren: Andriy Terletskyy und Michael Meyer DOAGNews Q3_2004 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung,

Mehr

Kapitel DB:III. III. Konzeptueller Datenbankentwurf

Kapitel DB:III. III. Konzeptueller Datenbankentwurf Kapitel DB:III III. Konzeptueller Datenbankentwurf Einführung in das Entity-Relationship-Modell ER-Konzepte und ihre Semantik Charakterisierung von Beziehungstypen Existenzabhängige Entity-Typen Abstraktionskonzepte

Mehr

3.17 Zugriffskontrolle

3.17 Zugriffskontrolle 3. Der SQL-Standard 3.17. Zugriffskontrolle Seite 1 3.17 Zugriffskontrolle Datenbanken enthalten häufig vertrauliche Informationen, die nicht jedem Anwender zur Verfügung stehen dürfen. Außerdem wird man

Mehr

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ

Objektorientierte Programmierung. Objektorientierte Programmierung. Klasse. Objekt. Beispiel: Sportfest1. Methode. Eine Einführung mit BlueJ Objektorientierte Programmierung Objektorientierte Programmierung Eine Einführung mit BlueJ stellt die Daten, ihre Struktur und ihre Beziehungen zueinander in den Vordergrund. Weniger im Blickpunkt: die

Mehr