13.07.2015 Aufrufe

Inhalt 4 Datenmodellierung 4.1 Entity-Relationship-Modell 4.2 ...

Inhalt 4 Datenmodellierung 4.1 Entity-Relationship-Modell 4.2 ...

Inhalt 4 Datenmodellierung 4.1 Entity-Relationship-Modell 4.2 ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

¤¨©¥¦§¡¢£SWT - ER - RDBSSWT - ER - RDBS1<strong>Inhalt</strong>4 <strong>Datenmodellierung</strong><strong>4.1</strong> <strong>Entity</strong>-<strong>Relationship</strong>-<strong>Modell</strong><strong>4.1</strong>.1 Entitätsmengen und Assoziationen<strong>4.1</strong>.2 Kardinalitäten<strong>4.1</strong>.3 Rekursive Assoziationen und Rollen<strong>4.1</strong>.4 Semantische <strong>Datenmodellierung</strong><strong>4.1</strong>.5 Abbildung auf Dateien<strong>4.1</strong>.6 Beispiele für semantische Datenmodelle<strong>4.1</strong>.7 Unternehmensdatenmodelle und Weltmodelle<strong>4.2</strong> Datenbanken<strong>4.2</strong>.1 Von Dateien zu Datenbanken<strong>4.2</strong>.2 Einführung inrelationale Datenbanksysteme2<strong>Inhalt</strong>4.3 Relationale Datenbanken4.3.1 Architektur und Funktionsweise4.3.2 Grundlagen des relationalen Datenmodells4.3.2.1 Relationen4.3.2.2 Operationen auf Relationen4.3.2.3 Datenabhängigkeiten und Integritätsregeln4.3.3 Entwicklungsphasen einer relationalen DBSWT - ER - RDBSSWT - ER - RDBS3<strong>Inhalt</strong>4.3.4 Vom logischen Schema zum Datenbank-Schema4.3.<strong>4.1</strong> Normalformen für Relationenschemata4.3.<strong>4.2</strong> Externe Sichten4.3.4.3 Indizes4.3.4.4 Zugriffsrechte4.3.4.5 Datenbank-Schema4.3.5 Weiterentwicklungen.4<strong>4.1</strong> <strong>Entity</strong>-<strong>Relationship</strong>-<strong>Modell</strong>▲ <strong>Entity</strong>-<strong>Relationship</strong>-<strong>Modell</strong> (ER-<strong>Modell</strong>)1976 von P. Chen zur <strong>Datenmodellierung</strong>entwickelt▲ ZielBeschreibung der permanent gespeichertenDaten und ihre Beziehungen untereinanderDie Analyse der Information erfolgt ausfachlogischer Sicht▲ ErgebnisKonzeptionelles <strong>Modell</strong>, das gegenVeränderungen der Funktionalität weitgehendstabil ist.SWT - ER - RDBSSWT - ER - RDBS5<strong>4.1</strong>.1 Entitätsmengen und Assoziationen▲ Entität (entity)6<strong>4.1</strong>.1 Entitätsmengen und Assoziationen▲ Entität - Beispiel 1Individuelles und identifizierbares Exemplar vonFallstudie »Seminarorganisation«:DingenPersonen oderBegriffen der realen oder der VorstellungsweltDurch Eigenschaften beschriebenOft synonym Objekt.Der Kunde Schultz ist ein individuelles & identifizierbaresExemplar der Personengruppe KundeBeschreibung durch folgende Eigenschaften:Personal-Nr: 12 (eindeutig identifiz. Merkmal)Anrede: HerrTitel: Dr.Vorname: HansNachname: SchultzStraße: Poststr. 12PLZ: 44137Ort: Berlin


!"#$%&'()SWT - ER - RDBSSWT - ER - RDBS7<strong>4.1</strong>.1 Entitätsmengen und Assoziationen▲ Entität - Beispiel 28<strong>4.1</strong>.1 Entitätsmengen und Assoziationen▲ Entitätsmenge (entity set)Sollen Roboter modelliert werden, dann könnenverschiedene Exemplare eines Robotertypsunterschieden werdenZusammenfassung von Entitäten mitgleichen Eigenschaften untereindeutigem gemeinsamen OberbegriffDer Roboter mit der Nummer 325-50.1 ist einindividuelles und identifizierbares Exemplar vonDingen der realen Welt (Robotertyp: Teach-Robot)Dargestellt durch ein Rechteck, dasden Namen der Entitätsmenge enthältBeschreibung durch folgende Eigenschaften:Roboter-Nr.: 325-50.1 (eind. ident. Merkmal)max. Greifhöhe: 760 (mm)max. Greifweite: 400 (mm)handhabb. Gew.: 200 (g)Eigengewicht: 2,5 (kg).SWT - ER - RDBSSWT - ER - RDBS9<strong>4.1</strong>.1 Entitätsmengen und Assoziationen▲ Attribut (attribut, property)10<strong>4.1</strong>.1 Entitätsmengen und Assoziationen▲ SchlüsselBeschreibt eine fachliche Eigenschaft, die allenEntitäten einer Entitätsmenge gemeinsam istWird durch seinen Namen und seinenWertebereich definiertWertebereich gibt die Menge aller möglichenbzw. zugelassenen Werte für ein Attribut anIst beschreibend oder identifizierendWird als Oval dargestelltMinimale, identifizierende AttributkombinationSchlüssel werden unterstrichenOft auch mehrere Schlüssel möglichEntitätsmenge: StadtAttribute: PLZ, Staat, Einwohnerzahl, VorwahlSchlüssel: PLZ und Staat oder VorwahlIn einem solchen Fall wird stets ein Schlüsselals Primärschlüssel ausgezeichnet.SWT - ER - RDBSSWT - ER - RDBS11<strong>4.1</strong>.1 Entitätsmengen und Assoziationen▲ Schlüssel12<strong>4.1</strong>.1 Entitätsmengen und Assoziationen▲ Schlüssel - Beispiel 1Von einem Schlüssel wird Minimalität verlangt:Falls die Attributkombinationen K1 und K2 beideeine Entität identifizieren können, aber K1 in K2enthalten ist, dann ist nur K1 Schlüssel, K2hingegen ist ein SchlüsselkandidatEin Schlüssel K ist stets eine minimale,identifizierende AttributkombinationJede echte Obermenge von K ist einSchlüsselkandidatFür Stadt ist {Staat, Vorwahl} SchlüsselkandidatVorwahl ist Schlüssel{PLZ, Staat} ist ebenfalls Schlüssel.Alle Kunden der Firma Teachwarebilden die Entitätsmenge KundeDiese Entitätsmenge hat dieAttribute Personal-Nr, Anrede, Titel,Vorname, Nachname, Straße, PLZ,Ort,...Die Personal-Nr hat alsWertebereich die Menge allerganzen Zahlen zwischen 0 und100000Die Anrede kennt nur die zweiWerte Herr und FrauDie Personal-Nr ist der SchlüsselKundePersonal-NrAnredeTitelVornameNachname...


*346+,-./01257;8SWT - ER - RDBSSWT - ER - RDBS13<strong>4.1</strong>.1 Entitätsmengen und Assoziationen▲ Schlüssel - Beispiel 214<strong>4.1</strong>.1 Entitätsmengen und Assoziationen▲ AssoziationAlle Roboter vom Typ Teach-Robot bilden dieEntitätsmenge Teach-Robot mit den Attributenmax. Greifhöhemax. Greifweitehandhabbares GewichtEigengewichtEigentümer.Wechselwirkungen und Abhängigkeitenzwischen Entitäten werden durchBeziehungen (Relationen) dargestelltAssoziation ist die Zusammenfassunggleichartiger Beziehungen (Relationen)zwischen EntitätenWird als Raute dargestelltSWT - ER - RDBSSWT - ER - RDBS15<strong>4.1</strong>.2 Kardinalitäten▲ Kardinalität (Komplexitätsgrad)16<strong>4.1</strong>.2 Kardinalitäten▲ 1:1-AssoziationGibt an, mit wievielen anderen Entitäten eineEntität einer Entitätsmenge in einer konkretenBeziehung stehen kann (bzw. muß)Die Angabe der Kardinalität erfolgt durch eineZahl bzw. einen Buchstaben an den Linien, diedie Raute mit den Entitätsmengen verbindet.Zwei Entitätsmengen A und Bstehen zueinander in einer1:1-Assoziation, wenn jede Entitätaus A mit genau einer Entität aus Bverbunden ist und umgekehrt.1 : 111SWT - ER - RDBSSWT - ER - RDBS17<strong>4.1</strong>.2 Kardinalitäten▲ 1:1-Assoziation - Beispiel18<strong>4.1</strong>.2 Kardinalitäten▲ RegelnIm westlichen Kulturkreis besteht zwischenEhepaaren eine 1:1-BeziehungName für eine EntitätsmengeSubstantiv im SingularEhemannAssoziation(Beziehung)EhefrauEntitätEhemannKundeHerr MeyerHerr SchulzHerr Wenzelist verheiratet mitist verheiratet mitist verheiratet mit1 : 1Frau MeyerFrau SchulzFrau WenzelName für eine AssoziationVerb im Singularist verheiratet mitbucht.Entitätsmenge AEntitätsmenge BGrafische Darstellung in ER-Notation:Ehemann1ist1verheiratetmitEhefrau


