100 lines
2.7 KiB
SQL
100 lines
2.7 KiB
SQL
CREATE DATABASE IF NOT EXISTS crm CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
USE crm;
|
|
|
|
CREATE TABLE IF NOT EXISTS direcciones (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
calle VARCHAR(255),
|
|
numero VARCHAR(50),
|
|
piso VARCHAR(50),
|
|
ciudad VARCHAR(100),
|
|
provincia VARCHAR(100),
|
|
codigo_postal VARCHAR(20)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS propietarios (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
nombre VARCHAR(255) NOT NULL,
|
|
telefono VARCHAR(50),
|
|
email VARCHAR(255),
|
|
direccion_id BIGINT,
|
|
FOREIGN KEY (direccion_id) REFERENCES direcciones(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS proveedores (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
nombre VARCHAR(255) NOT NULL,
|
|
telefono VARCHAR(50),
|
|
email VARCHAR(255),
|
|
direccion_id BIGINT,
|
|
FOREIGN KEY (direccion_id) REFERENCES direcciones(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS contacto_proveedor (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
proveedor_id BIGINT NOT NULL,
|
|
nombre VARCHAR(255) NOT NULL,
|
|
telefono VARCHAR(50),
|
|
email VARCHAR(255),
|
|
FOREIGN KEY (proveedor_id) REFERENCES proveedores(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS servicios (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
nombre VARCHAR(255) NOT NULL,
|
|
descripcion TEXT,
|
|
proveedor_id BIGINT,
|
|
FOREIGN KEY (proveedor_id) REFERENCES proveedores(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS inmuebles (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
referencia_catastral VARCHAR(255) UNIQUE,
|
|
descripcion TEXT,
|
|
precio DECIMAL(15,2),
|
|
estado VARCHAR(100),
|
|
direccion_id BIGINT,
|
|
propietario_id BIGINT,
|
|
FOREIGN KEY (direccion_id) REFERENCES direcciones(id),
|
|
FOREIGN KEY (propietario_id) REFERENCES propietarios(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS contratos (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
inmueble_id BIGINT NOT NULL,
|
|
propietario_id BIGINT NOT NULL,
|
|
tipo VARCHAR(50),
|
|
fecha_inicio DATE,
|
|
fecha_fin DATE,
|
|
importe DECIMAL(15,2),
|
|
estado VARCHAR(50),
|
|
cliente_nombre VARCHAR(255),
|
|
FOREIGN KEY (inmueble_id) REFERENCES inmuebles(id),
|
|
FOREIGN KEY (propietario_id) REFERENCES propietarios(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS compran (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
inmueble_id BIGINT NOT NULL,
|
|
comprador_nombre VARCHAR(255),
|
|
fecha_compra DATE,
|
|
precio_compra DECIMAL(15,2),
|
|
FOREIGN KEY (inmueble_id) REFERENCES inmuebles(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS alquilados (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
inmueble_id BIGINT NOT NULL,
|
|
inquilino_nombre VARCHAR(255),
|
|
fecha_inicio DATE,
|
|
fecha_fin DATE,
|
|
renta_mensual DECIMAL(15,2),
|
|
FOREIGN KEY (inmueble_id) REFERENCES inmuebles(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS users (
|
|
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
|
username VARCHAR(255) NOT NULL UNIQUE,
|
|
password VARCHAR(255) NOT NULL,
|
|
role VARCHAR(50) NOT NULL,
|
|
enabled BOOLEAN NOT NULL DEFAULT TRUE
|
|
); |