LaCaraDeLaVerga

SQL

Nov 22nd, 2020
581
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. DROP TABLE Cuentas IF EXISTS;
  2. CREATE 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.  
  13. DROP TABLE DatosPersonales IF EXISTS;
  14. CREATE 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.  
  29. DROP TABLE Usuarios IF EXISTS;
  30. CREATE 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.  
  39. DROP TABLE Clientes IF EXISTS;
  40. CREATE 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.  
  48. DROP TABLE Turnos IF EXISTS;
  49. CREATE 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.  
  62. DROP TABLE FichaTecnicaVehiculo IF EXISTS;
  63. CREATE 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.  
  76. DROP TABLE VehiculoConOrdenesDeTrabajo IF EXISTS;
  77. CREATE 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.  
  90. DROP TABLE TipoTrabajo IF EXISTS;
  91. CREATE TABLE TipoTrabajo (
  92.   idTipoTrabajo INT NOT NULL AUTO_INCREMENT,
  93.   descripcionTrabajo VARCHAR(10) UNIQUE,
  94.   PRIMARY KEY (idTipoTrabajo)
  95. );
  96.  
  97. DROP TABLE OrdenesDeTrabajo IF EXISTS;
  98. CREATE 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.  
  112. DROP TABLE Facturas IF EXISTS;
  113. CREATE 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.  
  128. DROP TABLE Emisores IF EXISTS;
  129. CREATE TABLE Emisores (
  130.   idEmisor INT NOT NULL AUTO_INCREMENT,
  131.   nombreEmisor VARCHAR (20),
  132.   PRIMARY KEY (idEmisor)
  133. );
  134.  
  135. DROP TABLE Tarjetas IF EXISTS;
  136. CREATE 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.  
  147. DROP TABLE Financiamientos IF EXISTS;
  148. CREATE 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.  
  157. DROP TABLE Pagos IF EXISTS;
  158. CREATE 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.  
  167. DROP TABLE Presupuestos IF EXISTS;
  168. CREATE 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.  
  190. DROP TABLE TrabajosPresupuestados IF EXISTS;
  191. CREATE 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.  
  201. DROP TABLE Repuestos IF EXISTS;
  202. CREATE 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.  
  214. DROP TABLE RepuestosPlanificados IF EXISTS;
  215. CREATE 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.  
  225. DROP TABLE RepuestosComprados IF EXISTS;
  226. CREATE 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.  
RAW Paste Data