Skip to content

πŸ“– Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… для ΠΊΠ½ΠΈΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°

Notifications You must be signed in to change notification settings

NeZorinEgor/Bookstore-DB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΊΠ½ΠΈΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°

MySQL

ОписаниС

Для систСмы Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠ½ΠΈΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, которая Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠ½ΠΈΠ³Π°Ρ…, Π°Π²Ρ‚ΠΎΡ€Π°Ρ…, Π·Π°ΠΊΠ°Π·Π°Ρ…, ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ…, сотрудниках ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… сущностях, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для управлСния бизнСсом.

Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ†:

Π’Π°Π±Π»ΠΈΡ†Π° "Books"

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠ½ΠΈΠ³Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ доступны для ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ. Она содСрТит ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠ½ΠΈΠ³ΠΈ (BookID), Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ (Title), ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π°Π²Ρ‚ΠΎΡ€Π° (AuthorID), ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ (Publisher), Π³ΠΎΠ΄ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ (PublicationYear), Ρ†Π΅Π½Ρƒ (Price) ΠΈ количСство экзСмпляров Π½Π° складС (StockQuantity).

ПолС Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ОписаниС
BookID int Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠ½ΠΈΠ³ΠΈ
Title varchar НазваниС книги
AuthorID int Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π°Π²Ρ‚ΠΎΡ€Π° ΠΊΠ½ΠΈΠ³ΠΈ
Publisher varchar НазваниС ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°
PublicationYear int Π“ΠΎΠ΄ издания ΠΊΠ½ΠΈΠ³ΠΈ
Price decimal Π¦Π΅Π½Π° ΠΊΠ½ΠΈΠ³ΠΈ
StockQuantity int ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΊΠ½ΠΈΠ³ Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π½Π° складС ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°

Π’Π°Π±Π»ΠΈΡ†Π° "Authors"

CΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± Π°Π²Ρ‚ΠΎΡ€Π°Ρ… ΠΊΠ½ΠΈΠ³. Она содСрТит ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π°Π²Ρ‚ΠΎΡ€Π° (AuthorID), имя (FirstName), Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ (LastName) ΠΈ отчСство (MiddleName).

ПолС Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ОписаниС
AuthorID int Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π°Π²Ρ‚ΠΎΡ€Π°
FirstName varchar Имя Π°Π²Ρ‚ΠΎΡ€Π°
LastName varchar Ѐамилия Π°Π²Ρ‚ΠΎΡ€Π°
MiddleName varchar ΠžΡ‚Ρ‡Π΅ΡΡ‚Π²ΠΎ Π°Π²Ρ‚ΠΎΡ€Π°

Π’Π°Π±Π»ΠΈΡ†Π° "Employees"

CΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ сотрудниках ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° ΠΊΠ½ΠΈΠ³. Она содСрТит ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ сотрудника (EmployeeID), имя (FirstName), Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ (LastName), отчСство (MiddleName), Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡ‚ΡŒ (Position), Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Ρƒ (Salary), адрСс (Address) ΠΈ Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° (PhoneNumber).

ПолС Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ОписаниС
EmployeeID int Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ сотрудника
FirstName varchar Имя сотрудника
LastName varchar Ѐамилия сотрудника
MiddleName varchar ΠžΡ‚Ρ‡Π΅ΡΡ‚Π²ΠΎ сотрудника
Position varchar Π”ΠΎΠ»ΠΆΠ½ΠΎΡΡ‚ΡŒ сотрудника
Salary decimal Π—Π°Ρ€ΠΏΠ»Π°Ρ‚Π° сотрудника
Address varchar АдрСс проТивания сотрудника
PhoneNumber varchar НомСр Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° сотрудника

Π’Π°Π±Π»ΠΈΡ†Π° "Orders"

CΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π·Π°ΠΊΠ°Π·Π°Ρ… Π½Π° ΠΊΠ½ΠΈΠ³ΠΈ. Она содСрТит ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π·Π°ΠΊΠ°Π·Π° (OrderID), Π΄Π°Ρ‚Ρƒ Π·Π°ΠΊΠ°Π·Π° (Date), ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (CustomerID) ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ сотрудника (EmployeeID), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π·Π°ΠΊΠ°Π·.

