Está en la página 1de 3

USE VEHICULO

GO

CREATE TABLE Cliente


(
ID_Cliente INT IDENTITY not null,
Nombres VARCHAR(50) not null,
Apellidos VARCHAR(50) not null,
Sexo CHAR(1),
Fecha_Nacimiento DATE,
DNI NVARCHAR(15) not null,
Direccion NVARCHAR(50),
Telefono NVARCHAR(15),
email NVARCHAR(30),
Descripcion ntext,
PRIMARY KEY(ID_Cliente)
)
GO

CREATE TABLE [Vehiculos]


(
[Matricula] VARCHAR(10) NOT NULL PRIMARY KEY,
[Marca] VARCHAR(100) NULL,
[Modelo] VARCHAR(100) NULL,
[FechaMatriculacion] INT NULL,
[Color] VARCHAR(100) NULL,
[CodCliente] INT NOT NULL,
)
GO
ALTER TABLE Vehiculos ADD CONSTRAINT FK_IdCliente
FOREIGN KEY(IdCliente) REFERENCES Cliente(IdCliente)
ON UPDATE CASCADE
ON DELETE CASCADE

GO
CREATE TABLE Personal (
cod_per int PRIMARY KEY not null,
nom_per varchar(50) not null,
dni varchar (8) null,
cargo varchar(30) not null,
direccion varchar(50) null,
telefono varchar(25) null
)
GO

CREATE TABLE Cuentas_Acceso(


ID_Cuenta INT IDENTITY not null,
Usuario nvarchar(20) not null,
Clave nvarchar(20) not null,
Estado nvarchar(20) check(Estado in ('Activo', 'Suspendido'),
Acceso nvarchar(25) not null,
PRIMARY KEY(ID_Cuenta)
)
GO

CREATE TABLE [Recambios]


(
[CodRecambio] INT NOT NULL IDENTITY (1,1) PRIMARY KEY,
[Descripcion] VARCHAR(100) NULL,
[UnidadBase] VARCHAR(100) NULL,
[Stock] SMALLINT NULL,
[PrecioReferencia] DECIMAL(6,2) NULL
)
GO

CREATE TABLE [Reparaciones]


(
[CodReparacion] INT NOT NULL IDENTITY (1,1) PRIMARY KEY,
[FechaEntrada] DATE NULL,
[KmRecorridos] DECIMAL(8,2) NULL,
[Averia] VARCHAR(100) NULL,
[FechaSalida] DATE NULL,
[Reparado] Tinyint DEFAULT 1 NULL,
[Observaciones] VARCHAR(100) NULL,
[Matricula] VARCHAR(10) NULL
)
GO
-- creacion relacion entre Reparaciones y vehiculos.--
ALTER TABLE Reparaciones ADD CONSTRAINT FK_matricula
FOREIGN KEY(Matricula) REFERENCES Vehiculos(Matricula)
ON UPDATE CASCADE
ON DELETE CASCADE

GO
CREATE TABLE [Actuaciones]
(
[Referencia] INT NOT NULL IDENTITY (1,1) PRIMARY KEY,
[Descripcion] VARCHAR(100) NULL,
[TiempoEstimado] DECIMAL(4,2) NULL,
[Importe] DECIMAL(6,2) NULL
)
GO

-- creamos tabla intermedia en la relacion entre Actuaciones y Reparaciones.--


CREATE TABLE [Realizan]
(
[Horas] DECIMAL(4,2) NULL,
[CodReparacion] INT NOT NULL,
[Referencia] INT NOT NULL
)
GO

-- creacion relacion entre actuaciones y reparaciones --


ALTER TABLE Realizan ADD CONSTRAINT FK_CodRepara
FOREIGN KEY (CodReparacion) REFERENCES Reparaciones(CodReparacion)
ON UPDATE cascade
ON DELETE cascade
GO
ALTER TABLE Realizan ADD CONSTRAINT FK_Referencia
FOREIGN KEY (Referencia) REFERENCES Actuaciones(Referencia)
ON UPDATE cascade
ON DELETE cascade
GO
--creamos tabla intermedia en la relacion entre Reparaciones y Empleados--
CREATE TABLE [Intervienen]
(
[Horas] DECIMAL(4,2) NULL,
[CodReparacion] INT NOT NULL,
[CodEmpleado] INT NOT NULL
)
GO

-- Creamos la relacion entre Empleados y Reparaciones.--

ALTER TABLE Intervienen ADD CONSTRAINT FK_Codempleado


FOREIGN KEY (CodEmpleado) REFERENCES Empleados(CodEmpleado)
ON UPDATE cascade
ON DELETE cascade
GO
ALTER TABLE Intervienen ADD CONSTRAINT FK_CodRepara2
FOREIGN KEY (CodReparacion) REFERENCES Reparaciones(CodReparacion)
ON UPDATE cascade
ON DELETE cascade
GO
-- creamos tabla intermedia en la relacion entre Recambios y Reparaciones.--
CREATE TABLE [Incluyen]
(
[Unidades] SMALLINT NULL,
[CodReparacion] INT NOT NULL,
[CodRecambio] INT NOT NULL
)
GO
-- creamos la relacion Entre Recambios y Reparaciones --
ALTER TABLE Incluyen ADD CONSTRAINT FK_CodRecambio
FOREIGN KEY (CodRecambio) REFERENCES Recambios(CodRecambio)
ON UPDATE cascade
ON DELETE cascade
GO
ALTER TABLE Incluyen ADD CONSTRAINT FK_CodRepara3
FOREIGN KEY (CodReparacion) REFERENCES Reparaciones(CodReparacion)
ON UPDATE cascade
ON DELETE cascade
GO

También podría gustarte