?CDFGH@ABEIJ19<strong>4.1</strong>.2 KardinalitätenSWT - ER - RDBS▲ 1:1-Assoziation - BeispielEin Roboter besteht aus einemRoboterarmAlle Roboter vom Typ Teach-Robot besitzen einen Roboterarmund genau einen Greiferbestehtaus1Teach-Robot1Teach-Robotbestehtaus20<strong>4.1</strong>.2 KardinalitätenSWT - ER - RDBS▲ 1:M-AssoziationZwei Entitätsmengen A und B stehenzueinander in einer 1:M-Assoziation,wenn es zu jeder Entität aus A eineoder mehrere Entitäten in B gibt, zujeder Entität aus B aber genau eineEntität in A existiertDie Buchstaben M oder N werdensynonym für die Angabe einerbeliebigen Obergrenze verwendet.1 : M1M1RoboterarmGreifer121<strong>4.1</strong>.2 KardinalitätenSWT - ER - RDBS▲ 1:M-Assoziation - BeispielEin Roboterarm besteht aus M ArmelementenUmgekehrt ist ein Armelement Teil einesRoboterarmsRoboterarm23D22EArmelementA1A2A3A4A5B1B2B322<strong>4.1</strong>.2 KardinalitätenSWT - ER - RDBS▲ 1:M-Assoziation - BeispielBeim Robotertyp Teach-Robot besteht ein Armaus genau fünf ArmelementenTeach-Robot-Arm1 5 Armelementbesteht ausEntitätsmenge AGrafische Darstellung in ER-Notation:1 : MEntitätsmenge BRoboterarm1 Mbesteht ausArmelement23<strong>4.1</strong>.2 KardinalitätenSWT - ER - RDBS▲ M:N-AssoziationGibt es zu einer Entität aus A eineoder mehrere Entitäten in B undumgekehrt, dann stehen A und B ineiner M:N-AssoziationEine N:N-Assoziation bedeutetnicht, daß auf beiden Seiten jeweilsdie gleiche Anzahl von Entitätenmiteinander in Beziehung stehenUmgekehrt bedeutet M:N nicht, daßdie Obergrenzen unterschiedlichsein müssenM : NMN24<strong>4.1</strong>.2 KardinalitätenSWT - ER - RDBS▲ M:N-Assoziation - BeispielJeder Effektortyp ist an M RobotertypenanschließbarAn jeden Robotertypen sind N EffektortypenanschließbarEffektortypEntitätsmenge AM : NRobotertypEntitätsmenge BEffektortypManschließbaranNRobotertyp


KLNOMPQSTUR25<strong>4.1</strong>.2 KardinalitätenSWT - ER - RDBS▲ 1:C-AssoziationZwei Entitätsmengen stehen in einer1:C-Assoziation, wenn es zu jederEntität aus A eine oder auch keineEntität in B gibtZu jeder Entität aus B muß esjedoch genau eine in A geben1:C126<strong>4.1</strong>.2 KardinalitätenSWT - ER - RDBS▲ 1:C-Assoziation - BeispielEin PKW kann eine Geschwindigkeitsregelanlage(Tempomat) enthaltenPKWTempomatEntitätsmenge A1 : CEntitätsmenge BCPKW1 C Tempomatenthält27<strong>4.1</strong>.2 KardinalitätenSWT - ER - RDBS▲ 1:MC-AssoziationZwei Entitätsmengen stehen in einer1:MC-Beziehung, wenn es zu jederEntität aus A keine, eine odermehrere Entitäten in B gibtZu jeder Entität aus B muß esjedoch genau eine in A geben1 : MC1MC28<strong>4.1</strong>.2 KardinalitätenSWT - ER - RDBS▲ C:MC-Assoziation - BeispielIn der Fallstudie »Seminarorganisation« kann einKunde bei einer Firma beschäftigt seinEs kann jedoch auch eine Privatperson an einerSeminarveranstaltung teilnehmenIn einem solchen Fall gibt es von dieser Personkeinen Bezug zur Entitätsmenge Firma (kann-Beziehung: C)Umgekehrt kann eine Firma keinen, einen odermehrere Mitarbeiter zu Seminaren schicken (Kann-Beziehung: MC).29SWT - ER - RDBS<strong>4.1</strong>.2 Kardinalitäten▲ C:MC-Assoziation - BeispielKundeHerr MeyerHerr VogtFrau WenzelHerr SchulzeFirmaFa. InnoSoftFa. Hard & Soft30<strong>4.1</strong>.2 KardinalitätenSWT - ER - RDBS▲ N:MC-AssoziationZwei Entitätsmengen stehen in einerN:MC-Assoziation, wenn es zu jederEntität aus A keine, eine odermehrere Entitäten in B gibtZu jeder Entität aus B muß esjedoch N Entitäten, d.h. mindestenseine, in A gebenN : MCNEntitätsmenge AMC : CEntitätsmenge BMCGrafische Darstellung in ER-Notation:KundeMCist beschäftigtbeiCFirma


