kliendiAuto

-Генерируем базу с помощью сервиса https://www.mockaroo.com/

Создаем базу и таблицу kliendiAuto

create database epood_Sokhan;
create table kliendiAuto (
id INT primary key,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(50),
car_make VARCHAR(50),
car_model VARCHAR(20),
car_year int,
car_prise decimal(10,2)
);

–Заполняем таблицу данными

insert into kliendiAuto (id, first_name, last_name, email, car_make, car_model, car_year, car_prise) values (1, ‘Oran’, ‘Withey’, ‘owithey0@ibm.com’, ‘Ford’, ‘46.89.160.111’, 1996, 95.81);
insert into kliendiAuto (id, first_name, last_name, email, car_make, car_model, car_year, car_prise) values (2, ‘Camila’, ‘Mathissen’, ‘cmathissen1@simplemachines.org’, ‘Audi’, ‘219.117.164.150’, 1991, 767.28);
insert into kliendiAuto (id, first_name, last_name, email, car_make, car_model, car_year, car_prise) values (3, ‘Pepita’, ‘Stigell’, ‘pstigell2@biglobe.ne.jp’, ‘Toyota’, ‘13.236.194.200’, 1996, 319.76);

–Добавьте данные как минимум о 3 клиентах, один из которых — вы.
insert into kliendiAuto (id, first_name, last_name, email, car_make, car_model, car_year, car_prise) values (1001, ‘Vitalii’, ‘Sokhan’, ‘svjfox@gmail.com’, ‘Mazda’, ‘107.86.214.01’, 2024, 15000.31);
insert into kliendiAuto (id, first_name, last_name, email, car_make, car_model, car_year, car_prise) values (1002, ‘Andrei’, ‘Kernoz’, ‘Andrei@gmail.com’, ‘Volvo’, ‘107.86.211.01’, 2004, 5000.31);
insert into kliendiAuto (id, first_name, last_name, email, car_make, car_model, car_year, car_prise) values (1003, ‘Vladimir’, ‘Rudenko’, ‘Vladimir@gmail.com’, ‘Ford’, ‘107.86.111.01’, 2020, 13000.31);
use epood_Sokhan;
select * from kliendiAuto;

— Использование операторов SELECT, UPDATE, DELETE

–Измените марку добавленного автомобиля на Запорожец.
update kliendiAuto
set car_make=’Zaporozets’
where first_name=’Vitalii’ and last_name=’Sokhan’;
use epood_Sokhan;
select * from kliendiAuto
where first_name=’Vitalii’ and last_name=’Sokhan’;

–Перевести все марки Infiniti в Citroën

select * from kliendiAuto
where car_make=’Infiniti’;

update kliendiAuto
set car_make=’Citroën’
where car_make=’Infiniti’;

select * from kliendiAuto
where car_make=’Citroën’;

–Удалить строки с идентификаторами 5, 10 и 15.

delete from kliendiAuto
where id=5 or id=10 or id=15;
–where id in(5, 10, 15)
select * from kliendiAuto;
select count(*) from kliendiAuto;

–Показать строки только с идентификатором, фамилией, маркой автомобиля и годом, сортировать по идентификатору в порядке возрастания.

select id, last_name, car_make, car_year
from kliendiAuto
order by id; — в обратном порядке — DESC

–Отобразите 10 рядов автомобилей, где фамилия клиента начинается с того же инициала, что и ваша, отсортируйте автомобили по году выпуска в порядке убывания.

select top 10 id, last_name, car_make, car_year
from kliendiAuto
where LEFT(last_name, 1)=’S’
order by car_year desc;

–Отобразить 2 строки, содержащие свободно выбранную марку автомобиля и превышающие определенную сумму.

select top 2 *
from kliendiAuto
where car_make=’Audi’
and car_prise > 900;

Добавление своей таблицы.

Придумайте свою собственную таблицу, которую можно будет связать с таблицей customerAuto.

–Используйте https://www.mockaroo.com, чтобы с генерировать не менее 100 фрагментов данных в таблице.

Свяжите таблицы со своими.

create table parkimiskoha (
parkimiskoha_ib INT primary key,
parkimiskoha_number INT,
car_Vin VARCHAR(50),
color VARCHAR(50),
price INT,
id INT foreign key References kliendiAuto(id))
);
select * from parkimiskoha;


-Заполняем таблицу данными:

Процедуры, триггеры, пользователи

  1. Создать пользователя с именем директор, который сможет создавать триггеры (минимум 2) и контролировать их работу (директор может видеть журнал таблицы, но не может ничего добавлять или удалять в таблицу журнала. Директор не может видеть другие таблицы).

— Создание таблицы журнала

CREATE TABLE logi (
log_id INT PRIMARY KEY IDENTITY(1,1),
aeg DATETIME,
table_name NVARCHAR(100),
action_type NVARCHAR(10),
record_id INT,
sisestatud_andmed NVARCHAR(MAX)
);
select * from logi;


–Создаем триггеры для внесения изменений в журнал используя функцию IF

— Проверка работы триггера

–Создаем пользователя

Настройте действие триггера самостоятельно.

Проверьте работу пользовательского директора.

  1. Сделать 2 процедуры (функции), упрощающие любую работу в базе данных.

–Процедура для добавления нового клиента в таблицу kliendiAuto:

CREATE PROCEDURE DeleteUserById
@user_id INT
AS
BEGIN
DELETE FROM kliendiAuto WHERE id = @user_id;
END;

–Процедура для поиска клиента по электронной почте:

CREATE PROCEDURE FindClientByEmail
    @search_email VARCHAR(50)
AS
BEGIN
    SELECT * FROM kliendiAuto WHERE email = @search_email;
END;