Beste Antwort
Ein Primärschlüssel ist ein spezielle Einschränkung für eine Spalte oder einen Satz von Spalten. Eine Primärschlüsseleinschränkung stellt sicher, dass die so bezeichneten Spalten keine NULL-Werte haben und dass jeder Wert eindeutig ist. Physikalisch wird ein Primärschlüssel vom Datenbanksystem unter Verwendung eines eindeutigen Index implementiert, und alle Spalten im Primärschlüssel müssen als NICHT NULL deklariert worden sein. Eine Tabelle kann nur einen Primärschlüssel haben, sie kann jedoch zusammengesetzt sein (aus mehr als einer Spalte bestehen).
Ein Ersatzschlüssel ist Jede Spalte oder Spaltengruppe, die als Primärschlüssel deklariert werden kann anstelle von „real“ oder natural Schlüssel . Manchmal gibt es mehrere natürliche Schlüssel, die als Primärschlüssel deklariert werden können. Diese werden alle als Kandidatenschlüssel bezeichnet. Ein Ersatz ist also ein Kandidatenschlüssel. Eine Tabelle könnte tatsächlich mehr als einen Ersatzschlüssel haben, obwohl dies ungewöhnlich wäre. Der häufigste Typ von Ersatzschlüsseln ist eine inkrementelle Ganzzahl, z. B. eine Spalte auto\_increment in MySQL oder eine Sequenz in Oracle oder eine Identitätsspalte in SQL Server.
Vorteile der Verwendung von Ersatzschlüsseln
Wie bereits erwähnt, opfert ein Ersatzschlüssel einen Teil des ursprünglichen Kontextes der Daten. Es kann jedoch aus folgenden Gründen für Analysezwecke äußerst nützlich sein:
- Ersatzschlüssel sind eindeutig. Weil Ersatzschlüssel vorhanden sind Vom System generiert, kann das System keinen doppelten Wert erstellen und speichern.
- Ersatzschlüssel wenden einheitliche Regeln auf alle Datensätze an. Der Ersatzschlüsselwert ist das Ergebnis eines Programms, das den vom System generierten Wert erstellt. Jeder Schlüssel, der als Ergebnis eines Programms erstellt wurde, wendet einheitliche Regeln für jeden Datensatz an.
- Ersatzschlüssel haben den Test der Zeit bestanden. Weil Ersatzschlüssel Schlüssel haben keinen Kontext oder keine geschäftliche Bedeutung. In Zukunft muss der Schlüssel nicht mehr geändert werden.
- Ersatzschlüssel ermöglichen unbegrenzte Werte. Sequenzielle, Zeitstempel- und Zufallsschlüssel haben keine praktischen Grenzen für eindeutige Kombinationen.
Antwort
Die meisten Datenbanken sind heutzutage wirklich Datenbankverwaltungssysteme (DBMS). Diese bestehen aus zwei Komponenten:
- der Datenbank Proper , in der die Daten zusammen mit Metadaten wie Beziehungen und Einschränkungen gespeichert werden , etc…
- die Benutzeroberfläche, über die der Entwickler und / oder Datenbankadministrator SQL-Befehle eingibt.
Die meisten Datenbanken werden mit einem Befehlszeilenprogramm für die Schnittstelle geliefert mit der Datenbank. Beispielsweise bietet MySQL eine einfache SQL-Shell mit Funktionen zum Bearbeiten von Eingabezeilen. Es unterstützt die interaktive und nicht interaktive Verwendung. Bei interaktiver Verwendung werden Abfrageergebnisse in einem ASCII-Tabellenformat dargestellt. Bei nicht interaktiver Verwendung (z. B. als Filter) wird das Ergebnis in einem durch Tabulatoren getrennten Format angezeigt. Das Ausgabeformat kann mithilfe von Befehlsoptionen geändert werden.
Um die MySQL-Shell über die Eingabeaufforderung Ihres Befehlsinterpreters aufzurufen, geben Sie Folgendes ein:
shell> mysql --user=user\_name --password db\_name
Enter password: your\_password
Sobald Sie in Ihrer Datenbank angemeldet sind, können Sie Befehle ausführen, z. B. eine SELECT-Abfrage dagegen:
shell>SELECT * FROM shop ORDER BY article;
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
| 1 | A | 3.45 |
| 1 | B | 3.99 |
| 2 | A | 10.99 |
| 3 | B | 1.45 |
| 3 | C | 1.69 |
| 3 | D | 1.25 |
| 4 | D | 19.95 |
+---------+--------+-------+
Sie können Ihre SQL-Anweisungen auch in eine Datei und einfügen Dann sag mysql, dass es seine Eingabe aus dieser Datei lesen soll. Dazu erstellen Sie eine Textdatei, die die Anweisungen enthält, die Sie ausführen möchten. Rufen Sie dann MySQL wie hier gezeigt auf:
shell> mysql db\_name
Einige Datenbankanbieter bieten neben einem Befehl auch GUI-Clients und -Dienstprogramme an. Line Client. In Übereinstimmung mit MySQL ist der GUI-Client MySQL Workbench. MySQL Workbench ist unter Windows, Linux und Mac OS X verfügbar und richtet sich an Datenbankarchitekten, Entwickler und Datenbankadministratoren. Es bietet Datenmodellierung, SQL-Entwicklung und umfassende Verwaltungstools für Serverkonfiguration, Benutzerverwaltung, Sicherung und vieles mehr.
Andere Tools
Neben den Tools, die von den Datenbankanbietern selbst angeboten werden, gibt es viele andere Open Source- und kommerzielle Angebote für alle gängigen Datenbanktypen und Cloud-Dienste. In Bezug auf Unterschiede sind sowohl kostenlose als auch kommerzielle Produkte für ihren Zweck gut geeignet.Welche Sie wählen, hängt in der Regel eher von Ihrer Art der Arbeit als von der Benutzerfreundlichkeit ab.
Nachdem ich sowohl mit Open Source- als auch mit kommerziellen Produkten viel gearbeitet habe, stellte ich fest, dass ich mich zunehmend für die Letzteres, da die Arbeitseffizienz für meine Arbeit als IT-Berater immer wichtiger wurde. Meine persönliche Meinung ist, dass kommerzielle Produkte Sie produktiver machen können, da sie allgemeine Aufgaben zur Steigerung der Effizienz rationalisieren.
Daher habe ich Navicat Premium verwendet Datenbankentwicklung und Admin-Client seit mehreren Jahren. Obwohl Navicat Clients für alle gängigen Datenbanken erstellt, ist Navicat Premium das einzige Tool, das ich verwendet habe und das gleichzeitig eine Verbindung zu MySQL-, MariaDB-, MongoDB-, SQL Server-, Oracle-, PostgreSQL- und SQLite-Datenbanken aus einer einzigen Anwendung herstellen kann. Es ist auch vollständig kompatibel mit Cloud-Datenbanken wie Amazon RDS, Amazon Aurora, Amazon Redshift, Microsoft Azure, Oracle Cloud und Google Cloud.
Hier ist ein Screenshot des Hauptbildschirms in Windows:
Alle Navicat-Produkte sind für Linux und macOS sowie Windows verfügbar.
Insbesondere der Abfrage-Editor hilft mir beim Schreiben Meine Abfragen werden schneller ausgeführt, indem Syntaxhervorhebung, wiederverwendbare und anpassbare Codefragmente sowie automatische Vorschläge eingeschlossen werden (siehe Abbildung unten):
Es gibt sogar einen Abfrage-Generator, der für weniger erfahrene Benutzer von großem Vorteil ist. Sie können Abfragen visuell praktisch ohne SQL-Kenntnisse erstellen und bearbeiten!
Hoffe, das hilft!
Mit freundlichen Grüßen,
Adam