VWXYZ[31<strong>4.1</strong>.2 KardinalitätenSWT - ER - RDBS▲ N:MC-Assoziation - BeispielEine Seminarveranstaltung wird von mindestenseinem und maximal N Dozenten durchgeführtEin Dozent führt aber Null oder MSeminarveranstaltungen durch32SWT - ER - RDBS<strong>4.1</strong>.2 Kardinalitäten▲ 16 mögliche KardinalitätenmußkannBA 1 N C NCDozentSeminarveranstaltung11:1 1:N 1:C 1:NCEntitätsmenge AN : MCEntitätsmenge BmußMM:1 M:N M:C M:NCDozentN MC Seminar-führt durchveran-staltungkannCMCC:1 C:N C:C C:NCMC:1 MC:N MC:C MC:NC33<strong>4.1</strong>.2 KardinalitätenSWT - ER - RDBS▲ Alternative Darstellungsmöglichkeiten34<strong>4.1</strong>.2 KardinalitätenSWT - ER - RDBS▲ MC-Notation vs. numerische NotationMC-NotationNumerischeNotationKrähenfußnotationPfeilnotationBachmannotationMC-NotationC(0,1)ABABABA1 MC(0,m) (1,1)B1(1,1)ABABsemantisch identische numerische NotationMCM(0,n)(1,n)AABBAABBAB35<strong>4.1</strong>.2 KardinalitätenSWT - ER - RDBS▲ Numerische NotationDas der Entitätsmenge Azugeordnete Paar (min, max) gibtdie minimale und die maximaleAnzahl von Entitäten derEntitätsmenge B an, mit deneneine Entität der Entitätsmenge Aeine Beziehung eingehen kannIst min = max, dann genügt eineAngabenumerischeNotationAmin,max0,11,10,n1,nmin,max0,11,10,n1,nB36SWT - ER - RDBS<strong>4.1</strong>.3 Rekursive Assoziationen und Rollen▲ Rekursive AssoziationEntitätsmenge steht mit sich selbst in BeziehungSind in einer Firma von einer Familie sowohlder Vater als auch seine Kinder beschäftigt,dann gibt es eine rekursive Assoziation»ist Vater von«KindMCPersonCistVater vonVater


\]_`abefgcd^hij37SWT - ER - RDBS<strong>4.1</strong>.3 Rekursive Assoziationen und Rollen▲ RolleBeschreibt, welche Funktion eineEntität in einer AssoziationinnehatRollenname wird jeweils an einEnde der Assoziationgeschrieben, und zwar bei derEntitätsmenge, deren Bedeutungin der Assoziation sie näherbeschreibtRolle ARolle B38SWT - ER - RDBS<strong>4.1</strong>.3 Rekursive Assoziationen und Rollen▲ Beispiel für RollenEin Mitarbeiter kann in der Rolle Fahrer einenPKW als Dienstwagen fahrenMitarbeiterFahrerCfährtEntitätsmengeAssoziationDienstwagenCPKW39SWT - ER - RDBS<strong>4.1</strong>.3 Rekursive Assoziationen und Rollen▲ BeispielJedes Element eines Roboterarms kann sich ineiner Armelement-Sequenz befindenJede Armelement-Entität spielt in der Assoziation»folgt« die Rolle des Vorgängers und die Rolledes Nachfolgers40SWT - ER - RDBS<strong>4.1</strong>.3 Rekursive Assoziationen und Rollen▲ Beispiel: Entitätsmengen und AssoziationenSeminarveranstaltungdurchgeführtwirdDozent1,m 0,nvon1,1 1,nVorgängerCArmelementfolgtgehört zuSeminartyp0,n 0,mist zugeordnetCNachfolger41SWT - ER - RDBS<strong>4.1</strong>.4 Semantische <strong>Datenmodellierung</strong>▲ Semantische <strong>Datenmodellierung</strong>Erweiterung des ER-<strong>Modell</strong>sWichtige zusätzliche Konzepte:AggregationGeneralisierungshierarchie▲ AggregationAnhäufung, ZusammenhangBeschreibt Über- und Unterordnungsbeziehungzwischen Entitätenis-part-of-Beziehung, ist-Teil-von-Beziehung.42SWT - ER - RDBS<strong>4.1</strong>.4 Semantische <strong>Datenmodellierung</strong>▲ Beispiel: AggregationAutoBestehend aus 1 Motor, 4 Rädern und1 Karosserie1 Motor kann für sich allein stehen oder Teileines Autos sein, daher die Kardinalität 0,1.Auto1 4 1part-of part-of part-of0,1 0,1 0,1Motor Rad Karosserie


kplmqrstno43SWT - ER - RDBS<strong>4.1</strong>.4 Semantische <strong>Datenmodellierung</strong>▲ Beispiel: AggregationDer Robotertyp Teach-Robot setzt sich ausverschiedenen Teilen zusammenTeach-Robot10 1 1ist-Teilvonist-Teilvonist-Teilvon0,1 0,1 0,1Roboter-Sensoren Roboter-Arm Greifer44SWT - ER - RDBS<strong>4.1</strong>.4 Semantische <strong>Datenmodellierung</strong>▲ GeneralisierungGemeinsame Attribute von Entitätsmengenwerden einer neuen übergeordnetenEntitätsmenge angeordnet.▲ BeispielIn der Fallstudie »Seminarorganisation« werdensowohl Kunden als auch Dozenten modelliertDie jeweiligen Attribute lauten:Kunde:Dozent:Personal-Nr. Personal-Nr.NameNameAdresseAdresseGeburtsdatum GeburtsdatumFunktionBiographieUmsatzHonorar pro Tag.45SWT - ER - RDBS<strong>4.1</strong>.4 Semantische <strong>Datenmodellierung</strong>▲ Beispiel46SWT - ER - RDBS<strong>4.1</strong>.4 Semantische <strong>Datenmodellierung</strong>▲ Beispiel: alternative NotationPersonal-NrPersonGeneralisierungstypPersonNameAdresseGeburtsdatumIS-AIS-AIS-APersonal-NrKundeDozentPersonal-NrKundeDozentFunktionUmsatzSpezialisierungstypenBiographieHonorar pro Tag47SWT - ER - RDBS<strong>4.1</strong>.4 Semantische <strong>Datenmodellierung</strong>▲ BeispielDie generalisierte Entitätsmenge Effektorverallgemeinert die Entitätsmengen Werkzeugeund FertigungsmittelGreiferEffektorIS-A IS-A IS-AWerkzeugFertigungsmittel48SWT - ER - RDBS<strong>4.1</strong>.4 Semantische <strong>Datenmodellierung</strong>▲ Generalisierungstyp (supertype)Übergeordnete Entitätsmenge▲ Spezialisierungstypen (subtypes)Die in einer IS-A-Verknüpfung mit einemGeneralisierungstyp verbundenenEntitätsmengen▲ Jeder Spezialisierungstyp erbt vomGeneralisierungstyp automatisch alleAttributeDie identifizierenden Attribute in einer IS-A-Beziehung müssen gleich seinBeispiel: Personal-Nr.


uvwxyz{|‚}~€SWT - ER - RDBSSWT - ER - RDBS49<strong>4.1</strong>.5 Abbildung auf Dateien▲ Regel 150<strong>4.1</strong>.5 Abbildung auf Dateien▲ Regel 2:Für jede Entitätsmenge wird ein Speicher bzw.eine Datei benötigtJede Entität der entsprechenden Entitätsmengestellt einen Eintrag in diese Datei darBeispielSind zwei Entitätsmengen A und B durch eine1:1- oder M:1-Assoziation verbunden, dann wirdder Schlüssel von B als sogenannterFremdschlüssel in A eingetragen, d.h. alszusätzliches Attribut.Die Entitätsmenge Firma ergibt folgende Datei:Firma Kurzname Name Adresse UmsatzInnosoft Innovative Software GmbH ... 20.800.-HardSoft Hard & Soft KG ... 33.200.-SWT - ER - RDBSSWT - ER - RDBS51<strong>4.1</strong>.5 Abbildung auf Dateien▲ Beispiel52<strong>4.1</strong>.5 Abbildung auf Dateien▲ Regel 3KundeMCist beschäftigtbeiCFirmaSind zwei Entitätsmengen A und B durch eineM:N-Assoziation verbunden, dann wird für dieAssoziation eine eigene Datei angelegtKunde Personal-Nr. Funktion Umsatz Kurzname10 Berater 5.200.- InnoSoft20 Systemanalytiker 10.300.- HardSoftAls Attribute werden die Schlüssel derEntitätsmengen verwendet, die die Assoziationverbindet.Firma Kurzname Name Adresse UmsatzInnosoft Innovative Software GmbH ... 20.800.-HardSoft Hard & Soft KG ... 33.200.-SWT - ER - RDBSSWT - ER - RDBS53<strong>4.1</strong>.5 Abbildung auf Dateien: BeispielKundeMbuchtMSeminarveranstaltung54<strong>4.1</strong>.5 Abbildung auf Dateien▲ BeispielFür eine Seminarveranstaltung istes wichtig, zu wissenbuchtKunde Personal-Nr. Funktion Umsatz Kurzname10 Berater 5.200.- InnoSoft20 Systemanalytiker 10.300.- HardSoftwann ein Kunde eineSeminarveranstaltung buchtwann der Kunde die Buchungsbestätigungerhalten hatAngemeldet amBestätigung am…Seminarveranstaltung Veranstaltungs-Nr. Dauer Vom Teiln. Aktuell22 3 1.3.92 1594 2 4.7.92 837 1 10.10.92128bucht Personal-Nr. Veranstaltungs-Nr.10 9420 2227 37ob er sich wieder abgemeldet hatob er eine Änderungsmitteilungerhalten hatwann er die Rechnungzugeschickt bekommen hatDiese Attribute werden in die Dateibucht zusätzlich aufgenommen


ƒ†„…‡‰’ˆŠ‘“”•–‹ŒŽ55SWT - ER - RDBS<strong>4.1</strong>.6 Beispiele für semantische Datenmodelle▲ Semantisches Datenmodell derFallstudie »Seminarorganisation«Person56SWT - ER - RDBS<strong>4.1</strong>.6 Beispiele für semantische Datenmodelle▲ Semantisches Datenmodell des RobotersTeach-Robot10 1 1IS-ApartofpartofpartofKunde1MCMCbuchtMCMCMCwirddurchgeführtvonM DozentM0,1SeminarveranstaltungRoboter-Sensor0,1 0,1Roboter-GreiferArm522inVerzugMCZahlungsverzugistbeschäftigtbeiFirmaCgehörtzu1SeminartypMCistzugeordnetfolgtArmelementFingerpartofVorgänger0,1partofpartof0,1 0,1 0,1Greifer-Sensoren0,1Nachfolger57SWT - ER - RDBS<strong>4.1</strong>.6 Beispiele für semantische Datenmodelle▲ QualitätssicherungAufgabe eines semantischen DatenmodellsRelevante Entitätsmengen darstellenAssoziationen zwischen den EntitätsmengendarstellenÜberprüfungenBesitzt jede Entitätsmenge mindestens einAttribut?Ist dies nicht der Fall, dann liegt keine EntitätsmengevorSind die Entitätsmengen durch Substantive, dieAssoziationen durch Verben beschrieben?Ist dies nicht der Fall, dann sind die Beziehungen zuüberprüfen.58SWT - ER - RDBS<strong>4.1</strong>.6 Beispiele für semantische DatenmodelleErben in einer IS-A-Beziehung alleSpezialisierungstypen alle Attribute desGeneralisierungstyps?Macht dies keinen Sinn, dann ist die IS-A-Beziehungzu überprüfenSind zwei Entitätsmengen identisch?Identität kann vorliegen, wenn eine oder mehrere derfolgenden Bedingungen erfüllt sind:★ Die Entitätsmengen stehen in einer 1:1-Assoziation★ Sie sind durch dieselben Assoziationen mit derUmgebung verbunden★ Sie besitzen dieselben Schlüsselattribute★ Sie besitzen dieselben Attribute.59SWT - ER - RDBS<strong>4.1</strong>.6 Beispiele für semantische DatenmodelleJede Assoziation ist zu überprüfen auf...ihre Notwendigkeit, d.h. bringt sie neue Informationenkorrekte Darstellung des SachverhaltsLiegt eine Entitätsmenge oder ein Attribut vor?Entität muß eindeutig identifizierbar sein und durchAttribute beschrieben werdenAttribut liegt vor, wenn es selbst keine weiterenAttribute besitztIn der Systemanalyse hört man auf angemessenenAbstraktionsniveau auf, z.B. bei Adresse★ Ein solches Attribut zunächst als elementar ansehen★ Farbe ist ein Attribut vom Auto★ Würde aber die Zusammensetzung von Farbeinteressieren, so wäre Farbe eine EntitätsmengeAbhängig vom Blickwinkel können Attribute zuEntitätsmengen werden und umgekehrt.60SWT - ER - RDBS<strong>4.1</strong>.6 Beispiele für semantische Datenmodelle▲ Bewertung+ Im kaufmännischen Anwendungsbereich isteine semantische <strong>Datenmodellierung</strong> einabsolutes Muß+ Auch in vielen technischen Bereichen ist dieKomplexität der Daten so groß, daß einsemantisches Datenmodell erforderlich ist(Beispiel: Roboter-<strong>Modell</strong>ierung)+ Voraussetzung für einen relationalenDatenbankentwurf.


›œ£¤—˜šžŸ¡¢61SWT - ER - RDBS<strong>4.1</strong>.6 Beispiele für semantische Datenmodelle▲ Bewertung– Erfordert ein höheres Abstraktionsniveau alsdie bisher vorgestellten Basiskonzepte, daherschwerer zu erlernen und schwerer zuverstehen– Semantische Datenmodelle können sehrumfangreich werden und sind dann schwer zuüberblicken– Es fehlt ein Verfeinerungsmechanismus ummehrere Abstraktionsebenen bilden zukönnen.SWT - ER - RDBS<strong>4.1</strong>.7 Unternehmensdaten- und Weltmodelle62▲ Probleme bei der Betrachtung nur einesBereiches eines Unternehmens:Mehrfachverwaltung der gleichenDatenbeständeBrüche bei der Abwicklung vonübergreifenden GeschäftsvorgängenInkompatible Informationsflüsse▲ ZielEin umfassendes Unternehmensdatenmodellaufzustellen.SWT - ER - RDBS<strong>4.1</strong>.7 Unternehmensdaten- und Weltmodelle63▲ UnternehmensdatenmodellSoll die Informationsstrukturen undVorgangsketten aller Bereiche eines Unternehmensunter Berücksichtigung der Schnittstellenzueinander in einheitlicher und ganzheitlicher Formdarstellen▲ Beschreibung vonUnternehmensdatenmodellenER-<strong>Modell</strong>eJe nach Abstraktionsebene und Verdichtungsgradkönnen Datenmodelle unterschiedlicher Ebenendefiniert werden.SWT - ER - RDBS<strong>4.1</strong>.7 Unternehmensdaten- und Weltmodelle64▲ Strategisches DatenmodellEnthält nur die wichtigsten Entitätsmengen,Assoziationen, Aggregationen undGeneralisierungenEnthält nur grundsätzliche Branchenunterschiede,keine detaillierten UnterschiedeUmfaßt in der Regel rund 20 bis 30 Entitätsmengen,Assoziationen, Aggregationen undGeneralisierungen▲ Nächste AbstraktionsebeneZeigt bereits unterschiedliche Strukturen innerhalbeiner BrancheUmfaßt ca. 200 bis 500 Entitätsmengen undVerknüpfungen.SWT - ER - RDBS<strong>4.1</strong>.7 Unternehmensdaten- und Weltmodelle65▲ Weitere VerfeinerungUnternehmensindividuelles DatenmodellUmfang von 300 bis 1500 Entitätsmengen undVerknüpfungen▲ Bei der <strong>Modell</strong>ierung vonUnternehmensdatenmodellen wird intensiv dieGeneralisierungshierarchie verwendet.MarktpartnerSWT - ER - RDBSIS-ALNrKNr<strong>4.1</strong>.7 Unternehmensdaten- und Weltmodelle66 LieferantKundenKundenAufträgeKNr LeNrDatumfremdbezogeneabsetzbareLeistungenLeis tungenLeNrIS-AIS-ADatumLeistungenZeitStrukturLeNrIS-AFertigungsauftrageigenerstellteLeistungenProduktionsfaktorenFertigungsbeschreibungWerkstoffBetriebsmittelMitarbeiterIS-AKNr LeNrL.K.▲Geschäfts-Grobstruktur eines Geschäfts-Beschaffungs-BeziehungenAufträgeBeziehungenUnternehmensdatenmodellsRessourcenbelegungLegende:GeneralisierungstypAssoziation, die gleichzeitigeine Entitätsmenge ist


¥¦§¨©ª²´·¸³µ«­¯°±¹º»¼½¾¿ÀÁ¬®67SWT - ER - RDBS<strong>4.1</strong>.7 Unternehmensdaten- und Weltmodelle▲ Sichten bei der Robotormodellierung:Umweltsicht: Oberste Beschreibung derRoboterzelleRobotersicht: <strong>Modell</strong>ierung des BetriebsmittelsRoboterMontagesicht: Beschreibung von Montagefolge undBewegungssegmentSicht der Handlungsobjekte: Beschreibung vonProduktenKonstruktionssicht: Konstruktionsmodellphysikalischer ObjekteZusammenfassung der Einzelsichten ergibt einWeltmodell der Fertigungsumgebung, Betriebsmittel& Werkstücke und Produktionsdaten.68SWT - ER - RDBS<strong>4.1</strong>.7 Unternehmensdaten- und Weltmodelle▲ Bei der Zusammenfassung von Teilmodellenzu einem Gesamtmodell muß beachtet werden:Erkennung und Auflösung von SynonymenVerschiedene Benennungen für den gleichenSachverhaltErkennung und Auflösung von HomonymenGleichbenennung unterschiedlicher SachverhalteGilt sowohl für Entitätsmengen und Assoziationenals auch für AttributeErmittlung nicht erfaßter Verknüpfungen zwischenden EinzelsichtenZusammenfassen unterschiedlicher Entitätsmengenfür identische Informationseinheiten.69SWT - ER - RDBS<strong>4.1</strong>.7 Unternehmensdaten- und Weltmodelle▲ top down- vs. bottom up-Methodetop down-MethodeBei den generellen Begriffen beginnen und durcheine zunehmende Spezialisierung die Begriffe infeinere Begriffe aufspaltenbottom up-MethodeBei der Generalisierung werden zunächst die aufeiner detaillierten Ebene eingeführten BegriffeverallgemeinertIn der Praxis wird oft eine Mischung beiderMethoden verwendet.70SWT - ER - RDBS<strong>4.2</strong>.1 Von Dateien zu Datenbanken▲ Persistente Datenhaltung in DateienProgrammDienstleistungendes BetriebssystemsDatei(en)71SWT - ER - RDBS<strong>4.2</strong>.1 Von Dateien zu Datenbanken▲ Anforderungen aus derUnternehmenspraxisIntegrierte Datenverwaltung innerhalb einesAnwendungsbereichs oder UnternehmensDatenbeschreibungen unabhängig von denProgrammen speichern.72SWT - ER - RDBS<strong>4.2</strong>.1 Von Dateien zu Datenbanken▲ Ein Datenbanksystem (DBS) sorgt für diedauerhafte (persistente)zuverlässige undunabhängige Verwaltung sowie diekomfortableflexible undgeschützte Verwendunggroßerintegrierter undmehrfachbenutzbarer Datenbanken.


ÅÈËÍÙÚÛÜÝÞßÆÇÉÊÌÎÂÃÄÏÑÓ×àáÐÒÔÕÖØSWT - ER - RDBSSWT - ER - RDBS73<strong>4.2</strong>.1 Von Dateien zu Datenbanken(b)Programm 1 Programm 2 Programm n…74<strong>4.2</strong>.1 Von Dateien zu DatenbankenEin Datenbanksystem besteht auseiner oder mehreren Datenbanken (DB)einem Data Dictionary (DD)einem Datenbankmanagementsystem (DBMS)DBMS (Datenbankmanagementsystem)DBS = DBMS + DD + nDB (n >= 1).DD(DataDictionary)mitDB-SchemaDB1(Datenbank)…DBnDBS (Datenbanksystem)SWT - ER - RDBSSWT - ER - RDBS75<strong>4.2</strong>.1 Von Dateien zu Datenbanken▲ EigenschaftenZuverlässige VerwaltungKonsistenz, Integrität, Unversehrtheit der DatenWiederanlauf des DBSUnabhängige VerwaltungProgramme und DBS weitgehend unabhängigDaten werden im DBS einheitlich beschriebenKomfortable VerwendungEs wird über eine höhere, abstrakte Schnittstellemit der DB kommuniziertFlexible Verwendungad hoc-Zugriff über spezielle Anfragesprachen.76<strong>4.2</strong>.1 Von Dateien zu DatenbankenGeschützte VerwendungDatenschutz vor unberechtigtem ZugriffGroße DatenbankNicht vollständig im ArbeitsspeicherIntegrierte DatenbankAlle Daten redundanzarm gespeichertSichten (views) können definiert werdenLeistungsfähige Auswahlmechanismen,standardisierte Suchverfahren, effizienteSpeicherungstrategien für große DatenmengenMehrfachbenutzbare DatenbankNutzung durch mehrere Programme/Benutzer,u.U. gleichzeitig.SWT - ER - RDBSSWT - ER - RDBS77<strong>4.2</strong>.1 Von Dateien zu Datenbanken▲ Datenmodell legt fest...78<strong>4.2</strong>.1 Von Dateien zu Datenbanken▲ Relationales Datenbanksystem (RDBS)durch welche Eigenschaften Datenelementecharakterisiert werden könnenDem Datenbanksystem liegt ein relationalesDatenmodell zugrundewie die Struktur der Datenelemente aussehen kannwelche Konsistenzbedingungen einzuhalten sindwelche Operationen zum Speichern, Auffinden,Ändern und Löschen von Daten erlaubt sind▲ Objektorientiertes Datenbanksystem (ODBS)Dem Datenbanksystem liegt ein objektorientiertesDatenmodell zugrunde.▲ Syntax und Semantik eines Datenmodells:Definitionssprache (DL)Manipulationssprache (ML)▲ (Datenbank-) Schema:Beschreibt eine konkrete Datenbank, d.h. dasDatenmodell wird auf einen Einsatzfall angewandt.


ãäéêëîìíïðâåæçèñò79SWT - ER - RDBS<strong>4.2</strong>.1 Von Dateien zu Datenbankenrelationales DBSobjektorientiertes DBS80SWT - ER - RDBS<strong>4.2</strong>.1 Von Dateien zu Datenbanken▲ Beispiel: Fallstudie SeminarorganisationER-<strong>Modell</strong>Personal-NrPersonNameAdresserelationalesDatenmodellAllgem.DBS-EigenschaftenobjektorientiertesDatenmodellKurznameNameFirmaISbe-Cschäf-tigtMC KundeGeburtsdatumKurzmittlg.Personal-NrFunktionAdresseUmsatzKurzmittlg.81SWT - ER - RDBS<strong>4.2</strong>.2 Einführung in RDBS▲ Beispiel: Fallstudie SeminarorganisationJede Entitätsmenge wird auf eine Tabellegleichen Namens abgebildetErzeugen einer Tabelle:TabellennameSchlüsselattribut (unterstrichen)Firma Kurzname Name Adresse KurzmitteilungTabellebzw.SchemaSofttech Softtech GmbH Bochum –Innosoft Innovation & Dortmund Beiliegend erhalten SieSoftwareunseren neuesten…… … … …AttributeTupel (<strong>Inhalt</strong>)create table Firma(Kurznamechar (15) not null,Name char (40),Adresse char (60),Kurzmitteilung char (400)).82SWT - ER - RDBS<strong>4.2</strong>.2 Einführung in RDBS▲ Logisches SchemaDefinition der Datenstrukturen durch Tabellen▲ Formale Definition des logischen SchemasGeschieht durch die Datendefinitionssprache(data definition language, DDL), die das DBMS zurVerfügung stelltBei der DDL handelt es sich in der Regel umSprachen der 4. GenerationAls Standard hat sich die Sprache SQL etabliert.83SWT - ER - RDBS<strong>4.2</strong>.2 Einführung in RDBS▲ Sprachen der 4. Generation1. Generation: Maschinensprachen2. Generation: Assemblersprachen3. Generation: höhere ProgrammiersprachenCOBOL, FORTRAN, PASCAL, ADA, C, C++Beschreiben eine Problemlösung prozedural inForm von Algorithmen4. Generation: nicht-prozedurale SprachenBeschreiben das gewünschte Resultat, legenaber nicht die Aktionen fest, die benötigt werden,um das Ergebnis zu erreichendeskriptive Sprachen.84SWT - ER - RDBS<strong>4.2</strong>.2 Einführung in RDBS▲ Beispiel: Seminarorganisation<strong>Modell</strong>ierung der Vererbungsbeziehungzwischen »Person« und »Kunde« durchZusammenfassung in der Tabelle »Kunde«M : 1 - Beziehung zwischen »Kunde« und»Firma« über FremdschlüsselFirma Kurzname Name Adresse KurzmitteilungTabellebzw.SchemaSofttech Softtech GmbH Bochum –Innosoft Innovation & Dortmund Beiliegend erhalten SieSoftwareunseren neuesten…… … … …FremdschlüsselKunde Personal-Nr Name Adresse Geburtsd. Kurzm. Funktion Umsatz Kurzname4711 Herzog Essen 7-2-68 – Analyst – Innosoft2887 Kaiser München 8-12-55 – Berater 5000,- –… … … … … … … …AttributeTupel (<strong>Inhalt</strong>)


óöøú÷ùûôõ85SWT - ER - RDBS<strong>4.2</strong>.2 Einführung in RDBS▲ Beispiel: SeminarorganisationBeschreibung der Tabelle in der DDL (SQL):create table Kunde(Personal-Nr number (5) not null,Namechar (40) not null,Adresse char (60),Geburtsdatum date,Kurzmitteilung char (400),Funktion char (40),Umsatz number (5),Kurzname char (15)).86SWT - ER - RDBS<strong>4.2</strong>.2 Einführung in RDBS▲ Externes Schema für eine Umsatzlistecreate view Umsatzlisteas selectPersonal-Nr, Name, Umsatzfrom Kunde.87SWT - ER - RDBS<strong>4.2</strong>.2 Einführung in RDBS▲ Eingabe eines Datensatzesinsert into Firma values(’Softech’, ’Softech GmbH’,’Bochum’, null)▲ Ausgabe einer Listeselect * from Kundewhere Adresse = ’Dortmund’and Umsatz > 5000.88SWT - ER - RDBS4.3 Relationale Datenbanken▲ Zur HistorieDr. Edgar Frank Codd*19.8.1923 in Portland,GroßbritannienErfinder des relationalenDatenbankmodells (1970).89SWT - ER - RDBS4.3.1 Architektur und Funktionsweise▲ Datenstrukturen in einem RDBS werdendurch 3 Schemata beschrieben:Logisches SchemaLegt die Tabellenstruktur festExterne SchemataBeschreiben externe Sichten (views) vonBenutzern oder Anwendungsprogrammen,basierend auf dem logischen SchemaInternes SchemaBeschreibt die physische Organisation derTabellen auf externen Speichern.90SWT - ER - RDBS4.3.1 Architektur und Funktionsweise


üýþÿ£©¡¢¤¥¦§¨SWT - ER - RDBSSWT - ER - RDBS914.3.1 Architektur und Funktionsweise▲ Einrichten einer Datenbank:924.3.2 Relationales Datenmodell▲ Relationales DatenmodellBeschreibung der einzelnen Schemata mitHilfe einer DDL (data definition language)▲ Verarbeiten von Anfragen (queries)DML (data manipulation language)▲ SQL = DDL + DML▲ AdministratorenDatenbank-AdministratorEntitäten, ihre Eigenschaften und ihreBeziehungen werden untereinander durch das(mathematische) Konzept der RelationdargestelltSind W(A 1 ), W(A 2 ), ... , W(A n ) endliche Mengen,so heißt die Menge aller Kombinationen ihrerElemente (Vektoren) ihr kartesisches Produkt[W(A 1 )× W(A 2 ) ×... × W(A n )].Anwender-AdministratorUnternehmensadministrator.SWT - ER - RDBSSWT - ER - RDBS934.3.2.1 Relationen▲ Beispiel944.3.2.1 Relationen▲ TupelSeienW(Personal-Nr.)={1;2;3},W(Anrede)={H;F},W(Titel)={Dr.; Dipl.-Ing.}dann ist:W(Personal-Nr.) × W(Anrede) × W(Titel)={(1,H,Dr.),(1,H,Dipl.-Ing),(1,F,Dr.),(1,F,Dipl.-Ing.),(2,H,Dr.),(2,H,Dipl.-Ing),(2,F,Dr.),(2,F,Dipl.-Ing.),(3,H,Dr.),(3,H,Dipl.-Ing),(3,F,Dr.),(3,F,Dipl.-Ing.)}↑ Tupel.Elemente von kartesischen Produkten▲ RelationJede Teilmenge von R eines kartesischenProduktes W(A 1 )× W(A 2 ) ×... × W(A n ) heißt eine(n-stellige) Relation über W(A 1 )× W(A 2 ) ×... × W(A n )▲ EntitätsmengeZusammenfassung von Entitäten, die sich durchgleichartige Eigenschaften auszeichnen▲ AttributeEigenschaften von EntitätsmengenJedem Attribut A ist ein Wertebereich W(A)zugeordnet.SWT - ER - RDBSSWT - ER - RDBS954.3.2.1 Relationen▲ Beispiel964.3.2.1 Relationen▲ BeispielDie Menge der Personen kann als RelationPerson ⊆ W(Personal-Nr.) × W(Anrede) × W(Titel) ×... über den Wertebereichen der Attribute derEntitätsmenge Person aufgefaßt werdenJede Relation R ⊆ W(A 1 )× W(A 2 ) ×... × W(A n ) kann alsTabelle (mit dem Namen R) dargestellt werdenDie Beziehung »bucht« zwischen den Entitätsmengen»Kunde« und »Seminarveranstaltung«kann durch die Relation »bucht« mit den AttributenPersonal-Nr. und Veranstaltungs-Nr. dargestelltwerden


!"#$%974.3.2.1 RelationenSWT - ER - RDBS▲ RelationenschemaBeschreibung der RelationenEs können auch ein oder mehrere Schlüsselangegeben werden▲ SchlüsselAttributkombination, derenWertekombinationen jeweils ein Tupel derRelation eindeutig bestimmenEine Attributkombination muß minimal indem Sinne sein, daß keine echte Teilmengevon ihr bereits die Schlüsseleigenschaftbesitzt.984.3.2.1 RelationenSWT - ER - RDBS▲ BeispielDie AttributkombinationPersonal-Nr.–Veranstaltungs-Nr. in der Tabelle»bucht« ist der Schlüssel dieser TabelleJede Wertekombination bestimmt eindeutig einTupel der Relation »bucht«Wird für die Tabelle »Person« dieAttributkombination Personal-Nr.–Name alsSchlüssel verwendet, dann ist dieseAttributkombination nicht minimal, da dieTeilmenge Personal-Nr. dieserAttributkombination bereits dieSchlüsseleigenschaft besitzt.994.3.2.1 RelationenSWT - ER - RDBS▲ Tabellendarstellung im KurzformatHinter dem Tabellennamen werden in Klammernund durch Kommata getrennt die SpaltennamenaufgeführtSchlüsselattribute werden durch dasNummernzeichen # hinter dem entsprechendenSpaltennamen gekennzeichnetBeispielPerson(Personal-Nr.#,Anrede,Titel,Vorname,..)Kunde(Personal-Nr.#,Funktion,Umsatz)Bucht(Personal-Nr.#,Veranstaltungs-Nr.#,...).100SWT - ER - RDBS4.3.2.2 Operationen auf Relationen▲ SelektionBeispiel:Anfrage »Gib alle Personen aus, die in Bochumwohnen«Aus der Tabelle »Person« alle Tupel selektieren, derenWert für das Attribut »Ort = ‘Bochum’« istselect *from Personwhere Ort = ‘Bochum’Ergebnis129 Herr Dr. Kurt Kurz...44819 BochumSQL-Syntaxselect * from R where expression101SWT - ER - RDBS4.3.2.2 Operationen auf Relationen▲ ProjektionBeispielAnfrage »Gib den Vornamen, Namen und dasGeburtsdatum aller Personen aus«Aus der Tabelle »Person« alle Spalten außer Vorname,Name und Geburtsdatum auszublendenselect distinctVorname,Name,Geburtsdatumfrom PersonSQL-Syntaxselect [distinct] A, B, ...from Rwobei A, B, ... Attributevon R sind.102SWT - ER - RDBS4.3.2.2 Operationen auf Relationen▲ Mengenoperationen▲ Vereinigung (union)BeispielAnfrage »Alle Dozentenund Mitarbeiter der Fa.Teachware erhalten eineGeburtstagskarteEs soll eine Liste mitAnrede, Titel, Vorname,Name und Geburtsdatumausgedruckt werdenWenn ein Mitarbeiter auchals Dozent arbeitet, dannsoll er nur einmalaufgeführt sein«


)/01*+&,-.'(103SWT - ER - RDBS4.3.2.2 Operationen auf Relationenselect Anrede,Titel,Vorname,Name,Geburtsdatumfrom Personwhere Personal-Nr in(select Personal-Nrfrom Mitarbeiterunionselect Personal-Nrfrom Dozent).104SWT - ER - RDBS4.3.2.2 Operationen auf Relationen▲ Durchschnitt (intersect)BeispielDie Geschäftsführung der Firma Teachwaremöchte eine Liste aller Personal-Nr. von denPersonen, die sowohl Kunden als auchDozenten sindselect Personal-Nrfrom Kundeintersectselect Personal-Nrfrom Dozent105SWT - ER - RDBS4.3.2.2 Operationen auf Relationen▲ Differenz (difference)Beispiel:Die Geschäftsführung der Firma Teachwaremöchte wissen, welche KundenPrivatkunden sind, d.h. zu keiner Firmagehörenselect Personal-Nrfrom Kundeminusselect Personal-Nrfrom Firma106SWT - ER - RDBS4.3.2.2 Operationen auf Relationen▲ ProduktDas kartesische Produkt R × S vonzwei Relationen R und S hat alsAttribute alle Attribute von R und Sselect * from R,SBeispiel:107SWT - ER - RDBS4.3.2.2 Operationen auf Relationen▲ Natürlicher Verbund (natural join)Verschmilzt zwei Relationen bzgl.gemeinsamer Attribute (gleicherName und gleiche Wertebereiche)zu einer Relation höherer StelligkeitR ⊗ S der Relationen R und S hat als Attribute alleAttribute von R und S, wobei die gemeinsamenAttribute nur einmal aufgeführt werdenBeispiel:108SWT - ER - RDBS4.3.2.2 Operationen auf Relationen▲ Beispiel


23456789:109SWT - ER - RDBS4.3.2.2 Operationen auf Relationen▲ Θ-Verbund (Θ-join)Beim Θ-Verbund R[A Θ B] S, wobei Θ einer derVergleichsoperationen =, ≠, ≤, ≥, ist, wirdjedes Tupel aus R mit den Tupeln aus Sverknüpft, so daß der A-Wert des R-Tupelsdem Vergleich Θ mit dem B-Wert jedes dieserS-Tupel genügtR A Ba bc d110SWT - ER - RDBS4.3.2.2 Operationen auf Relationen▲ BeispielAlle Kunden, die die Veranstaltung Nr. 99 gebucht haben:select *from Kunde, buchtwhere bucht.Veranstaltungs_Nr = 99 ANDKUNDE.Personal_Nr = BUCHT.Personal_NrAllgemein:select *from R,Swhere R.A Θ S.B.S C Db da bd e111SWT - ER - RDBS4.3.2.2 Operationen auf Relationen▲ SQLselect * select *from R,Sfrom R,Swhere R.B S.C where R.B


;>?EFHI


NORSUVWXYPQTZ[\]121SWT - ER - RDBS4.3.2.3 Datenabhängigkeiten & Integritätsregeln▲ SchlüsselSei X die Attributmenge des Relationenschemas Rund K eine Teilmenge von XK definiert einen Schlüssel für R, falls jede Relation,die FD K → X erfüllen soll und K keine echteTeilmenge enthält, die ebenfalls diese Eigenschaftbesitzt.122SWT - ER - RDBS4.3.2.3 Datenabhängigkeiten & Integritätsregeln▲ Mehrwertige Abhängigkeiten MVDBei einer FD X → Y bestimmt eineWertekombination der Attribute aus X genau eineWertekombination der Attribute aus YEs gibt jedoch auch Fälle, in denen eineWertekombination der Attribute aus X mehrereWertekombinationen der Attribute aus Y bestimmtund alle diese Kombinationen unabhängigvoneinander sind123SWT - ER - RDBS4.3.2.3 Datenabhängigkeiten & Integritätsregeln▲ BeispielJede Person bestimmt seine Kinder (nichtfunktional) und unabhängig davon auch seinenBeruf: {Personal-Nr} → {Beruf}Es besteht hier die mehrwertige Abhängigkeit(multivalued dependency MVD){Personal-Nr} →→ {Kind}(zu lesen: Personal-Nr bestimmt mehrfach Kind)124SWT - ER - RDBS4.3.2.3 Datenabhängigkeiten & Integritätsregeln▲ MVDs bringen Redundanzen in einer Relationmit sichIm obigen Beispiel müssen die jeweiligen Werte zuden anderen Attributen {Beruf...} mehrfach (bei 198zweimal, bei 237 dreimal) aufgeführt werden125SWT - ER - RDBS4.3.2.3 Datenabhängigkeiten & Integritätsregeln▲ Abhängigkeiten zwischen Attributenverschiedener Relationenschemata:Interrelationale AbhängigkeitenEine häufig auftretende Abhängigkeit dieser Art istdie Inklusions-Abhängigkeit IDBeispiel:Es kann z.B. ein Kunde nurSeminarveranstaltungen buchen, die auchwirklich angeboten werdenDas bedeutet, daß in der Relation »bucht« unterdem Attribut Veranstaltungs-Nr nur Werteauftreten dürfen, die in der Relation Seminarveranstaltungals Wert unter dem AttributVeranstaltungs-Nr. bereits vorhanden sind.126SWT - ER - RDBS4.3.2.3 Datenabhängigkeiten & Integritätsregeln▲ Inklusions-AbhängigkeitenGewisse Tupel in einer Relation sind erst dannzugelassen sind, wenn in einer anderen dazubereits Entsprechungen existierenBei IDs handelt es sich um Aussagen der FormRS 1 [V] ⊇ RS 2 [Z] wobei RS 1 und RS 2 zweiRelationenschemata mit den Attributen X bzw. Ysind und es gelte: Y ⊇ Z, X ⊇ VSind R 1 und R 2 Relationen über RS 1 bzw. RS 2 , so istdiese ID erfüllt, falls zu jedem Zeitpunkt dieProjektion von R 2 auf Z eine Teilmenge derProjektion von R 1 auf V istVoraussetzung: Z und V sind vom gleichen Typ.


^_ef`bghiacdjklm127SWT - ER - RDBS4.3.2.3 Datenabhängigkeiten & Integritätsregeln▲ FremdschlüsselIst V Primärschlüssel von RS 1 , dann ist Z einFremdschlüssel in RS 2Beispiel128SWT - ER - RDBS4.3.2.3 Datenabhängigkeiten & Integritätsregeln▲ 2 fundamentale Integritätsregeln desRelationsmodells müssen eingehalten werden:Entitäts-IntegritätDie Wertebereiche der Primärschlüssel-Attributedürfen keine Nullwerte enthaltenReferentielle IntegritätFalls ein Fremdschlüssel Z einer Relation R 2 mitdem Primärschlüssel Y der Relation R 1korrespondiert, muß entweder jeder Wert von Zin R 2 als Wert von Y in R 1 vorkommen oder ermuß (in jeder Komponente) einen NullwertenthaltenReferentielle Integrität kann auch innerhalb einerRelation bestehen.129SWT - ER - RDBS4.3.2.3 Datenabhängigkeiten & Integritätsregeln▲ BeispielEin Kunde kann zu einer Firma gehören, dannmuß als Fremdschlüssel der Kurznameeingetragen seinAlle eingetragenen Kurznamen, d.h. alleFremdschlüssel, müssen als Primärschlüsselin der Tabelle »Firma« vorhanden sein130SWT - ER - RDBS4.3.2.3 Datenabhängigkeiten & Integritätsregeln▲ Umgangssprachlich ausgedrückt:Wenn in einer Tabelle ein Fremdschlüsselvorhanden ist, dann muß der Fremdschlüsselwertauch als Primärschlüsselwert in derkorrespondierenden Tabelle auftauchen131SWT - ER - RDBS4.3.3 Entwicklungsphasen einer relationalen DB▲ 2 Haupttätigkeiten in der DB-Entwurfsphase:1 Relationale <strong>Datenmodellierung</strong>2 Normalisierung.132SWT - ER - RDBS4.3.3 Entwicklungsphasen einer relationalen DB▲ Relationale <strong>Datenmodellierung</strong>Das konzeptionelle Schema in ein logischesSchema überführen, d.h. in Relationen-Beschreibungenzu übersetzenTeilaufgaben:Festlegen der Relationenschemata mit Namen,Attributen und deren WertebereichenBeschreibung der intrarelationalenAbbhängigkeiten, insbesondere Festlegen derSchlüsselattribute, ggf. bestimmen der FDs undMVDsBeschreibung der interrelationalenAbhängigkeiten (IDs)Beschreibung weiterer Integritätsbedingungen.