ПолС Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ОписаниС
OrderID int Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π·Π°ΠΊΠ°Π·Π°
Date date Π”Π°Ρ‚Π° Π·Π°ΠΊΠ°Π·Π°
CustomerID int Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°
EmployeeID int Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ сотрудника, ΠΎΡ„ΠΎΡ€ΠΌΠΈΠ²ΡˆΠ΅Π³ΠΎ Π·Π°ΠΊΠ°Π·

Π’Π°Π±Π»ΠΈΡ†Π° "Customers"

CΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ Π·Π°ΠΊΠ°Π·Ρ‹ Π½Π° ΠΊΠ½ΠΈΠ³ΠΈ. Она содСрТит ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (CustomerID), имя (FirstName), Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ (LastName), отчСство (MiddleName), адрСс (Address) ΠΈ Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° (PhoneNumber).

ПолС Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ОписаниС
CustomerID int Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°
FirstName varchar Имя Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°
LastName varchar Ѐамилия Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°
MiddleName varchar ΠžΡ‚Ρ‡Π΅ΡΡ‚Π²ΠΎ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°
Address varchar АдрСс Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°
PhoneNumber varchar НомСр Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ°

Π’Π°Π±Π»ΠΈΡ†Π° "OrderDetails"

CΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ дСталях Π·Π°ΠΊΠ°Π·Π° Π½Π° ΠΊΠ½ΠΈΠ³ΠΈ. Она содСрТит ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π·Π°ΠΊΠ°Π·Π° (OrderID), ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠ½ΠΈΠ³ΠΈ (BookID), количСство экзСмпляров (Quantity) ΠΈ Ρ†Π΅Π½Ρƒ (Price) ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ экзСмпляра.

ПолС Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ОписаниС
OrderID int Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π·Π°ΠΊΠ°Π·Π°
BookID int Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠ½ΠΈΠ³ΠΈ
Quantity int ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π·Π°ΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ…
Price decimal Π¦Π΅Π½Π°

Взаимосвязи:

image

  • КаТдая ΠΊΠ½ΠΈΠ³Π° ΠΈΠΌΠ΅Π΅Ρ‚ своСго Π°Π²Ρ‚ΠΎΡ€Π°.
  • ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π·Π°ΠΊΠ°Π· связан с ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сотрудником, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π» Π·Π°ΠΊΠ°Π·.
  • ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько Π·Π°ΠΊΠ°Π·ΠΎΠ².
  • ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ сотрудник ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ нСсколько Π·Π°ΠΊΠ°Π·ΠΎΠ².
  • Π”Π΅Ρ‚Π°Π»ΠΈ Π·Π°ΠΊΠ°Π·Π° связаны с Π·Π°ΠΊΠ°Π·ΠΎΠΌ ΠΈ ΠΊΠ½ΠΈΠ³ΠΎΠΉ.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡ:

  1. Бписок книг (BooksList):

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠ½ΠΈΠ³Π°Ρ… Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Π°Π²Ρ‚ΠΎΡ€Π°, ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ, Π³ΠΎΠ΄ издания, Ρ†Π΅Π½Ρƒ ΠΈ количСство экзСмпляров Π½Π° складС.

CREATE VIEW BooksList AS
SELECT b.Title, CONCAT(a.FirstName, ' ', a.LastName, ' ', a.MiddleName) AS AuthorFullName, b.Publisher, b.PublicationYear, b.Price, b.StockQuantity
FROM Books b
JOIN Authors a ON b.AuthorID = a.AuthorID;
  1. Бписок заказов (OrdersList):

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ всСх Π·Π°ΠΊΠ°Π·Π°Ρ…, сдСланных Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΄Π°Ρ‚Ρƒ, ΠΈΠΌΠ΅Π½Π° ΠΈ отчСства ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈ сотрудников, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ осущСствляли Π·Π°ΠΊΠ°Π·, Π° Ρ‚Π°ΠΊΠΆΠ΅ сумму Π·Π°ΠΊΠ°Π·Π°.

