-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSLQ-1.sql
49 lines (46 loc) · 2.1 KB
/
SLQ-1.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
-- Tabla CompraComida
CREATE TABLE CompraComida (
IdUnico INT AUTO_INCREMENT PRIMARY KEY,
NombreProducto VARCHAR(255) NOT NULL,
Descripcion VARCHAR(455) NOT NULL,
Foto BOOLEAN NOT NULL DEFAULT FALSE, -- Indica si tiene foto (SI/NO)
NumeroUnicoFoto INT NULL, -- Número único si Foto es SI
Cantidad INT NOT NULL,
Realizado BOOLEAN NOT NULL DEFAULT FALSE, -- Indica si la compra fue realizada
SuperMercado VARCHAR(255) NOT NULL,
CONSTRAINT chk_Foto_Comida CHECK (Foto = 0 OR NumeroUnicoFoto IS NOT NULL) -- Validación lógica
);
-- Tabla CompraLimpieza
CREATE TABLE CompraLimpieza (
IdUnico INT AUTO_INCREMENT PRIMARY KEY,
NombreProducto VARCHAR(255) NOT NULL,
Descripcion VARCHAR(455) NOT NULL,
Foto BOOLEAN NOT NULL DEFAULT FALSE, -- Indica si tiene foto (SI/NO)
NumeroUnicoFoto INT NULL, -- Número único si Foto es SI
Cantidad INT NOT NULL,
Realizado BOOLEAN NOT NULL DEFAULT FALSE, -- Indica si la compra fue realizada
SuperMercado VARCHAR(255) NOT NULL,
CONSTRAINT chk_Foto_Limpieza CHECK (Foto = 0 OR NumeroUnicoFoto IS NOT NULL) -- Validación lógica
);
-- Tabla CompraVarios
CREATE TABLE CompraVarios (
IdUnico INT AUTO_INCREMENT PRIMARY KEY,
NombreProducto VARCHAR(255) NOT NULL,
Descripcion VARCHAR(455) NOT NULL,
Foto BOOLEAN NOT NULL DEFAULT FALSE, -- Indica si tiene foto (SI/NO)
NumeroUnicoFoto INT NULL, -- Número único si Foto es SI
Cantidad INT NOT NULL,
Realizado BOOLEAN NOT NULL DEFAULT FALSE, -- Indica si la compra fue realizada
SuperMercado VARCHAR(255) NOT NULL,
CONSTRAINT chk_Foto_Varios CHECK (Foto = 0 OR NumeroUnicoFoto IS NOT NULL) -- Validación lógica
);
-- Tabla Tarea para las relaciones
CREATE TABLE Tarea (
Id INT AUTO_INCREMENT PRIMARY KEY,
IDCompraComida INT NULL,
IDCompraLimpieza INT NULL,
IDCompraVarios INT NULL,
FOREIGN KEY (IDCompraComida) REFERENCES CompraComida(IdUnico) ON DELETE CASCADE,
FOREIGN KEY (IDCompraLimpieza) REFERENCES CompraLimpieza(IdUnico) ON DELETE CASCADE,
FOREIGN KEY (IDCompraVarios) REFERENCES CompraVarios(IdUnico) ON DELETE CASCADE
);