Ejercicios de Base de Datos

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

Ejercicio 1:

CREATE TABLE fabricante (

codigo INT(10) NOT NULL,

nombre VARCHAR(100) NOT NULL,

PRIMARY KEY (codigo)

CREATE TABLE producto (

codigo INT(10),

nombre VARCHAR(100) NOT NULL,

precio DOUBLE NOT NULL,

codigo_fabricante INT(10),

Primary key (codigo),

FOREIGN KEY (codigo_fabricante) REFERENCES fabricante(codigo)

)
Ejercicio 2:

CREATE TABLE departamento (

codigo INT(10) not null,

nombre VARCHAR(100) NOT NULL,

presupuesto DOUBLE NOT NULL,

PRIMARY KEY (codigo)

create table Empleado (

Codigo INT(10) not null AUTO_INCREMENT,

nif VARCHAR (100) not null,

nombre VARCHAR(100)not null,

apellido1 VARCHAR(100)not null,

apellido2 VARCHAR(100),

codigo_departamento INT(10),

PRIMARY KEY(Codigo),

FOREIGN KEY(codigo_departamento)REFERENCES Departamento(Codigo)

)
Ejercicio 3:
Ejercicio 4:

-- Tabla gama_producto

CREATE TABLE gama_producto (

gama VARCHAR(50) PRIMARY KEY,


descripcion_texto TEXT NOT NULL,

descripcion_html TEXT NOT NULL,

imagen VARCHAR(256)

);

-- Tabla producto

CREATE TABLE producto (

codigo_producto VARCHAR(15) PRIMARY KEY,

nombre VARCHAR(70) NOT NULL,

gama VARCHAR(50) NOT NULL,

dimensiones VARCHAR(25) NOT NULL,

proveedor VARCHAR(50) NOT NULL,

descripcion TEXT NOT NULL,

cantidad_en_stock SMALLINT NOT NULL,

precio_venta DECIMAL(15,2) NOT NULL,

precio_proveedor DECIMAL(15,2) NOT NULL,

FOREIGN KEY (gama) REFERENCES gama_producto(gama)

);

-- Tabla cliente

CREATE TABLE cliente (

codigo_cliente INT PRIMARY KEY,

nombre_cliente VARCHAR(50) NOT NULL,

nombre_contacto VARCHAR(30) NOT NULL,

apellido_contacto VARCHAR(30) NOT NULL,

telefono VARCHAR(15) NOT NULL,

fax VARCHAR(15),

linea_direccion1 VARCHAR(50) NOT NULL,

linea_direccion2 VARCHAR(50),

ciudad VARCHAR(50) NOT NULL,

region VARCHAR(50),
pais VARCHAR(50) NOT NULL,

codigo_postal VARCHAR(10),

codigo_empleado_rep_ventas INT,

limite_credito DECIMAL(15,2),

FOREIGN KEY (codigo_empleado_rep_ventas) REFERENCES empleado(codigo_empleado)

);

-- Tabla pago

CREATE TABLE pago (

codigo_cliente INT NOT NULL,

forma_pago VARCHAR(40) NOT NULL,

id_transaccion VARCHAR(50) NOT NULL,

fecha_pago DATE NOT NULL,

total DECIMAL(15,2) NOT NULL,

PRIMARY KEY (codigo_cliente, id_transaccion),

FOREIGN KEY (codigo_cliente) REFERENCES cliente(codigo_cliente)

);

-- Tabla pedido

CREATE TABLE pedido (

codigo_pedido INT PRIMARY KEY,

fecha_pedido DATE NOT NULL,

fecha_esperada DATE NOT NULL,

fecha_entrega DATE,

estado VARCHAR(15) NOT NULL,

comentarios TEXT,

codigo_cliente INT NOT NULL,

FOREIGN KEY (codigo_cliente) REFERENCES cliente(codigo_cliente)

);

-- Tabla detalle_pedido
CREATE TABLE detalle_pedido (

codigo_pedido INT NOT NULL,

codigo_producto VARCHAR(15) NOT NULL,

cantidad INT NOT NULL,

precio_unidad DECIMAL(15,2) NOT NULL,

numero_linea SMALLINT NOT NULL,

PRIMARY KEY (codigo_pedido, codigo_producto, numero_linea),

FOREIGN KEY (codigo_pedido) REFERENCES pedido(codigo_pedido),

FOREIGN KEY (codigo_producto) REFERENCES producto(codigo_producto)

);

-- Tabla oficina

CREATE TABLE oficina (

codigo_oficina VARCHAR(10) PRIMARY KEY,

ciudad VARCHAR(30) NOT NULL,

pais VARCHAR(50) NOT NULL,

region VARCHAR(50),

codigo_postal VARCHAR(10) NOT NULL,

telefono VARCHAR(20) NOT NULL,

linea_direccion1 VARCHAR(50) NOT NULL,

linea_direccion2 VARCHAR(50)

);

-- Tabla empleado

CREATE TABLE empleado (

codigo_empleado INT PRIMARY KEY,

nombre VARCHAR(50) NOT NULL,

apellido1 VARCHAR(50) NOT NULL,

apellido2 VARCHAR(50),

extension VARCHAR(10) NOT NULL,

email VARCHAR(100) NOT NULL,


codigo_oficina VARCHAR(10) NOT NULL,

codigo_jefe INT,

puesto VARCHAR(50) NOT NULL,

FOREIGN KEY (codigo_oficina) REFERENCES oficina(codigo_oficina),

FOREIGN KEY (codigo_jefe) REFERENCES empleado(codigo_empleado)

);

También podría gustarte