Description: (Pilet 6)
  1. Используйте SQL Server и localhost/phpMyAdmin
  2. При выполнении заданий используй составление SQL запросов.
  3. Создай таблицы Cybersport (CybersportID, UserName, Team, GameID) и Game (GameID, GameName)
  4. свяжите таблицы между собой.
  5. Создай таблицу logi(id, user, date, data)
  6. Создай триггеры на отслеживание удаления данных в таблице CyberSport и добавления данных в таблицу CyberSport,
    при этом в таблице logi должно автоматически фиксироваться имя пользователя, дата и время и данные из таблицы CуberSport и Game, учитывая через INNER JOIN соединение между таблицами
  7. Проверь работу тригеров.
Ticket 6
  1. Use SQL Server and localhost/phpMyAdmin
  2. When completing tasks, use SQL queries.
  3. Create tables Cybersport (CybersportID, UserName, Team, GameID) and Game (GameID, GameName)
  4. Link tables together.
  5. Create a table logi(id, user, date, data)
  6. Create triggers to track the deletion of data in the CyberSport table and the addition of data to the CyberSport table,
    at the same time, the logi table should automatically record the user name, date, and data from the CuberSport and Game tables, taking into account the connection between the tables via INNER JOIN
  7. Check the operation of the triggers.

Microsoft SQL Server Management Studio

create table CyberSport (
CybersportID INT PRIMARY KEY identity(1,1), 
UserName varchar(200),
Team varchar(200),
GameID int,
FOREIGN key(GameID) REFERENCES Game(GameID)
);

CREATE TABLE Game (
GameID INT PRIMARY KEY identity(1,1),
GameName varchar(200));

CREATE TABLE logi(
id INT PRIMARY KEY identity(1,1),
user_ VARCHAR(50),
date_ DATE,
data_ TEXT
);

Adding data

CREATE TRIGGER dataAdding_CyberSport
ON CyberSport
AFTER INSERT
AS
BEGIN
    INSERT INTO logi(user_, date_, data_)
    SELECT
	USER,
	GETDATE(),
    CONCAT('Added data: ', i.CybersportID, ': ', i.UserName, ', to the team: ', i.Team, ', ', g.GameID, ': ', g.GameName)
    FROM inserted i
    INNER JOIN Game g
    ON i.GameID = g.GameID;
END

Deleting data

CREATE TRIGGER dataDeleting_CyberSport
ON CyberSport
AFTER DELETE
AS
BEGIN
    INSERT INTO logi(user_, date_, data_)
    SELECT 
	USER,
	GETDATE(),
    CONCAT('Deleted data: ', d.CybersportID, ': ', d.UserName, ', team: ', d.Team, ', ', g.GameID, ': ', g.GameName)
    FROM deleted d
    INNER JOIN Game g
    ON d.GameID = g.GameID;
END

XAMPP

CREATE TABLE Game (
GameID INT PRIMARY KEY AUTO_INCREMENT,
GameName varchar(200)
);

create table CyberSport (
CybersportID INT PRIMARY KEY AUTO_INCREMENT, 
UserName varchar(200),
Team varchar(200),
GameID int,
FOREIGN key(GameID) REFERENCES Game(GameID)
);

CREATE TABLE logi(
id INT PRIMARY KEY AUTO_INCREMENT,
user_ VARCHAR(50),
date_ DATE,
data_ TEXT
);
insert into Game(GameName)
values ('GAME nr 1'), ('GAME nr 15864');
SELECT * FROM Game;

Adding data

insert into CyberSport(UserName, Team, GameID)
values ('Sarah', 'GoodGame', 1);
SELECT * FROM CyberSport;
SELECT * FROM logi;

Deleting data

DELETE FROM cybercport WHERE CybersportID=8;
SELECT * FROM cybercport;
SELECT * FROM logi;