SQL
Примеры баз данных и таблиц
Поиск…
База данных автозагрузки
В следующем примере - База данных для бизнеса автомагазина, у нас есть список отделов, сотрудников, клиентов и автомобилей клиентов. Мы используем внешние ключи для создания связей между различными таблицами.
Пример Live: скрипт SQL
Отношения между таблицами
- У каждого Департамента может быть 0 или более сотрудников
- У каждого сотрудника может быть 0 или 1 менеджер
- У каждого Клиента может быть 0 или более автомобилей
ведомства
Я бы | название |
---|---|
1 | HR |
2 | Продажи |
3 | Технология |
Операторы SQL для создания таблицы:
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')
;
Сотрудники
Я бы | FName | LName | Номер телефона | ManagerID | DepartmentID | Оплата труда | Дата приема на работу |
---|---|---|---|---|---|---|---|
1 | Джеймс | кузнец | 1234567890 | НОЛЬ | 1 | 1000 | 01-01-2002 |
2 | Джон | Джонсон | 2468101214 | 1 | 1 | 400 | 23-03-2005 |
3 | Майкл | Williams | 1357911131 | 1 | 2 | 600 | 12-05-2009 |
4 | Джонатон | кузнец | 1212121212 | 2 | 1 | 500 | 24-07-2016 |
Операторы SQL для создания таблицы:
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')
;
Клиенты
Я бы | FName | LName | Эл. адрес | Номер телефона | PreferredContact |
---|---|---|---|---|---|
1 | Уильям | Джонс | [email protected] | 3347927472 | ТЕЛЕФОН |
2 | Дэвид | мельник | [email protected] | 2137921892 | ЭЛ. АДРЕС |
3 | Ричард | Дэвис | [email protected] | НОЛЬ | ЭЛ. АДРЕС |
Операторы SQL для создания таблицы:
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')
;
Машины
Я бы | Пользовательский ИД | EmployeeID | модель | Статус | Общая стоимость |
---|---|---|---|---|---|
1 | 1 | 2 | Ford F-150 | ГОТОВЫ | 230 |
2 | 1 | 2 | Ford F-150 | ГОТОВЫ | 200 |
3 | 2 | 1 | Ford Mustang | ОЖИДАНИЯ | 100 |
4 | 3 | 3 | Toyota Prius | ЗА РАБОТОЙ | 1254 |
Операторы SQL для создания таблицы:
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')
;
База данных библиотек
В этой базе данных для библиотеки есть таблицы авторов , книг и книг .
Пример Live: скрипт SQL
Авторы и книги известны как базовые таблицы , поскольку они содержат определение столбцов и данные для реальных объектов в реляционной модели. BooksAuthors известна как таблица отношений , так как эта таблица определяет взаимосвязь между таблицей « Книги и авторы» .
Отношения между таблицами
- У каждого автора может быть 1 или более книг
- В каждой книге может быть 1 или более авторов
Авторы
Я бы | название | Страна |
---|---|---|
1 | Дж. Д. Сэлинджер | Соединенные Штаты Америки |
2 | Ф. Скотт. Fitzgerald | Соединенные Штаты Америки |
3 | Джейн Остин | Соединенное Королевство |
4 | Скотт Гензельман | Соединенные Штаты Америки |
5 | Джейсон Н. Гейлорд | Соединенные Штаты Америки |
6 | Пранав Растоги | Индия |
7 | Тодд Миранда | Соединенные Штаты Америки |
8 | Кристиан Венц | Соединенные Штаты Америки |
SQL для создания таблицы:
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')
;
книги
Я бы | заглавие |
---|---|
1 | Ловец во ржи |
2 | Девять историй |
3 | Фрэнни и Зои |
4 | Великий Гэтсби |
5 | Тендерный идентификатор Ночь |
6 | Гордость и предубеждение |
7 | Профессиональный ASP.NET 4.5 в C # и VB |
SQL для создания таблицы:
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')
;
BooksAuthors
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 для создания таблицы:
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)
;
Примеры
Просмотреть всех авторов ( просмотреть живой пример ):
SELECT * FROM Authors;
Просмотр всех названий книг ( просмотр живого примера ):
SELECT * FROM Books;
Просмотреть все книги и их авторов ( посмотреть живой пример ):
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
;
Таблица стран
В этом примере у нас есть таблица стран . Таблица для стран имеет много применений, особенно в финансовых приложениях, связанных с валютами и обменными курсами.
Пример Live: скрипт SQL
Некоторые программные приложения для данных рынка, такие как Bloomberg и Reuters, требуют, чтобы вы предоставили свой API код страны или 2 символа страны вместе с кодом валюты. Следовательно, эта таблица примеров содержит как 2- ISO3
столбец ISO
кода, так и 3 символьных ISO3
кода ISO3
.
страны
Я бы | ISO | ISO3 | ISONumeric | Название страны | Капитал | ContinentCode | Код валюты |
---|---|---|---|---|---|---|---|
1 | AU | AUS | 36 | Австралия | Канберра | OC | AUD |
2 | Делавэр | DEU | 276 | Германия | Берлин | Евросоюз | евро |
2 | В | IND | 356 | Индия | Нью-Дели | КАК | INR |
3 | Луизиана | ЛАО | 418 | Лаос | Вьентьян | КАК | LAK |
4 | НАС | Соединенные Штаты Америки | 840 | Соединенные Штаты | Вашингтон | Не Доступно | доллар США |
5 | ZW | ZWE | 716 | Зимбабве | Хараре | AF | ZWL |
SQL для создания таблицы:
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')
;