{"id":55000045,"date":"2016-08-01T00:00:00","date_gmt":"2020-03-27T19:21:02","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=45"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Datenbanken_erstellen_mit_dem_SSMA","status":"publish","type":"post","link":"https:\/\/vbentwickler.de\/Datenbanken_erstellen_mit_dem_SSMA\/","title":{"rendered":"Datenbanken erstellen mit dem SSMA"},"content":{"rendered":"<p><b>Wer von Access kommt und nun Anwendungen auf Basis von WPF, C# und dem Entity Framework erstellen m&ouml;chte, wird feststellen, dass dies mit Access-Datenbanken als Backend nicht gelingt &#8211; es l&auml;sst sich schlicht kein Entity Framework f&uuml;r Access-Datenbanken erstellen. Da kann es dann hilfreich sein, wenn Sie, nachdem wir uns bereits mit der Migration von Access zum SQL Server besch&auml;ftigt haben, auch neue Datenbanken im SQL Server erstellen k&ouml;nnen. Dieser Artikel zeigt die wichtigsten Techniken f&uuml;r die Erstellung von Datenbanken &uuml;ber die Benutzeroberfl&auml;che des Microsoft SQL Server Management Studios (SSMA).<\/b><\/p>\n<p>Mit der f&uuml;r kleine Unternehmen kostenfreien Community Edition des SQL Servers oder auch mit den kostenpflichtigen Versionen kommt auch das SQL Server Management Studio auf Ihren Rechner. Das ist ein Tool, mit dem Sie Datenbanken verwalten k&ouml;nnen &#8211; und dazu geh&ouml;rt nat&uuml;rlich auch das Erstellen neuer Datenbanken.<\/p>\n<h2>Datenbanken f&uuml;r das Entity Framework<\/h2>\n<p>Wenn Sie einmal eine Migration einer reinen Access-Datenbank zu einer Kombination aus Access-Frontend und SQL Server-Backend durchgef&uuml;hrt haben, waren Sie sicher nicht mit der Migration der Tabellen zufrieden. Stattdessen haben Sie auch noch Stored Procedures, Trigger und weitere SQL Server-spezifische Objekte erstellt, um Gesch&auml;ftslogik auf den SQL Server zu transferieren.<\/p>\n<p>Bei Verwendung des Entity Frameworks ist das nicht notwendig. Hier reicht es aus, wenn die Tabellen mit den Daten auf dem SQL Server landen, die Gesch&auml;ftslogik soll in anderen Schichten der Anwendung untergebracht werden. Wie und wo dies geschieht, werden wir uns in sp&auml;teren Artikeln ansehen.<\/p>\n<p>F&uuml;rs Erste reicht es uns, zu wissen, dass wir vom Entity Framework aus direkt auf die Tabellen der Datenbank zugreifen und dass diese die Informationen liefern, um das Entity Framework auf Basis der Tabellen und ihrer Beziehungen untereinander aufbauen zu k&ouml;nnen.<\/p>\n<p>Dies ist erfordlich, wenn Sie das Entity Framework auf Basis der Tabellenstruktur erstellen wollen. Der Assistent kann dann Informationen &uuml;ber Prim&auml;rschl&uuml;ssel- und Fremdschl&uuml;sselfelder direkt in entsprechende Beziehungen umwandeln.<\/p>\n<h2>Benennung von Tabellen und Feldern<\/h2>\n<p>Der Entity Framework-Assistent &uuml;bernimmt die Bezeichnungen von Tabellen und Feldern f&uuml;r die zu erstellenden Klassen. Das hei&szlig;t, dass Sie sich wohl oder &uuml;bel von einigen unter Access liebgewonnenen Gewohnheiten verabschieden sollten.<\/p>\n<p>Dort haben Sie Tabellen vermutlich mit dem Pr&auml;fix <b>tbl <\/b>ausgestattet und den Rest der Tabelle entsprechend dem Plural der enthaltenen Elemente benannt, also beispielsweise <b>tblKunden<\/b>.<\/p>\n<p>Dies w&uuml;rde dazu f&uuml;hren, dass die Klasse im Entity Framework, welche die Datens&auml;tze der Tabelle <b>tblKunden <\/b>abbildet, automatisch auch <b>tblKunden <\/b>hei&szlig;en w&uuml;rde. Das entspricht nicht den g&auml;ngigen Benennungen f&uuml;r Klassen, die erstens im Singular und zweitens ohne Pr&auml;fix erscheinen sollten &#8211; in diesem Fall also einfach <b>Kunde<\/b>. <\/p>\n<p>Nun gibt es im Entity Framework-Assistenten sogar eine Option, mit der man abfangen kann, dass die Tabellen entsprechend dem Plural der gespeicherten Elemente benannt sind.<\/p>\n<p>Dabei ist die Option allerdings nur auf den Plural f&uuml;r englische Benennungen optimiert (und somit auf das angeh&auml;ngte <b>s <\/b>f&uuml;r den Plural), sodass <b>Customers <\/b>in <b>Customer <\/b>ge&auml;ndert werden kann. Bei <b>Kunden <\/b>und <b>Kunde <\/b>sieht es anders aus, sodass wir zwei M&ouml;glichkeiten f&uuml;r unsere deutschsprachig benannten Tabellen haben: entweder wir benennen diese direkt im Singular oder wir vergeben Plural-Namen. In beiden F&auml;llen m&uuml;ssen sp&auml;ter etwa bei Verwendung im Entity Framework noch die eine oder andere individuelle Anpassung vornehmen.<\/p>\n<p>Wenn Sie eine Anwendung auf einer bereits vorhandenen Datenbank aufbauen m&uuml;ssen, bleibt Ihnen aber ohnehin keine Wahl &#8211; dann sind sp&auml;tere Optimierungen sowieso unumg&auml;nglich, wenn Sie mit vern&uuml;nftigen Klassennamen arbeiten wollen.<\/p>\n<p>In diesem Artikel wollen wir uns auf eine Datenbank konzentrieren, die auf der neuen <b>LocalDB<\/b>-Instanz l&auml;uft &#8211; ein Feature, das seit der Version 2012 mit Visual Studio geliefert wird.<\/p>\n<p>Um mit dem SQL Server Management Studio zu arbeiten, ben&ouml;tigen Sie eine entsprechende Installation. Die Software k&ouml;nnen Sie auf verschiedene Arten auf den Rechner bringen, beispielsweise durch Installation eines entsprechenden SQL Server-Pakets (siehe Artikel <b>SQL Server 2014 Express installieren<\/b>).<\/p>\n<p>Wenn Sie, wie im vorliegenden Artikel beschrieben, eine neue SQL Server-Datenbank mit der Datenbank-Engine <b>LocalDB <\/b>erstellen wollen, brauchen Sie nicht das komplette SQL Server-Paket, das Ihnen nicht nur eine Menge Speicherplatz auf der Festplatte belegt, sondern auch eine Menge Zeit bei der Installation raubt. Also installieren Sie einfach nur das SQL Server Management Studio, das Sie unter dem folgenden Link finden:<\/p>\n<pre>https:\/\/msdn.microsoft.com\/de-de\/library\/mt238290.aspx<\/pre>\n<p>Dies liefert die Datei SSMS-Setup-DEU.exe, welche Sie einfach ausf&uuml;hren.<\/p>\n<h2>Mit LocalDB verbinden<\/h2>\n<p>Um sich mit dem als Datenbankserver verwendeten LocalDB zu verbinden (oder auch mit einem anderen Datenbankserver wie etwa der Vollversion des SQL Servers), starten Sie das SQL Server Management Studio. Es erscheint der Dialog aus Bild 1, der Sie zur Eingabe des Servernamens auffordert.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_04\/pic_45_001.png\" alt=\"Mit dem SQL Server verbinden - hier mit LocalDB\" width=\"499,4818\" height=\"446,2375\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Mit dem SQL Server verbinden &#8211; hier mit LocalDB<\/span><\/b><\/p>\n<p>Verwenden Sie die Standardinstanz von LocalDB, geben Sie einfach folgenden Ausdruck ein:<\/p>\n<pre>(localdb)\\MSSQLLocalDB<\/pre>\n<p>Sie k&ouml;nnen auch das Kombinationsfeld aufklappen, um die Suche nach den verf&uuml;gbaren SQL Servern zu starten, aber dies nimmt eine Menge Zeit in Anspruch &#8211; schneller geht es mit der direkten Eingabe.<\/p>\n<p>F&uuml;r den Zugriff auf eine benannte Instanz von LocalDB geben Sie statt MSSQLLocalDB den entsprechenden Namen der Instanz an.<\/p>\n<h2>Datenbank anlegen<\/h2>\n<p>Nach erfolgreichem Verbindungsaufbau k&ouml;nnen Sie gleich eine neue Datenbank anlegen, und zwar &uuml;ber den Eintrag Neue Datenbank des Kontextmen&uuml;s des Elements Datenbanken im Objekt-Explorer (siehe Bild 2).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_04\/pic_45_002.png\" alt=\"Anlegen einer neuen Datenbank\" width=\"499,4818\" height=\"433,4933\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Anlegen einer neuen Datenbank<\/span><\/b><\/p>\n<p>Der folgende Dialog namens Neue Datenbank erwartet die Eingabe der Bezeichnung f&uuml;r die Datenbank (siehe Bild 3). Geben Sie hier den Text Bestellverwaltung an und klicken Sie auf OK, um die &Auml;nderung zu &uuml;bernehmen und den Dialog zu schlie&szlig;en. Unter Pfad k&ouml;nnen Sie au&szlig;erdem angegeben, in welchem Verzeichnis die beiden Datenbankdateien gespeichert werden sollen.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_04\/pic_45_003.png\" alt=\"Angabe des Datenbanknamens\" width=\"649,326\" height=\"454,9651\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Angabe des Datenbanknamens<\/span><\/b><\/p>\n<h2>Tabellen anlegen<\/h2>\n<p>Die erste Tabelle legen Sie nun an, indem Sie unter Bestellverwaltung mit der rechten Maustaste auf das Element Tabellen klicken und den Eintrag Tabelle&#8230; des Kontextmen&uuml;s ausw&auml;hlen (siehe Bild 4).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_04\/pic_45_004.png\" alt=\"Neue Tabelle anlegen\" width=\"424,5595\" height=\"431,5338\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Neue Tabelle anlegen<\/span><\/b><\/p>\n<p>Es erscheint nun die Ent-wurfs-ansicht der neuen Tabelle.<\/p>\n<p>Diese liefert drei wichtige Bereiche (siehe Bild 5):<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_04\/pic_45_005.png\" alt=\"Entwurfsansicht einer neuen Tabelle\" width=\"649,326\" height=\"475,2005\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Entwurfsansicht einer neuen Tabelle<\/span><\/b><\/p>\n<ul>\n<li>Links oben finden Sie die Liste der Felder mit den Feldnamen, Felddatentypen und der Angabe, ob f&uuml;r das Feld Nullwerte zul&auml;ssig sind.<\/li>\n<li>Links unten zeigt der SSMA die Eigenschaften des aktuell markierten Feldes beziehungsweise der Spalte an. Hier finden sich noch weitere Eigenschaften zu den einzelnen Feldern.<\/li>\n<li>Rechts sehen Sie die Eigenschaften der aktuell bearbeiteten Tabelle. Hier tragen Sie beispielsweise den Tabellennamen, eine Beschreibung et cetera ein.<\/li>\n<\/ul>\n<h2>Erste Tabelle: Anreden<\/h2>\n<p>Die erste Tabelle soll gem&auml;&szlig; der weiter oben besprochenen Konvention nach dem enthaltenen Element im Plural benannt werden, im Falle einer Tabelle zum Speichern von Anreden also schlicht Anreden. Tragen Sie diesen Namen f&uuml;r die Eigenschaft Name der Tabelle im rechten Bereich ein. Der Artikel Datenzugriff per Entity Framework zeigt, wie wir die Tabellen der hier erstellten Datenbank per Entity Framework nutzen und welche &Auml;nderungsschritte notwendig sind, wenn Sie die Tabelle anders als Anreden nennen, aber im Entity Framework ein Objekt namens Anrede verwenden wollen.<\/p>\n<h2>Prim&auml;rschl&uuml;sselfeld anlegen<\/h2>\n<p>Als erstes Feld legen wir ein Prim&auml;rschl&uuml;sselfeld an. Auch hier sollten Sie, genau wie beim Tabellennamen, eine Konvention befolgen. Die beiden g&auml;ngigsten Varianten lauten, f&uuml;r das Prim&auml;rschl&uuml;sselfeld einer Tabelle immer die Bezeichnung ID zu verwenden oder noch den Namen des enthaltenen Elements voranzustellen, also AnredeID. Wie auch immer Sie sich entscheiden, sollten Sie sicherstellen, dass Sie bei Ihrer selbst gew&auml;hlten Benennungskonvention bleiben.<\/p>\n<p>Wenn man sich jedoch anschaut, wie die verschiedenen Varianten sp&auml;ter beim objektorientierten Zugriff auf die jeweiligen Objekte und Eigenschaften aussehen, liegt die Wahl der k&uuml;rzeren Variante, n&auml;mlich ID f&uuml;r das Prim&auml;rschl&uuml;sselfeld, nahe. Dann w&uuml;rde der Zugriff etwa &uuml;ber Anrede.ID erfolgen und nicht &uuml;ber Anrede.AnredeID, was ja doch irgendwie doppelt gemoppelt ist.<\/p>\n<p>Das Prim&auml;rschl&uuml;sselfeld soll keine Null-Werte zulassen, also deaktivieren Sie das Kontrollk&auml;stchen f&uuml;r die Zeile AnredeID und die Spalte NULL-Werte zulassen.<\/p>\n<p>Den Datentyp des Prim&auml;rschl&uuml;sselfeldes stellen Sie auf int ein. Danach wollen wir noch die Autowert-Eigenschaft umsetzen. Dazu wechseln Sie zum Bereich links unten, wo sich die Spalteneigenschaften befinden. Dort finden Sie die Eigenschaft Identit&auml;tsspezifikation, f&uuml;r die Sie weitere Untereigenschaften aufklappen k&ouml;nnen. Dort legen Sie (Ist Identity) auf Ja fest und behalten die Werte f&uuml;r ID-Ausgangswert und ID-Inkrement bei (siehe Bild 6).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_04\/pic_45_006.png\" alt=\"Festlegen der Identit&auml;tsspezifikation\" width=\"499,4818\" height=\"494,4869\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 6: Festlegen der Identit&auml;tsspezifikation<\/span><\/b><\/p>\n<p>Damit ist das Feld AnredeID theoretisch aber immer noch kein Prim&auml;rschl&uuml;sselfeld. Dies stellen Sie schlie&szlig;lich &uuml;ber den Kontextmen&uuml;eintrag Prim&auml;rschl&uuml;ssel festlegen ein (siehe Bild 7).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_04\/pic_45_007.png\" alt=\"Prim&auml;rschl&uuml;ssel der Tabelle festlegen\" width=\"424,5595\" height=\"323,9825\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 7: Prim&auml;rschl&uuml;ssel der Tabelle festlegen<\/span><\/b><\/p>\n<p>Die als Prim&auml;rschl&uuml;sselfeld definierte Spalte sieht schlie&szlig;lich wie in Bild 8 aus.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_04\/pic_45_008.png\" alt=\"Definierter Prim&auml;rschl&uuml;ssel\" width=\"424,5595\" height=\"135,4048\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 8: Definierter Prim&auml;rschl&uuml;ssel<\/span><\/b><\/p>\n<h2>Weiteres Feld definieren<\/h2>\n<p>Das zweite Feld dieser Tabelle soll die Anrede aufnehmen. Hierf&uuml;r legen wir den Datentyp nvarchar(50) fest. Auch dieses Feld soll keine Null-Werte enthalten. Au&szlig;erdem definieren wir f&uuml;r diese Spalte die Bezeichnung Anrede &#8211; welche auch sonst Nun, es g&auml;be noch die M&ouml;glichkeit, etwa auf einen Wert wie Name oder Bezeichnung auszuweichen. Unter Access gab es aber immer Probleme mit Feldnamen, die wie Schl&uuml;sselw&ouml;rter verschiedener Funktionen hie&szlig;en &#8211; und Name ist nun einmal die Bezeichnung einiger Eigenschaften im Access-Bereich.<\/p>\n<p>Sind bei Verwendung etwa als Datenquelle f&uuml;r das Entity Framework &auml;hnliche Probleme zu erwarten Ja &#8211; es gibt eine Einschr&auml;nkung bei der Vergabe von Feldnamen, zumindest wenn diese sp&auml;ter als Eigenschaften im Entity Framework genutzt werden sollen: Ein Feldname darf dort nicht mit dem Namen der Klasse beziehungsweise der Entit&auml;t &uuml;bereinstimmen, sonst wird dieser automatisch umbenannt. Wenn wir die Tabelle Anreden mit den beiden Feldern AnredeID und Anrede als Datenquelle einer Entity Framework-Klasse nutzen wollen, w&uuml;rde das Feld Anrede automatisch in die Eigenschaft Anrede1 umbenannt, da die Klasse dann logischerweise Anrede hei&szlig;en soll. Auch der Versuch, diese Eigenschaft im Entity Framework umzubenennen, scheitert mit der Meldung aus Bild 9.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_04\/pic_45_009.png\" alt=\"Im Entity Framework d&uuml;rfen Eigenschaften und Klassen nicht den gleichen Namen verwenden.\" width=\"499,4818\" height=\"217,4615\" \/><\/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>Visual Basic Entwickler<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/shop.minhorst.com\/magazine\/363\/visual-basic-entwickler-jahresabonnement?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000;\">Danach greifen Sie sofort auf <strong>alle rund 200 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:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000045\/\">\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=\"\/data\/wp\/v2\/posts\/55000045?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<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000045\/\"\/>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"123b777de9\"\/>\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>Wer von Access kommt und nun Anwendungen auf Basis von WPF, C# und dem Entity Framework erstellen m&ouml;chte, wird feststellen, dass dies mit Access-Datenbanken als Backend nicht gelingt &#8211; es l&auml;sst sich schlicht kein Entity Framework f&uuml;r Access-Datenbanken erstellen. Da kann es dann hilfreich sein, wenn Sie, nachdem wir uns bereits mit der Migration von Access zum SQL Server besch&auml;ftigt haben, auch neue Datenbanken im SQL Server erstellen k&ouml;nnen. Dieser Artikel zeigt die wichtigsten Techniken f&uuml;r die Erstellung von Datenbanken &uuml;ber die Benutzeroberfl&auml;che des Microsoft SQL Server Management Studios (SSMA).<\/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":[662016,66042016,44000004,44000006],"tags":[],"yst_prominent_words":[],"class_list":["post-55000045","post","type-post","status-publish","format-standard","hentry","category-662016","category-66042016","category-Loesungen","category-SQL_Server_und_Co"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000045","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/comments?post=55000045"}],"version-history":[{"count":0,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000045\/revisions"}],"wp:attachment":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/media?parent=55000045"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/categories?post=55000045"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/tags?post=55000045"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/yst_prominent_words?post=55000045"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}