CINXE.COM
Schlüssel (Datenbank) – Wikipedia
<!DOCTYPE html> <html class="client-nojs" lang="de" dir="ltr"> <head> <meta charset="UTF-8"> <title>Schlüssel (Datenbank) – Wikipedia</title> <script>(function(){var className="client-js";var cookie=document.cookie.match(/(?:^|; )dewikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":[",\t.",".\t,"],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"wgRequestId":"c00a6e5f-32cf-439f-9adb-d4bd0452e24d","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Schlüssel_(Datenbank)","wgTitle":"Schlüssel (Datenbank)","wgCurRevisionId":247831262,"wgRevisionId":247831262,"wgArticleId":858540,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*" ],"wgCategories":["Datenbankschlüssel"],"wgPageViewLanguage":"de","wgPageContentLanguage":"de","wgPageContentModel":"wikitext","wgRelevantPageName":"Schlüssel_(Datenbank)","wgRelevantArticleId":858540,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":true,"wgFlaggedRevsParams":{"tags":{"accuracy":{"levels":1}}},"wgStableRevisionId":247831262,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"de","pageLanguageDir":"ltr","pageVariantFallbacks":"de"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":true,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":20000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":true, "wgVector2022LanguageInHeader":false,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q3667566","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.gadget.citeRef":"ready","ext.gadget.defaultPlainlinks":"ready","ext.gadget.dewikiCommonHide":"ready","ext.gadget.dewikiCommonLayout":"ready","ext.gadget.dewikiCommonStyle":"ready","ext.gadget.NavFrame":"ready","ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.math.styles":"ready","skins.vector.styles.legacy":"ready","ext.flaggedRevs.basic":"ready","mediawiki.codex.messagebox.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready", "codex-search-styles":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["mediawiki.page.media","site","mediawiki.page.ready","mediawiki.toc","skins.vector.legacy.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.flaggedRevs.advanced","ext.gadget.createNewSection","ext.gadget.WikiMiniAtlas","ext.gadget.OpenStreetMap","ext.gadget.CommonsDirekt","ext.gadget.donateLink","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.compactlinks","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=de&modules=codex-search-styles%7Cext.flaggedRevs.basic%7Cext.math.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cmediawiki.codex.messagebox.styles%7Cskins.vector.styles.legacy%7Cwikibase.client.init&only=styles&skin=vector"> <script async="" src="/w/load.php?lang=de&modules=startup&only=scripts&raw=1&skin=vector"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=de&modules=ext.gadget.NavFrame%2CciteRef%2CdefaultPlainlinks%2CdewikiCommonHide%2CdewikiCommonLayout%2CdewikiCommonStyle&only=styles&skin=vector"> <link rel="stylesheet" href="/w/load.php?lang=de&modules=site.styles&only=styles&skin=vector"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Schlüssel (Datenbank) – Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//de.m.wikipedia.org/wiki/Schl%C3%BCssel_(Datenbank)"> <link rel="alternate" type="application/x-wiki" title="Seite bearbeiten" href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (de)"> <link rel="EditURI" type="application/rsd+xml" href="//de.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://de.wikipedia.org/wiki/Schl%C3%BCssel_(Datenbank)"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de"> <link rel="alternate" type="application/atom+xml" title="Atom-Feed für „Wikipedia“" href="/w/index.php?title=Spezial:Letzte_%C3%84nderungen&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin-vector-legacy mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Schlüssel_Datenbank rootpage-Schlüssel_Datenbank skin-vector action-view"><div id="mw-page-base" class="noprint"></div> <div id="mw-head-base" class="noprint"></div> <div id="content" class="mw-body" role="main"> <a id="top"></a> <div id="siteNotice"><!-- CentralNotice --></div> <div class="mw-indicators"> </div> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Schlüssel (Datenbank)</span></h1> <div id="bodyContent" class="vector-body"> <div id="siteSub" class="noprint">aus Wikipedia, der freien Enzyklopädie</div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="contentSub2"></div> <div id="jump-to-nav"></div> <a class="mw-jump-link" href="#mw-head">Zur Navigation springen</a> <a class="mw-jump-link" href="#searchInput">Zur Suche springen</a> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><div class="hintergrundfarbe1 rahmenfarbe1 navigation-not-searchable noprint hatnote navigation-not-searchable" style="border-bottom-style: solid; border-bottom-width: 1px; font-size:95%; margin-bottom:1em; padding: 0.25em; overflow: hidden; word-break: break-word; word-wrap: break-word;" id="Vorlage_Dieser_Artikel"><div class="noviewer noresize" style="display: table-cell; padding-bottom: 0.2em; padding-left: 0.25em; padding-right: 1em; padding-top: 0.2em; vertical-align: middle;" id="bksicon" aria-hidden="true" role="presentation"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Disambig-dark.svg/25px-Disambig-dark.svg.png" decoding="async" width="25" height="19" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Disambig-dark.svg/38px-Disambig-dark.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Disambig-dark.svg/50px-Disambig-dark.svg.png 2x" data-file-width="444" data-file-height="340" /></span></span></div> <div style="display: table-cell; vertical-align: middle; width: 100%;"> <div role="navigation"> Dieser Artikel beschreibt den Begriff Schlüssel, wie er in der <i>Datenbanktheorie</i> verwendet wird. Der Begriff Schlüssel als Suchkriterium zur Suche in Datenmengen wird in <a href="/wiki/Sekund%C3%A4rschl%C3%BCssel" title="Sekundärschlüssel">Sekundärschlüssel</a> erläutert.</div> </div></div> <p>Ein <b>Schlüssel</b> dient in einer <a href="/wiki/Relationale_Datenbank" title="Relationale Datenbank">relationalen Datenbank</a> dazu, die <a href="/wiki/Tupel_(Informatik)" title="Tupel (Informatik)">Tupel</a> (Datensätze, „Zeilen“) einer <a href="/wiki/Relation_(Datenbank)" title="Relation (Datenbank)">Relation</a> (Tabelle) eindeutig zu identifizieren, sie zu <a href="/wiki/Nummerung" title="Nummerung">nummern</a>. Ein Schlüssel ist dann eine Gruppe von Spalten (oder eine einzelne), die so ausgewählt wird, dass jede Tabellenzeile über die Werte dieser Spaltengruppe eine einmalige (und damit eindeutige) Wertekombination hat. </p> <div id="toc" class="toc" role="navigation" aria-labelledby="mw-toc-heading"><input type="checkbox" role="button" id="toctogglecheckbox" class="toctogglecheckbox" style="display:none" /><div class="toctitle" lang="de" dir="ltr"><h2 id="mw-toc-heading">Inhaltsverzeichnis</h2><span class="toctogglespan"><label class="toctogglelabel" for="toctogglecheckbox"></label></span></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#Einführung"><span class="tocnumber">1</span> <span class="toctext">Einführung</span></a> <ul> <li class="toclevel-2 tocsection-2"><a href="#Formale_Definition"><span class="tocnumber">1.1</span> <span class="toctext">Formale Definition</span></a></li> <li class="toclevel-2 tocsection-3"><a href="#Beispiele"><span class="tocnumber">1.2</span> <span class="toctext">Beispiele</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-4"><a href="#Schlüsselkandidat"><span class="tocnumber">2</span> <span class="toctext">Schlüsselkandidat</span></a></li> <li class="toclevel-1 tocsection-5"><a href="#Primärschlüssel_und_Alternativschlüssel"><span class="tocnumber">3</span> <span class="toctext">Primärschlüssel und Alternativschlüssel</span></a></li> <li class="toclevel-1 tocsection-6"><a href="#Sekundärschlüssel"><span class="tocnumber">4</span> <span class="toctext">Sekundärschlüssel</span></a></li> <li class="toclevel-1 tocsection-7"><a href="#Stellvertretender_Schlüssel"><span class="tocnumber">5</span> <span class="toctext">Stellvertretender Schlüssel</span></a></li> <li class="toclevel-1 tocsection-8"><a href="#Fremdschlüssel"><span class="tocnumber">6</span> <span class="toctext">Fremdschlüssel</span></a> <ul> <li class="toclevel-2 tocsection-9"><a href="#Definition"><span class="tocnumber">6.1</span> <span class="toctext">Definition</span></a></li> <li class="toclevel-2 tocsection-10"><a href="#Fremdschlüssel_und_Beziehungstypen"><span class="tocnumber">6.2</span> <span class="toctext">Fremdschlüssel und Beziehungstypen</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-11"><a href="#Anderweitige_Begriffsverwendungen"><span class="tocnumber">7</span> <span class="toctext">Anderweitige Begriffsverwendungen</span></a></li> <li class="toclevel-1 tocsection-12"><a href="#Siehe_auch"><span class="tocnumber">8</span> <span class="toctext">Siehe auch</span></a></li> <li class="toclevel-1 tocsection-13"><a href="#Literatur"><span class="tocnumber">9</span> <span class="toctext">Literatur</span></a></li> </ul> </div> <div class="mw-heading mw-heading2"><h2 id="Einführung"><span id="Einf.C3.BChrung"></span>Einführung</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&veaction=edit&section=1" title="Abschnitt bearbeiten: Einführung" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&action=edit&section=1" title="Quellcode des Abschnitts bearbeiten: Einführung"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In der Theorie der relationalen Datenbanken sind pro <a href="/wiki/Entit%C3%A4t_(Informatik)" title="Entität (Informatik)">Entitätstyp</a> (pro Tabelle) ein oder mehrere Schlüsselkandidaten (Spaltenkombinationen, die als Schlüssel möglich wären) erforderlich, welche definitionsgemäß jeweils eindeutig sein müssen. Von diesen Schlüsselkandidaten wird einer als Primärschlüssel ausgewählt und bei der Umsetzung der Entität als Datenbanktabelle als solcher implementiert. Abweichend von dieser Konvention gibt es auch Datenbanksysteme, die Tabellendefinitionen erlauben, ohne dass ein Primärschlüssel definiert wird. Solche Tabellen erlauben damit auch doppelte Datensätze und sind damit definitionsgemäß keine relationalen Entitäten. </p> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/Datei:PrimaryKey.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/1/12/PrimaryKey.svg/220px-PrimaryKey.svg.png" decoding="async" width="220" height="126" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/1/12/PrimaryKey.svg/330px-PrimaryKey.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/1/12/PrimaryKey.svg/440px-PrimaryKey.svg.png 2x" data-file-width="534" data-file-height="306" /></a><figcaption>Superschlüssel ⊇ Schlüsselkandidaten, aus diesen wird der Primärschlüssel gewählt</figcaption></figure> <p>In <a href="/wiki/Relationale_Datenbank" title="Relationale Datenbank">Relationalen Datenbanken</a> unterscheidet man die Schlüsselbegriffe </p> <dl><dt>Superschlüssel (gelegentlich auch <i>Oberschlüssel</i> genannt)</dt> <dd><a href="/wiki/Menge_(Mathematik)" title="Menge (Mathematik)">Menge</a> von <a href="/wiki/Attribut_(Datenbank)" class="mw-redirect" title="Attribut (Datenbank)">Attributen</a> (Spalten) in einer <a href="/wiki/Relation_(Datenbank)" title="Relation (Datenbank)">Relation</a> (Tabelle), die die <a href="/wiki/Tupel" title="Tupel">Tupel</a> (Zeilen) in dieser Relation eindeutig identifizieren, also bei paarweise ausgewählten Tupeln <i>immer</i> unterschiedliche Werte enthalten (man sagt auch „eindeutig sind“). Ein trivialer Superschlüssel wäre zum Beispiel die Menge <i>aller</i> Attribute einer Relation <i>gemeinsam</i>. (Trivial deswegen, weil eine Relation eine <i>Menge</i> von Tupeln ist. Die Elemente von Mengen <i>müssen</i> eindeutig sein, also darf es in einer Relation keine zwei gleichen Tupel geben.) Das bedeutet, ein Superschlüssel kann auch „unnötige Spalten“ beinhalten, die für die Schlüssel-Eigenschaft gar nicht notwendig sind.</dd> <dt>Schlüsselkandidat (auch <i>Kandidatenschlüssel</i> oder <i>Alternativschlüssel</i> genannt)</dt> <dd>Eine minimale Teilmenge der Attribute (Spalten) eines Superschlüssels, welche die Identifizierung der Tupel ermöglicht (Schlüsselkandidaten ⊆ Superschlüssel). „Minimal“: Bei einem Schlüsselkandidat kann keine Spalte mehr weggelassen werden; er würde dann nicht mehr eindeutig identifizieren.</dd> <dt>Primärschlüssel</dt> <dd>Der ausgewählte Schlüsselkandidat, der für die Abbildung der Relationen verwendet wird (für die Tabelle tatsächlich verwendet wird). Die Werte dieses Schlüssels werden in anderen, referenzierenden Tabellen als <i>Fremdschlüssel</i> verwendet: Wenn sich eine andere Tabelle auf die hiesige bezieht, wird dort der Primärschlüssel verwendet, um auf einen Datensatz der hiesigen Tabelle zu zeigen.</dd></dl> <div class="mw-heading mw-heading3"><h3 id="Formale_Definition">Formale Definition</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&veaction=edit&section=2" title="Abschnitt bearbeiten: Formale Definition" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&action=edit&section=2" title="Quellcode des Abschnitts bearbeiten: Formale Definition"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Es sei ein bestimmtes Relationenschema <i>R</i> (das Tabellen-Gerüst, d. h. alle Spalten) gegeben. Eine Teilmenge <i>S</i> der Attribute (der Spalten) des Schemas <i>R</i> heißt Schlüssel, wenn gilt: </p> <dl><dt>Eindeutigkeit</dt> <dd><i>R</i> darf keine zwei verschiedene Tupel enthalten, bei denen die Werte von S gleich sind.<br />Anzustreben ist, dass keine (mögliche) Ausprägung von <i>R</i> zwei verschiedene Tupel enthalten kann, bei denen die Werte von S gleich sind: Keine fachlich legale, mögliche Befüllung der Tabelle darf dazu führen, dass zwei (fachlich verschiedene) Zeilen zum selben Schlüsselwert führen.</dd> <dt>Definiertheit</dt> <dd>Manche Datenbanksysteme erlauben Null-Werte, sofern dadurch die Eindeutigkeit nicht verletzt wird.<br />Anzustreben ist, dass alle Einträge der Tabelle die Attribute aus S tatsächlich definieren, keiner der Einträge soll <a href="/wiki/Nullwert#NULL_in_SQL-Datenbanken" title="Nullwert">NULL</a> sein.</dd> <dt>Minimalität</dt> <dd>Damit ein Schlüssel auch Schlüsselkandidat ist, darf keine echte Teilmenge von <i>S</i> bereits die Bedingung der Eindeutigkeit erfüllen.</dd></dl> <div class="mw-heading mw-heading3"><h3 id="Beispiele">Beispiele</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&veaction=edit&section=3" title="Abschnitt bearbeiten: Beispiele" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&action=edit&section=3" title="Quellcode des Abschnitts bearbeiten: Beispiele"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <table class="wikitable" style="float:left;margin-right:1em;"> <caption>Literatur (a) </caption> <tbody><tr> <th bgcolor="#B3B7FF"><i>ISBN</i></th> <th>Autor</th> <th>Buchtitel</th> <th>… </th></tr> <tr> <td bgcolor="#B3B7FF">0001</td> <td>Hans</td> <td>V</td> <td>… </td></tr> <tr> <td bgcolor="#B3B7FF">0002</td> <td>Lutz</td> <td>W</td> <td>… </td></tr> <tr> <td bgcolor="#B3B7FF">0003</td> <td>Peter</td> <td>W</td> <td>… </td></tr> <tr> <td bgcolor="#B3B7FF">0004</td> <td>Peter</td> <td>X</td> <td>… </td></tr> <tr> <td bgcolor="#B3B7FF">0005</td> <td>Ralf</td> <td>Y</td> <td>… </td></tr> <tr> <td bgcolor="#B3B7FF">…</td> <td>…</td> <td>…</td> <td>… </td></tr></tbody></table> <table class="wikitable" style="float:left;margin-right:1em;"> <caption>Kunde (b) </caption> <tbody><tr> <th bgcolor="#B3B7FF"><i>Name</i></th> <th bgcolor="#B3B7FF"><i>Geburtstag</i></th> <th>Wohnort</th> <th>… </th></tr> <tr> <td bgcolor="#B3B7FF">Heinz Hoffmann</td> <td bgcolor="#B3B7FF">01.08.1966</td> <td>Norden, BBS</td> <td>… </td></tr> <tr> <td bgcolor="#B3B7FF">Alf Appel</td> <td bgcolor="#B3B7FF">08.11.1957</td> <td>Mömlingen</td> <td>… </td></tr> <tr> <td bgcolor="#B3B7FF">Sebastian Sonnenschein</td> <td bgcolor="#B3B7FF">04.08.1979</td> <td>Hamburg</td> <td>… </td></tr> <tr> <td bgcolor="#B3B7FF">Klaus Kleber</td> <td bgcolor="#B3B7FF">15.04.1970</td> <td>Frankfurt</td> <td>… </td></tr> <tr> <td bgcolor="#B3B7FF">Barbara Bachmann</td> <td bgcolor="#B3B7FF">17.10.1940</td> <td>Kirchheim</td> <td>… </td></tr> <tr> <td bgcolor="#B3B7FF">…</td> <td bgcolor="#B3B7FF">…</td> <td>…</td> <td>… </td></tr></tbody></table> <table class="wikitable"> <caption>IstChefVon (c) </caption> <tbody><tr> <th bgcolor="#B3B7FF"><i>direkter <br />Vorgesetzter (ID)</i></th> <th bgcolor="#B3B7FF"><i>Mitarbeiter (ID)</i> </th></tr> <tr> <td bgcolor="#B3B7FF">002</td> <td bgcolor="#B3B7FF">104 </td></tr> <tr> <td bgcolor="#B3B7FF">030</td> <td bgcolor="#B3B7FF">512 </td></tr> <tr> <td bgcolor="#B3B7FF">115</td> <td bgcolor="#B3B7FF">519 </td></tr> <tr> <td bgcolor="#B3B7FF">234</td> <td bgcolor="#B3B7FF">993 </td></tr> <tr> <td bgcolor="#B3B7FF">234</td> <td bgcolor="#B3B7FF">670 </td></tr> <tr> <td bgcolor="#B3B7FF">…</td> <td bgcolor="#B3B7FF">… </td></tr></tbody></table> <dl><dt>a</dt> <dd>Hier ist der Schlüssel ein einzelnes Attribut. Die ISBN eignet sich dafür sehr gut, denn keine zwei Bücher haben dieselbe ISBN. Bücher können allerdings sehr wohl den gleichen Titel haben oder vom selben Autor stammen. <i>Anm.: Die ISBN (<a href="/wiki/International_Standard_Book_Number" class="mw-redirect" title="International Standard Book Number">International Standard Book Number</a>) wird hier nur symbolisch als Laufnummer dargestellt, eine ISBN ist in Wirklichkeit komplizierter aufgebaut.</i></dd> <dt>b</dt> <dd>Hier wird eine Kombination zweier Attribute als Schlüssel verwendet. Der Entwickler der Datenbank geht davon aus, dass es keine Kunden gibt, die denselben Namen tragen und am selben Tag Geburtstag haben. Falls es in diesem Beispiel doch Kunden geben sollte, die denselben Namen tragen und am selben Tag Geburtstag haben, dann kann der hier ausgewählte Teil der Attribute nicht als Schlüssel verwendet werden.</dd> <dt>c</dt> <dd>Hier kommen nur <i>alle</i> Attribute der Relation als Schlüssel in Frage. Anhand der Personalnummer wird dargestellt, welcher Angestellte einer Firma Vorgesetzter welches anderen Angestellten ist. <i>Anm.: In den Datensätzen dieser Relation kommen ausschließlich linkseindeutige Tupel vor (1:n), weil aus fachlich-inhaltlichen Gründen für gewöhnlich Mitarbeiter nur einen direkten Vorgesetzten haben. Grundsätzlich können selbstverständlich Tupel von Relationen, die Beziehungstypen sind, alle möglichen n:m-Zuordnungen enthalten.</i></dd></dl> <div class="mw-heading mw-heading2"><h2 id="Schlüsselkandidat"><span id="Schl.C3.BCsselkandidat"></span>Schlüsselkandidat</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&veaction=edit&section=4" title="Abschnitt bearbeiten: Schlüsselkandidat" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&action=edit&section=4" title="Quellcode des Abschnitts bearbeiten: Schlüsselkandidat"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Ein <b>Schlüsselkandidat</b> (englisch <b>candidate key</b>) ist eine <i>minimale</i> Menge von Attributen, die die Tupel (Datensätze) einer Relation eindeutig identifiziert. Die formale Definition lautet: Ist <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R(A)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>R</mi> <mo stretchy="false">(</mo> <mi>A</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle R(A)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/c95894fb6bbed1be08ccd3e6c30de481a9f3d5a7" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:5.316ex; height:2.843ex;" alt="{\displaystyle R(A)}"></span> eine Relation über der Menge von Attributen <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle A:=\{A_{1},...,A_{n}\}}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>A</mi> <mo>:=</mo> <mo fence="false" stretchy="false">{</mo> <msub> <mi>A</mi> <mrow class="MJX-TeXAtom-ORD"> <mn>1</mn> </mrow> </msub> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mi>A</mi> <mrow class="MJX-TeXAtom-ORD"> <mi>n</mi> </mrow> </msub> <mo fence="false" stretchy="false">}</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle A:=\{A_{1},...,A_{n}\}}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/c27090815afcebb72d252d068e3249bc4d80b7c4" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:18.742ex; height:2.843ex;" alt="{\displaystyle A:=\{A_{1},...,A_{n}\}}"></span>, so gilt: <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \alpha \subseteq A}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>α<!-- α --></mi> <mo>⊆<!-- ⊆ --></mo> <mi>A</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \alpha \subseteq A}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/4e11e8b580e28d93960f85aa056adabdac1770ef" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:6.329ex; height:2.343ex;" alt="{\displaystyle \alpha \subseteq A}"></span> ist genau dann ein Schlüsselkandidat von R, wenn gilt: <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \alpha {\dot {\rightarrow }}A}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>α<!-- α --></mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mover> <mo stretchy="false">→<!-- → --></mo> <mo>˙<!-- ˙ --></mo> </mover> </mrow> </mrow> <mi>A</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \alpha {\dot {\rightarrow }}A}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/56797177cdb1b5923509f2d7c856ecc6c8d8429c" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.554ex; height:2.343ex;" alt="{\displaystyle \alpha {\dot {\rightarrow }}A}"></span>. </p><p>Hierbei wird der Begriff der <a href="/wiki/Funktionale_Abh%C3%A4ngigkeit" title="Funktionale Abhängigkeit">vollen funktionalen Abhängigkeit</a> – dargestellt durch <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \alpha {\dot {\rightarrow }}A}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>α<!-- α --></mi> <mrow class="MJX-TeXAtom-ORD"> <mrow class="MJX-TeXAtom-ORD"> <mover> <mo stretchy="false">→<!-- → --></mo> <mo>˙<!-- ˙ --></mo> </mover> </mrow> </mrow> <mi>A</mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \alpha {\dot {\rightarrow }}A}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/56797177cdb1b5923509f2d7c856ecc6c8d8429c" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.554ex; height:2.343ex;" alt="{\displaystyle \alpha {\dot {\rightarrow }}A}"></span> – verwendet. Hier ist A von <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \alpha }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>α<!-- α --></mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \alpha }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b79333175c8b3f0840bfb4ec41b8072c83ea88d3" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.488ex; height:1.676ex;" alt="{\displaystyle \alpha }"></span> voll funktional abhängig, was bedeutet: </p> <ol><li>Haben zwei Tupel in den Schlüsselattributen (<span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \alpha }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>α<!-- α --></mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \alpha }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b79333175c8b3f0840bfb4ec41b8072c83ea88d3" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.488ex; height:1.676ex;" alt="{\displaystyle \alpha }"></span>) dieselben Werte, so haben sie auch in allen übrigen Attributen (A) dieselben Werte. <i>Und:</i></li> <li>Entfernt man ein Attribut aus <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \alpha }"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>α<!-- α --></mi> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \alpha }</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/b79333175c8b3f0840bfb4ec41b8072c83ea88d3" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.488ex; height:1.676ex;" alt="{\displaystyle \alpha }"></span>, so gilt Eigenschaft 1 nicht mehr.</li></ol> <p>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 <b>minimal identifizierend</b>. Für die Beispielrelationen der Einleitung ergeben sich folgende Schlüsselkandidaten: </p> <dl><dt>a</dt> <dd>{ISBN}, {Autor, Buchtitel}</dd> <dt>b</dt> <dd>{Name, Geburtstag}</dd> <dt>c</dt> <dd>{Vorgesetzter, Untergebener}</dd></dl> <p>Aus der Liste der Superschlüssel wurden also gerade diejenigen ausgewählt, die minimal sind. Gelegentlich wird auch die Bezeichnung <b>Kandidatenschlüssel</b> verwendet, was eine wörtliche Übersetzung des englischen Fachbegriffs <i>candidate key</i> ist. </p> <div class="mw-heading mw-heading2"><h2 id="Primärschlüssel_und_Alternativschlüssel"><span id="Prim.C3.A4rschl.C3.BCssel_und_Alternativschl.C3.BCssel"></span><span id="Alternativschl.C3.BCssel"></span><span id="Alternativschlüssel"></span><span id="Prim.C3.A4rschl.C3.BCssel"></span><span id="Primärschlüssel"></span>Primärschlüssel und Alternativschlüssel</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&veaction=edit&section=5" title="Abschnitt bearbeiten: Primärschlüssel und Alternativschlüssel" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&action=edit&section=5" title="Quellcode des Abschnitts bearbeiten: Primärschlüssel und Alternativschlüssel"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Um die Tupel (=Zeilen) in einer Relation (=Tabelle) eindeutig identifizieren zu können, wird für die Relation ein <b>Primärschlüssel</b> angegeben – einer der Schlüsselkandidaten. Der Primärschlüssel wird üblicherweise so ausgewählt, dass er möglichst klein ist, das heißt möglichst wenige Attribute umfasst bzw. einen möglichst simplen Datentyp hat. Er sollte zeitlich stabil sein, seine Werte sollten sich also während des gesamten Lebenszyklus der betroffenen Tabellen nicht ändern, da dies auch Änderungen an den zugehörigen Fremdschlüsselwerten mit sich zöge (was durch sogenannte Kaskadierung zwar prinzipiell möglich, aber oft aufwendig ist). </p><p>Darüber hinaus muss der ausgewählte Primärschlüssel tatsächlich die eindeutige Identifizierbarkeit der realen Objekte erlauben, die durch die Tupel der Relation repräsentiert werden. Wählt man beispielsweise die Kombination <i>{Name, Geburtstag}</i> als Primärschlüssel aus, so legt man damit auch fest, dass es keine zwei gleichnamigen Personen geben darf, die am gleichen Tag Geburtstag haben (Eindeutigkeit, uniqueness). Durch die Einführung von Surrogatschlüsseln (künstliche Schlüssel, z. B. eine Laufnummer) wird dieses Problem in jedem Fall vermieden. Für die Beispielrelationen aus der Einleitung bieten sich die folgenden Primärschlüssel an (sind <i>Schlüsselkandidaten</i>): </p> <dl><dt>a</dt> <dd>{ISBN}</dd> <dt>b</dt> <dd>{Name, Geburtstag}</dd> <dt>c</dt> <dd>{Vorgesetzter, Untergebener}</dd></dl> <p>Unter der Voraussetzung, dass keine Surrogatschlüssel eingeführt werden sollen, ist die Entscheidung bei den Beispielen b) und c) hinfällig, 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 <b>kombinierten (</b>auch:<b> zusammengesetzten) Primärschlüssel</b> oder einem <b>Verbundschlüssel</b>. Durch die Auswahl des Primärschlüssels werden alle anderen Schlüsselkandidaten der Relation automatisch zu <b>Alternativschlüsseln</b>. In unseren Beispielrelationen wären dies: </p> <dl><dt>a</dt> <dd>{Autor, Buchtitel}</dd> <dt>b</dt> <dd>keine</dd> <dt>c</dt> <dd>keine</dd></dl> <p>Alternativschlüssel haben den Zweck, dass in der Tabelle Eindeutigkeit bei allen Schlüsselkandidaten durchgesetzt wird, nicht nur beim Primärschlüssel. (Dadurch sind Alternativschlüssel prinzipiell geeignet, in einer anderen Relation als Fremdschlüssel verwendet zu werden). </p> <div class="mw-heading mw-heading2"><h2 id="Sekundärschlüssel"><span id="Sekund.C3.A4rschl.C3.BCssel"></span>Sekundärschlüssel</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&veaction=edit&section=6" title="Abschnitt bearbeiten: Sekundärschlüssel" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&action=edit&section=6" title="Quellcode des Abschnitts bearbeiten: Sekundärschlüssel"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="hauptartikel" role="navigation"><span class="hauptartikel-pfeil" title="siehe" aria-hidden="true" role="presentation">→ </span><i><span class="hauptartikel-text">Hauptartikel</span>: <a href="/wiki/Sekund%C3%A4rschl%C3%BCssel" title="Sekundärschlüssel">Sekundärschlüssel</a></i></div> <p>Sekundärschlüssel sind Attributgruppen, die häufig zur Beschreibung einzelner und mehrerer Tupel benutzt werden (Suchbegriff). So kann etwa die Postleitzahl in einer Adresstabelle als Sekundärschlüssel infrage kommen. </p><p>In der Datenbank können Sekundärschlüssel durch <a href="/wiki/Datenbankindex" title="Datenbankindex">Sekundärindizes</a> (umgangssprachlich einfach nur „Indizes“) implementiert werden. Ein Sekundärindex ist eine optionale, zusätzliche Suchstruktur einer Datenbank, die Tupel schneller auffindbar macht, indem das Durchsuchen des gesamten Datenbestandes vermieden wird (genau so wie der Index eines Buches, durch den Begriffe gezielt aufgefunden werden können). </p><p>Sekundärschlüssel müssen nicht notwendigerweise eindeutig sein (lediglich die sogenannten Alternativschlüssel, die automatisch auch Sekundärschlüssel sind, sind eindeutig). Aber auch Fremdschlüssel (ebenfalls nicht zwingend eindeutig) sind Sekundärschlüssel, weil sie dazu dienen, Datensätze zu beschreiben (ordnen, gruppieren etc.). </p> <div class="mw-heading mw-heading2"><h2 id="Stellvertretender_Schlüssel"><span id="Stellvertretender_Schl.C3.BCssel"></span>Stellvertretender Schlüssel</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&veaction=edit&section=7" title="Abschnitt bearbeiten: Stellvertretender Schlüssel" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&action=edit&section=7" title="Quellcode des Abschnitts bearbeiten: Stellvertretender Schlüssel"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="hauptartikel" role="navigation"><span class="hauptartikel-pfeil" title="siehe" aria-hidden="true" role="presentation">→ </span><i><span class="hauptartikel-text">Hauptartikel</span>: <a href="/wiki/Surrogatschl%C3%BCssel" title="Surrogatschlüssel">Surrogatschlüssel</a></i></div> <p>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 in der Tabelle Kunde eine Person identifizieren, muss man stets Name und Geburtstag gleichzeitig angeben. Es ist daher oft wünschenswert, ein zusätzliches Attribut einzuführen, das als Primärschlüssel dient: Man nennt dies einen <b>stellvertretenden Schlüssel</b> (englisch <b>surrogate key</b>). Für Beispiel b) würde sich eine geschäftseigene Identifikationsnummer wie „Kundennummer“ oder eine fortlaufende Nummer anbieten. </p> <div class="mw-heading mw-heading2"><h2 id="Fremdschlüssel"><span id="Fremdschl.C3.BCssel"></span>Fremdschlüssel</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&veaction=edit&section=8" title="Abschnitt bearbeiten: Fremdschlüssel" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&action=edit&section=8" title="Quellcode des Abschnitts bearbeiten: Fremdschlüssel"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure typeof="mw:File/Frame"><a href="/wiki/Datei:Fremdschl%C3%BCssel-Prim%C3%A4rschl%C3%BCssel.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/de/d/db/Fremdschl%C3%BCssel-Prim%C3%A4rschl%C3%BCssel.png" decoding="async" width="275" height="375" class="mw-file-element" data-file-width="275" data-file-height="375" /></a><figcaption>Ein Primärschlüssel einer Relation kann Fremdschlüssel einer anderen werden</figcaption></figure> <p>Ein <b>Fremdschlüssel</b> ist ein Attribut oder eine Attributkombination einer Relation, welches auf einen Primärschlüssel (bzw. Schlüsselkandidaten) einer anderen oder der gleichen Relation verweist. </p><p>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 Attribute wie {Personalnummer, Name, Abteilung, Beschäftigung, …} enthält. Diese Relation wird ebenso höchstwahrscheinlich den Primärschlüssel {Personalnummer} besitzen; es bietet sich also an, Personalnummer als Fremdschlüssel zu benutzen. </p> <div class="mw-heading mw-heading3"><h3 id="Definition">Definition</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&veaction=edit&section=9" title="Abschnitt bearbeiten: Definition" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&action=edit&section=9" title="Quellcode des Abschnitts bearbeiten: Definition"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>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. (vgl. <a href="/wiki/Referentielle_Integrit%C3%A4t" title="Referentielle Integrität">referentielle Integrität</a>) </p><p>Eine Attributmenge ist dann <i>kompatibel</i> zu einer anderen, wenn die Wertebereiche der beteiligten Attribute gleich sind, also <i>dom(α) = dom(β)</i>. </p> <div class="mw-heading mw-heading3"><h3 id="Fremdschlüssel_und_Beziehungstypen"><span id="Fremdschl.C3.BCssel_und_Beziehungstypen"></span>Fremdschlüssel und Beziehungstypen</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&veaction=edit&section=10" title="Abschnitt bearbeiten: Fremdschlüssel und Beziehungstypen" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&action=edit&section=10" title="Quellcode des Abschnitts bearbeiten: Fremdschlüssel und Beziehungstypen"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In der Datenbankwelt unterscheidet man verschiedene Arten von Beziehungen zwischen zwei Relationen R und S. Der Begriff „Relation“ ist – für das bessere Verständnis – mit der Tabelle gleichzusetzen. Im Falle relationaler Datenbanken werden die folgenden Beziehungsarten unterschieden: </p> <ol><li><i>1:1-Beziehung</i>, einem jeden Datensatz aus R ist maximal 1 Datensatz aus S zugeordnet; einem jeden Datensatz aus S ist maximal 1 Datensatz aus R zugeordnet</li> <li><i>1:n-Beziehung</i>, einem jeden Datensatz aus R ist/sind kein Datensatz, ein Datensatz oder mehrere Datensätze aus S zugeordnet; einem jeden Datensatz aus S ist maximal 1 Datensatz aus R zugeordnet</li> <li><i>n:m-Beziehung</i>, einem jeden Datensatz aus R kann/können ein Datensatz oder mehrere Datensätze aus S zugeordnet sein; einem jeden Datensatz aus S kann/können mehrere Datensätze aus R zugeordnet sein.</li></ol> <p>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“. </p><p>Hinweis: Die eigentlichen sogenannten <i><a href="/wiki/Kardinalit%C3%A4t_(Datenbankmodellierung)" title="Kardinalität (Datenbankmodellierung)">Kardinalitäten</a></i> dieser drei Beziehungstypen sind 1:1 ⇒ [0,1]:[0,1], 1:n ⇒ [0,1]:[0,*] und n:m ⇒ [0,*]:[0,*]. Das Zeichen „*“ steht für „beliebig viele“. </p> <div class="mw-heading mw-heading2"><h2 id="Anderweitige_Begriffsverwendungen">Anderweitige Begriffsverwendungen</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&veaction=edit&section=11" title="Abschnitt bearbeiten: Anderweitige Begriffsverwendungen" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&action=edit&section=11" title="Quellcode des Abschnitts bearbeiten: Anderweitige Begriffsverwendungen"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Folgende Begriffe sind keine Schlüssel im Sinne der relationalen Datenbanken: </p> <ul><li><i><a href="/wiki/Sekund%C3%A4rschl%C3%BCssel" title="Sekundärschlüssel">Suchschlüssel</a></i>: Ein Attribut oder eine Attributkombination einer Relation, die als Suchkriterium dient. Ein Suchschlüssel muss nicht notwendigerweise auch ein identifizierender Schlüssel sein. Es können sich also auch mehrere Datensätze über den gleichen Schlüsselwert qualifizieren.</li></ul> <p>Schlüssel können auch nach der Kategorie ihrer Herleitung als natürliche oder künstliche Schlüssel unterschieden werden. </p> <ul><li><i><a href="/wiki/Sprechender_Schl%C3%BCssel" title="Sprechender Schlüssel">sprechender Schlüssel</a></i> (auch <i>natürlicher Schlüssel</i> genannt): Ein Schlüsselkandidat, der im Tupel auf natürliche Weise vorhanden ist. Ein solcher Schlüssel besitzt also auch in der realen Welt eine Bedeutung, wie z. B. „Fahrgestellnummer“ bei polizeilich zugelassenen Kfz. Bei sprechenden Schlüssel ist zu beachten, dass die Schlüsseldomäne zerbrechen kann, falls die Felddomäne nicht mit Bedacht gewählt wird. So können etwa fünfstellige Kfz-Nummern aufgrund des Wachstums in den Neufahrzeugzulassungen irgendwann mal zu klein sein, was eine entsprechende Reorganisation der Schlüsselbezeichnungen erfordert. Wenn versucht wird, im Schlüssel auch sprechende Gruppenzuordnungen zu codieren, sind Schlüsselbrüche sehr wahrscheinlich, da die Nummernbereiche nicht fortlaufend verwendet werden. Darüber hinaus verletzt eine solche Praxis auch das Normalisierungsgebot, deshalb sollte eine Gruppenzuordnung über ein Attributfeld oder gar eine N:M-Zuordnungstabelle vorgenommen werden. Oft sind natürliche Schlüssel sinnvoll, um beispielsweise die Datensätze in der Chronologie ihrer Entstehung zu sortieren, oder werden vom Auftraggeber zwingend verlangt. Beispielsweise folgen die Kontennummern den Vorgaben des <a href="/wiki/Kontenrahmen" title="Kontenrahmen">Kontenrahmens</a>. Bei der Auslegung der Schlüsseldomäne sind Kriterien wie geplante Kardinalität, Lesbarkeit und Handhabung durch die Anwender genügend zu berücksichtigen.</li> <li><i>stellvertretender Schlüssel</i> (<a href="/wiki/Surrogatschl%C3%BCssel" title="Surrogatschlüssel">Surrogatschlüssel</a>): Ein künstlich erzeugtes, im Tupel zuvor gar nicht vorkommendes Attribut, das die Tupel der Relation identifiziert, das häufig als Primärschlüssel herangezogen wird. Triviales Beispiel: Fortlaufende Belegnummer. Surrogatschlüssel werden etwa in der <a href="/wiki/Online_Analytical_Processing" title="Online Analytical Processing">OLAP</a>-Technologie angewendet, wo sehr breite, zusammengesetzte Schlüssel auf einen kompakteren, künstlichen Surrogatekey umgeschlüsselt werden. In heterogenen Anwendungssystemen wird der Surrogatekey für eine bestimmte Entität vom hierzu gekennzeichneten <i>führenden System</i> vergeben. Werden Datensätze über Schnittstelle an Zweitsysteme durchgereicht, so müssen neben dem Schlüsselattribut, welches beispielsweise in einer Bewegungstabelle verwendet wird, allenfalls auch die zugehörige Entität mit den Stammdaten ans Zweitsystem übergeben werden.</li></ul> <div class="mw-heading mw-heading2"><h2 id="Siehe_auch">Siehe auch</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&veaction=edit&section=12" title="Abschnitt bearbeiten: Siehe auch" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&action=edit&section=12" title="Quellcode des Abschnitts bearbeiten: Siehe auch"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/Integrit%C3%A4tsbedingung" title="Integritätsbedingung">Integritätsbedingung</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&veaction=edit&section=13" title="Abschnitt bearbeiten: Literatur" class="mw-editsection-visualeditor"><span>Bearbeiten</span></a><span class="mw-editsection-divider"> | </span><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&action=edit&section=13" title="Quellcode des Abschnitts bearbeiten: Literatur"><span>Quelltext bearbeiten</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Andreas Heuer, Gunter Saake: <i>Datenbanken. Konzepte und Sprachen.</i> MITP Verlag, <a href="/wiki/Spezial:ISBN-Suche/3826606191" class="internal mw-magiclink-isbn">ISBN 3-8266-0619-1</a></li> <li>A. Eickler, <a href="/wiki/Alfons_Kemper" title="Alfons Kemper">A. Kemper</a>: <i>Datenbanksysteme.</i> Oldenbourg Verlag, <a href="/wiki/Spezial:ISBN-Suche/3486273922" class="internal mw-magiclink-isbn">ISBN 3-486-27392-2</a></li></ul></div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Abgerufen von „<a dir="ltr" href="https://de.wikipedia.org/w/index.php?title=Schlüssel_(Datenbank)&oldid=247831262">https://de.wikipedia.org/w/index.php?title=Schlüssel_(Datenbank)&oldid=247831262</a>“</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Wikipedia:Kategorien" title="Wikipedia:Kategorien">Kategorie</a>: <ul><li><a href="/wiki/Kategorie:Datenbankschl%C3%BCssel" title="Kategorie:Datenbankschlüssel">Datenbankschlüssel</a></li></ul></div></div> </div> </div> <div id="mw-navigation"> <h2>Navigationsmenü</h2> <div id="mw-head"> <nav id="p-personal" class="mw-portlet mw-portlet-personal vector-user-menu-legacy vector-menu" aria-labelledby="p-personal-label" > <h3 id="p-personal-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Meine Werkzeuge</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anonuserpage" class="mw-list-item"><span title="Benutzerseite der IP-Adresse, von der aus du Änderungen durchführst">Nicht angemeldet</span></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Spezial:Meine_Diskussionsseite" title="Diskussion über Änderungen von dieser IP-Adresse [n]" accesskey="n"><span>Diskussionsseite</span></a></li><li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Spezial:Meine_Beitr%C3%A4ge" title="Eine Liste der Bearbeitungen, die von dieser IP-Adresse gemacht wurden [y]" accesskey="y"><span>Beiträge</span></a></li><li id="pt-createaccount" class="mw-list-item"><a href="/w/index.php?title=Spezial:Benutzerkonto_anlegen&returnto=Schl%C3%BCssel+%28Datenbank%29" title="Wir ermutigen dich dazu, ein Benutzerkonto zu erstellen und dich anzumelden. Es ist jedoch nicht zwingend erforderlich."><span>Benutzerkonto erstellen</span></a></li><li id="pt-login" class="mw-list-item"><a href="/w/index.php?title=Spezial:Anmelden&returnto=Schl%C3%BCssel+%28Datenbank%29" title="Anmelden ist zwar keine Pflicht, wird aber gerne gesehen. [o]" accesskey="o"><span>Anmelden</span></a></li> </ul> </div> </nav> <div id="left-navigation"> <nav id="p-namespaces" class="mw-portlet mw-portlet-namespaces vector-menu-tabs vector-menu-tabs-legacy vector-menu" aria-labelledby="p-namespaces-label" > <h3 id="p-namespaces-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Namensräume</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected mw-list-item"><a href="/wiki/Schl%C3%BCssel_(Datenbank)" title="Seiteninhalt anzeigen [c]" accesskey="c"><span>Artikel</span></a></li><li id="ca-talk" class="mw-list-item"><a href="/wiki/Diskussion:Schl%C3%BCssel_(Datenbank)" rel="discussion" title="Diskussion zum Seiteninhalt [t]" accesskey="t"><span>Diskussion</span></a></li> </ul> </div> </nav> <nav id="p-variants" class="mw-portlet mw-portlet-variants emptyPortlet vector-menu-dropdown vector-menu" aria-labelledby="p-variants-label" > <input type="checkbox" id="p-variants-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-variants" class="vector-menu-checkbox" aria-labelledby="p-variants-label" > <label id="p-variants-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Deutsch</span> </label> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </nav> </div> <div id="right-navigation"> <nav id="p-views" class="mw-portlet mw-portlet-views vector-menu-tabs vector-menu-tabs-legacy vector-menu" aria-labelledby="p-views-label" > <h3 id="p-views-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Ansichten</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected mw-list-item"><a href="/wiki/Schl%C3%BCssel_(Datenbank)"><span>Lesen</span></a></li><li id="ca-ve-edit" class="mw-list-item"><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&veaction=edit" title="Diese Seite mit dem VisualEditor bearbeiten [v]" accesskey="v"><span>Bearbeiten</span></a></li><li id="ca-edit" class="collapsible mw-list-item"><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&action=edit" title="Den Quelltext dieser Seite bearbeiten [e]" accesskey="e"><span>Quelltext bearbeiten</span></a></li><li id="ca-history" class="mw-list-item"><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&action=history" title="Frühere Versionen dieser Seite [h]" accesskey="h"><span>Versionsgeschichte</span></a></li> </ul> </div> </nav> <nav id="p-cactions" class="mw-portlet mw-portlet-cactions emptyPortlet vector-menu-dropdown vector-menu" aria-labelledby="p-cactions-label" title="Weitere Optionen" > <input type="checkbox" id="p-cactions-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-cactions" class="vector-menu-checkbox" aria-labelledby="p-cactions-label" > <label id="p-cactions-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Weitere</span> </label> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </nav> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <h3 >Suche</h3> <form action="/w/index.php" id="searchform" class="vector-search-box-form"> <div id="simpleSearch" class="vector-search-box-inner" data-search-loc="header-navigation"> <input class="vector-search-box-input" type="search" name="search" placeholder="Wikipedia durchsuchen" aria-label="Wikipedia durchsuchen" autocapitalize="sentences" title="Durchsuche die Wikipedia [f]" accesskey="f" id="searchInput" > <input type="hidden" name="title" value="Spezial:Suche"> <input id="mw-searchButton" class="searchButton mw-fallbackSearchButton" type="submit" name="fulltext" title="Suche nach Seiten, die diesen Text enthalten" value="Suchen"> <input id="searchButton" class="searchButton" type="submit" name="go" title="Gehe direkt zu der Seite mit genau diesem Namen, falls sie vorhanden ist." value="Artikel"> </div> </form> </div> </div> </div> <div id="mw-panel" class="vector-legacy-sidebar"> <div id="p-logo" role="banner"> <a class="mw-wiki-logo" href="/wiki/Wikipedia:Hauptseite" title="Hauptseite"></a> </div> <nav id="p-navigation" class="mw-portlet mw-portlet-navigation vector-menu-portal portal vector-menu" aria-labelledby="p-navigation-label" > <h3 id="p-navigation-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Navigation</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Wikipedia:Hauptseite" title="Hauptseite besuchen [z]" accesskey="z"><span>Hauptseite</span></a></li><li id="n-topics" class="mw-list-item"><a href="/wiki/Portal:Wikipedia_nach_Themen"><span>Themenportale</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Spezial:Zuf%C3%A4llige_Seite" title="Zufällige Seite aufrufen [x]" accesskey="x"><span>Zufälliger Artikel</span></a></li> </ul> </div> </nav> <nav id="p-Mitmachen" class="mw-portlet mw-portlet-Mitmachen vector-menu-portal portal vector-menu" aria-labelledby="p-Mitmachen-label" > <h3 id="p-Mitmachen-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Mitmachen</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-Artikel-verbessern" class="mw-list-item"><a href="/wiki/Wikipedia:Beteiligen"><span>Artikel verbessern</span></a></li><li id="n-Neuerartikel" class="mw-list-item"><a href="/wiki/Hilfe:Neuen_Artikel_anlegen"><span>Neuen Artikel anlegen</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Autorenportal" title="Info-Zentrum über Beteiligungsmöglichkeiten"><span>Autorenportal</span></a></li><li id="n-help" class="mw-list-item"><a href="/wiki/Hilfe:%C3%9Cbersicht" title="Übersicht über Hilfeseiten"><span>Hilfe</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Spezial:Letzte_%C3%84nderungen" title="Liste der letzten Änderungen in Wikipedia [r]" accesskey="r"><span>Letzte Änderungen</span></a></li><li id="n-contact" class="mw-list-item"><a href="/wiki/Wikipedia:Kontakt" title="Kontaktmöglichkeiten"><span>Kontakt</span></a></li><li id="n-sitesupport" class="mw-list-item"><a href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_de.wikipedia.org&uselang=de" title="Unterstütze uns"><span>Spenden</span></a></li> </ul> </div> </nav> <nav id="p-tb" class="mw-portlet mw-portlet-tb vector-menu-portal portal vector-menu" aria-labelledby="p-tb-label" > <h3 id="p-tb-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Werkzeuge</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Spezial:Linkliste/Schl%C3%BCssel_(Datenbank)" title="Liste aller Seiten, die hierher verlinken [j]" accesskey="j"><span>Links auf diese Seite</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Spezial:%C3%84nderungen_an_verlinkten_Seiten/Schl%C3%BCssel_(Datenbank)" rel="nofollow" title="Letzte Änderungen an Seiten, die von hier verlinkt sind [k]" accesskey="k"><span>Änderungen an verlinkten Seiten</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Spezial:Spezialseiten" title="Liste aller Spezialseiten [q]" accesskey="q"><span>Spezialseiten</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&oldid=247831262" title="Dauerhafter Link zu dieser Seitenversion"><span>Permanenter Link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&action=info" title="Weitere Informationen über diese Seite"><span>Seiteninformationen</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Spezial:Zitierhilfe&page=Schl%C3%BCssel_%28Datenbank%29&id=247831262&wpFormIdentifier=titleform" title="Hinweise, wie diese Seite zitiert werden kann"><span>Artikel zitieren</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Spezial:URL-K%C3%BCrzung&url=https%3A%2F%2Fde.wikipedia.org%2Fwiki%2FSchl%25C3%25BCssel_%28Datenbank%29"><span>Kurzlink</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Spezial:QrCode&url=https%3A%2F%2Fde.wikipedia.org%2Fwiki%2FSchl%25C3%25BCssel_%28Datenbank%29"><span>QR-Code herunterladen</span></a></li> </ul> </div> </nav> <nav id="p-coll-print_export" class="mw-portlet mw-portlet-coll-print_export vector-menu-portal portal vector-menu" aria-labelledby="p-coll-print_export-label" > <h3 id="p-coll-print_export-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">Drucken/exportieren</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Spezial:DownloadAsPdf&page=Schl%C3%BCssel_%28Datenbank%29&action=show-download-screen"><span>Als PDF herunterladen</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Schl%C3%BCssel_(Datenbank)&printable=yes" title="Druckansicht dieser Seite [p]" accesskey="p"><span>Druckversion</span></a></li> </ul> </div> </nav> <nav id="p-wikibase-otherprojects" class="mw-portlet mw-portlet-wikibase-otherprojects vector-menu-portal portal vector-menu" aria-labelledby="p-wikibase-otherprojects-label" > <h3 id="p-wikibase-otherprojects-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">In anderen Projekten</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q3667566" title="Link zum verbundenen Objekt im Datenrepositorium [g]" accesskey="g"><span>Wikidata-Datenobjekt</span></a></li> </ul> </div> </nav> <nav id="p-lang" class="mw-portlet mw-portlet-lang vector-menu-portal portal vector-menu" aria-labelledby="p-lang-label" > <h3 id="p-lang-label" class="vector-menu-heading " > <span class="vector-menu-heading-label">In anderen Sprachen</span> </h3> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Kl%C3%AD%C4%8D_(datab%C3%A1ze)" title="Klíč (databáze) – Tschechisch" lang="cs" hreflang="cs" data-title="Klíč (databáze)" data-language-autonym="Čeština" data-language-local-name="Tschechisch" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-en mw-list-item"><a href="https://en.wikipedia.org/wiki/Unique_key" title="Unique key – Englisch" lang="en" hreflang="en" data-title="Unique key" data-language-autonym="English" data-language-local-name="Englisch" class="interlanguage-link-target"><span>English</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Cl%C3%A9_(structure_de_donn%C3%A9es)" title="Clé (structure de données) – Französisch" lang="fr" hreflang="fr" data-title="Clé (structure de données)" data-language-autonym="Français" data-language-local-name="Französisch" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Chiave_(basi_di_dati)" title="Chiave (basi di dati) – Italienisch" lang="it" hreflang="it" data-title="Chiave (basi di dati)" data-language-autonym="Italiano" data-language-local-name="Italienisch" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/%E4%B8%80%E6%84%8F%E6%80%A7%E5%88%B6%E7%B4%84" title="一意性制約 – Japanisch" lang="ja" hreflang="ja" data-title="一意性制約" data-language-autonym="日本語" data-language-local-name="Japanisch" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EC%9C%A0%EC%9D%BC_%ED%82%A4" title="유일 키 – Koreanisch" lang="ko" hreflang="ko" data-title="유일 키" data-language-autonym="한국어" data-language-local-name="Koreanisch" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-lv mw-list-item"><a href="https://lv.wikipedia.org/wiki/Datub%C4%81zes_atsl%C4%93ga" title="Datubāzes atslēga – Lettisch" lang="lv" hreflang="lv" data-title="Datubāzes atslēga" data-language-autonym="Latviešu" data-language-local-name="Lettisch" class="interlanguage-link-target"><span>Latviešu</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/N%C3%B8kkel_(database)" title="Nøkkel (database) – Norwegisch (Bokmål)" lang="nb" hreflang="nb" data-title="Nøkkel (database)" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegisch (Bokmål)" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/%D0%A3%D0%BD%D0%B8%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BB%D1%8E%D1%87" title="Уникальный ключ – Russisch" lang="ru" hreflang="ru" data-title="Уникальный ключ" data-language-autonym="Русский" data-language-local-name="Russisch" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Databasnyckel" title="Databasnyckel – Schwedisch" lang="sv" hreflang="sv" data-title="Databasnyckel" data-language-autonym="Svenska" data-language-local-name="Schwedisch" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%A3%D0%BD%D1%96%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D0%B8%D0%B9_%D0%BA%D0%BB%D1%8E%D1%87" title="Унікальний ключ – Ukrainisch" lang="uk" hreflang="uk" data-title="Унікальний ключ" data-language-autonym="Українська" data-language-local-name="Ukrainisch" class="interlanguage-link-target"><span>Українська</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q3667566#sitelinks-wikipedia" title="Links auf Artikel in anderen Sprachen bearbeiten" class="wbc-editpage">Links bearbeiten</a></span></div> </div> </nav> </div> </div> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> Diese Seite wurde zuletzt am 18. August 2024 um 10:09 Uhr bearbeitet.</li> <li id="footer-info-copyright"><div id="footer-info-copyright-stats" class="noprint"><a rel="nofollow" class="external text" href="https://pageviews.wmcloud.org/?pages=Schl%C3%BCssel_(Datenbank)&project=de.wikipedia.org">Abrufstatistik</a> · <a rel="nofollow" class="external text" href="https://xtools.wmcloud.org/authorship/de.wikipedia.org/Schl%C3%BCssel_(Datenbank)?uselang=de">Autoren</a> </div><div id="footer-info-copyright-separator"><br /></div><div id="footer-info-copyright-info"> <p>Der Text ist unter der Lizenz <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">„Creative-Commons Namensnennung – Weitergabe unter gleichen Bedingungen“</a> verfügbar; Informationen zu den Urhebern und zum Lizenzstatus eingebundener Mediendateien (etwa Bilder oder Videos) können im Regelfall durch Anklicken dieser abgerufen werden. Möglicherweise unterliegen die Inhalte jeweils zusätzlichen Bedingungen. Durch die Nutzung dieser Website erklären Sie sich mit den <span class="plainlinks"><a class="external text" href="https://foundation.wikimedia.org/wiki/Policy:Terms_of_Use/de">Nutzungsbedingungen</a> und der <a class="external text" href="https://foundation.wikimedia.org/wiki/Policy:Privacy_policy/de">Datenschutzrichtlinie</a></span> einverstanden.<br /> </p> Wikipedia® ist eine eingetragene Marke der Wikimedia Foundation Inc.</div></li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy/de">Datenschutz</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:%C3%9Cber_Wikipedia">Über Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:Impressum">Impressum</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Verhaltenskodex</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Entwickler</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/de.wikipedia.org">Statistiken</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Stellungnahme zu Cookies</a></li> <li id="footer-places-mobileview"><a href="//de.m.wikipedia.org/w/index.php?title=Schl%C3%BCssel_(Datenbank)&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile Ansicht</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> <script>(RLQ=window.RLQ||[]).push(function(){mw.log.warn("This page is using the deprecated ResourceLoader module \"codex-search-styles\".\n[1.43] Use a CodexModule with codexComponents to set your specific components used: https://www.mediawiki.org/wiki/Codex#Using_a_limited_subset_of_components");mw.config.set({"wgHostname":"mw-web.codfw.main-f69cdc8f6-5jk64","wgBackendResponseTime":156,"wgPageParseReport":{"limitreport":{"cputime":"0.053","walltime":"0.114","ppvisitednodes":{"value":271,"limit":1000000},"postexpandincludesize":{"value":5814,"limit":2097152},"templateargumentsize":{"value":991,"limit":2097152},"expansiondepth":{"value":8,"limit":100},"expensivefunctioncount":{"value":2,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":288,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 28.276 1 -total"," 59.57% 16.845 1 Vorlage:Anker"," 20.25% 5.726 1 Vorlage:Dieser_Artikel"," 16.02% 4.531 2 Vorlage:Hauptartikel"," 11.39% 3.221 1 Vorlage:Hinweisbaustein"]},"scribunto":{"limitreport-timeusage":{"value":"0.003","limit":"10.000"},"limitreport-memusage":{"value":629432,"limit":52428800}},"cachereport":{"origin":"mw-web.eqiad.main-fdc978966-6dn2s","timestamp":"20241119115201","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Schl\u00fcssel (Datenbank)","url":"https:\/\/de.wikipedia.org\/wiki\/Schl%C3%BCssel_(Datenbank)","sameAs":"http:\/\/www.wikidata.org\/entity\/Q3667566","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q3667566","author":{"@type":"Organization","name":"Autoren der Wikimedia-Projekte"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2005-08-11T12:44:33Z","headline":"eindeutiger Identifikator in einer Datenbanktabelle"}</script> </body> </html>