CREATE VIEW OrdersList AS
SELECT o.OrderID, o.Date, CONCAT(c.FirstName, ' ', c.LastName, ' ', c.MiddleName) AS CustomerFullName, CONCAT(e.FirstName, ' ', e.LastName, ' ', e.MiddleName) AS EmployeeFullName, SUM(od.Quantity * od.Price) AS TotalAmount
FROM Orders o
JOIN Customers c ON o.CustomerID = c.CustomerID
JOIN Employees e ON o.EmployeeID = e.EmployeeID
JOIN OrderDetails od ON o.OrderID = od.OrderID
GROUP BY o.OrderID;
  1. Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ список Π·Π°ΠΊΠ°Π·Π° (OrderDetailsList):

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ Π·Π°ΠΊΠ°Π·Π΅, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ, количСство Π·Π°ΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΊΠ½ΠΈΠ³, Ρ†Π΅Π½Ρƒ Π·Π° ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ ΠΈ ΠΎΠ±Ρ‰ΡƒΡŽ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π·Π°ΠΊΠ°Π·Π°.

CREATE VIEW OrderDetailsList AS
SELECT od.OrderID, b.Title, od.Quantity, od.Price, od.Quantity * od.Price AS Amount
FROM OrderDetails od
JOIN Books b ON od.BookID = b.BookID;

Код SQL для создания Ρ‚Π°Π±Π»ΠΈΡ†:

CREATE TABLE Books (
BookID int NOT NULL PRIMARY KEY,
Title varchar(255) NOT NULL,
AuthorID int NOT NULL,
Publisher varchar(255) NOT NULL,
PublicationYear int NOT NULL,
Price decimal(10,2) NOT NULL,
StockQuantity int NOT NULL
);

CREATE TABLE Authors (
AuthorID int NOT NULL PRIMARY KEY,
FirstName varchar(50) NOT NULL,
LastName varchar(50) NOT NULL,
MiddleName varchar(50) NOT NULL
);

CREATE TABLE Employees (
EmployeeID int NOT NULL PRIMARY KEY,
FirstName varchar(50) NOT NULL,
LastName varchar(50) NOT NULL,
MiddleName varchar(50) NOT NULL,
Position varchar(255) NOT NULL,
Salary decimal(10,2) NOT NULL,
Address varchar(255) NOT NULL,
PhoneNumber varchar(20) NOT NULL
);

CREATE TABLE Orders (
OrderID int NOT NULL PRIMARY KEY,
Date date NOT NULL,
CustomerID int NOT NULL,
EmployeeID int NOT NULL
);

CREATE TABLE Customers (
CustomerID int NOT NULL PRIMARY KEY,
FirstName varchar(50) NOT NULL,
LastName varchar(50) NOT NULL,
MiddleName varchar(50) NOT NULL,
Address varchar(255) NOT NULL,
PhoneNumber varchar(20) NOT NULL
);

CREATE TABLE OrderDetails (
OrderID int NOT NULL,
BookID int NOT NULL,
Quantity int NOT NULL,
Price decimal(10,2) NOT NULL
);

Код SQL для создания связСй ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ:

ALTER TABLE Books ADD FOREIGN KEY (AuthorID) REFERENCES Authors(AuthorID);
ALTER TABLE Orders ADD FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID);
ALTER TABLE Orders ADD FOREIGN KEY (EmployeeID) REFERENCES Employees(EmployeeID);
ALTER TABLE OrderDetails ADD FOREIGN KEY (OrderID) REFERENCES Orders(OrderID);
ALTER TABLE OrderDetails ADD FOREIGN KEY (BookID) REFERENCES Books(BookID);

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ запросов SQL для Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ:

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ записи Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Books

INSERT INTO Books (BookID, Title, AuthorID, Publisher, PublicationYear, Price, StockQuantity)
VALUES (1, 'The Great Gatsby', 1, 'Scribner', 1925, 10.99, 100);

Π­Ρ‚ΠΎΡ‚ запрос создаСт запись с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ ΠΊΠ½ΠΈΠ³Π΅ 'The Great Gatsby', Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ являСтся Π°Π²Ρ‚ΠΎΡ€ с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ 1, ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΌ Scribner, Π³ΠΎΠ΄ΠΎΠΌ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ 1925, Ρ†Π΅Π½ΠΎΠΉ 10.99 ΠΈ количСством Π½Π° складС 100.

ИзмСнСниС записи Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Books

UPDATE Books
SET Publisher = 'Penguin',
    PublicationYear = 2021,
    Price = 12.99,
    StockQuantity = 50