nostuwy{†vxz‚ƒ„…p|€‡ˆ‰qr}~Š‹SWT - ER - RDBSSWT - ER - RDBS1334.3.3 Entwicklungsphasen einer relationalen DB▲ Relationale <strong>Datenmodellierung</strong>1344.3.3 Entwicklungsphasen einer relationalen DB▲ Relationale <strong>Datenmodellierung</strong>Das Ergebnis wird im logischen Schema mit z.B.folgender Syntax festgehalten:Logic SchemaName: Name des logischen SchemasRelationschemas: RS1, RS2, ... , RSm[ICs: Integritätsbedingungen]ICs (integrity contraints) können in Textform oderformal (in einem Logikkalkül) notiert werden.Inklusions-Abhängigkeiten (IDs) werden alsspezielle ICs aufgefaßtDarstellung in der TeilmengennotationDefinition der Relationenschemata (RS i ):RelationschemaName: RelationsschemanameAttribute: A 1: Wertebereich(A 1) [not null]A 2: Wertebereich(A 2) [not null]...A n: Wertebereich(A n) [not null]Key: Schlüsselattribute[FDs: Funktionale Abhängigkeiten][MVDs: Mehrwertige Abhängigkeiten][Notes: zusätzliche Bemerkungen].SWT - ER - RDBSSWT - ER - RDBS1354.3.3 Entwicklungsphasen einer relationalen DB▲ Normalisierung1364.3.3 Entwicklungsphasen einer relationalen DB▲ Datenbank-SchemaLogisches Schema unter allgemeinen oderspezifischen Kriterien optimierenDatenredundanzen eleminieren bzw. reduzierenBasisrelationenschemataDie aus dem Normalisierungsprozeß resultierendenRelationenschemataGesamtheit der Relationenschematafür Basisrelationenfür viewsFestgelegte ZugriffsrechteGrundlage für die Implementierung.Festlegung von IndexattributenBestimmte, häufig wiederkehrende gleicheAnfragen in einer vorgegebenen Dialogzeit zubeantwortenFestlegung von view-SchemataFür externe SichtenFestlegen von Zugriffsrechten.SWT - ER - RDBSSWT - ER - RDBS1374.3.3 Entwicklungsphasen einer relationalen DB▲ ImplementierungsphaseDie DB wird mit der DDL des DBMS eingerichtet:Die Basisrelationen aus dem Datenbankschemamit ihren Namen, den Attributnamen sowie denWertebereichen der Attribute werdenentsprechend den SQL-Konventionenimplementiert1384.3.3 Entwicklungsphasen einer relationalen DB▲ NutzungsphaseEinfügen, Löschen und Ändern von Daten sowiedas Stellen von Anfragen an die DBNotwendige Strukturveränderungen können durchEinrichten, Löschen oder Ändern von zusätzlichenbzw. vorhandenen Relationen, Attributen, Indizesmit der DDL modifiziert werdenDie views werden implementiertDie Zugriffsrechte werden erteiltIndizes zur Festlegung von Zugriffspfadenwerden implementiertDas in SQL implementierte Datenbankschema heißtdas Implementierungsschema der DB und wird inSystemtabellen abgelegt.▲ Prototypen-EntwicklungDBS bieten gute VoraussetzungenSie stellen fast alle Funktionen zur Verfügung,die für das Arbeiten mit einer DB notwendig sindRelationenschemata bzw. ein Datenbankschemakönnen zumindest für Teilaspekte relativ schnellimplementiert werden.


