Veronika Milovzorova portfolio/ eng

autorent.

CREATE TABLE auto(
 
autoID int not null Primary key AUTO_INCREMENT,
regNumber
char(6) UNIQUE,
markID int,
varv varchar(20),
v_aasta int,
kaigukastID
int,
km decimal(6,2));
 
SELECT * FROM auto
CREATE TABLE mark(
markID int not null Primary key AUTO_INCREMENT,
autoMark varchar(30) UNIQUE
);
 
SELECT * FROM mark
INSERT INTO mark(autoMark)
VALUES ('Ziguli');
INSERT INTO mark(autoMark)
VALUES ('Lambordzini');
INSERT INTO mark(autoMark)
VALUES ('BMW');
 
SELECT * FROM mark;
CREATE TABLE kaigukast(
kaigukastID int not null Primary key AUTO_INCREMENT,
kaigukast varchar(30) UNIQUE
);
INSERT INTO kaigukast(kaigukast)
VALUES ('Automaat');
INSERT INTO kaigukast(kaigukast)
VALUES ('Manual');
SELECT * FROM kaigukast;
ALTER TABLE auto
ADD FOREIGN KEY (markID) REFERENCES mark(markID);
ALTER TABLE auto
ADD FOREIGN KEY (kaigukastID) REFERENCES kaigukast(kaigukastID); 
CREATE TABLE rediLeping(
 
lepingID int not null Primary key AUTO_INCREMENT,
rendiAlgus date,
rendiLopp int,
klientID int,
regNumber varchar(6),
rendiKestvus int,
hindKokku decimal(5,2),
tootajaID int);
SELECT * FROM rediLeping
CREATE TABLE totaja(
 
tootajaID int not null Primary key AUTO_INCREMENT,
tootajaNimi varchar(50),
avetID int);
CREATE TABLE totaja(
 
tootajaID int not null Primary key AUTO_INCREMENT,
tootajaNimi varchar(50),
avetID int)
CREATE table amet (
    ametID int PRIMARY key not null AUTO_INCREMENT,
    ametNimi char(40));
ALTER TABLE rediLeping
ADD FOREIGN KEY (regNumber) REFERENCES auto(regNumber); 
ALTER TABLE redileping
ADD FOREIGN KEY (tootajaID) REFERENCES totaja(tootajaID); 
CREATE TABLE klient(
 
klientID int not null Primary key AUTO_INCREMENT,
kliendiNimi varchar(50),
telefon varchar(20),
    address varchar(50),
    soiduKogemus varchar(30))
ALTER TABLE redileping
ADD FOREIGN KEY (klientID) REFERENCES klient(klientID);
Покажи в какой машине - какая коробка передач.
Покажи в какой машине - какая марка машины, используй INNER JOIN
Покажи сколько машин с автом коробкой, сколько с мануальной
Добавить пользователя tootaja

Составь процедуру для добавления новых марок машин и новых клиентов.

DELIMITER //
 
CREATE PROCEDURE AddNewCarBrandAndClient (
    IN newCarBrand VARCHAR(30),
    IN newClientName VARCHAR(50)
)
BEGIN
    
    INSERT INTO mark (autoMark)
    VALUES (newCarBrand);
 
    
    SET @newCarBrandId = LAST_INSERT_ID();
 
    
    INSERT INTO totaja (tootajaNimi)
    VALUES (newClientName);
 
    
    SET @newClientId = LAST_INSERT_ID();
 
    
    SELECT @newCarBrandId AS newCarBrandId, newCarBrand AS newCarBrand, @newClientId AS newClientId, newClientName AS newClientName;
END //
 
DELIMITER ;

Составь процедуру для удаления договора по его id.

DELIMITER //
 
CREATE PROCEDURE DeleteContractById (
    IN contractId INT
)
BEGIN
    
    DELETE FROM rendileping
    WHERE lepingID = contractId;
END //
 
DELIMITER ;

Свою процедуру на действие, отличное от ранее созданных

en_US