Kreirati bazu u kojoj se nalaze tabele> vozilo, boje i marke, sa svim ograničenjima, povezati ih i popuniti nekim podacima


  CREATE DATABASE IF NOT EXISTS Baza1;

  USE Baza1;

  CREATE TABLE Boje(
     BojaID INT PRIMARY KEY AUTO_INCREMENT,
     Boja VARCHAR(255)
  );

  InSERT INTO BOJE
   VALUES (1, 'bela'), (2, 'crna');

  INSERT INTO BOJE(BojaID, Boja)
    VALUES (3, 'CRVENA'), (4, 'PLAVA');

  INSERT INTO BOJE(Boja)
   VALUES('LILA'), ('trula višnja'),('siva');

  INSERT INTO BOJE(Boja, BojaID)
    VALUES ('svetlo CRVENA',10), ('tamno PLAVA', 9);

  InSERT INTO BOJE
   VALUES (11, 'prljavo bela');
 
      
 CREATE TABLE Marke(
     MarkaID INT PRIMARY KEY AUTO_INCREMENT,
     Marka VARCHAR(255),
     Oznaka VARCHAR(50)
  );
 INSERT INTO Marke(Marka, Oznaka) VALUES
  ('VW','Golf'), ('Mercedes', 'Benz'), ('Alfa', 'Romeo'), ('Skoda', 'Fabia');

 CREATE TABLE Vozila(
     VoziloID INT PRIMARY KEY AUTO_INCREMENT,
     Registracija VARCHAR(10),
     BojaID INT,
     MarkaID INT,
  CONSTRAINT fk_voz_boja FOREIGN KEY (BojaID) REFERENCES BOJE(BojaID),
  CONSTRAINT fk_voz_MARKA FOREIGN KEY (MarkaID) REFERENCES Marke(MarkaID)
  );


  select * from boje;
 
  rezultat:
   1, 'bela'
   2, 'crna'
   3, 'CRVENA'
   4, 'PLAVA'
   5, 'LILA'
   6, 'trula višnja'
   7, 'siva'
   9, 'tamno PLAVA'
   10,'svetlo CRVENA'
   11, 'prljavo bela'
... ovo bi bilo u slucaju> select * from boje ORDER BY BojaID;

  Ispis svih auta bele boje?

   select * from vozila
     where bojaID = 1;

  sta dobijate sa:
   select * from vozila, boje;
  ovo daje 44   reda! - sve moguce kombinacije

    select *
      from vozila
    where bojaID=(select bojaID from boje where boja='bela' );

   select DISTINCT Marka from Marke
    where  MarkaID IN (
       select MarkaID
         from vozila
          where bojaID=(select bojaID from boje where boja='bela' );
       );

   SELECT Marka FROM Marke
    WHERE Marka LIKE 'a%' OR 'A%'

Last modified: Wednesday, 6 April 2022, 9:55 AM