ŒŽ’”—š“•˜›‘–œžŸ¡SWT - ER - RDBSSWT - ER - RDBS1394.3.4 Vom logischen Schema zum DB-Schema▲ Aufgaben:Normalisieren der Relationenschemata biszum gewünschten GradFestlegung der externen Sichten (views)Festlegen der Zugriffsrechte.1404.3.<strong>4.1</strong> Normalformen für Relationenschemata▲ Intrarelationale Abhängigkeiten imlogischen Schema können zuRedundanzen führenIm Betrieb der Datenbank kann dies zuIntegritätsverletzungen der Schema-<strong>Inhalt</strong>eführenDie einzelnen Relationenschemata werdendaher einem NormalisierungsprozeßunterzogenJedes Relationenschema wird unterUmständen in neue Schemata, sogenannteBasisrelationen-Schemata, zerlegt, umRedundanzen zu vermeiden.SWT - ER - RDBSSWT - ER - RDBS1414.3.<strong>4.1</strong> Normalformen für RelationenschemataNormalisierungsprozeß1424.3.<strong>4.1</strong> Normalformen für RelationenschemataBeispielNicht normalisierte Relationenschemata werdenin solche überführt, die einer bestimmtenNormalform genügenDie Zerlegung muß dabei den verlustfreien Verbund(lossless join) garantierenWird ein Relationenschema RS mit derAttributmenge X in die 2 Schemata RS 1 mit derAttributmenge X 1 und RS 2 mit X 2 zerlegt, undwerden die Relationen R 1 bzw. R 2 durchProjektion einer Relation R über RS auf X 1 bzw.X 2 erzeugt, d.h. R 1 = R[X 1 ] und R 2 = R[X 2 ], dannsoll der natürliche Verbund bzgl. dergemeinsamen Attribute von R 1 und R 2 , genau dieRelation R ergeben, d.h. R = R 1 ⊗ R 2 .SWT - ER - RDBSSWT - ER - RDBS1434.3.<strong>4.1</strong> Normalformen für Relationenschemata▲ 1. Normalform (1NF)1444.3.<strong>4.1</strong> Normalformen für Relationenschemata▲ 2. Normalform (2NF)In jeder Tabellenposition steht immer nur einWert, niemals eine Liste von WertenDer Wertebereich jedes Attributs darf nuratomare Werte enthalten, aber keineWiederholungsgruppenAlle bisherigen Beispiele waren in ersterNormalformBeispiel:Kunde bei mehreren Firmen beschäftigtWenn sie in 1. Normalform istJedes Nicht-Schlüsselattribut vom Primärschlüsselvoll funktional abhängigEin Nicht-Schlüsselattribut ist ein Attribut, das inkeinem Schlüssel dieser Tabelle vorkommtVoll funktional abhängigEin Attribut Y hängt von Attribut X funktional ab, abernicht von einer echten Teilmenge von XUmgekehrt ausgedrückt bedeutet dies:★ Eine Tabelle ist nicht in 2. Normalform, wenn einNicht-Schlüsselattribut eine Eigenschaft einerTeilmenge eines Schlüssels beschreibt★ Dies ist dann der Fall, wenn das Nicht-Schlüsselattribut bereits von einer Teilmenge desSchlüssels funktional abhängt.


