ΠΠ»Ρ ΡΠΈΡΡΠ΅ΠΌΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠ½ΠΈΠΆΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ½ΠΈΠ³Π°Ρ , Π°Π²ΡΠΎΡΠ°Ρ , Π·Π°ΠΊΠ°Π·Π°Ρ , ΠΊΠ»ΠΈΠ΅Π½ΡΠ°Ρ , ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°Ρ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΡΡΠ½ΠΎΡΡΡΡ , Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±ΠΈΠ·Π½Π΅ΡΠΎΠΌ.
ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ Π±ΡΠ΄Π΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°Π±Π»ΠΈΡ:
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ½ΠΈΠ³Π°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ ΠΏΡΠΎΠ΄Π°ΠΆΠΈ. ΠΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ½ΠΈΠ³ΠΈ (BookID), Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ (Title), ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π°Π²ΡΠΎΡΠ° (AuthorID), ΠΈΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ (Publisher), Π³ΠΎΠ΄ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ (PublicationYear), ΡΠ΅Π½Ρ (Price) ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² Π½Π° ΡΠΊΠ»Π°Π΄Π΅ (StockQuantity).
ΠΠΎΠ»Π΅ | Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|
BookID | int | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ½ΠΈΠ³ΠΈ |
Title | varchar | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ |
AuthorID | int | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π°Π²ΡΠΎΡΠ° ΠΊΠ½ΠΈΠ³ΠΈ |
Publisher | varchar | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²Π° |
PublicationYear | int | ΠΠΎΠ΄ ΠΈΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ½ΠΈΠ³ΠΈ |
Price | decimal | Π¦Π΅Π½Π° ΠΊΠ½ΠΈΠ³ΠΈ |
StockQuantity | int | ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ½ΠΈΠ³ Π² Π½Π°Π»ΠΈΡΠΈΠΈ Π½Π° ΡΠΊΠ»Π°Π΄Π΅ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° |
CΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± Π°Π²ΡΠΎΡΠ°Ρ ΠΊΠ½ΠΈΠ³. ΠΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π°Π²ΡΠΎΡΠ° (AuthorID), ΠΈΠΌΡ (FirstName), ΡΠ°ΠΌΠΈΠ»ΠΈΡ (LastName) ΠΈ ΠΎΡΡΠ΅ΡΡΠ²ΠΎ (MiddleName).
ΠΠΎΠ»Π΅ | Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|
AuthorID | int | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π°Π²ΡΠΎΡΠ° |
FirstName | varchar | ΠΠΌΡ Π°Π²ΡΠΎΡΠ° |
LastName | varchar | Π€Π°ΠΌΠΈΠ»ΠΈΡ Π°Π²ΡΠΎΡΠ° |
MiddleName | varchar | ΠΡΡΠ΅ΡΡΠ²ΠΎ Π°Π²ΡΠΎΡΠ° |
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 | ΠΠΎΠΌΠ΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° |
CΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π·Π°ΠΊΠ°Π·Π°Ρ Π½Π° ΠΊΠ½ΠΈΠ³ΠΈ. ΠΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π·Π°ΠΊΠ°Π·Π° (OrderID), Π΄Π°ΡΡ Π·Π°ΠΊΠ°Π·Π° (Date), ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° (CustomerID) ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° (EmployeeID), ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π·Π°ΠΊΠ°Π·.
ΠΠΎΠ»Π΅ | Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|
OrderID | int | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π·Π°ΠΊΠ°Π·Π° |
Date | date | ΠΠ°ΡΠ° Π·Π°ΠΊΠ°Π·Π° |
CustomerID | int | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ° |
EmployeeID | int | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°, ΠΎΡΠΎΡΠΌΠΈΠ²ΡΠ΅Π³ΠΎ Π·Π°ΠΊΠ°Π· |
CΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»Π°ΡΡ Π·Π°ΠΊΠ°Π·Ρ Π½Π° ΠΊΠ½ΠΈΠ³ΠΈ. ΠΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° (CustomerID), ΠΈΠΌΡ (FirstName), ΡΠ°ΠΌΠΈΠ»ΠΈΡ (LastName), ΠΎΡΡΠ΅ΡΡΠ²ΠΎ (MiddleName), Π°Π΄ΡΠ΅Ρ (Address) ΠΈ Π½ΠΎΠΌΠ΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° (PhoneNumber).
ΠΠΎΠ»Π΅ | Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|
CustomerID | int | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ° |
FirstName | varchar | ΠΠΌΡ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ° |
LastName | varchar | Π€Π°ΠΌΠΈΠ»ΠΈΡ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ° |
MiddleName | varchar | ΠΡΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ° |
Address | varchar | ΠΠ΄ΡΠ΅Ρ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ° |
PhoneNumber | varchar | ΠΠΎΠΌΠ΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ° |
CΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π΄Π΅ΡΠ°Π»ΡΡ Π·Π°ΠΊΠ°Π·Π° Π½Π° ΠΊΠ½ΠΈΠ³ΠΈ. ΠΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π·Π°ΠΊΠ°Π·Π° (OrderID), ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ½ΠΈΠ³ΠΈ (BookID), ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² (Quantity) ΠΈ ΡΠ΅Π½Ρ (Price) ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°.
ΠΠΎΠ»Π΅ | Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|
OrderID | int | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π·Π°ΠΊΠ°Π·Π° |
BookID | int | ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ½ΠΈΠ³ΠΈ |
Quantity | int | ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΊΠ°Π·Π°Π½Π½ΡΡ |
Price | decimal | Π¦Π΅Π½Π° |
- ΠΠ°ΠΆΠ΄Π°Ρ ΠΊΠ½ΠΈΠ³Π° ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ Π°Π²ΡΠΎΡΠ°.
- ΠΠ°ΠΆΠ΄ΡΠΉ Π·Π°ΠΊΠ°Π· ΡΠ²ΡΠ·Π°Π½ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π» Π·Π°ΠΊΠ°Π·.
- ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΊΠ°Π·ΠΎΠ².
- ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΊΠ°Π·ΠΎΠ².
- ΠΠ΅ΡΠ°Π»ΠΈ Π·Π°ΠΊΠ°Π·Π° ΡΠ²ΡΠ·Π°Π½Ρ Ρ Π·Π°ΠΊΠ°Π·ΠΎΠΌ ΠΈ ΠΊΠ½ΠΈΠ³ΠΎΠΉ.
- Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠ½ΠΈΠ³ (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;
- Π‘ΠΏΠΈΡΠΎΠΊ Π·Π°ΠΊΠ°Π·ΠΎΠ² (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;
- ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π·Π°ΠΊΠ°Π·Π° (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;
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
);
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);
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.
UPDATE Books
SET Publisher = 'Penguin',
PublicationYear = 2021,
Price = 12.99,
StockQuantity = 50
WHERE BookID = 1;
ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²ΠΎ, Π³ΠΎΠ΄ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠ΅Π½Ρ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π° ΡΠΊΠ»Π°Π΄Π΅ Π΄Π»Ρ ΠΊΠ½ΠΈΠ³ΠΈ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ 1.
DELETE FROM Books
WHERE BookID = 1;
ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ ΡΠ΄Π°Π»ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡ Π΄Π»Ρ ΠΊΠ½ΠΈΠ³ΠΈ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ 1.
INSERT INTO Authors (AuthorID, FirstName, LastName, MiddleName)
VALUES (1, 'F. Scott', 'Fitzgerald', 'Francis');
ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ ΡΠΎΠ·Π΄Π°Π΅Ρ Π·Π°ΠΏΠΈΡΡ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎΠ± Π°Π²ΡΠΎΡΠ΅ 'F. Scott Fitzgerald', Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ 1, ΠΈΠΌΡ Scott, ΡΠ°ΠΌΠΈΠ»ΠΈΡ Fitzgerald ΠΈ ΠΎΡΡΠ΅ΡΡΠ²ΠΎ Francis.
UPDATE Authors
SET FirstName = 'Francis Scott'
WHERE AuthorID = 1;
ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΠΌΡ Π°Π²ΡΠΎΡΠ° Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ 1 Π½Π° Francis Scott.
DELETE FROM Authors
WHERE AuthorID = 1;
ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ ΡΠ΄Π°Π»ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡ Π΄Π»Ρ Π°Π²ΡΠΎΡΠ° Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ 1.
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');
UPDATE Employees
SET Position = 'Senior Sales Manager',
Salary = 60000.00,
Address = '456 Main St',
PhoneNumber = '555-5678'
WHERE EmployeeID = 1;
ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΡ, Π·Π°ΡΠΏΠ»Π°ΡΡ, Π°Π΄ΡΠ΅Ρ ΠΈ Π½ΠΎΠΌΠ΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° Π΄Π»Ρ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ 1.
DELETE FROM Employees
WHERE EmployeeID = 1;
ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ ΡΠ΄Π°Π»ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡ Π΄Π»Ρ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ 1.
INSERT INTO Orders (OrderID, Date, CustomerID, EmployeeID)
VALUES (1, '2023-05-10', 1, 1);
UPDATE Orders
SET Date = '2023-05-11',
CustomerID = 2,
EmployeeID = 2
WHERE OrderID = 1;
DELETE FROM Orders
WHERE OrderID = 1;
ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ ΡΠ΄Π°Π»ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡ Π΄Π»Ρ Π·Π°ΠΊΠ°Π·Π° Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ 1.
ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ ΡΠΎΠ·Π΄Π°Π΅Ρ Π·Π°ΠΏΠΈΡΡ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ Π·Π°ΠΊΠ°Π·Π΅ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ 1, Π΄Π°ΡΠΎΠΉ 2023-05-10, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ° 1 ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° 1.
INSERT INTO Customers (CustomerID, FirstName, LastName, MiddleName, Address, PhoneNumber)
VALUES (1, 'Jane', 'Doe', 'Smith', '456 Elm St', '555-4321');
UPDATE Customers
SET Address = '789 Oak St',
PhoneNumber = '555-8765'
WHERE CustomerID = 1;
DELETE FROM Customers
WHERE CustomerID = 1;
INSERT INTO OrderDetails (OrderID, BookID, Quantity, Price)
VALUES (1, 1, 2, 14.99);
DELETE FROM OrderDetails
WHERE OrderID = 1 AND BookID = 2;