2 Ejercicios

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 6

11

CREATE DATABASE Centro_Salud;

USE Centro_Salud;

CREATE TABLE Persona (

Id_Persona INT PRIMARY KEY AUTO_INCREMENT,

Nombre VARCHAR(100) NOT NULL,

Direccion VARCHAR(200)NOT NULL,

Telefono VARCHAR(20)NOT NULL,

Poblacion VARCHAR(100)NOT NULL,

Provincia VARCHAR(50)NOT NULL,

Codigo_Postal VARCHAR(10)NOT NULL,

NIF VARCHAR(20) UNIQUE,

Numero_Seguridad_Social VARCHAR(20) UNIQUE

);

CREATE TABLE Medico (

Id_Medico INT PRIMARY KEY,

Numero_Colegiado VARCHAR(20) UNIQUE NOT NULL,

Tipo_Medico ENUM('titular', 'interino', 'sustituto') NOT NULL,

FOREIGN KEY (Id_Medico) REFERENCES Persona(Id_Persona) ON DELETE CASCADE

);

CREATE TABLE Medico_Sustituto (

Id_Medico_Sustituto INT PRIMARY KEY,

Fecha_Alta DATE NOT NULL,

Fecha_Baja DATE NOT NULL,

FOREIGN KEY (Id_MedicoS_ustituto) REFERENCES Medico(Id_Medico_Sustituto) ON DELETE


CASCADE

);
CREATE TABLE Empleado (

Id_Empleado INT PRIMARY KEY,

Tipo_Empleado ENUM('ATS', 'ATS zona', 'auxiliar enfermería', 'celador', 'administrativo') NOT


NULL,

FOREIGN KEY (Id_Persona) REFERENCES Persona(Id_Persona) ON DELETE CASCADE

);

CREATE TABLE Paciente (

Id_Paciente INT PRIMARY KEY,

Id_Medico INT NOT NULL,

FOREIGN KEY (Id_Paciente) REFERENCES Persona(Id_Persona) ON DELETE CASCADE,

FOREIGN KEY (Id_Medico) REFERENCES Medico(Id_Medico) ON DELETE SET NULL

);

CREATE TABLE Horario_Medico (

Id_Horario_Medico INT PRIMARY KEY AUTO_INCREMENT,

Id_Medico INT NOT NULL,

Dia_Semana ENUM('lunes', 'martes', 'miercoles', 'jueves', 'viernes', 'sabado', 'domingo') NOT


NULL,

Hora_Inicio TIME NOT NULL,

Hora_Fin TIME NOT NULL,

FOREIGN KEY (Id_Medico) REFERENCES Medico(Id_Medico) ON DELETE CASCADE

);

CREATE TABLE Periodo_Vacaciones (

Id_PeriodoVacaciones INT PRIMARY KEY AUTO_INCREMENT,

Id_Persona INT NOT NULL,

Fecha_Inicio DATE NOT NULL,

Fecha_Fin DATE NOT NULL,

Disfrutado BOOLEAN NOT NULL DEFAULT FALSE,

FOREIGN KEY (Id_Persona) REFERENCES Persona(Id_Persona) ON DELETE CASCADE


);

10

CREATE DATABASE Concesionario;

USE Concesionario;

CREATE TABLE Marca (

Id_Marca INT PRIMARY KEY AUTO_INCREMENT NOT NULL,

Nombre VARCHAR(50)

);

CREATE TABLE Concesionario (

Id_Cocesionario INT PRIMARY KEY AUTO_INCREMENT NOT NULL,

Nombre VARCHAR(50)NOT NULL,

Domicilio VARCHAR(100)NOT NULL,

NIF VARCHAR(20)NOT NULL

);

CREATE TABLE Vendedor (

Id_Vendedor INT PRIMARY KEY AUTO_INCREMENT NOT NULL,

Nombre VARCHAR(50)NOT NULL,

Apelldio VARCHAR(30)NOT NULL,

NIF VARCHAR(20)NOT NULL,

Domicilio VARCHAR(100)NOT NULL,

Correo VARCHAR(20)NOT NULL,

Telefono VARCHAR(20)NOT NULL

);

CREATE TABLE Modelo (


Id_Modelo INT PRIMARY KEY AUTO_INCREMENT NOT NULL,

Nombre VARCHAR(100)NOT NULL,

Id_Marca INT NOT NULL,

Precio DECIMAL(10, 2)NOT NULL,

Descuento DECIMAL(5, 2)NOT NULL,

Potencia_fiscal INT NOT NULL,

Cilindrica INT NOT NULL,

FOREIGN KEY (Id_Marca) REFERENCES Marca(Id_Marca)

);

CREATE TABLE Caracteristica_Equipamiento (

Id_Caracteristica INT PRIMARY KEY AUTO_INCREMENT NOT NULL,

Nombre VARCHAR(100)NOT NULL

);

CREATE TABLE Extra (

Id_Extra INT PRIMARY KEY AUTO_INCREMENT NOT NULL,

Nombre VARCHAR(100)NOT NULL,

Precio DECIMAL(10, 2)NOT NULL

);

CREATE TABLE Automovil (

Id_Automovil INT PRIMARY KEY AUTO_INCREMENT NOT NULL,

Id_Modelo INT NOT NULL,

Localizacion VARCHAR(100)NOT NULL,

Matricula VARCHAR(20)NOT NULL,

Fecha_entrega DATE NOT NULL,

Tipo VARCHAR(20)NOT NULL,

FOREIGN KEY (Id_Modelo) REFERENCES Modelo(Id_Modelo)

);
CREATE TABLE Servicio_Oficial (

Id_Servicio_Oficial INT PRIMARY KEY AUTO_INCREMENT NOT NULL,

Nombre VARCHAR(100)NOT NULL,

Domicilio VARCHAR(100)NOT NULL,

NIF VARCHAR(20)NOT NULL,

Id_Cocesionario INT,

FOREIGN KEY (Id_Cocesionario) REFERENCES Concesionario(Id_Cocesionario)

);

CREATE TABLE Venta (

Id_Venta INT PRIMARY KEY AUTO_INCREMENT NOT NULL,

Id_Automovil INT NOT NULL,

Id_Vendedor INT,

Id_Servicio_Oficial INT,

Precio DECIMAL(10, 2) NOT NULL,

Modo_Pago ENUM('contado', 'financiera') NOT NULL,

Fecha_Venta DATE NOT NULL,

FOREIGN KEY (Id_Automovil) REFERENCES Automovil(Id_Automovil),

FOREIGN KEY (Id_Vendedor) REFERENCES Vendedor(Id_Vendedor),

FOREIGN KEY (Id_Servicio_Oficial) REFERENCES Servicio_Oficial(Id_Servicio_Oficial)

);

CREATE TABLE Extras_incluidos_en_ventas (

Id_Extras_incluidos INT PRIMARY KEY AUTO_INCREMENT NOT NULL,

Id_Venta INT NOT NULL,

Id_Extra INT NOT NULL,

Precio_total DECIMAL(10, 2) NOT NULL,

FOREIGN KEY (Id_Venta) REFERENCES Venta(Id_Venta),

FOREIGN KEY (Id_Extra) REFERENCES Extra(Id_Extra)

);
CREATE TABLE Equipamiento_Serie (

Id_Equipamiento INT PRIMARY KEY AUTO_INCREMENT NOT NULL,

Id_Modelo INT NOT NULL,

Id_Caracteristica INT NOT NULL,

FOREIGN KEY (Id_Modelo) REFERENCES Modelo(Id_Modelo),

FOREIGN KEY (Id_Caracteristica) REFERENCES Caracteristica_Equipamiento(Id_Caracteristica)

);

También podría gustarte