ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Creación de vistas y índices

luisdiazarevaloPráctica o problema21 de Junio de 2022

282 Palabras (2 Páginas)90 Visitas

Página 1 de 2

Creación de vistas y índices

[pic 1]

[pic 2][pic 3]

DDL

TABLA ciudad

CREATE TABLE IF NOT EXISTS `ciudad` (

`codigo_ciudad` INT NOT NULL,

`nombre` VARCHAR(150) NOT NULL,

`pais` VARCHAR(45) NOT NULL,

`cantidad_farmacias` INT NULL DEFAULT NULL, INDEX

`nombreCiudad_idx` (`nombre`),

INDEX `cantidadFarm_idx` (`cantidad_farmacias`), INDEX

`pais_idx` (`pais`),

PRIMARY KEY (`codigo_ciudad`))

;

Tabla farmacia

CREATE TABLE IF NOT EXISTS `farmacia` (

`codigo_farmacia` INT NOT NULL,

`nombre` VARCHAR(150) NOT NULL,

INDEX `nombreFarmacia_idx` (`nombre`),

PRIMARY KEY (`codigo_farmacia`))

;

Tabla empleado

CREATE TABLE IF NOT EXISTS `empleado` (

`codigo_empleado` INT NOT NULL,

`nombre` VARCHAR(150) NOT NULL,

`sueldo` DOUBLE NOT NULL,

INDEX `nombreEmpleado_idx` (`nombre`), INDEX

`sueldoEmpl_idx` (`sueldo`),

PRIMARY KEY (`codigo_empleado`))

;

Tabla medicamento

CREATE TABLE IF NOT EXISTS `medicamento` (

`codigo_medicamento` INT NOT NULL,

`nombre` VARCHAR(150) NOT NULL,

`precio` DOUBLE NOT NULL,

`existencia_total` DOUBLE NULL DEFAULT NULL, INDEX

`precioMedicamento_idx` (`precio`),

INDEX `existenciaMedicamento_idx` (`existencia_total`), PRIMARY KEY (`codigo_medicamento`))

;

Tabla laboratorio

CREATE TABLE IF NOT EXISTS `laboratorio` (

`codigo_laboratorio` INT NOT NULL,

`nombre` VARCHAR(150) NOT NULL,

INDEX `nomreLab` (`nombre`), PRIMARY KEY (`codigo_laboratorio`))

;

Tabla monodroga

CREATE TABLE IF NOT EXISTS `monodroga` (

`codigo_monodroga` INT NOT NULL,

`nombre` VARCHAR(100) NOT NULL,

INDEX `nomreMonoDrg` (`nombre`), PRIMARY KEY (`codigo_monodroga`))

;

Tabla presentacion

CREATE TABLE IF NOT EXISTS `presentacion` (

`codigo_presentacion` INT NOT NULL,

`tipo` SET('Comprimido', 'Capsula', 'Polvo', 'Crema', 'Jarabe', 'Emplasto', 'Unguento', 'Ampolla', 'Colirio', 'Solucion', 'Locion') NOT NULL,

`volumen` DOUBLE NOT NULL, CHECK (`volumen`>0), PRIMARY KEY (`codigo_presentacion`))

;

Indices

CREATE INDEX existencia_total_idx ON medicamento (existencia_total);

CREATE INDEX nombreLab_idx ON laboratorio (nombre);

CREATE INDEX nombreemple_idx ON empleado (nombre); CREATE INDEX país_idx ON ciudad(pais);

CREATE INDEX precio_idx ON medicamento (precio);

CREATE INDEX nombreMonodr_idx ON monodroga (nombre); CREATE INDEX nombreciud_idx ON ciudad (nombre);

CREATE INDEX cant_farmacias_idx ON ciudad (cant_farmacias); CREATE INDEX nombreemple_idx ON empleado (nombre); CREATE INDEX país_idx ON ciudad(pais);

CREATE INDEX sueldo_idx ON empleado (sueldo);

CREATE INDEX precio_idx ON medicamento (precio);

Vistas

CREATE VIEW list_total_empleados SELECT c.nombre,

count (f.cant_farmacias), e.nombre,

count (e.nombre)

FROM ciudad c, farmacia f, empleado e,

LEFT OUTER JOIN farm_ciud fc ON (f.codigo_farmacia = fc.codigo_farmacia) LEFT OUTER JOIN farm_ciud cf ON (c.codigo_ciudad = cf.codigo_ciudad) LEFT OUTER JOIN empl_farm ef ON (f.codigo_farmacia = ef.codigo_ciudad) LEFT OUTER JOIN empl_farm fe ON (e.codigo_ciudad = fe.codigo_ciudad)

...

Descargar como (para miembros actualizados) txt (3 Kb) pdf (158 Kb) docx (118 Kb)
Leer 1 página más »
Disponible sólo en Clubensayos.com