ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ β ΡΠ΄Π°Π»ΡΠ½Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ° Π² ΠΠΎΡΠΊΠ²Π΅
ΠΠ°ΡΠ°: 2023-04-16
ΠΠ΅ΡΠ°Π»ΠΈ
Π Π΅Π³ΠΈΠΎΠ½
ΠΠΎΡΠΊΠ²Π°
ΠΠ°Π½ΡΡΠΎΡΡΡ
Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ
Π‘ΡΠΎΠΈΠΌΠΎΡΡΡ
ΠΎΡ 1000.00 ΡΡΠ±.
ΠΠ°ΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ
2023-04-16
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Ρ Π½ΡΠ»Ρ. Π‘Π£ΠΠ: MySQL. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Β«Π£ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠΎΠ²ΠΎΠΊ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² ΠΏΡΠ΅Π΄ΠΈΡΠΈΡΡΠΈΡΒ» Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π‘Π£ΠΠ. ΠΠ°Π΄Π°Π½ΠΈΠ΅. Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΈ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°Ρ
ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΠΈ ΠΈΡ
ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠΎΠ²ΠΊΠ°Ρ
. ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ
Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ MS SQL, PostgreSQL. ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π±Π»ΠΈΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
8. ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ
Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΊ 3 Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅. ΠΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΎΡ
ΡΠ°Π½Π΅Π½Ρ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
, ΠΊΠ°ΠΊ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ. β’ ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΠ°ΠΏΡΠΎΡΡ 1) ΠΡΠ²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΌΡΡ
ΡΠΊΠΎΠ½ΠΎΠΌΠ½ΡΡ
ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² (ΡΠ΅Ρ
ΠΊΡΠΎ ΡΡΠ°ΡΠΈΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠ΅Π½ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ) 2) ΠΠ°ΠΉΡΠΈ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΠΈ ΡΠ°Π·Ρ Π½Π΅ Π±ΡΠ»ΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠΎΠ²ΠΊΠ΅ Π² ΠΠΆΠ΅Π²ΡΠΊΠ΅. β’ ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎ ΠΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ Π³ΠΎΡΠΎΠ΄Ρ Π²ΡΠ²Π΅ΡΡΠΈ Π‘ΠΏΠΈΠ‘ΠΎΠΊ ΠΎΡΠ΅Π»Π΅ΠΉ, Π² ΠΊΠΎΡΠΎΡΡΡ
ΠΌΠΎΠ³ΡΡ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ. Π Π°Π±ΠΎΡΡ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π² PgAdmin. ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ
“Π£ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠΎΠ²ΠΎΠΊ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ“ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΠ°Π±Π»ΠΈΡ: 1. Π’Π°Π±Π»ΠΈΡΠ° “Π‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ“ (Employees) - ID ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° (EmployeeID) - ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ - Π€Π°ΠΌΠΈΠ»ΠΈΡ (LastName) - ΠΠΌΡ (FirstName) - ΠΡΡΠ΅ΡΡΠ²ΠΎ (MiddleName) - ΠΠ°ΡΠ° ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ (BirthDate) - ΠΠΎΠ»ΠΆΠ½ΠΎΡΡΡ (Position) - ΠΡΠ΄Π΅Π» (Department) 2. Π’Π°Π±Π»ΠΈΡΠ° “ΠΠΎΠΌΠ°Π½Π΄ΠΈΡΠΎΠ²ΠΊΠΈ“ (BusinessTrips) - ID ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠΎΠ²ΠΊΠΈ (BusinessTripID) - ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ - ID ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° (EmployeeID) - Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅ “Π‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ“ - ΠΠ°ΡΠ° Π½Π°ΡΠ°Π»Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠΎΠ²ΠΊΠΈ (StartDate) - ΠΠ°ΡΠ° ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠΎΠ²ΠΊΠΈ (EndDate) - ΠΠΎΡΠΎΠ΄ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ (DestinationCity) - Π‘ΡΠΎΠΈΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠΎΠ²ΠΊΠΈ (Cost) 3. Π’Π°Π±Π»ΠΈΡΠ° “ΠΡΠ΅Π»ΠΈ“ (Hotels) - ID ΠΎΡΠ΅Π»Ρ (HotelID) - ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ - ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΡΠ΅Π»Ρ (HotelName) - ΠΠ΄ΡΠ΅Ρ ΠΎΡΠ΅Π»Ρ (Address) - ΠΠΎΡΠΎΠ΄, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΎΡΠ΅Π»Ρ (City) 4. Π’Π°Π±Π»ΠΈΡΠ° “ΠΠΎΠΌΠ°Π½Π΄ΠΈΡΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΡΡ
ΠΎΠ΄Ρ“ (BusinessTripExpenses) - ID ΡΠ°ΡΡ
ΠΎΠ΄Π° (ExpenseID) - ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ - ID ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠΎΠ²ΠΊΠΈ (BusinessTripID) - Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅ “ΠΠΎΠΌΠ°Π½Π΄ΠΈΡΠΎΠ²ΠΊΠΈ“ - ID ΠΎΡΠ΅Π»Ρ (HotelID) - Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅ “ΠΡΠ΅Π»ΠΈ“ - Π‘ΡΠΎΠΈΠΌΠΎΡΡΡ ΠΏΡΠΎΠΆΠΈΠ²Π°Π½ΠΈΡ Π² ΠΎΡΠ΅Π»Π΅ (AccommodationCost) - Π‘ΡΠΎΠΈΠΌΠΎΡΡΡ ΠΏΠΈΡΠ°Π½ΠΈΡ (FoodCost) - Π‘ΡΠΎΠΈΠΌΠΎΡΡΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ° (TransportCost) 5. Π’Π°Π±Π»ΠΈΡΠ° “ΠΠΎΡΠΎΠ΄Π°“ (Cities) - ID Π³ΠΎΡΠΎΠ΄Π° (CityID) - ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ - ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ Π³ΠΎΡΠΎΠ΄Π° (CityName) 6. Π’Π°Π±Π»ΠΈΡΠ° “Π‘ΡΡΠ°Π½Ρ“ (Countries) - ID ΡΡΡΠ°Π½Ρ (CountryID) - ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ - ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΡΠ°Π½Ρ (CountryName) 7. Π’Π°Π±Π»ΠΈΡΠ° “Π Π΅Π³ΠΈΠΎΠ½Ρ“ (Regions) - ID ΡΠ΅Π³ΠΈΠΎΠ½Π° (RegionID) - ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ - ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΠΎΠ½Π° (RegionName) 8. Π’Π°Π±Π»ΠΈΡΠ° “ΠΡΠ΄Π΅Π»Ρ“ (Departments) - ID ΠΎΡΠ΄Π΅Π»Π° (DepartmentID) - ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ - ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»Π° (DepartmentName) ΠΠ°ΠΏΡΠΎΡΡ: 1) ΠΡΠ²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΌΡΡ
ΡΠΊΠΎΠ½ΠΎΠΌΠ½ΡΡ
ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² (ΡΠ΅Ρ
ΠΊΡΠΎ ΡΡΠ°ΡΠΈΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠΎΠ²ΠΊΠΈ ΠΌΠ΅Π½ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ) SELECT e.LastName, e.FirstName, SUM(bt.Cost) AS TotalCost FROM Employees e JOIN BusinessTrips bt ON e.EmployeeID = bt.EmployeeID GROUP BY e.LastName, e.FirstName ORDER BY TotalCost ASC 2) ΠΠ°ΠΉΡΠΈ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΠΈ ΡΠ°Π·Ρ Π½Π΅ Π±ΡΠ»ΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠΎΠ²ΠΊΠ΅ Π² ΠΠΆΠ΅Π²ΡΠΊΠ΅. SELECT e.LastName, e.FirstName FROM Employees e LEFT JOIN BusinessTrips bt ON e.EmployeeID = bt.EmployeeID AND bt.DestinationCity = 'ΠΠΆΠ΅Π²ΡΠΊ' WHERE bt.BusinessTripID IS NULL Π€ΡΠ½ΠΊΡΠΈΡ: CREATE FUNCTION GetHotelsInCity(cityName VARCHAR(50)) RETURNS TABLE (HotelName VARCHAR(100), Address VARCHAR(200)) AS $$ BEGIN RETURN QUERY SELECT h.HotelName, h.Address FROM Hotels h JOIN Cities c ON h.City = c.CityID WHERE c.CityName = cityName; END; $$ LANGUAGE plpgsql;.
ΠΠΎΡ
ΠΎΠΆΠΈΠ΅ Π·Π°ΠΊΠ°Π·Ρ
ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ
Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ½Π°Ρ
Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Ρ Π½ΡΠ»Ρ. Π‘Π£ΠΠ: MySQL. ΠΡΡΡ Π΄Π²Π΅ Π·Π°Π΄Π°ΡΠΈ 1) ΠΡΠΆΠ½ΠΎ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅ Yandex Cloud Π½Π° Π±Π°Π·Π΅ MySQL. 2) ΠΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΊΡΠΈΠΏΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΏΠΎ API Ρ ΠΌΠ°ΡΠΊΠ΅ΡΠΏΠ»Π΅ΠΉΡΠΎΠ² Π² Python. Π‘ΠΊΡΠΈΠΏΡΠΎΠ² Π½ΡΠΆΠ½ΠΎ 4-6, ΡΠ°Π·Π΄Π΅Π»Ρ ΠΈ Π½ΡΠΆΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Ρ ΠΏΠΎΠΊΠ°ΠΆΡ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΡΠΎ ΠΈΠ· ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ. Π‘ΠΎΡΠΈΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° ΠΏΠΎ ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π·Π°Π΄Π°Ρ ΠΏΡΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ΅.
ΠΠΎΡΠΊΠ²Π°
Π€ΡΠΈΠ»Π°Π½ΡΠ΅ΡΡ
2024-04-11
MySQL
Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΠΎ
Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠ½Π°Ρ
Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Ρ Π½ΡΠ»Ρ. Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΠ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠ°ΠΉΠ»Π° config.php. Π§ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΅ΡΡ: ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠ°ΠΆ ΠΈ ΠΎΠ±ΡΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π° ΠΊΠΎΠ½ΡΡΠ»ΡΡΠ°ΡΠΈΡ.
ΠΠΎΡΠΊΠ²Π°
Π€ΡΠΈΠ»Π°Π½ΡΠ΅ΡΡ
2024-04-10