Banco de Dados II/Comandos para a Locadora de Veículos
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;