{"id":55000535,"date":"2021-08-01T00:00:00","date_gmt":"2021-08-01T00:00:00","guid":{"rendered":"http:\/\/access-basics.de\/535"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Grundlagen_der_Indizierung","status":"publish","type":"post","link":"https:\/\/access-basics.de\/index.php\/Grundlagen_der_Indizierung.html","title":{"rendered":"Grundlagen der Indizierung"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg08.met.vgwort.de\/na\/61120b5e9ae34feb9422886fd24cff10\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p class='introduction'>F&uuml;r die Tabellenfelder einer Access-Datenbank gibt es neben den &uuml;blichen Eigenschaften auch noch eine namens <b>Indiziert<\/b>. Au&szlig;erdem finden wir noch einen Dialog namens <b>Indizes<\/b>. Beides dient dazu, Indizes f&uuml;r einzelne Felder oder zusammengesetzte Indizes zu definieren. Was aber sind solche Indizes F&uuml;r Datenbanken mit &uuml;berschaubaren Datenmengen verwenden wir normalerweise nur einen Index f&uuml;r das Prim&auml;rschl&uuml;sselfeld. Wenn Sie jedoch gr&ouml;&szlig;ere Datenmengen schnell durchsuchen wollen, ist das Anlegen geeigneter Indizes wichtig. In diesem Artikel schauen wir uns die Grundlagen zur Indizierung an.<\/p>\n<h2>Beispieldatenbank<\/h2>\n<p>Die Beispiele dieses Artikels finden Sie in der Datenbank <b>2104_GrundlagenDerIndizierung.accdb<\/b>.<\/p>\n<h2>Indexarten<\/h2>\n<p>Es gibt verschiedene Arten von Indizes, die &uuml;ber die Eigenschaft <b>Indiziert <\/b>eines Feldes einer Tabelle definiert werden oder, im Falle von zusammengesetzten Indizes, &uuml;ber einen speziellen Dialog:<\/p>\n<ul>\n<li>Kein Index: Das Feld enth&auml;lt keine Indizierung.<\/li>\n<li>Eindeutiger Index: Das Feld enth&auml;lt eine Indizierung, die daf&uuml;r sorgt, dass jeder Wert nur einmal aufgenommen werden kann.<\/li>\n<li>Nicht eindeutiger Index: Das Feld enth&auml;lt eine Indizierung, aber Werte k&ouml;nnen auch mehrfach vorkommen.<\/li>\n<\/ul>\n<h2>Was ist ein Index<\/h2>\n<p>Dabei taucht die Frage auf, was &uuml;berhaupt ein Index ist. Unter Index versteht man eine Einrichtung, die daf&uuml;r sorgt, dass Datens&auml;tze schnell nach den Daten im indizierten Feld durchsucht oder nach diesen sortiert werden k&ouml;nnen.<\/p>\n<p>Dabei erstellt Access den Index im Hintergrund, indem f&uuml;r die einzelnen Werte des indizierten Feldes Zahlenwerte hinterlegt werden, die eine bestimmte Reihenfolge haben und somit eine schnelle Sortierung und eine schnelle Suche erlauben.<\/p>\n<p>Wie das genau funktioniert, erl&auml;utern wir in einem weiteren Artikel im Detail. Hier soll es zun&auml;chst um die M&ouml;glichkeiten der Benutzeroberfl&auml;che zum Einrichten von Indizes und die Auswirkungen dieser Indizes gehen.<\/p>\n<h2>Welche Felder k&ouml;nnen indiziert werden<\/h2>\n<p>Sie k&ouml;nnen nicht alle Felder mit einem Index versehen. Grunds&auml;tzlich ist das m&ouml;glich bei den folgenden Felddatentypen:<\/p>\n<ul>\n<li><b>Kurzer Text<\/b><\/li>\n<li><b>Langer Text<\/b><\/li>\n<li><b>Zahl<\/b><\/li>\n<li><b>Gro&szlig;e Ganzzahl<\/b><\/li>\n<li><b>Datum\/Uhrzeit<\/b><\/li>\n<li><b>Datum\/Uhrzeit erweitert<\/b><\/li>\n<li><b>W&auml;hrung<\/b><\/li>\n<li><b>Autowert<\/b><\/li>\n<li><b>Ja\/Nein <\/b>(nicht empfehlenswert, da keine besondere Performancesteigerung zu erwarten)<\/li>\n<li><b>Link<\/b><\/li>\n<\/ul>\n<p>F&uuml;r folgende Felddatentypen k&ouml;nnen Sie grunds&auml;tzlich keinen Index definieren:<\/p>\n<ul>\n<li><b>OLE-Objekt<\/b><\/li>\n<li><b>Anlage<\/b><\/li>\n<li><b>Berechnet<\/b><\/li>\n<\/ul>\n<h2>Index im Prim&auml;rschl&uuml;sselfeld<\/h2>\n<p>Die Chance, dass Sie bereits einmal einen Index verwendet haben, ist sehr hoch &#8211; zumindest, wenn Sie, wie es &uuml;blich ist, Ihre Tabellen mit einem Prim&auml;rschl&uuml;sselfeld ausstatten. F&uuml;r Prim&auml;rschl&uuml;sselfelder legt Access automatisch einen eindeutigen Index an. Das k&ouml;nnen Sie in Bild 1 erkennen, wo wir das Feld <b>KundeID <\/b>als Prim&auml;rschl&uuml;sselfeld markiert haben.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_535_001.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_535_001.png\" alt=\"Prim&auml;rschl&uuml;sselfeld mit eindeutigem Index\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 1: Prim&auml;rschl&uuml;sselfeld mit eindeutigem Index<\/p>\n<p>Die Eigenschaft <b>Indiziert <\/b>erh&auml;lt hier automatisch den Wert <b>Ja (Ohne Duplikate)<\/b>. Das beinhaltet einige wichtige Funktionen f&uuml;r einen Prim&auml;rschl&uuml;ssel:<\/p>\n<ul>\n<li>&#8222;Ohne Duplikate&#8220; bedeutet, dass jeder Wert nur einmal in dieser Tabelle angelegt werden kann. Das ist wichtig, wenn wir in Beziehungen zwischen zwei Tabellen der einen Tabelle &uuml;ber ein Fremdschl&uuml;sselfeld einen der Datens&auml;tze der Tabelle mit dem Prim&auml;rschl&uuml;sselfeld zuweisen. Sollte es in der Tabelle mit dem Prim&auml;rschl&uuml;sselfeld mehrere Datens&auml;tze mit dem gleichen Wert geben, w&auml;re eine eindeutige Zuordnung nicht mehr m&ouml;glich.<\/li>\n<li>Die Indizierung sorgt au&szlig;erdem daf&uuml;r, dass schnell nach den Werten in dem Prim&auml;rschl&uuml;sselfeld sortiert werden kann und vor allem, dass die Suche schnell ist. Wenn Sie zu einer Bestellung den verkn&uuml;pften Kundendatensatz ben&ouml;tigen, wollen Sie ja nicht ewig warten, bis dieser gefunden wurde.<\/li>\n<\/ul>\n<h2>Automatisch angelegte Indizes<\/h2>\n<p>Wenn Sie Tabellen neu erstellen oder Daten aus externen Quellen importieren, beispielsweise aus einer Excel-Tabelle oder aus einer anderen Datenbank, legt Access f&uuml;r Felder, die bestimmte Schl&uuml;sselphrasen in ihrem Namen enthalten, automatisch Indizes mit der Eigenschaft <b>Ja (Ohne Duplikate) <\/b>an. Das k&ouml;nnen Sie ganz einfach ausprobieren, indem Sie ein neues Feld namens <b>AnredeID <\/b>zur Beispieltabelle <b>tblKunden <\/b>hinzuf&uuml;gen &#8211; siehe Bild 2.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_535_002.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_535_002.png\" alt=\"Tabellenfeld mit einfachem Index\" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 2: Tabellenfeld mit einfachem Index<\/p>\n<p>Wonach entscheidet Access, ob automatisch ein Index f&uuml;r ein Feld angelegt werden soll Das h&auml;ngt von der Einstellung einer Eigenschaft in den Access-Optionen ab. Im Optionen-Dialog (Ribbon-Eintrag <b>Datei|Optionen<\/b>) finden Sie im Bereich <b>Objekt-Designer <\/b>die Eigenschaft <b>AutoIndex beim Importieren\/Erstellen <\/b>(siehe Bild 3) &#8211; hier mit dem Wert <b>ID;Key;Schl&uuml;ssel;Code<\/b>. Jede dort per Semikolon getrennte Phrase wird beim Anlegen von neuen Feldern &uuml;berpr&uuml;ft. Ist diese im Feldnamen enthalten, wie beispielsweise in <b>AnredeID<\/b>, erh&auml;lt das Feld f&uuml;r die Eigenschaft <b>Indiziert <\/b>den Wert <b>Ja (Duplikate m&ouml;glich)<\/b>. Achten Sie darauf, dass keine Leerzeichen in der Auflistung vorkommen d&uuml;rfen.<\/p>\n<p class=\"image\"><a rel=\"lightbox\" href=\"..\/tl_files\/images\/pic_535_003.png\"><img decoding=\"async\" src=\"..\/tl_files\/images\/pic_535_003.png\" alt=\"Phrasen, f&uuml;r die automatisch Indizes erstellt werden \" width=\"325\" \/><\/a><\/p>\n<p class='imagetext'>Bild 3: Phrasen, f&uuml;r die automatisch Indizes erstellt werden <\/p>\n<p>Diese Eigenschaft ist auf jeden Fall sinnvoll, wenn sie ihrer Benennung von Fremdschl&uuml;sselfeldern entgegenkommt &#8211; anderenfalls k&ouml;nnen Sie die Schl&uuml;sselw&ouml;rter f&uuml;r den <b>AutoIndex <\/b>aber auch an Ihre Bed&uuml;rfnisse anpassen. In diesem Magazin nutzen wir f&uuml;r Fremdschl&uuml;sselfelder immer die Zeichenfolge <b>ID<\/b> am Ende, sodass Access f&uuml;r Fremdschl&uuml;ssel automatisch einen Index anlegt.<\/p>\n<h2>Warum Indizes f&uuml;r Fremdschl&uuml;sselfelder<\/h2>\n<p>Aber ben&ouml;tigen wir &uuml;berhaupt einen Index f&uuml;r einen Fremdschl&uuml;ssel F&uuml;r den Prim&auml;rschl&uuml;ssel h&ouml;rt sich das logisch an: Immerhin suchen wir von Tabellen mit Fremdschl&uuml;sseln aus nach dem Datensatz mit dem entsprechenden Prim&auml;rschl&uuml;sselwert.<\/p>\n<p>Der Index f&uuml;r ein Fremdschl&uuml;sselfeld ist zum Beispiel dann sinnvoll, wenn Sie die L&ouml;schweitergabe f&uuml;r die Beziehung definiert haben. Das bedeutet, dass wenn Sie Datens&auml;tze aus dem Feld mit dem Prim&auml;rschl&uuml;sselfeld l&ouml;schen, auch die damit verkn&uuml;pften Datens&auml;tze aus der Tabelle mit dem Fremdschl&uuml;sselfeld gel&ouml;scht werden sollen. Und beim Auffinden der so zu l&ouml;schenden Datens&auml;tze hilft der Index f&uuml;r das Fremdschl&uuml;sselfeld. Anderenfalls m&uuml;sste Access beim L&ouml;schvorgang die gesamte Tabelle durchlaufen, um den zu l&ouml;schenden Datensatz zu finden.<\/p>\n<div class=\"rcp_restricted\"><p><span style=\"color: #ff0000;\">M&ouml;chten Sie weiterlesen? Dann l&ouml;sen Sie Ihr Ticket!<\/span><br \/>\n<span style=\"color: #ff0000;\">Hier geht es zur Bestellung des Jahresabonnements des Magazins <strong>Access &#091;basics&#093;<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/shop.minhorst.com\/magazine\/282\/access-basics?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000;\">Danach greifen Sie sofort auf <strong>alle rund 400 Artikel<\/strong> unseres Angebots zu - auch auf diesen hier!<\/span><br \/>\n<span style=\"color: #000000;\">Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:<\/span><\/p>\n<\/div>\n\n\t\n\t<form id=\"rcp_login_form\"  class=\"rcp_form\" method=\"POST\" action=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000535\/\">\n\n\t\t\n\t\t<fieldset class=\"rcp_login_data\">\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_login\">Username or Email<\/label>\n\t\t\t\t<input name=\"rcp_user_login\" id=\"rcp_user_login\" class=\"required\" type=\"text\"\/>\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_pass\">Password<\/label>\n\t\t\t\t<input name=\"rcp_user_pass\" id=\"rcp_user_pass\" class=\"required\" type=\"password\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t\t<p>\n\t\t\t\t<input type=\"checkbox\" name=\"rcp_user_remember\" id=\"rcp_user_remember\" value=\"1\"\/>\n\t\t\t\t<label for=\"rcp_user_remember\">Remember me<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/index.php\/data\/wp\/v2\/posts\/55000535?rcp_action=lostpassword\"><\/a><\/p>\n\t\t\t<p>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_action\" value=\"login\"\/>\n\t\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/access-basics.de\/data\/wp\/v2\/posts\/55000535\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"8d63f6cbe9\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Login\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t<\/fieldset>\n\n\t\t\n\t<\/form>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>F&uuml;r die Tabellenfelder einer Access-Datenbank gibt es neben den &uuml;blichen Eigenschaften auch noch eine namens <b>Indiziert<\/b>. Au&szlig;erdem finden wir noch einen Dialog namens <b>Indizes<\/b>. Beides dient dazu, Indizes f&uuml;r einzelne Felder oder zusammengesetzte Indizes zu definieren. Was aber sind solche Indizes F&uuml;r Datenbanken mit &uuml;berschaubaren Datenmengen verwenden wir normalerweise nur einen Index f&uuml;r das Prim&auml;rschl&uuml;sselfeld. Wenn Sie jedoch gr&ouml;&szlig;ere Datenmengen schnell durchsuchen wollen, ist das Anlegen geeigneter Indizes wichtig. In diesem Artikel schauen wir uns die Grundlagen zur Indizierung an.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662021,66042021,44000003],"tags":[],"class_list":["post-55000535","post","type-post","status-publish","format-standard","hentry","category-662021","category-66042021","category-Tabellen_entwerfen"],"aioseo_notices":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v15.9.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Grundlagen der Indizierung - Access [basics]<\/title>\n<link rel=\"canonical\" href=\"https:\/\/access-basics.de\/index.php\/Grundlagen_der_Indizierung.html\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Grundlagen der Indizierung - Access [basics]\" \/>\n<meta property=\"og:description\" content=\"F&uuml;r die Tabellenfelder einer Access-Datenbank gibt es neben den &uuml;blichen Eigenschaften auch noch eine namens Indiziert. Au&szlig;erdem finden wir noch einen Dialog namens Indizes. Beides dient dazu, Indizes f&uuml;r einzelne Felder oder zusammengesetzte Indizes zu definieren. Was aber sind solche Indizes F&uuml;r Datenbanken mit &uuml;berschaubaren Datenmengen verwenden wir normalerweise nur einen Index f&uuml;r das Prim&auml;rschl&uuml;sselfeld. Wenn Sie jedoch gr&ouml;&szlig;ere Datenmengen schnell durchsuchen wollen, ist das Anlegen geeigneter Indizes wichtig. In diesem Artikel schauen wir uns die Grundlagen zur Indizierung an.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-basics.de\/index.php\/Grundlagen_der_Indizierung.html\" \/>\n<meta property=\"og:site_name\" content=\"Access [basics]\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-01T00:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"-0001-11-30T00:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/..\/tl_files\/images\/pic_535_001.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\">\n\t<meta name=\"twitter:data1\" content=\"15\u00a0Minuten\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/access-basics.de\/#website\",\"url\":\"https:\/\/access-basics.de\/\",\"name\":\"Access [basics]\",\"description\":\"DAS ACCESS-MAGAZIN F\\u00dcR ALLE, DIE VON 0 AUF 100 WOLLEN\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/access-basics.de\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Grundlagen_der_Indizierung.html#primaryimage\",\"inLanguage\":\"de\",\"url\":\"http:\/\/vg08.met.vgwort.de\/na\/61120b5e9ae34feb9422886fd24cff10\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Grundlagen_der_Indizierung.html#webpage\",\"url\":\"https:\/\/access-basics.de\/index.php\/Grundlagen_der_Indizierung.html\",\"name\":\"Grundlagen der Indizierung - Access [basics]\",\"isPartOf\":{\"@id\":\"https:\/\/access-basics.de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Grundlagen_der_Indizierung.html#primaryimage\"},\"datePublished\":\"2021-08-01T00:00:00+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"author\":{\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\"},\"breadcrumb\":{\"@id\":\"https:\/\/access-basics.de\/index.php\/Grundlagen_der_Indizierung.html#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/access-basics.de\/index.php\/Grundlagen_der_Indizierung.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Grundlagen_der_Indizierung.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/\",\"url\":\"https:\/\/access-basics.de\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/access-basics.de\/index.php\/Grundlagen_der_Indizierung.html\",\"url\":\"https:\/\/access-basics.de\/index.php\/Grundlagen_der_Indizierung.html\",\"name\":\"Grundlagen der Indizierung\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/access-basics.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/access-basics.de\/#personlogo\",\"inLanguage\":\"de\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","_links":{"self":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000535","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/comments?post=55000535"}],"version-history":[{"count":0,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/posts\/55000535\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/media?parent=55000535"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/categories?post=55000535"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-basics.de\/index.php\/data\/wp\/v2\/tags?post=55000535"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}