¢«¬­®£¯°±²³´·¸¤¦¨ªµ¥§©145SWT - ER - RDBS4.3.<strong>4.1</strong> Normalformen für Relationenschemata▲ 2. Normalform (2NF)BeispielJeder Dozent verteilt ein Skript zu seinemVortrag:146SWT - ER - RDBS4.3.<strong>4.1</strong> Normalformen für RelationenschemataDer Name ist funktional abhängig von derPersonal-Nr.:{Personal-Nr.} → {Name}, d.h. von einer Teilmengedes Schlüssels.Die Skript-Nr. ist voll funktional abhängigvon der Veranstaltungs-Nr. und derPersonal-Nr.:{Veranstaltungs-Nr., Personal-Nr.} → {Skript-Nr.}Der Preis ist voll funktional abhängig vonder Skript-Nr.:{Skript-Nr.} → {Preis}Wegen der FD {Personal-Nr.} → {Name} istdiese Tabelle nicht in der 2. Normalform!147SWT - ER - RDBS4.3.<strong>4.1</strong> Normalformen für Relationenschemata▲ ZerlegungsmethodeDie Nicht-Schlüsselattribute einer Tabelle R,die von einer Teilmenge eines Schlüsselsabhängen, bilden mit dieser Teilmenge alsSchlüssel eine neue Tabelle R 2Die restlichen Attribute bilden mit demSchlüssel von R eine neue Tabelle R 1148SWT - ER - RDBS4.3.<strong>4.1</strong> Normalformen für Relationenschemata▲ BeispielGesamtschlüsselR S 1 S 2 A BR 2 S 2 B{S 1 ,S 2 } →{A}{S 2 } →{B}R 1 S 1 S 2 A149SWT - ER - RDBS4.3.<strong>4.1</strong> Normalformen für Relationenschemata▲ 3. Normalform (3NF)Wenn sie in 2. Normalform istJedes Nicht-Schlüsselattribut ist nicht transitiv, d.h.hängt direkt vom Primärschlüssel abTransitiv (funktional) abhängig bedeutet, daßimmer, wenn die FDs A → B und B → C gelten,auch die transitive FD A → C gilt.Umgekehrt ausgedrückt bedeutet dies:Eine Tabelle ist nicht in 3. Normalform, wenn ein Nicht-Schlüsselattribut eine Eigenschaft eines anderen Nicht-Schlüsselattributs darstellt.150SWT - ER - RDBS4.3.<strong>4.1</strong> Normalformen für Relationenschemata▲ 3. Normalform (3NF)BeispielDer Primärschlüssel von »Skript2« besteht ausVeranstaltungs-Nr. und Personal-Nr.Es gelten folgende FDs:{Veranstaltungs-Nr, Personal-Nr} → {Skript-Nr}{Skript-Nr} → {Preis}Daraus ergibt sich, daß der Preis transitiv vomPrimärschlüssel abhängtDie Tabelle »Skript2« ist daher nicht in 3.Normalform.


