Privacy Policy Cookie Policy Terms and Conditions Schema (Informatik) - Wikipedia

Schema (Informatik)

aus Wikipedia, der freien Enzyklopädie

Ein Schema (im Plural „Schemata“ oder „Schemas“) ist in der Informatik ein formales Modell der Struktur von Daten. Wenn die Daten in einer Datenbank abgelegt werden, spricht man auch von einem Datenbankschema, das im Data Dictionary dokumentiert ist. Üblicherweise ist das Schema selbst in einer formalen Sprache definiert, so dass sich Daten automatisch darauf überprüfen lassen, ob sie dem Schema entsprechen. Für XML-Daten gibt es dazu beispielsweise den XML-Schema-Standard. Schemata sind nicht zu verwechseln mit Datenstrukturen, die sich auf die interne Speicherung beziehen und Datenformaten, einer konkreten Form der Speicherung.

Schemata können hinsichtlich ihrer Komplexität von einfachen Attributlisten bis zu komplexen Ontologien reichen. Grundsätzlich enthalten Schemata Definitionen von Relationen als Tupel von Attributen, denen in vielen Fällen Datentypen zugewiesen sein können. Je nach Art des Schemas sind zusätzlich Beziehungen und Bedingungen zwischen verschiedenen Relationen und zusätzliche Regeln möglich. Datentypen (beispielsweise Zahlen, Zeichenketten, Datumsformate...) sind als Bestandteil eines Schemas selbst durch Regeln beschrieben, die jedoch meist als gegeben vorausgesetzt werden. Im Rahmen der Objektorientierten Modellierung werden komplexe Datentypen aus einfachen Datentypen zusammengesetzt, wobei man statt von Datentypen auch von Objekten spricht.

Inhaltsverzeichnis

[Bearbeiten] Schemata in relationalen Datenbanksystemen

Die ANSI-SPARC-Architektur, auch Drei-Ebenen-Architektur genannt, beschreibt den grundlegenden Aufbau eines relationalen Datenbanksystems, wobei drei Schemata verwendet werden:

  1. Das konzeptionelle oder konzeptuelle Schema, in dem auf Basis des semantischen Datenmodells die Sachlogik formal beschrieben wird (fachliche Sicht).
  2. Das interne Schema, das formal darstellt, wie und wo die Daten in der Datenbank gespeichert werden (technische Sicht).
  3. Die externen Schemata, die formal beschreiben, wie sich die Datenbank den Benutzer(gruppe)n und Anwendungen darstellt (individuelle anwendungsorientierte Sicht).

[Bearbeiten] Beispiele

[Bearbeiten] Schema einer CSV-Datei

VORNAME, NACHNAME, STRASSE, ORT

[Bearbeiten] Schema einer SQL-Datenbank in der Data Definition Language

CREATE TABLE PERSON (
  PERSNR   INTEGER PRIMARY KEY NOT NULL,
  VORNAME  VARCHAR (50),
  NACHNAME VARCHAR (50),
  ADRESSE  INTEGER,
  CONSTRAINT FK_ADRESSE FOREIGN KEY (ADRESSE) REFERENCES ADRESSE(ID)
);

CREATE TABLE ADRESSE (
  ID       INTEGER PRIMARY KEY NOT NULL,
  STRASSE  VARCHAR (50),
  ORT      VARCHAR (50)
);

Bei den Primärschlüsseln ist der Zusatz NOT NULL entbehrlich, weil sie ohnehin niemals NULL sein dürfen. Den Fremdschlüssel in der Tabelle PERSON kann man auch direkt hinter dem referenzierenden Attribut angeben. Den Hinweis auf das referenzierte Attribut kann auch fehlen, wenn es sich um den Primärschlüssel der referenzierten Tabelle handelt. Das sähe dann so aus:

CREATE TABLE PERSON (
  PERSNR    INTEGER PRIMARY KEY,
  VORNAME   VARCHAR (50),
  NACHNAME  VARCHAR (50),
  ADRESSE   INTEGER REFERENCES ADRESSE
);

CREATE TABLE ADRESSE (
  ID        INTEGER PRIMARY KEY,
  STRASSE   VARCHAR (50),
  ORT       VARCHAR (50)
);

[Bearbeiten] Schema für XML-Daten in Form einer DTD

<!ELEMENT PERSON (VORNAME, NACHNAME, ADRESSE+)>
<!ELEMENT VORNAME  (#PCDATA)>
<!ELEMENT NACHNAME (#PCDATA)>
<!ELEMENT ADRESSE  (STRASSE, ORT)>
<!ELEMENT STRASSE  (#PCDATA)>
<!ELEMENT ORT      (#PCDATA)>

Diese DTD (nicht zu verwechseln mit XML-Schema) beschreibt, dass PERSON-Elemente aus genau einem Vornamen, genau einem Nachnamen und mindestens einer Adresse bestehen. Adresse besteht aus Straße und Ort; Vorname, Nachname, Straße und Ort bestehen aus #PCDATA, d. h. parsed character data, also einfachem Text, der nicht weiter gegliedert ist.

[Bearbeiten] Schemata für Daten im Semantischen Web

Ein Beispiel für eine Ontologie findet sich unter Web Ontology Language.

[Bearbeiten] Entwurf von Schemata

Der Entwurf von Schemata (Datenmodellierung) hängt stark von der Herangehensweise ab. Grundsätzlich lassen sich unter anderem das Entity-Relationship-Modell und die Objektorientierte Modellierung unterscheiden (siehe Datenmodellierung).

[Bearbeiten] Schematische Heterogenität

Unterschiedliche Schemata können sich - auch wenn sie für vergleichbare Objekte entworfen wurden - beträchtlich unterscheiden. Um Daten, die unterschiedlichen Schemata vorliegen, zu konvertieren oder zusammenzuführen, ist auch eine Transformation und Integration ihrer Schemata notwendig. Dies ist in der Praxis vor allem bei der Datenmigration und Informationsintegration notwendig.

Die Heterogenität kann sowohl die Struktur als auch die Semantik betreffen, wobei sich strukturelle Unterschiede wesentlich leichter überbrücken lassen. Der Übergang von strukturellen zu semantischen Unterschieden ist jedoch nicht ganz eindeutig.

Typische Strukturelle Unterschiede betreffen die Reihenfolge von Attributen, Namenskonflikte, das sind unterschiedliche Namen für gleiche Attribute (Synonyme) oder gleiche Namen für unterschiedliche Attribute (Homonyme), flache Strukturen (SQL) im Gegensatz zu hierarchischen Strukturen (XML), der Grad der Normalisierung und unterschiedliche Datenformate mit gleicher Ausdruckskraft.

Semantische Heterogenität besteht, wenn die einzelnen Konzepte der unterschiedlichen Schemata nicht übereinstimmen. Stattdessen liegt eine Inklusion oder Überlappung vor, die bis zu einem gewissen Grad hingenommen werden muss.

Eine zwischen struktureller und schematischer anzusiedelnde Heterogenität sind im Detail voneinander abweichende Datentypen (Maßeinheiten, Genauigkeiten etc.).

[Bearbeiten] Siehe auch

Ein Schema stellt eine formale Variante eines Begriffssystems dar, mit dem in der Regel ein Ausschnitt der Realität (beziehungsweise ein Vorstellung von ihr) modelliert werden soll.

THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu