CREATE Database Arrendamientos;
USE Arrendamientos;
CREATE TABLE Persona (
id INT NOT NULL,
Nombre VARCHAR(50) NOT NULL,
Direccion VARCHAR(50) NOT NULL,
Telefono VARCHAR(40) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE Persona_Dueño (
id INT NOT NULL,
Nombre VARCHAR(50) NOT NULL,
Direccion VARCHAR(50) NOT NULL,
Telefono VARCHAR(40) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE Administrador (
NumAdmin INT NOT NULL ,
IdAdmin INT NOT NULL,
HoraEntrada VARCHAR(45) NOT NULL,
HoraSalida VARCHAR(45) NOT NULL,
DiaTrabajado DATE NOT NULL,
PRIMARY KEY (NumAdmin),
CONSTRAINT IdAdmin
FOREIGN KEY (IdAdmin)
REFERENCES Persona(id)
);
CREATE TABLE Dueño (
NumDueño INT NOT NULL,
IdDueño INT NOT NULL,
Propiedades INT NOT NULL,
PRIMARY KEY (NumDueño),
CONSTRAINT IdDueño
FOREIGN KEY (IdDueño)
REFERENCES Persona_Dueño (id)
);
CREATE TABLE Fiador (
NumFiador INT NOT NULL,
IdFiador INT NOT NULL,
Bienes VARCHAR(300) NOT NULL,
PRIMARY KEY (NumFiador),
CONSTRAINT IdFiador
FOREIGN KEY (IdFiador)
REFERENCES Persona (id)
);
CREATE TABLE Cliente (
NumClient INT NOT NULL,
IdCliente INT NOT NULL,
Certif_Trabajo
INT NOT NULL,
PRIMARY KEY (NumClient),
CONSTRAINT IdCliente
FOREIGN KEY (IdCliente)
REFERENCES Persona (id)
);
CREATE TABLE Sede (
NumSede INT NOT NULL,
Direccion VARCHAR(50) NOT NULL,
Telefono VARCHAR(45) NOT NULL,
NumAdmin1 INT NOT NULL,
PRIMARY KEY (NumSede),
CONSTRAINT NumAdmin1
FOREIGN KEY (NumAdmin1)
REFERENCES Administrador (NumAdmin)
);
CREATE TABLE Interactua_Con (
Cliente_NumClient INT NOT NULL,
Sede_NumSede INT NOT NULL,
Id INT NOT NULL,
PRIMARY KEY (Id),
CONSTRAINT fk_Cliente_has_Sede_Cliente1
FOREIGN KEY (Cliente_NumClient)
REFERENCES Cliente (NumClient),
CONSTRAINT fk_Cliente_has_Sede_Sede1
FOREIGN KEY (Sede_NumSede)
REFERENCES Sede (NumSede)
);
CREATE TABLE Propiedad (
NumPropiedad INT NOT NULL,
PrecioP FLOAT NOT NULL,
Direccion VARCHAR(45) NOT NULL,
NumClient1 INT NOT NULL,
NumContrato2 INT NOT NULL,
NumDueño1 INT NOT NULL,
TipoDePropiedad VARCHAR(45) NOT NULL,
AreaDePropiedad INT NOT NULL,
PisoApartamento INT,
Ubicacion VARCHAR(70) NOT NULL,
NumHabitaciones INT NOT NULL,
NumBaños INT NOT NULL,
NumSalas INT NOT NULL,
ZonaDeRopas VARCHAR(2),
Parqueadero VARCHAR(2),
Terraza VARCHAR(2),
Jardin VARCHAR(2),
Decoraciones VARCHAR(200),
PRIMARY KEY (NumPropiedad),
CONSTRAINT NumClient1
FOREIGN KEY (NumClient1)
REFERENCES Cliente (NumClient),
CONSTRAINT NumContrato2
FOREIGN KEY (NumContrato2)
REFERENCES Contrato (NumContrato),
CONSTRAINT NumDueño1
FOREIGN KEY (NumDueño1)
REFERENCES Dueño (NumDueño)
);
CREATE TABLE Disponibilidad (
Sede_NumSede INT NOT NULL,
Propiedades_NumPropiedad INT NOT NULL,
Disponible VARCHAR(20) NOT NULL,
PRIMARY KEY (Sede_NumSede, Propiedades_NumPropiedad),
CONSTRAINT fk_Sede_has_Propiedades_Sede1
FOREIGN KEY (Sede_NumSede)
REFERENCES Sede (NumSede),
CONSTRAINT fk_Sede_has_Propiedades_Propiedades1
FOREIGN KEY (Propiedades_NumPropiedad)
REFERENCES Propiedad (NumPropiedad)
);
CREATE TABLE Contrato (
NumContrato INT NOT NULL,
Fecha DATETIME NOT NULL,
Valor FLOAT NOT NULL,
NumClient2 INT NOT NULL,
NumFiador1 INT NOT NULL,
NumPropiedad2 INT NOT NULL,
PRIMARY KEY (NumContrato),
CONSTRAINT NumClient2
FOREIGN KEY (NumClient2)
REFERENCES Cliente (NumClient),
CONSTRAINT NumFiador1
FOREIGN KEY (NumFiador1)
REFERENCES Fiador (NumFiador),
CONSTRAINT NumPropiedad2
FOREIGN KEY (NumPropiedad2)
REFERENCES Propiedad (NumPropiedad)
);
CREATE TABLE Pago (
NumFactura INT NOT NULL,
NumReciboPago INT NOT NULL,
NumContrato1 INT NOT NULL,
PRIMARY KEY (NumFactura),
CONSTRAINT NumContrato1
FOREIGN KEY (NumContrato1)
REFERENCES Contrato (NumContrato)
);
Reflexión sobre la importancia de utilizar el lenguaje SQL para la creación y manipulación de las bases de datos relacionales:
SQL o «Structured Query Language» es un lenguaje de programación que permite manipular los datos y los sistemas de bases de datos relacionales. Este lenguaje se utiliza principalmente para comunicarse con las bases de datos con el fin de gestionar los datos que contienen.
En particular, permite almacenar, manipular y encontrar estos datos. También es posible realizar consultas, actualizar datos, reorganizarlos o incluso crear y modificar el esquema y la estructura de un sistema de base de datos y controlar el acceso a sus datos.
No hay comentarios:
Publicar un comentario