New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Schlüssel (Datenbank) - Wikipedia

Schlüssel (Datenbank)

aus Wikipedia, der freien Enzyklopädie

Ein Schlüssel dient in einer Relationalen Datenbank dazu, die Tupel einer Relation eindeutig zu identifizieren. Anschaulich kann man sich eine Relation als Tabelle vorstellen. Der Schlüssel einer solchen Tabelle ist dann eine Gruppe von Spalten, die so ausgewählt wird, dass jede Zeile in dieser Gruppe eine einmalige Wertekombination hat.

Inhaltsverzeichnis

[Bearbeiten] Einführung

Superschlüssel ⊇ Schlüsselkandidaten, aus diesen wird der Primärschlüssel gewählt
Superschlüssel ⊇ Schlüsselkandidaten, aus diesen wird der Primärschlüssel gewählt

In Relationalen Datenbanken unterscheidet man die Schlüsselbegriffe

  • Superschlüssel: Menge von Attributen (Spalten) in einer Relation (Tabelle), die ein Tupel (Zeile) in dieser Relation eindeutig identifizieren. Ein trivialer Superschlüssel wäre zum Beispiel die Menge aller Attribute einer Relation.
  • Schlüsselkandidat (auch Kandidatenschlüssel genannt): Eine Teilmenge des Superschlüssels, die aber auch schon die eindeutige Identifizierung eines Tupels ermöglicht (Schlüsselkandidaten ⊆ Superschlüssel).
  • Primärschlüssel: Ein ausgewählter Schlüsselkandidat, der von anderen Relationen als das identifizierende Attribut verwendet wird.
  • Sekundärschlüssel: Alle anderen Schlüsselkandidaten, die nicht Primärschlüssel sind.
  • Fremdschlüssel: Ein Attribut einer Relation, welches auf einen Primärschlüssel einer anderen Relation verweist.
  • kombinierter Primärschlüssel (auch Verbundschlüssel genannt): Primärschlüssel, der aus mehreren Attributen besteht.
  • stellvertretender Schlüssel (Surrogatschlüssel)

Ein Schlüsselkandidat ist also auch immer ein Superschlüssel. Aus der Menge aller Schlüsselkandidaten wird ein Primärschlüssel ausgewählt, wodurch automatisch alle anderen Schlüsselkandidaten zu Sekundärschlüsseln werden; ein formaler Unterschied zwischen Schlüsselkandidat, Primär- und Sekundärschlüssel besteht also nicht. Ein Fremdschlüssel ist Verweis auf den Primärschlüssel einer anderen Relation. Er ist also die Kopie dieses Schlüssels und stellt damit die Verbindung zwischen diesen Relationen her.

[Bearbeiten] Formale Definition

Es sei ein bestimmtes Relationenschema R (das Tabellen-Gerüst, d.h. alle Spalten) gegeben. Eine Teilmenge S der Attribute des Schemas R heißt Schlüssel, wenn gilt:

  • Eindeutigkeit: Keine Ausprägung von R (keiner der Einträge in der Tabelle) darf zwei verschiedene Tupel (Zeilen) enthalten, bei denen die Werte von S gleich sind.
  • Minimalität: Keine echte Teilmenge von S erfüllt bereits die Bedingung der Eindeutigkeit.

[Bearbeiten] Beispiele

a)

Literatur
ISBN Autor Buchtitel ...
0001 Hans X ...
0002 Peter X ...
0003 Peter Y ...
... ... ... ...

b)

Kunden
Name Geburtstag Wohnort ...
Klaus Hoffmann 01.08.1976 Norden BBS ...
Alf Appel 08.11.1982 München ...
Günther Schmitt 27.03.1965 Hamburg ...
... ... ... ...

c)

IstChefVon
Vorgesetzter Untergebener
002 104
234 993
234 670
... ...
a) Hier ist der Schlüssel ein einzelnes Attribut. Die ISBN eignet sich dafür relativ gut, denn zumindest innerhalb eines Verlages haben keine zwei Bücher die selbe ISBN. Bücher können allerdings sehr wohl den gleichen Titel haben oder vom selben Autor stammen.
b) Hier wird ein Teil der Attribute als Schlüssel verwendet. Diese Kundendatenbank geht davon aus, dass keine zwei Kunden mit dem selben Namen am gleichen Tag Geburtstag haben; eine Annahme, die in der Realität leicht nach hinten losgehen könnte.
c) Hier kommen nur alle Attribute der Relation als Schlüssel in Frage. In dieser etwas abstrakteren Relation wird anhand von Personalnummern dargestellt, welcher Angestellte einer Firma der direkte Vorgesetzte welches anderen Angestellten ist.

[Bearbeiten] Superschlüssel

Ein Superschlüssel (auch Oberschlüssel, engl. super key) ist eine beliebige Menge von Attributen, die die Tupel einer Relation eindeutig identifiziert. Die formale Definition lautet:

Ist R(A) eine Relation über der Menge von Attributen A: = {A1,...,An}, so gilt: \alpha \subseteq A ist genau dann ein Superschlüssel von R, wenn gilt: \alpha \rightarrow A.

Diese Definition setzt den Begriff der funktionalen Abhängigkeit (die Grundlage des Zeichens „\rightarrow“) voraus. \alpha \rightarrow A bedeutet: Haben zwei Tupel die gleichen Werte in den Attributen von α, so haben sie auch die gleichen Werte in den Attributen A.

Anhand dieser Definition ergeben sich schon für kleine Anzahlen von Attributen sehr viele Superschlüssel. Für die Beispielrelationen der Einleitung sind dies die folgenden:

a) {ISBN}, {ISBN, Autor}, {ISBN, Autor, Buchtitel}, {Autor, Buchtitel, ...}, {ISBN, Autor, Buchtitel, ...}
b) {Name, Geburtstag}, {Name, Geburtstag, Wohnort}, {Name, Geburtstag, Wohnort, ...}
c) {Vorgesetzter, Untergebener}

Besonders zu beachten ist, dass alle Attribute einer Relation immer einen Superschlüssel bilden. Das kommt daher, dass Relationen keine zwei völlig identischen Tupel enthalten dürfen - denn eine Relation ist prinzipiell eine Menge und nach der Mengenlehre darf eine solche keine zwei identischen Elemente enthalten. Des Weiteren sind in dieser oft unüberschaubaren Menge auch die „praktischeren“ Schlüsselkandidaten enthalten. Der Begriff des Superschlüssels spielt allerdings bei den Definition der Normalformen 3. Normalform (3NF) und Boyce-Codd-Normalform (BCNF) eine wichtige Rolle.

[Bearbeiten] Schlüsselkandidat

Ein Schlüsselkandidat (engl. candidate key) ist eine minimale Menge von Attributen, die die Tupel einer Relation eindeutig identifiziert. Die formale Definition lautet:

Ist R(A) eine Relation über der Menge von Attributen A: = {A1,...,An}, so gilt: \alpha \subseteq A ist genau dann ein Schlüsselkandidat von R, wenn gilt: \alpha \dot \rightarrow A.

Hierbei wird der Begriff der vollen funktionalen Abhängigkeit - dargestellt durch \alpha \dot \rightarrow A - verwendet. Hier ist A von α voll funktional abhängig, was bedeutet:

  1. Haben zwei Tupel in den Schlüsselattributen (α) dieselben Werte, so haben sie auch in allen übrigen Attributen (A) dieselben Werte. Und:
  2. Entfernt man ein Attribut aus α, so gilt Eigenschaft 1 nicht mehr.

Im Gegensatz zum Superschlüssel werden hier also nur noch diejenigen Attributmengen betrachtet, die nicht mehr verkleinert werden können, ohne ihre Schlüsseleigenschaft zu verlieren; man sagt auch, sie seien minimal identifizierend. Für die Beispielrelationen der Einleitung ergeben sich folgende Schlüsselkandidaten:

a) {ISBN}, {Autor, Buchtitel, ...}
b) {Name, Geburtstag}
c) {Vorgesetzter, Untergebener}

Aus der Liste der Superschlüssel wurden also gerade diejenigen ausgewählt, die minimal sind. Gelegentlich wird auch die Bezeichnung Kandidatenschlüssel verwendet, was eine wörtliche Übersetzung des englischen Fachbegriffs candidate key ist.

[Bearbeiten] Primärschlüssel und Sekundärschlüssel

