Banco de Dados II/Comandos para a Locadora de Veículos

Fonte: Wikiversidade

Retornar para a página principal de Paulo Marcotti Utilizador:Pmarcotti

-- Locadora de Veiculos

-- Utilizar o BD

USE Locadora;

--------------------------------------------------------

-- Criar a tabela Marca com a chave primaria, declarando de varias maneiras diferentes

DROP TABLE Marca;

CREATE TABLE Marca(

    id int NOT NULL,

    Marca varchar(50) NOT NULL,

        CONSTRAINT PK_Marca PRIMARY KEY (id) );

------------

CREATE TABLE Marca (id int PRIMARY KEY NOT NULL AUTO_INCREMENT, Marca varchar(30) NOT NULL)


DROP TABLE Marca;

CREATE TABLE Marca(

    idMarca int NOT NULL,

    Marca varchar(50) NOT NULL);

ALTER TABLE Marca

      ADD PRIMARY KEY (idMarca);

--------------------------

DROP TABLE Marca;

CREATE TABLE Marca(

    idMarca int NOT NULL PRIMARY KEY,

    Marca varchar(50) NOT NULL);

DROP TABLE Marca;

CREATE TABLE Marca(

    idMarca int PRIMARY KEY NOT NULL,

    Marca varchar(50) NOT NULL);

--------------------------------------------------------

-- Tabela Modelo com a chave estrangeira, declarando de varias maneiras diferentes

DROP TABLE Modelo;

-- Create Tipo 1 - usar ALTER TABLE para Chave Primaria Composta e Chave Estrangeira

DROP TABLE Modelo;

CREATE TABLE Modelo(

    idMarca int NOT NULL,

    idModelo int NOT NULL,

    Modelo varchar(50) NOT NULL);

ALTER TABLE Modelo

      ADD PRIMARY KEY PK_Modelo (idMarca, idModelo);

ALTER TABLE Modelo

      ADD CONSTRAINT FK_Modelo_Marca FOREIGN KEY (idMarca) REFERENCES Marca(idMarca);

-- Create Tipo 2 - usar ALTER TABLE para Chave Estrangeira

DROP TABLE Modelo;

CREATE TABLE Modelo(

    idMarca int NOT NULL,

    idModelo int NOT NULL,

    Modelo varchar(50) NOT NULL,

         CONSTRAINT PK_Modelo PRIMARY KEY (idMarca, idModelo));

ALTER TABLE Modelo

      ADD CONSTRAINT FK_Modelo_Marca FOREIGN KEY (idMarca) REFERENCES Marca(idMarca);

-- Criar a Tabela e a Chave Estrangeira ao mesmo tempo

DROP TABLE Modelo;

CREATE TABLE  Modelo  (

       idMarca  int NOT NULL,

       idModelo  int NOT NULL,

       Modelo  varchar(100) NOT NULL,

         CONSTRAINT PK_Modelo PRIMARY KEY (idMarca, idModelo),

           FOREIGN KEY FK_Modelo_Marca (idMarca) REFERENCES Marca(idMarca));

---------------------------------------------------

-- Inserir Dados nas Tabelas

INSERT INTO Marca VALUES (1, 'FORD');

INSERT INTO Marca VALUES (2, 'GM');

INSERT INTO Modelo VALUES (1, 1, 'FIESTA');

INSERT INTO Modelo VALUES (1, 2, 'KA');

INSERT INTO Modelo VALUES (1, 3, 'FOCUS');

INSERT INTO Modelo VALUES (2, 1, 'ONIX');

INSERT INTO Modelo VALUES (2, 2, 'CELTA');

INSERT INTO Modelo VALUES (2, 3, 'CORSA');

INSERT INTO Modelo VALUES (2, 4, 'S10');

------============

----- SELECIONAR OS REGISTROS LIGADOS ENTRE 2 TABELAS

SELECT * from Marca

JOIN Modelo ON Marca.IDMarca = Modelo.IDMarca

WHERE IDModelo >= 2

-----===================

-- CRIACAO DE VIEW

CREATE VIEW ListaDeModelos

AS

SELECT Marca, Modelo from Marca

JOIN Modelo ON Marca.IDMarca = Modelo.IDMarca

-- Usando a View

SELECT * FROM ListaDeModelos

SELECT * FROM ListaDeModelos

WHERE Marca = 'GM'

------- Colocar uma coluna (atributo, campo) nova na tabela

ALTER TABLE Marca

    ADD COLUMN ultimoModelo int ;

---- Ou colocando um valor DEFAULT para o campo novo criado. Caso contrario quando incluir registro novo sem citar o campo vai incluir um valor NULL nesse campo

ALTER TABLE Marca

    ADD COLUMN ultimoModelo int DEFAULT 0;