Lies in den Artikel rein und unten bekommst Du ein unschlagbares Angebot!
Wer von Access kommt und nun Anwendungen auf Basis von WPF, C# und dem Entity Framework erstellen möchte, wird feststellen, dass dies mit Access-Datenbanken als Backend nicht gelingt – es lässt sich schlicht kein Entity Framework fü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äftigt haben, auch neue Datenbanken im SQL Server erstellen können. Dieser Artikel zeigt die wichtigsten Techniken für die Erstellung von Datenbanken über die Benutzeroberfläche des Microsoft SQL Server Management Studios (SSMA).
Mit der fü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önnen – und dazu gehört natürlich auch das Erstellen neuer Datenbanken.
Datenbanken für das Entity Framework
Wenn Sie einmal eine Migration einer reinen Access-Datenbank zu einer Kombination aus Access-Frontend und SQL Server-Backend durchgefü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äftslogik auf den SQL Server zu transferieren.
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äftslogik soll in anderen Schichten der Anwendung untergebracht werden. Wie und wo dies geschieht, werden wir uns in späteren Artikeln ansehen.
Fü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önnen.
Dies ist erfordlich, wenn Sie das Entity Framework auf Basis der Tabellenstruktur erstellen wollen. Der Assistent kann dann Informationen über Primärschlüssel- und Fremdschlüsselfelder direkt in entsprechende Beziehungen umwandeln.
Benennung von Tabellen und Feldern
Der Entity Framework-Assistent übernimmt die Bezeichnungen von Tabellen und Feldern für die zu erstellenden Klassen. Das heißt, dass Sie sich wohl oder übel von einigen unter Access liebgewonnenen Gewohnheiten verabschieden sollten.
Dort haben Sie Tabellen vermutlich mit dem Präfix tbl ausgestattet und den Rest der Tabelle entsprechend dem Plural der enthaltenen Elemente benannt, also beispielsweise tblKunden.
Dies würde dazu führen, dass die Klasse im Entity Framework, welche die Datensätze der Tabelle tblKunden abbildet, automatisch auch tblKunden heißen würde. Das entspricht nicht den gängigen Benennungen für Klassen, die erstens im Singular und zweitens ohne Präfix erscheinen sollten – in diesem Fall also einfach Kunde.
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.
Dabei ist die Option allerdings nur auf den Plural für englische Benennungen optimiert (und somit auf das angehängte s für den Plural), sodass Customers in Customer geändert werden kann. Bei Kunden und Kunde sieht es anders aus, sodass wir zwei Möglichkeiten für unsere deutschsprachig benannten Tabellen haben: entweder wir benennen diese direkt im Singular oder wir vergeben Plural-Namen. In beiden Fällen müssen später etwa bei Verwendung im Entity Framework noch die eine oder andere individuelle Anpassung vornehmen.
Wenn Sie eine Anwendung auf einer bereits vorhandenen Datenbank aufbauen müssen, bleibt Ihnen aber ohnehin keine Wahl – dann sind spätere Optimierungen sowieso unumgänglich, wenn Sie mit vernünftigen Klassennamen arbeiten wollen.
In diesem Artikel wollen wir uns auf eine Datenbank konzentrieren, die auf der neuen LocalDB-Instanz läuft – ein Feature, das seit der Version 2012 mit Visual Studio geliefert wird.
Um mit dem SQL Server Management Studio zu arbeiten, benötigen Sie eine entsprechende Installation. Die Software können Sie auf verschiedene Arten auf den Rechner bringen, beispielsweise durch Installation eines entsprechenden SQL Server-Pakets (siehe Artikel SQL Server 2014 Express installieren).
Wenn Sie, wie im vorliegenden Artikel beschrieben, eine neue SQL Server-Datenbank mit der Datenbank-Engine LocalDB 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:
https://msdn.microsoft.com/de-de/library/mt238290.aspx
Dies liefert die Datei SSMS-Setup-DEU.exe, welche Sie einfach ausführen.
Mit LocalDB verbinden
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.
Bild 1: Mit dem SQL Server verbinden – hier mit LocalDB
Verwenden Sie die Standardinstanz von LocalDB, geben Sie einfach folgenden Ausdruck ein:
(localdb)\MSSQLLocalDB
Sie können auch das Kombinationsfeld aufklappen, um die Suche nach den verfügbaren SQL Servern zu starten, aber dies nimmt eine Menge Zeit in Anspruch – schneller geht es mit der direkten Eingabe.
Für den Zugriff auf eine benannte Instanz von LocalDB geben Sie statt MSSQLLocalDB den entsprechenden Namen der Instanz an.
Datenbank anlegen
Nach erfolgreichem Verbindungsaufbau können Sie gleich eine neue Datenbank anlegen, und zwar über den Eintrag Neue Datenbank des Kontextmenüs des Elements Datenbanken im Objekt-Explorer (siehe Bild 2).
Bild 2: Anlegen einer neuen Datenbank
Der folgende Dialog namens Neue Datenbank erwartet die Eingabe der Bezeichnung für die Datenbank (siehe Bild 3). Geben Sie hier den Text Bestellverwaltung an und klicken Sie auf OK, um die Änderung zu übernehmen und den Dialog zu schließen. Unter Pfad können Sie außerdem angegeben, in welchem Verzeichnis die beiden Datenbankdateien gespeichert werden sollen.
Bild 3: Angabe des Datenbanknamens
Tabellen anlegen