SQL
Beispieldatenbanken und Tabellen
Suche…
Auto-Shop-Datenbank
Im folgenden Beispiel - Datenbank für ein Autohausgeschäft haben wir eine Liste von Abteilungen, Mitarbeitern, Kunden und Kundenfahrzeugen. Wir verwenden Fremdschlüssel, um Beziehungen zwischen den verschiedenen Tabellen herzustellen.
Live-Beispiel: SQL-Geige
Beziehungen zwischen Tabellen
- Jede Abteilung kann 0 oder mehr Mitarbeiter haben
- Jeder Mitarbeiter kann 0 oder 1 Manager haben
- Jeder Kunde kann 0 oder mehr Autos haben
Abteilungen
Ich würde | Name |
---|---|
1 | HR |
2 | Der Umsatz |
3 | Technik |
SQL-Anweisungen zum Erstellen der Tabelle:
CREATE TABLE Departments (
Id INT NOT NULL AUTO_INCREMENT,
Name VARCHAR(25) NOT NULL,
PRIMARY KEY(Id)
);
INSERT INTO Departments
([Id], [Name])
VALUES
(1, 'HR'),
(2, 'Sales'),
(3, 'Tech')
;
Angestellte
Ich würde | FName | LName | Telefonnummer | ManagerId | DepartmentId | Gehalt | Anstellungsdatum |
---|---|---|---|---|---|---|---|
1 | James | Schmied | 1234567890 | NULL | 1 | 1000 | 01-01-2002 |
2 | John | Johnson | 2468101214 | 1 | 1 | 400 | 23-03-2005 |
3 | Michael | Williams | 1357911131 | 1 | 2 | 600 | 12-05-2009 |
4 | Johnathon | Schmied | 1212121212 | 2 | 1 | 500 | 24-07-2016 |
SQL-Anweisungen zum Erstellen der Tabelle:
CREATE TABLE Employees (
Id INT NOT NULL AUTO_INCREMENT,
FName VARCHAR(35) NOT NULL,
LName VARCHAR(35) NOT NULL,
PhoneNumber VARCHAR(11),
ManagerId INT,
DepartmentId INT NOT NULL,
Salary INT NOT NULL,
HireDate DATETIME NOT NULL,
PRIMARY KEY(Id),
FOREIGN KEY (ManagerId) REFERENCES Employees(Id),
FOREIGN KEY (DepartmentId) REFERENCES Departments(Id)
);
INSERT INTO Employees
([Id], [FName], [LName], [PhoneNumber], [ManagerId], [DepartmentId], [Salary], [HireDate])
VALUES
(1, 'James', 'Smith', 1234567890, NULL, 1, 1000, '01-01-2002'),
(2, 'John', 'Johnson', 2468101214, '1', 1, 400, '23-03-2005'),
(3, 'Michael', 'Williams', 1357911131, '1', 2, 600, '12-05-2009'),
(4, 'Johnathon', 'Smith', 1212121212, '2', 1, 500, '24-07-2016')
;
Kunden
Ich würde | FName | LName | Telefonnummer | PreferredContact | |
---|---|---|---|---|---|
1 | Wilhelm | Jones | [email protected] | 3347927472 | TELEFON |
2 | David | Müller | [email protected] | 2137921892 | |
3 | Richard | Davis | [email protected] | NULL |
SQL-Anweisungen zum Erstellen der Tabelle:
CREATE TABLE Customers (
Id INT NOT NULL AUTO_INCREMENT,
FName VARCHAR(35) NOT NULL,
LName VARCHAR(35) NOT NULL,
Email varchar(100) NOT NULL,
PhoneNumber VARCHAR(11),
PreferredContact VARCHAR(5) NOT NULL,
PRIMARY KEY(Id)
);
INSERT INTO Customers
([Id], [FName], [LName], [Email], [PhoneNumber], [PreferredContact])
VALUES
(1, 'William', 'Jones', '[email protected]', '3347927472', 'PHONE'),
(2, 'David', 'Miller', '[email protected]', '2137921892', 'EMAIL'),
(3, 'Richard', 'Davis', '[email protected]', NULL, 'EMAIL')
;
Autos
Ich würde | Kundennummer | Mitarbeiter-ID | Modell | Status | Gesamtkosten |
---|---|---|---|---|---|
1 | 1 | 2 | Ford F-150 | BEREIT | 230 |
2 | 1 | 2 | Ford F-150 | BEREIT | 200 |
3 | 2 | 1 | Ford Mustang | WARTEN | 100 |
4 | 3 | 3 | Toyota Prius | ARBEITEN | 1254 |
SQL-Anweisungen zum Erstellen der Tabelle:
CREATE TABLE Cars (
Id INT NOT NULL AUTO_INCREMENT,
CustomerId INT NOT NULL,
EmployeeId INT NOT NULL,
Model varchar(50) NOT NULL,
Status varchar(25) NOT NULL,
TotalCost INT NOT NULL,
PRIMARY KEY(Id),
FOREIGN KEY (CustomerId) REFERENCES Customers(Id),
FOREIGN KEY (EmployeeId) REFERENCES Employees(Id)
);
INSERT INTO Cars
([Id], [CustomerId], [EmployeeId], [Model], [Status], [TotalCost])
VALUES
('1', '1', '2', 'Ford F-150', 'READY', '230'),
('2', '1', '2', 'Ford F-150', 'READY', '200'),
('3', '2', '1', 'Ford Mustang', 'WAITING', '100'),
('4', '3', '3', 'Toyota Prius', 'WORKING', '1254')
;
Bibliotheksdatenbank
In dieser Beispieldatenbank für eine Bibliothek verfügen wir über die Tabellen Authors , Books und BooksAuthors .
Live-Beispiel: SQL-Geige
Autoren und Bücher werden Basistabellen genannt , da sie Spaltendefinitionen und Daten für die tatsächlichen Entitäten im relationalen Modell enthalten. BooksAuthors ist als Beziehungstabelle bekannt , da diese Tabelle die Beziehung zwischen der Tabelle Books und Authors definiert.
Beziehungen zwischen Tabellen
- Jeder Autor kann ein oder mehrere Bücher haben
- Jedes Buch kann einen oder mehrere Autoren haben
Autoren
( Tabelle ansehen )
Ich würde | Name | Land |
---|---|---|
1 | JD Salinger | Vereinigte Staaten von Amerika |
2 | F. Scott. Fitzgerald | Vereinigte Staaten von Amerika |
3 | Jane Austen | Vereinigtes Königreich |
4 | Scott Hanselman | Vereinigte Staaten von Amerika |
5 | Jason N. Gaylord | Vereinigte Staaten von Amerika |
6 | Pranav Rastogi | Indien |
7 | Todd Miranda | Vereinigte Staaten von Amerika |
8 | Christian Wenz | Vereinigte Staaten von Amerika |
SQL zum Erstellen der Tabelle:
CREATE TABLE Authors (
Id INT NOT NULL AUTO_INCREMENT,
Name VARCHAR(70) NOT NULL,
Country VARCHAR(100) NOT NULL,
PRIMARY KEY(Id)
);
INSERT INTO Authors
(Name, Country)
VALUES
('J.D. Salinger', 'USA'),
('F. Scott. Fitzgerald', 'USA'),
('Jane Austen', 'UK'),
('Scott Hanselman', 'USA'),
('Jason N. Gaylord', 'USA'),
('Pranav Rastogi', 'India'),
('Todd Miranda', 'USA'),
('Christian Wenz', 'USA')
;
Bücher
( Tabelle ansehen )
Ich würde | Titel |
---|---|
1 | Der Fänger im Roggen |
2 | Neun Geschichten |
3 | Franny und Zooey |
4 | Der große Gatsby |
5 | Ausschreibung der Nacht |
6 | Stolz und Vorurteil |
7 | Professionelles ASP.NET 4.5 in C # und VB |
SQL zum Erstellen der Tabelle:
CREATE TABLE Books (
Id INT NOT NULL AUTO_INCREMENT,
Title VARCHAR(50) NOT NULL,
PRIMARY KEY(Id)
);
INSERT INTO Books
(Id, Title)
VALUES
(1, 'The Catcher in the Rye'),
(2, 'Nine Stories'),
(3, 'Franny and Zooey'),
(4, 'The Great Gatsby'),
(5, 'Tender id the Night'),
(6, 'Pride and Prejudice'),
(7, 'Professional ASP.NET 4.5 in C# and VB')
;
BücherAuthors
( Tabelle ansehen )
BookId | AuthorId |
---|---|
1 | 1 |
2 | 1 |
3 | 1 |
4 | 2 |
5 | 2 |
6 | 3 |
7 | 4 |
7 | 5 |
7 | 6 |
7 | 7 |
7 | 8 |
SQL zum Erstellen der Tabelle:
CREATE TABLE BooksAuthors (
AuthorId INT NOT NULL,
BookId INT NOT NULL,
FOREIGN KEY (AuthorId) REFERENCES Authors(Id),
FOREIGN KEY (BookId) REFERENCES Books(Id)
);
INSERT INTO BooksAuthors
(BookId, AuthorId)
VALUES
(1, 1),
(2, 1),
(3, 1),
(4, 2),
(5, 2),
(6, 3),
(7, 4),
(7, 5),
(7, 6),
(7, 7),
(7, 8)
;
Beispiele
Alle Autoren anzeigen ( Live-Beispiel anzeigen ):
SELECT * FROM Authors;
Alle Buchtitel anzeigen ( Live-Beispiel anzeigen ):
SELECT * FROM Books;
Alle Bücher und ihre Autoren anzeigen ( Live-Beispiel anzeigen ):
SELECT
ba.AuthorId,
a.Name AuthorName,
ba.BookId,
b.Title BookTitle
FROM BooksAuthors ba
INNER JOIN Authors a ON a.id = ba.authorid
INNER JOIN Books b ON b.id = ba.bookid
;
Ländertabelle
In diesem Beispiel haben wir eine Tabelle Länder . Eine Tabelle für Länder ist vielseitig verwendbar, insbesondere in Finanzanwendungen, die Währungen und Wechselkurse beinhalten.
Live-Beispiel: SQL-Geige
Bei einigen Marktdaten-Softwareanwendungen wie Bloomberg und Reuters müssen Sie der API entweder einen 2- oder 3-stelligen Ländercode zusammen mit dem Währungscode angeben. Daher enthält diese Beispieltabelle sowohl die 2- ISO3
ISO
ISO3
als auch die 3- ISO3
.
Länder
( Tabelle ansehen )
Ich würde | ISO | ISO3 | ISONumeric | Ländername | Hauptstadt | ContinentCode | Währungscode |
---|---|---|---|---|---|---|---|
1 | AU | AUS | 36 | Australien | Canberra | OC | AUD |
2 | DE | DEU | 276 | Deutschland | Berlin | EU | EUR |
2 | IM | IND | 356 | Indien | Neu-Delhi | WIE | INR |
3 | LA | LAO | 418 | Laos | Vientiane | WIE | Lak |
4 | UNS | Vereinigte Staaten von Amerika | 840 | Vereinigte Staaten | Washington | N / A | USD |
5 | ZW | ZWE | 716 | Zimbabwe | Harare | AF | ZWL |
SQL zum Erstellen der Tabelle:
CREATE TABLE Countries (
Id INT NOT NULL AUTO_INCREMENT,
ISO VARCHAR(2) NOT NULL,
ISO3 VARCHAR(3) NOT NULL,
ISONumeric INT NOT NULL,
CountryName VARCHAR(64) NOT NULL,
Capital VARCHAR(64) NOT NULL,
ContinentCode VARCHAR(2) NOT NULL,
CurrencyCode VARCHAR(3) NOT NULL,
PRIMARY KEY(Id)
)
;
INSERT INTO Countries
(ISO, ISO3, ISONumeric, CountryName, Capital, ContinentCode, CurrencyCode)
VALUES
('AU', 'AUS', 36, 'Australia', 'Canberra', 'OC', 'AUD'),
('DE', 'DEU', 276, 'Germany', 'Berlin', 'EU', 'EUR'),
('IN', 'IND', 356, 'India', 'New Delhi', 'AS', 'INR'),
('LA', 'LAO', 418, 'Laos', 'Vientiane', 'AS', 'LAK'),
('US', 'USA', 840, 'United States', 'Washington', 'NA', 'USD'),
('ZW', 'ZWE', 716, 'Zimbabwe', 'Harare', 'AF', 'ZWL')
;