· 5 years ago · Nov 22, 2020, 08:38 PM
1DROP TABLE Cuentas IF EXISTS;
2CREATE TABLE Cuentas (
3 idCuenta int NOT NULL AUTO_INCREMENT,
4 fechaAltaCuenta DATE,
5 fechaBajaCuenta DATE,
6 esActiva BOOLEAN,
7 nombreUsuCuenta VARCHAR(20),
8 passUsuCuenta VARCHAR(20),
9 rol VARCHAR(15),
10 PRIMARY KEY (idCuenta)
11);
12
13DROP TABLE DatosPersonales IF EXISTS;
14CREATE TABLE DatosPersonales (
15 idDatosPersonales int NOT NULL AUTO_INCREMENT,
16 nombreCompleto VARCHAR(60) NOT NULL,
17 apellido VARCHAR(60) NOT NULL,
18 dni INT,
19 telefono VARCHAR(15),
20 email VARCHAR(25),
21 calle VARCHAR(25),
22 altura VARCHAR(5),
23 piso VARCHAR(2),
24 dpto VARCHAR(4),
25 localidad VARCHAR(25),
26 PRIMARY KEY (idDatosPersonales)
27);
28
29DROP TABLE Usuarios IF EXISTS;
30CREATE TABLE Usuarios (
31 idUsuario INT NOT NULL AUTO_INCREMENT,
32 idCuenta INT ,
33 idDatosPersonales INT,
34 PRIMARY KEY (idUsuario),
35 FOREIGN KEY (idCuenta) REFERENCES Cuentas (idCuenta),
36 FOREIGN KEY (idDatosPersonales) REFERENCES DatosPersonales(idDatosPersonales)
37);
38
39DROP TABLE Clientes IF EXISTS;
40CREATE TABLE Clientes (
41 idCliente INT NOT NULL AUTO_INCREMENT,
42 fechaAltaCliente DATE ,
43 idDatosPersonales INT,
44 PRIMARY KEY (idCliente),
45 FOREIGN KEY (idDatosPersonales) REFERENCES DatosPersonales(idDatosPersonales)
46);
47
48DROP TABLE Turnos IF EXISTS;
49CREATE TABLE Turnos (
50 idTurno INT NOT NULL AUTO_INCREMENT,
51 idCliente INT,
52 fechaCanceladoTurno DATE,
53 fechaAltaTurno DATE NOT NULL,
54 fechProgramadaTurno DATE NOT NULL,
55 nombreCliente VARCHAR (40) NOT NULL,
56 dniCliente INT NOT NULL,
57 telefonoCliente VARCHAR(40),
58 emailCliente VARCHAR(40),
59 PRIMARY KEY (idTurno)
60);
61
62DROP TABLE FichaTecnicaVehiculo IF EXISTS;
63CREATE TABLE FichaTecnicaVehiculo (
64 idFichaTecnicaVehiculo INT NOT NULL AUTO_INCREMENT,
65 nroChasis INT UNIQUE NOT NULL,
66 nroMotor INT UNIQUE NOT NULL,
67 kilometraje INT,
68 marca VARCHAR (20),
69 modelo INT,
70 color VARCHAR (15),
71 combustion VARCHAR (15),
72 descripcion VARCHAR (60),
73 PRIMARY KEY (idFichaTecnicaVehiculo)
74);
75
76DROP TABLE VehiculoConOrdenesDeTrabajo IF EXISTS;
77CREATE TABLE VehiculoConOrdenesDeTrabajo (
78 idVehiculoConOT INT NOT NULL AUTO_INCREMENT,
79 idFichaTecnicaVehiculo INT NOT NULL,
80 idCliente INT NOT NULL,
81 kilometrajeGarantia INT NOT NULL,
82 aseguradora VARCHAR (20) NOT NULL,
83 nroPolizaSeguro INT NOT NULL,
84 patenteVehiculo VARCHAR (10),
85 PRIMARY KEY (idVehiculoConOT),
86 FOREIGN KEY (idFichaTecnicaVehiculo) REFERENCES FichaTecnicaVehiculo (idFichaTecnicaVehiculo),
87 FOREIGN KEY (idCliente) REFERENCES Clientes (idCliente)
88);
89
90DROP TABLE TipoTrabajo IF EXISTS;
91CREATE TABLE TipoTrabajo (
92 idTipoTrabajo INT NOT NULL AUTO_INCREMENT,
93 descripcionTrabajo VARCHAR(10) UNIQUE,
94 PRIMARY KEY (idTipoTrabajo)
95);
96
97DROP TABLE OrdenesDeTrabajo IF EXISTS;
98CREATE TABLE OrdenesDeTrabajo (
99 idOT INT NOT NULL AUTO_INCREMENT,
100 tipoTrabajo VARCHAR(20) NOT NULL,
101 idUsuAlta INT NOT NULL,
102 idVehiculoOt INT NOT NULL,
103 fechaAltaOt DATE,
104 trabajoSolicitado VARCHAR (60),
105 trabajoSujerido VARCHAR (60),
106 fechaEntregadoVehiculo DATE,
107 PRIMARY KEY (idOT),
108 FOREIGN KEY (idUsuAlta) REFERENCES Usuarios (idUsuario),
109 FOREIGN KEY (idVehiculoOt) REFERENCES VehiculoConOrdenesDeTrabajo (idVehiculoConOT)
110);
111
112DROP TABLE Facturas IF EXISTS;
113CREATE TABLE Facturas (
114 idFactura INT AUTO_INCREMENT,
115 idOT INT,
116 fechaDeAlta DATE,
117 fechaDeCierrePorPago DATE,
118 PRIMARY KEY(idFactura),
119 total DOUBLE,
120 estado VARCHAR(10),
121 FOREIGN KEY (idOT) REFERENCES OrdenesDeTrabajo(idOT),
122 FOREIGN KEY (idCliente) REFERENCES Clientes (idCliente),
123 dni INT,
124 idCliente INT,
125 FOREIGN KEY (dni) REFERENCES DatosPersonales(dni)
126);
127
128DROP TABLE Emisores IF EXISTS;
129CREATE TABLE Emisores (
130 idEmisor INT NOT NULL AUTO_INCREMENT,
131 nombreEmisor VARCHAR (20),
132 PRIMARY KEY (idEmisor)
133);
134
135DROP TABLE Tarjetas IF EXISTS;
136CREATE TABLE Tarjetas (
137 idTarjeta INT NOT NULL AUTO_INCREMENT,
138 idEmisor INT,
139 banco VARCHAR (20),
140 numeroTarjeta INT,
141 nomTitular VARCHAR (50),
142 fechaVencTarj DATE,
143 PRIMARY KEY (idTarjeta),
144 FOREIGN KEY (idEmisor) REFERENCES Emisores (idEmisor)
145);
146
147DROP TABLE Financiamientos IF EXISTS;
148CREATE TABLE Financiamientos (
149 idFinanciamiento INT NOT NULL AUTO_INCREMENT,
150 idTarjeta INT,
151 cantCuotas INT,
152 montoCuota DOUBLE,
153 PRIMARY KEY (idFinanciamiento),
154 FOREIGN KEY (idTarjeta) REFERENCES Tarjetas (idTarjeta)
155);
156
157DROP TABLE Pagos IF EXISTS;
158CREATE TABLE Pagos (
159 idPago INT NOT NULL AUTO_INCREMENT,
160 idFinanciamiento INT,
161 montoPago DOUBLE,
162 fechaPago DATE,
163 PRIMARY KEY(idPago),
164 FOREIGN KEY ( idFinanciamiento) REFERENCES Financiamientos (idFinanciamiento)
165);
166
167DROP TABLE Presupuestos IF EXISTS;
168CREATE TABLE Presupuestos (
169 idPresupuesto INT NOT NULL AUTO_INCREMENT,
170 idOT INT NOT NULL,
171 idFactura INT,
172 idUsuAltaPresu INT NOT NULL,
173 idUsuCierrePresu INT,
174 idUsuRegPago INT,
175 idPago INT,
176 fechaAltaPresu DATE,
177 comentarioAltaPresu VARCHAR (60),
178 fechaCierrePresu DATE,
179 comentarioRechazo VARCHAR (60),
180 fechaAprobacion DATE,
181 estado VARCHAR(20),
182 PRIMARY KEY (idPresupuesto),
183 FOREIGN KEY (idOT) REFERENCES OrdenesDeTrabajo (idOT),
184 FOREIGN KEY (idUsuAltaPresu) REFERENCES Usuarios (idUsuario),
185 FOREIGN KEY (idUsuCierrePresu) REFERENCES Usuarios (idUsuario),
186 FOREIGN KEY (idUsuRegPago) REFERENCES Usuarios (idUsuario),
187 FOREIGN KEY (idPago) REFERENCES Pagos (idPago)
188);
189
190DROP TABLE TrabajosPresupuestados IF EXISTS;
191CREATE TABLE TrabajosPresupuestados (
192 idTrabajoPresu INT NOT NULL AUTO_INCREMENT,
193 idPresupuesto INT,
194 descripcionTrabajo VARCHAR (60),
195 precioTrabajo DOUBLE,
196 tiempoEstTrabajo INT,
197 PRIMARY KEY (idTrabajoPresu),
198 FOREIGN KEY (idPresupuesto) REFERENCES Presupuestos (idPresupuesto)
199);
200
201DROP TABLE Repuestos IF EXISTS;
202CREATE TABLE Repuestos (
203 idRepuesto INT NOT NULL AUTO_INCREMENT,
204 codigoRepuesto INT,
205 precioRepuesto DOUBLE,
206 marcaRepuesto VARCHAR (20),
207 descripcionRepuesto VARCHAR (40),
208 stockRepuesto INT,
209 fabricante VARCHAR (30),
210 stockMinimo INT,
211 PRIMARY KEY (idRepuesto)
212);
213
214DROP TABLE RepuestosPlanificados IF EXISTS;
215CREATE TABLE RepuestosPlanificados (
216 idRepuestoPlanificado INT NOT NULL AUTO_INCREMENT,
217 idPresu INT NOT NULL,
218 idRepuesto INT NOT NULL,
219 cantRequerida INT,
220 PRIMARY KEY (idRepuestoPlanificado),
221 FOREIGN KEY (idPresu) REFERENCES Presupuestos (idPresupuesto),
222 FOREIGN KEY (idRepuesto) REFERENCES Repuestos (idRepuesto)
223);
224
225DROP TABLE RepuestosComprados IF EXISTS;
226CREATE TABLE RepuestosComprados (
227 idRepuestoComprado INT NOT NULL AUTO_INCREMENT,
228 idFactura INT NOT NULL,
229 idRepuesto INT NOT NULL,
230 cantRequerida INT,
231 PRIMARY KEY (idRepuestoComprado),
232 FOREIGN KEY (idFactura) REFERENCES Facturas (idFactura),
233 FOREIGN KEY (idRepuesto) REFERENCES Repuestos (idRepuesto)
234);
235