codCiudad INT PRIMARY KEY NOT NULL IDENTITY(1,1), nomCiudad VARCHAR(50) NOT NULL);
CREATE TABLE comuna(
codComuna INT PRIMARY KEY NOT NULL IDENTITY(1,1), nomComuna VARCHAR(50) NOT NULL);
CREATE TABLE vendedor(
codVendedor INT NOT NULL IDENTITY(1,1), rutVendedor INT NOT NULL, nomVendedor VARCHAR(25) NOT NULL, apelPatVendedor VARCHAR(20) NOT NULL, apelMatVendedor VARCHAR(20) NOT NULL, direcVendedor VARCHAR(50) NOT NULL, telVendedor INT NOT NULL, codCiudad INT NOT NULL, codComuna INT NOT NULL, PRIMARY KEY(codVendedor), FOREIGN KEY (codCiudad) REFERENCES ciudad(codCiudad) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (codComuna) REFERENCES comuna(codComuna) ON DELETE CASCADE ON UPDATE CASCADE);
CREATE TABLE cliente(
rutCliente INT NOT NULL, nomCliente VARCHAR(25) NOT NULL, apelPatCliente VARCHAR(20) NOT NULL, apelMatCliente VARCHAR(20) NOT NULL, direcCliente VARCHAR(50) NOT NULL, telCliente INT NOT NULL, codCiudad INT NOT NULL, codComuna INT NOT NULL, PRIMARY KEY(rutCliente), FOREIGN KEY (codCiudad) REFERENCES ciudad(codCiudad) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (codComuna) REFERENCES comuna(codComuna) ON DELETE CASCADE ON UPDATE CASCADE);
CREATE TABLE catalogVeh(
codCatalogVeh INT NOT NULL IDENTITY(1,1), marca VARCHAR(20) NOT NULL, modelo VARCHAR(20) NOT NULL, cil VARCHAR(10) NOT NULL, precio INT NOT NULL, cantidad INT NOT NULL, PRIMARY KEY(codCatalogVeh));
CREATE TABLE vehUsado(
patenteVehUsado VARCHAR(6)NOT NULL, marca VARCHAR(30) NOT NULL, modelo VARCHAR(30) NOT NULL, precioTasa INT NOT NULL, fechaTasa DATE NOT NULL PRIMARY KEY(patenteVehUsado)); CREATE TABLE tablaPrecioCaractAdic( codTablaPrecioCaractAdic INT NOT NULL IDENTITY(1,1), marca VARCHAR(30) NOT NULL, modelo VARCHAR(30) NOT NULL, precioCaractAdic INT NOT NULL, PRIMARY KEY(codTablaPrecioCaractAdic));
CREATE TABLE caractAdic(
codCaractAdic INT NOT NULL IDENTITY(1,1), nomCaract VARCHAR(20) NOT NULL, descrip VARCHAR(20) NOT NULL, codTablaPrecioCaractAdic INT NOT NULL, PRIMARY KEY(codCaractAdic), FOREIGN KEY (codTablaPrecioCaractAdic) REFERENCES tablaPrecioCaractAdic(codTablaPrecioCaractAdic) ON DELETE CASCADE ON UPDATE CASCADE);
CREATE TABLE venta(
codVenta INT NOT NULL IDENTITY(1,1), fechaVenta DATE NOT NULL, patenVehNuevo VARCHAR(6) NOT NULL, rutCliente INT NOT NULL, codVendedor INT NOT NULL, codCatalogVeh INT NOT NULL, codCaractAdic INT NOT NULL, patenteVehUsado VARCHAR(6), PRIMARY KEY(codVenta), FOREIGN KEY (rutCliente) REFERENCES cliente(rutCliente) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (codVendedor) REFERENCES vendedor(codVendedor) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY (codCatalogVeh) REFERENCES catalogVeh(codCatalogVeh) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (codCaractAdic) REFERENCES caractAdic(codCaractAdic) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (patenteVehUsado) REFERENCES vehUsado(patenteVehUsado) ON DELETE CASCADE ON UPDATE CASCADE);
INSERT INTO comuna (nomComuna) VALUES ('Santiago'),('Vitacura'),('Ñuñoa'),
('Independencia');
INSERT INTO ciudad (nomCiudad) VALUES ('Santiago'),('Chiloe'),('Puerto Montt'),
('Valparaiso');
INSERT INTO cliente
(rutCliente,nomCliente,apelPatCliente,apelMatCliente,direcCliente,telCliente,codCiu dad,codComuna) VALUES (2652,'Roberto Antonio','Figueira','Troisi','Padre Alonso Ovalle 884',5697,1,1),(2536,'Yasmin Desiree','Salazar','Muñoz','Padre Alonso Ovalle 884',5694,1,1);
INSERT INTO cliente
(rutCliente,nomCliente,apelPatCliente,apelMatCliente,direcCliente,telCliente,codCiu dad,codComuna) VALUES (3652,'Manuel Antonio','Perez','Palma','Padre Alonso Ovalle 884',5695,1,3),(1536,'Susana Maria','Garcia','Ramirez','Padre Alonso Ovalle 884',5692,1,1); INSERT INTO vehUsado (patenteVehUsado,marca,modelo,precioTasa,fechaTasa) VALUES ('PA5216','Jeep','CJ-7',4500,'2020-05-19'), ('DBH97J','Chevrolet','Optra',7500,'2020-05-12');