CREATE DATABASE Proyecto_SupermercadoVirtual;
USE Proyecto_SupermercadoVirtual;
-- Datos bancarios
CREATE TABLE DatosBancarios (
NoTarjeta CHAR(16) NOT NULL,
CVV CHAR(3) NOT NULL,
AñoVencimiento CHAR(2) NOT NULL,
MesVencimiento CHAR(2) NOT NULL,
CONSTRAINT PRIMARY KEY (NoTarjeta)
);
-- Cliente
CREATE TABLE Cliente (
IdCliente INT NOT NULL,
Nombre VARCHAR(15) NOT NULL,
ApellidoPaterno VARCHAR(15) NOT NULL,
ApellidoMaterno VARCHAR(15),
Edad CHAR(2) NOT NULL,
Telefono CHAR(10) NOT NULL,
Calle VARCHAR(25) NOT NULL,
NoCasa INT NOT NULL,
Colonia VARCHAR(15) NOT NULL,
Ciudad VARCHAR(15) NOT NULL,
Estado VARCHAR(15) NOT NULL,
NoTarjeta CHAR(16) NOT NULL,
CONSTRAINT PRIMARY KEY (IdCliente),
CONSTRAINT FOREIGN KEY (NoTarjeta)
REFERENCES DatosBancarios063 (NoTarjeta)
);
-- Cuenta
CREATE TABLE Cuenta (
Email VARCHAR(30) NOT NULL,
Usuario VARCHAR(15) NOT NULL,
Contraseña VARCHAR(20) NOT NULL,
IdCliente INTEGER NOT NULL,
CONSTRAINT PRIMARY KEY (Email),
CONSTRAINT FOREIGN KEY (IdCliente)
REFERENCES Cliente063 (IdCliente)
);
-- Vendedor
CREATE TABLE Vendedor (
IdVendedor INTEGER NOT NULL,
FotoINE VARCHAR(30) NOT NULL,
Email VARCHAR(30) NOT NULL,
CONSTRAINT PRIMARY KEY (IdVendedor),
CONSTRAINT FOREIGN KEY (Email)
REFERENCES Cuenta063 (Email)
);
-- Reseña
CREATE TABLE Reseña (
IdReseña INTEGER NOT NULL,
Opiniones VARCHAR(100) NOT NULL,
Fecha DATE NOT NULL,
Hora VARCHAR(2) NOT NULL,
IdVendedor INTEGER NOT NULL,
CONSTRAINT PRIMARY KEY (IdReseña),
CONSTRAINT FOREIGN KEY (IdVendedor)
REFERENCES Vendedor063 (IdVendedor)
);
-- Comprador
CREATE TABLE Comprador (
IdComprador INTEGER NOT NULL,
Email VARCHAR(30) NOT NULL,
CONSTRAINT PRIMARY KEY (IdComprador),
CONSTRAINT FOREIGN KEY (Email)
REFERENCES Cuenta063 (Email)
);
-- Categoria
CREATE TABLE Categoria (
IdCategoria CHAR(5) NOT NULL,
NombreCategoria VARCHAR(20) NOT NULL,
CONSTRAINT PRIMARY KEY (IdCategoria)
);
-- Producto
CREATE TABLE Productos (
IdProducto INTEGER NOT NULL,
Nombre VARCHAR(25) NOT NULL,
Imagen VARCHAR(30) NOT NULL,
Precio INTEGER NOT NULL,
Descripcion VARCHAR(100) NOT NULL,
Stock INTEGER NOT NULL,
Color VARCHAR(15),
IdCategoria CHAR(5) NOT NULL,
CONSTRAINT PRIMARY KEY (IdProducto),
CONSTRAINT FOREIGN KEY (IdCategoria)
REFERENCES Categoria063 (IdCategoria)
);
-- Factura
CREATE TABLE Factura (
IdFactura INTEGER NOT NULL,
IdComprador INTEGER NOT NULL,
IdProducto INTEGER NOT NULL,
CONSTRAINT PRIMARY KEY (IdFactura),
CONSTRAINT FOREIGN KEY (IdComprador)
REFERENCES Comprador063 (IdComprador),
CONSTRAINT FOREIGN KEY (IdProducto)
REFERENCES Productos063 (IdProducto)
);