¹º»¾¿ÀÁ¼½Â151SWT - ER - RDBS4.3.<strong>4.1</strong> Normalformen für Relationenschemata▲ ZerlegungsmethodeEine Tabelle R mit der Attributmenge Z und dertransitiven Abhängigkeit X → Y → A wird in 2Tabellen R 1 und R 2 zerlegtDie Tabelle R 1 erhält alle Attribute aus Z ohne A, dieFDs aus R ohne Y → A und den Schlüssel von RDie Tabelle R 2 erhält alle Attribute aus Y und dasAttribut A, die FD Y → A und den Schlüssel Y.152SWT - ER - RDBS4.3.<strong>4.1</strong> Normalformen für Relationenschemata▲ Zerlegungsmethode153SWT - ER - RDBS4.3.<strong>4.1</strong> Normalformen für Relationenschemata▲ BeispielSkript 3 Veranst.-Nr. Personal-Nr. Skript-Nr.112 198 2112 237 9112 11 2202 198 4FD {Veranst.-Nr., Personal-Nr.} →{Skript-Nr.}Skriptpreis Skript-Nr . Preis2 25.–9 44.–4 22.–FD {Skript-Nr.} →{Preis}154SWT - ER - RDBS4.3.<strong>4.1</strong> Normalformen für Relationenschemata▲ Die Zerlegung eines Relationsschemas inSchemata, die der 3NF genügen,gewährleistet einen verlustfreien Verbund.▲ Sonderfall der 3NF:Boyce-Codd-Normalform (BCNF)Tritt in der Praxis selten auf▲ Grundsätzlich kann ein Relationenschemasofort in die 3NF oder BCNF zerlegtwerden▲ Eine 3NF-Zerlegung ist weitgehend freivon Redundanzen.155SWT - ER - RDBS4.3.<strong>4.1</strong> Normalformen für Relationenschemata▲ MVDsMehrwertige Abhängigkeiten und die damit verbundenenRedundanzen können beseitigt werdenBeispiel156SWT - ER - RDBS4.3.<strong>4.1</strong> Normalformen für Relationenschemata▲ MVDsBeispielMVDs: {Personal-Nr.} → → {Fremdsprache}{Personal-Nr.} → → {Kind}FDs: {Personal-Nr.} → {Vorname, Name}{Personal-Nr.} → {Beruf}.