Um mitzuteilen, welchen der Schlüsselkandidaten man zur Identifikation der Tupel in einer Relation bevorzugt, wird aus allen Schlüsselkandidaten der Primärschlüssel ausgewählt. Der Primärschlüssel wird so ausgewählt, dass er möglichst klein ist oder den Sachverhalt in der realen Umwelt möglichst genau widerspiegelt. Für die Beispielrelationen aus der Einleitung bieten sich die folgenden Primärschlüssel an:

a) {ISBN}
b) {Name, Geburtstag}
c) {Vorgesetzter, Untergebener}

Bei den Beispielen b) und c) ist die Entscheidung müßig, denn es gibt jeweils nur einen Schlüsselkandidaten, folglich muss dieser auch als Primärschlüssel verwendet werden. In Beispiel a) entscheidet man sich für {ISBN} als Primärschlüssel, weil dies der kleinste Schlüssel ist (er hat im Gegensatz zu {Autor, Buchtitel, ...} nur ein Attribut), zudem wird dadurch die Realität genau wiedergegeben. Besteht ein Primärschlüssel aus mehreren Attributen, spricht man auch von einem kombinierten Primärschlüssel oder einem Verbundschlüssel. Durch die Auswahl des Primärschlüssels werden alle anderen Schlüsselkandidaten der Relation automatisch zu Sekundärschlüsseln. In unseren Beispielrelationen wären dies:

a) {Autor, Buchtitel, ...}
b) keine
c) keine

Sekundärschlüssel werden hauptsächlich dazu verwendet, effiziente Sekundärindexe zu erzeugen; ein Sekundärindex ist eine optionale Suchstruktur einer Datenbank, um Tupel schneller zu finden.

[Bearbeiten] Nochmal in anderen Worten: Was ist ein Primär- und was ein Sekundärschlüssel?

Mit Hilfe des Primärschlüssels selektiert man in einer relationalen Datenbank einen Datensatz eindeutig und (weil dem Primärschlüssel ein Index zugrunde liegt) auch schnell. Wenn in einer Kundentabelle beispielsweise jeder Kunde eine eindeutige "Kunden-ID" besitzt, dann wäre diese Kunden-ID der ideale Primärschlüssel zur eindeutigen Kennzeichnung eines jeden Datensatzes. Wenn man den Datensatz später ändern oder löschen möchte, dann braucht man bei den jeweiligen "update"- oder "delete"-Anweisungen nur anzugeben, welche "Kunden-ID" von der Änderung betroffen werden soll (also nicht noch zusätzliche Einschränkungen wie "Vorname", "Nachname", etc.). Der Primärschlüssel ist also in diesem Sinne das wichtigste und erstrangig verwendete Selektionskriterium, um Daten in einer Tabelle zu selektieren (primär: erstrangig, am wichtigsten, in erster Linie, hauptsächlich, vordergründig). Eine Datenbanktabelle kann jedoch neben dem Primärschlüssel noch weitere Indizes besitzen. Wenn es bei einer Kundentabelle beispielsweise oft vorkommt, dass Kunden innerhalb eines bestimmten Postleitzahlbereichs selektiert bzw. sortiert werden müssen, dann könnte es sich lohnen, die Spalte "Postleitzahl" auch mit einem Index zu versehen, damit die Selektion oder Sortierung der Kunden nach Postleitzahlen schnell vonstatten geht. Da die Tabelle mit der "Kunden-ID" aber bereits einen Primärschlüssel hat (es kann nur jeweils einen Primärschlüssel pro Tabelle geben), würde es sich bei dem Index auf der Spalte "Postleitzahl" um einen Sekundärschlüssel, also zusätzlichen (sekundär: nachgeordneten, zweitrangigen) Schlüssel handeln.

[Bearbeiten] Stellvertretender Schlüssel

