Está en la página 1de 4

[ TP – 04 ]

CREACION DE BASE DE DATOS, TABLAS Y CONSULTAS

R1.
A. CREACION DE LA BASE DE DATOS:
CREATE DATABASE ALQUILERES
CHARACTER SET utf8 COLLATE utf8_general_ci;

B. CREACION DE LAS TABLAS INDEPENDIENTES:


USE ALQUILERES;
CREATE TABLE VEHICULO
( NPLACA CHAR(7) NOT NULL PRIMARY KEY,
MARCA VARCHAR(35) DEFAULT ' ',
MODELO INT(4),
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
CREATE TABLE CONDUCTOR
( NLIC INT(8) NOT NULL PRIMARY KEY,
NOMBRE VARCHAR(35) DEFAULT ' ',
EDAD INT(3), CHECK(EDAD >= 21 AND EDAD <= 100),
SEXO CHAR(1), CHECK(SEXO = ‘F’ OR SEXO = ‘M’)
CATEGORIA ENUM ( 'P', 'A ', 'B', 'C' ),
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
A CONTINUACIÓN LAS TABLAS DEPENDIENTES:
CREATE TABLE HERRAMIENTA
( CODIGO INT(6) NOT NULL PRIMARY KEY,
DESCRIPCION VARCHAR(40) DEFAULT ' ',
NPLACA CHAR(7),
FOREIGN KEY (NPLACA) REFERENCES VEHICULO(NPLACA) Relación binaria uno a muchos.
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
CREATE TABLE ALQUILER
( NPLACA CHAR(7) NOT NULL,
NLIC INT(8) NOT NULL,
FECHA DATETIME DEFAULT NOW(),
COSTO FLOAT(6,2), CHECK (COSTO > 0.0),
PRIMARY KEY (NPLACA, NLIC), Relación binaria muchos a muchos.
FOREIGN KEY (NPLACA) REFERENCES VEHICULO(NPLACA),
FOREIGN KEY (NLIC) REFERENCES CONDUCTOR(NLIC),
) ENGINE = InnoDB DEFAULT CHARSET = utf8;

R2.
A. CREACION DE LA BASE DE DATOS:
CREATE DATABASE FARMACIA
CHARACTER SET utf8 COLLATE utf8_general_ci;

B. CREACION DE LAS TABLAS:


USE FARMACIA;
CREATE TABLE MEDICAMENTO
( COD CHAR(6) NOT NULL PRIMARY KEY,
DESCRIPCION VARCHAR(35) DEFAULT ' ',
UNIDAD ENUM ('PZA. ', 'TAB. ', 'CJA. ', 'CAP. ', 'AMP. ', 'SBR. ' ),
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
CREATE TABLE DEPOSITO
( COD CHAR(6) NOT NULL PRIMARY KEY,
ENTRADA INT(6), CHECK(ENTRADA > 0),
SALIDA INT(6), CHECK(SALIDA > 0),
SALDO INT(6), ), CHECK(SALDO > 0),
FOREIGN KEY (COD) REFERENCES MEDICAMENTO(COD) Relación entidad debil.
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
CREATE TABLE CLIENTE
( CI CHAR(11) NOT NULL PRIMARY KEY,
NOMBRE VARCHAR(35) DEFAULT ' ',
DIRECCION VARCHAR(40) DEFAULT ' '
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
CREATE TABLE VENTA
( COD CHAR(6) NOT NULL,
CI CHAR11) NOT NULL,
FECHA DATETIME DEFAULT NOW(),
CANTIDAD INT(6), CHECK (CANTIDAD > 0),
PRECIO FLOAT(6,2), CHECK (PRECIO >= 100 AND PRECIO <= 999),
COSTO FLOAT(6,2) DEFAULT 0.0,
PRIMARY KEY (COD, CI), Relación binaria muchos a muchos.
FOREIGN KEY (COD) REFERENCES MEDICAMENTO(COD),
FOREIGN KEY (CI) REFERENCES CLIENTE(CI),
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
CREATE TABLE ENTREGA
( NE INT(6) AUTO_INCREMENT PRIMARY KEY,
CANTIDAD INT(6) DEFAULT ' ',
COD CHAR(6),
CI CHAR11), Relación binaria
FOREIGN KEY (COD, CI) REFERENCES VENTA(COD, CI) uno a muchos
) ENGINE = InnoDB AUTO_INCREMENT = 100 DEFAULT CHARSET = utf8; llave compuesta.

R3.
A. CREACION DE LA BASE DE DATOS:
CREATE DATABASE TIENDAS
CHARACTER SET utf8 COLLATE utf8_general_ci;

B. CREACION DE LAS TABLAS:


USE TIENDAS;
CREATE TABLE CLIENTE
( CI CHAR(11) NOT NULL PRIMARY KEY,
NOMBRE VARCHAR(35) DEFAULT ' ',
CELULAR CHAR(8) DEFAULT ' '
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
CREATE TABLE ARTICULO
( CODIGO CHAR(6) NOT NULL PRIMARY KEY,
DESCRIPCION VARCHAR(35) DEFAULT ' ',
PRECIO FLOAT(6,2), CHECK(PRECIO > 0.0),
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
CREATE TABLE MATERIAL
( CODIDO CHAR(6) NOT NULL PRIMARY KEY,
UNIDAD ENUM ( 'PZA.. ', CJA. ', 'MTS. ', 'KGR. ' ),
FOREIGN KEY (CODIGO) REFERENCES ARTICULO(CODIGO)
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
CREATE TABLE HERRAMIENTA
( CODIGO CHAR(6) NOT NULL PRIMARY KEY,
ESPECIFICACION VARCHAR(40) DEFAULT ‘ ‘,
FOREIGN KEY (CODIGO) REFERENCES ARTICULO(CODIGO) Relación padre-subtipo (herencia).
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
CREATE TABLE TIENDA
( NIT CHAR(14) NOT NULL PRIMARY KEY,
NOMBRE INT(6) DEFAULT ' ',
DIRECCION CHAR(6),
TELEF CHAR11),
NITR CHAR(14)
FOREIGN KEY (NITR) REFERENCES TIENDA(NIT) Relación recursiva uno a muchos.
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
CREATE TABLE COMPRA
( CODIGO CHAR(6) NOT NULL,
NIT CHAR14) NOT NULL,
CI CHAR(11) NOT NULL,
FECHA DATETIME DEFAULT NOW(),
CANTIDAD INT(6), CHECK (CANTIDAD > 0 AND CANTIDAD <= 500),
PRIMARY KEY (CODIGO, NIT, CI), Relación ternaria muchos a muchos.
FOREIGN KEY (CODIGO) REFERENCES ARTICULO(CODIGO),
FOREIGN KEY (NIT) REFERENCES TIENDA(NIT),
FOREIGN KEY (CI) REFERENCES CLIENTE(CI)
) ENGINE = InnoDB DEFAULT CHARSET = utf8;

R4.
A. CREACION DE LA BASE DE DATOS:
CREATE DATABASE HERRAMIENTAS
CHARACTER SET utf8 COLLATE utf8_general_ci;

B. CREACION DE LAS TABLAS:


USE HERRAMIENTAS;
CREATE TABLE HERRAMIENTA
( CODIGO INT(6) NOT NULL PRIMARY KEY,
DESCRIPCION VARCHAR(35) DEFAULT ' ',
TIPO ENUM ( 'M', 'E' ),
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
CREATE TABLE FUNCIONARIO
( ITEM INT(6) NOT NULL PRIMARY KEY
NOMBRE VARCHAR(35) DEFAULT ' ',
EDAD INT(3) DEFAULT 0,
FECHAING DATETIME DEFAULT NOW()
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
CREATE TABLE PRESTAMO
( ITEM INT(6) NOT NULL,
ITEMR INT(6) NOT NULL,
CODIGO CHAR(6) NOT NULL,
PRIMARY KEY (ITEM, ITEMR, CODIGO), Relación ternaria recursiva
FOREIGN KEY (ITEM) REFERENCES FUNCIONARIO(ITEM), muchos a muchos.
FOREIGN KEY (ITEMR) REFERENCES FUNCIONARIO(ITEM),
FOREIGN KEY (CODIGO) REFERENCES HERRAMIENTA(CODIGO)
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
CREATE TABLE BAJA
( NB INT(6) AUTO_INCREMENT PRIMARY KEY,
FECHA DATETIME DEFAULT NOW(),
CODIGO CHAR(6), Relación ternaria muchos a muchos.
FOREIGN KEY (CODIGO) REFERENCES HERRAMIENTA(CODIGO)
) ENGINE = InnoDB AUTO_INCREMENT = 1000 DEFAULT CHARSET = utf8;

CREATE TABLE ASIGNACION


( ITEM INT(6) NOT NULL,
CODIGOVCHAR(6) NOT NULL,
FECHA DATETIME DEFAULT NOW(),
CANTIDAD INT(6), CHECK (CANTIDAD >= 10 AND CANTIDAD <= 999),
PRIMARY KEY (ITEM, CODIGO), Relación binaria muchos a muchos.
FOREIGN KEY (ITEM) REFERENCES FUNCIONARIO(ITEM),
FOREIGN KEY (CODIGO) REFERENCES HERRAMIENTA(CODIGO),
) ENGINE = InnoDB DEFAULT CHARSET = utf8;

PROBLEMAS PROPUESTOS:

LOS PROBLEMAS R5, R6 Y R7 SE PROPONEN COMO PRACTICA A REALIZAR POR PARTE DE LOS
ESTUDIANTES DE LA ASIGNATURA.

También podría gustarte