ÃÄÅÆÊÇÎÏÈÉËÌÍSWT - ER - RDBSSWT - ER - RDBS1574.3.<strong>4.1</strong> Normalformen für Relationenschemata▲ 4. Normalform (4NF)1584.3.<strong>4.1</strong> Normalformen für Relationenschemata▲ ZerlegungsmethodeWenn sie in 3. Normalform istWeist keine paarweise auftretende mehrwertigeAbhängigkeiten aufNur dann verletzt, wenn eine Tabelle mindestenszwei unabhängige, die gleiche Entitätsmengebetreffende komplexe Assoziationen enthältEine Tabelle mit MVDs, die vom selben Attribut Sabhängen, wird in folgende Tabellen zerlegt:Für jede MVD wird eine separate Tabelleangelegt, alle MVD-Attribute werden SchlüsselAlle FDs, die von S abhängen, kommen in eineTabelle mit S als Schlüsselattribut.Einhaltung in einigen Fällen problematisch.SWT - ER - RDBSSWT - ER - RDBS1594.3.<strong>4.1</strong> Normalformen für Relationenschemata▲ Zerlegungsmethode1604.3.<strong>4.1</strong> Normalformen für RelationenschemataR S A B C DR 1 S C{S} →A{S} →B{S} →→C{S} →→DID: R 1 [S]R 2 S DID: R 2 [S]⊇⊇R 3 [S]R 3 [S]R 3 S A BSWT - ER - RDBSSWT - ER - RDBS1614.3.<strong>4.1</strong> Normalformen für Relationenschemata▲ Zum EntwurfBeispiel: Problemgerechte <strong>Modell</strong>ierung1624.3.<strong>4.1</strong> Normalformen für Relationenschemata▲ Entwurfskriterien1 Erreichte NormalformZur Vermeidung von Redundanzen2 Verlustloser VerbundDer Verbund der entstandenen Relationen liefertimmer genau die zerlegte Relation3 Gewährleistung der AbhängigkeitenBei Änderungen von zerlegten Relationen bleibendie Abhängigkeiten erhaltenWird die 3NF erreicht, dann sind auch die Ziele 2und 3 erreichbarFür höhere Normalformen ist das nicht immermöglich.


ÐÚÑÒ×ÛÓØÙÜÝÔÞßàáÕÖ163SWT - ER - RDBS4.3.<strong>4.1</strong> Normalformen für Relationenschemata▲ EntwurfskriterienHinzufügen von AttributenFDs eines Relationenschemas ändern sich nichtMVDs sind kontextabhängig, d.h. das Hinzufügenvon Attributen beeinflußt bestehende MVDs undkann sie sogar ungültig werden lassenDadurch kann ein redesign der Datenbank notwendigwerden, was weitreichende Reorganisationen derDatenbank zur Folge haben kann.164SWT - ER - RDBS4.3.<strong>4.1</strong> Normalformen für Relationenschemata▲ EntwurfskriterienDas Zerlegen eines Relationenschemas in mehrereführt zum Einrichten von entsprechend vielenTabellen in der DatenbankDiese Tabellen müssen zur Berechnung derAntwort auf eine Anfrage wieder miteinanderverknüpft werden (Verbund-Operationen)Das führt bei Tabellen mit vielen Tupeln zulängeren Antwortzeiten.165SWT - ER - RDBS4.3.<strong>4.1</strong> Normalformen für Relationenschemata▲ EntwurfskriterienPrüfung, ob vorwiegend Anfragen ohneÄnderungenDann ist eine Normalisierung nicht unbedingtnotwendig, da Inkonsistenzen durch Redundanzen nurselten auftreten werdenIm Fall einer Änderung muß dann geprüft werden, obInkonsistenzen auftreten, und diese müssen dannbeseitigt werdenupdate-query-tradeoffAbschätzung, welcher Aufwand höher ist:Das Überwachen der Integrität durch den Benutzer,dafür gute Antwortzeiten bei AbfragenOder: höhere Antwortzeiten bei normalisiertenRelationen, dafür kein Aufwand zur Beseitigung vonAnomalien.1664.3.<strong>4.2</strong> Externe SichtenSWT - ER - RDBS▲ Sichten werden durch view-SchematabeschriebenEin view-Schema kann sowohl auf Basisrelationen-Schemata als auch auf bereits definierten view-Schemata aufbauenEin view-Schema besteht aus seinem Namen, ausAttributnamen und aus SelektionsbedingungenZu jedem Attributnamen muß das Attribut und dasBasis-Schema (Relationen-Schema oder view-Schema) angegeben werden, auf welches es sichbeziehtDie Selektionsbedingungen geben an, wie der <strong>Inhalt</strong>des view-Schemas aus den <strong>Inhalt</strong>en der Basis-Schemata ermittelt werden soll.1674.3.<strong>4.2</strong> Externe SichtenSWT - ER - RDBS1684.3.<strong>4.2</strong> Externe SichtenSWT - ER - RDBS▲ Syntax eines view-Schemas:View SchemaName: View-Schema-NameAttribute: [A 1 :=] R i1 . A i1j1[A n :=] R in . Ai njn[Conds: Selektionsbedingungen]wobei die R ik Namen von Basisrelationen- bzw.von bereits definierten view-Schemata sindund A ikjk ein Attribut von R ik ist.


éêëìíâãäåæçèSWT - ER - RDBSSWT - ER - RDBS1694.3.<strong>4.2</strong> Externe Sichten▲ BeispielView SchemaName: Veranst_in_München_Typ OOAAttribute:Seminarveranstaltung.Veranstaltungs-NrSeminarveranstaltung.KurztitelSeminarveranstaltung.OrtSeminarveranstaltung.ÖffentlichConds:Seminarveranstaltung.Kurztitel=”OOA” andSeminarveranstaltung.Ort=”München” andSeminarveranstaltung.Öffentlich=”Ja”.1704.3.<strong>4.2</strong> Externe Sichten▲ BeispielView SchemaName: Teilnehmerliste_Nr_99Attribute: Person.NamePerson.VornamePerson.OrtConds:Person.Personal-Nr = Kunde.Personal-NrandBucht.Personal-Nr = Kunde.Personal-NrandBucht.Veranstaltungs-Nr = 99.SWT - ER - RDBSSWT - ER - RDBS1714.3.<strong>4.2</strong> Externe Sichten▲ BeispielView SchemaName: Veranstaltungen zu SWTAttribute:Titel:= Seminartyp.SeminartitelVeranstaltungsort :=Seminarveranstaltung.OrtHotel := Seminarveranstaltung.Hotel_FirmaAnfang := Seminarveranstaltung.VomEnde := Seminarveranstaltung.BisConds:Seminarveranstaltung.Kurztitel=”SWT”.1724.3.5 Weiterentwicklungen▲ Erweiterung zu objektrelationalen DBS▲ SQL2Erweiterung der relationalen Ausdrucksmöglichkeiten,u.a. durch Generalisierung undOrthogonalisierung existierender OperationenNeue Datentypen und -operationenInternationalisierung und benutzerdefinierteZeichensätzeDynamisches SQLTabellenstrukturen können im laufenden Betriebgeändert werdenUmfangreiche DiagnosemöglichkeitenZugriffsmöglichkeit auf entfernte Datenbanken.SWT - ER - RDBS1734.3.5 Weiterentwicklungen▲ SQL3Unterstützung komplexer DatenstrukturenSprachmittel für Datenbankprozeduren (storedprocedures)Objektorientierte KonzepteEreignisgesteuerte Datenmanipulation (trigger)Unterstützung verteilter Datenbanken.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!