Es ist möglich, dass alle Schlüsselkandidaten einer Relation aus mehreren Attributen bestehen, oder dass alle Schlüsselkandidaten die tatsächlichen Verhältnisse nur unzureichend widerspiegeln. Von unseren Beispielen ist b) ein solcher Fall. Will man hier eine Person identifizieren, muss man stets Name und Geburtstag gleichzeitig angeben; das ist für die Datenbank umständlich, denn es wird Speicherplatz verschwendet und es müssen stets zwei Attribute verglichen werden, was zu unnötiger Mehrarbeit führt. Es ist daher oft wünschenswert, ein zusätzliches Attribut einzuführen, das als Primärschlüssel dient: Man nennt dies einen stellvertretenden Schlüssel (engl. surrogate key). Für Beispiel b) würden sich hier allgemeine Attribute wie „Personalausweis-Nummer“ oder geschäftseigene Identifikationsnummern wie „Kundennummer“ anbieten. Übrigens ist auch die ISBN aus a) ein surrogate key, ein künstlicher Schlüssel, der von den Buchverlagen eingeführt wurde, um die Identifikation von Büchern zu erleichtern.

[Bearbeiten] Fremdschlüssel

Ein Primärschlüssel (unterstrichen) einer Relation kann Fremdschlüssel einer anderen werden
Ein Primärschlüssel (unterstrichen) einer Relation kann Fremdschlüssel einer anderen werden

Ein Fremdschlüssel ist ein Schlüsselkandidat einer Relation, der in einer anderen Relation als Attributmenge auftaucht. Er dient als Verweis zwischen zwei Relationen, d. h. er zeigt an, welche Tupel der Relationen inhaltlich miteinander in Verbindung stehen. Beispiele für Fremdschlüssel sind die beiden Attribute „Vorgesetzter“ und „Untergebener“ aus der Beispielrelation c) der Einleitung: Hier wird jeweils die „Personalnummer“ eines Angestellten angegeben. Doch mit einer solchen Nummer lässt sich im Alltag eher wenig anfangen; viel wichtiger sind Name, Abteilung, Beschäftigung und ähnliche Informationen. Deshalb wird hier höchstwahrscheinlich eine weitere Relation existieren, die aus einer Attributmenge wie {Personalnummer, Name, Abteilung, Beschäftigung, ...} besteht. Diese Relation wird ebenso höchstwahrscheinlich den Primärschlüssel {Personalnummer} besitzen; es bietet sich also an, Personalnummer als Fremdschlüssel einzusetzen.

[Bearbeiten] Definition

Seien R, S Relationen und die Attributmenge α der Primärschlüssel von R. Wenn eine kompatible Attributmenge β aus S ein Fremdschlüssel bzgl. α sein soll, so müssen die Werte von β Teilmenge der Werte des Primärschlüssels α in R sein.

Eine Attributmenge ist dann kompatibel zu einer anderen, wenn die Wertebereiche der beteiligten Attribute gleich sind, also dom(α) = dom(β).

[Bearbeiten] Fremdschlüssel und Beziehungstypen

In der Datenbankwelt unterscheidet man verschiedene Arten von Beziehungen zwischen zwei Relationen R und S. Im Falle relationaler Datenbanken werden die folgenden Beziehungsarten unterschieden:

  1. 1:1-Beziehung, einem Datensatz aus R ist bis zu 1 anderer aus S zugeordnet, der aus S genau einem aus R
  2. 1:n-Beziehung, einem Datensatz aus R sind einer oder mehrere andere Datensätze aus S zugeordnet, jedem aus S aber genau einer aus R
  3. n:m-Beziehung, einem Datensatz aus R können einer oder mehrere aus S zugeordnet sein, und einem aus S mehrere aus R

(Fall n/mc = keiner einer oder mehrere)

Die Fälle 1. und 2. werden implementiert, indem S den Primärschlüssel aus R als Fremdschlüssel enthält. Im Falle der 1:1-Beziehung wird dies auch der Primärschlüssel. Für die n:m-Beziehung braucht man, wie in Beispiel c) oben, eine eigene Relation, die die Primärschlüssel beider Relationen als Fremdschlüssel erhält. Beide Attributmengen zusammen sind der Primärschlüssel dieser "Verknüpfungsrelation".

Hinweis: Die eigentlichen sog. Kardinalitäten dieser drei Beziehungstypen sind [1,1]:[0,1], [1,1]:[0,*], [0,*]:[0,*]. "*" steht für "beliebig viele".

[Bearbeiten] Siehe auch

[Bearbeiten] Literatur

Static Wikipedia (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 (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 2006 (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 - 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 February 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