WHERE BookID = 1;

Π­Ρ‚ΠΎΡ‚ запрос измСняСт ΠΈΠ·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ, Π³ΠΎΠ΄ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Ρ†Π΅Π½Ρƒ ΠΈ количСство Π½Π° складС для ΠΊΠ½ΠΈΠ³ΠΈ с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ 1.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ записи ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Books

DELETE FROM Books
WHERE BookID = 1;

Π­Ρ‚ΠΎΡ‚ запрос удаляСт запись для ΠΊΠ½ΠΈΠ³ΠΈ с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ 1.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ записи Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Authors

INSERT INTO Authors (AuthorID, FirstName, LastName, MiddleName)
VALUES (1, 'F. Scott', 'Fitzgerald', 'Francis');

Π­Ρ‚ΠΎΡ‚ запрос создаСт запись с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎΠ± Π°Π²Ρ‚ΠΎΡ€Π΅ 'F. Scott Fitzgerald', Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ 1, имя Scott, фамилия Fitzgerald ΠΈ отчСство Francis.

ИзмСнСниС записи Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Authors

UPDATE Authors
SET FirstName = 'Francis Scott'
WHERE AuthorID = 1;

Π­Ρ‚ΠΎΡ‚ запрос измСняСт имя Π°Π²Ρ‚ΠΎΡ€Π° с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ 1 Π½Π° Francis Scott.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ записи ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Authors

DELETE FROM Authors
WHERE AuthorID = 1;

Π­Ρ‚ΠΎΡ‚ запрос удаляСт запись для Π°Π²Ρ‚ΠΎΡ€Π° с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ 1.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ записи Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Employees

INSERT INTO Employees (EmployeeID, FirstName, LastName, MiddleName, Position, Salary, Address, PhoneNumber)
VALUES (1, 'John', 'Doe', 'Smith', 'Sales Manager', 50000.00, '123 Main St', '555-1234');

ИзмСнСниС записи Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Employees

UPDATE Employees
SET Position = 'Senior Sales Manager',
    Salary = 60000.00,
    Address = '456 Main St',
    PhoneNumber = '555-5678'
WHERE EmployeeID = 1;

Π­Ρ‚ΠΎΡ‚ запрос измСняСт Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡ‚ΡŒ, Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Ρƒ, адрСс ΠΈ Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° для сотрудника с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ 1.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ записи ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Employees

DELETE FROM Employees
WHERE EmployeeID = 1;

Π­Ρ‚ΠΎΡ‚ запрос удаляСт запись для сотрудника с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ 1.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ записи Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Orders

INSERT INTO Orders (OrderID, Date, CustomerID, EmployeeID)
VALUES (1, '2023-05-10', 1, 1);

ИзмСнСниС записи Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Orders

UPDATE Orders
SET Date = '2023-05-11',
    CustomerID = 2,
    EmployeeID = 2
WHERE OrderID = 1;

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ записи ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Orders

DELETE FROM Orders
WHERE OrderID = 1;

Π­Ρ‚ΠΎΡ‚ запрос удаляСт запись для Π·Π°ΠΊΠ°Π·Π° с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ 1.

Π­Ρ‚ΠΎΡ‚ запрос создаСт запись с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Π·Π°ΠΊΠ°Π·Π΅ с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ 1, Π΄Π°Ρ‚ΠΎΠΉ 2023-05-10, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ° 1 ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ сотрудника 1.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ записи Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Customers

INSERT INTO Customers (CustomerID, FirstName, LastName, MiddleName, Address, PhoneNumber)
VALUES (1, 'Jane', 'Doe', 'Smith', '456 Elm St', '555-4321');

ИзмСнСниС записи Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Customers

UPDATE Customers
SET Address = '789 Oak St',
    PhoneNumber = '555-8765'
WHERE CustomerID = 1;

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ записи ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Customers

DELETE FROM Customers
WHERE CustomerID = 1;

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ записи Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ OrderDetails

INSERT INTO OrderDetails (OrderID, BookID, Quantity, Price)
VALUES (1, 1, 2, 14.99);

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ записи ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ OrderDetails

DELETE FROM OrderDetails
WHERE OrderID = 1 AND BookID = 2;

About

πŸ“– Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… для ΠΊΠ½ΠΈΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published