Ejercicio 2 DDL y DML

Documentos relacionados
RICHARD ALEXANDER BETANCUR SIERRA

CREACIÓN, SUPRESIÓN Y MODIFICACIÓN DE TABLAS.

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón

A.1. Definiciones de datos en SQL

Diseño de bases de datos Práctica-1 Definición de datos

GESTORES GESTORES DE BASES DE DATOS

LEA ATENTAMENTE LAS PREGUNTAS Y RESUELVA CADA EJERCICIO COMO SE INDIQUE (EN CASO CONTRARIO EL EJERCICIO NO PUNTUARÁ) CADA EJERCICIO VALE UN PUNTO

Access SQL: DDL y DML. Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos.

Grupo Kybele, Pág. 1

EXAMEN TEMAS 3, 4 y 5. CREACIÓN Y EXPLOTACIÓN DE UNA BASE DE DATOS

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Modulo I: Introducción Gestores de Bases De Datos

LENGUAJE DE CONSULTA ESTRUCTURADO - SQL CONTENIDO

Integridad Referencial. Restricciones (constraints)

El Sistema Gestor de Base de Datos (DBMS)

Base de Datos Conjunto de información organizada especialmente para búsqueda y entrada de datos. Base de Datos: Ejemplo Usuarios

Práctica Consultas SQL DML

Bases de Datos 2. Teórico

Estándar de desarrollo de aplicaciones del Govern de les Illes Balears

ÍNDICE INTRODUCCIÓN...13

Oracle Básico PL/SQL

Paso 1: Iniciar en todos los programas Microsoft SQL Server SQL Server Management Studio.

ÍNDICE INTRODUCCIÓN...17

BASE DE DATOS - CURSO 02/03 PRÁCTICA 2: SQL: Lenguaje de definición de datos (DDL)

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES

Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers

* Size es el tamaño inicial y Filegrowth es el incremento * El size del Primary debe ser 3 veces mayor que el Log necesariamente

Oracle Database: Programación con PL/SQL

OBJETIVOS METODOLOGÍA PROCEDIMIENTO 1.- Trabajo con el servidor de bases de datos Sybase

Bases de Datos: Structured Query Language (SQL)

3. El catálogo 26. Laboratorio de Bases de Datos

TEMA 22: LENGUAJES DE MANIPULACIÓN Y DEFINICIÓN DE DATOS.

Temario. Índices simples Árboles B Hashing

ÍNDICE PRIMERA PARTE... 17

DISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999

//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui

Acceso a bases de datos MySQL con PHP

Oracle Database y Oracle SQL Developer

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

Oracle Express y Toad for Oracle

Structured Query Language (SQL) Fundamentos de Bases de Datos InCo

EJERCICIOS DE CONSULTAS SQL

Guía de ejercicios de SQL Prof. Mauricio E. Fernández N. Semestre Agosto-Diciembre de 2012

Historia de SQL. Historia de SQL. Introducción. Los primeros años. E. F. Codd, Investigador de IBM (1970) grandes bancos de datos compartidos»

CREAR TABLAS EN BASES DE DATOS CON phpmyadmin. TIPOS DE DATOS BÁSICOS (VARCHAR, INT, FLOAT). INSERTAR FILAS. (CU00840B)

Triggers en PL/SQL. Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo:

Prácticas EDAT Curso 12/13

ANSI SQL El lenguaje SQL...2 Componentes del lenguaje SQL...3 Tablas...7 Índices...11 Vistas...13 Consultar datos. SELECT...15

Tema: Procedimientos almacenados y cursores. Facultad : Ingeniería Escuela : Computación Asignatura: SQL SERVER. GUÍA 2 Pág. 1

TUTORIAL SQL. Aprendiendo SQL

Asignatura: Administración de Bases de Datos

Solución Ejercicio Prac. 3b (Esquema).

Proyecto 2 Base de Datos SQL Server y MySQL

SERVICIO NACIONAL DE APRENDIZAJE SENA

Oracle Database: Conceptos Básicos de SQL y PL/SQL

Es un lenguaje de consulta estructurado establecido claramente como lenguaje de alto nivel estándar para sistemas de base de datos relacionales.

Formato para prácticas de laboratorio

ADMINISTRACIÓN DE BASE DE DATOS

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc).

Bases de Datos MySQL 1

Triggers 27/11/2014. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle

ORACLE 10g. Descripción A QUIEN VA DIRIGIDO?

Dependiendo de las tareas, podemos clasificar las sentencias SQL en dos tipos:

ÍNDICE. Introducción... Capítulo 1. Novedades de Access

Introducción al SQL de InterBase: DDL y DML

Oracle Database 11g: Conceptos Fundamentales de SQL y PL/SQL Nuevo

TEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD)

8 SQL SERVER 2008 RA-MA

Base de Datos Oracle 10g: Introducción a SQL Código: D Duración: 5 días (40 horas)

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL)

MANUAL BÁSICO DE MYSQL

EL ENTORNO DE TRABAJO SQL ORACLE

Características del lenguaje SQL

Examen de Bases de datos Grado de Ingeniería en Informática, Febrero, 2015

SQL (Structured Query Language)

Modelo de base de datos única con múltiples geobases de datos. Modelo de múltiples bases de datos espaciales

Bases de datos relacionales y el modelo entidad-relación

Como manejador de base de datos elegimos utilizar Absolute Database, que es un

Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig

6- Combinación de tablas

Diseño físico de datos. Oracle

Trabajos de Ampliación. Bases de datos NoSQL.

SQL Los fundamentos del lenguaje

Manejo de Bases de Datos Mysql en Lenguaje C

m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints

EJERCICIO TRABAJADORES.

EJERCICIO SQL CREACIÓN Y CONSULTAS EN UNA BASE DE DATOS BANCARIA. Pág. 1 de 18

MANUAL DE USUARIO RUV++

Base de datos I Facultad de Ingeniería. Escuela de computación.

Sistemas de Bases de Datos II ITS / ITSB EMT CETP

Vistas en postgresql

SQL SQL. Índice. Componentes. Objetivos

UNIVERSIDAD AUTONOMA DE LOS ANDES UNIANDES LENGUAJE SQL. SQL es un estándar un lenguaje estructurado para consultas

Checks, Triggers y Excepciones en InterBase: validando desde la base de datos

Procedimientos almacenados en PL/SQL. Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia

Transcripción:

Ejercicio 2 DDL y DML Oracle Database 12c: SQL & PL/SQL Fundamentals Una empresa desea llevar el control del inventario de los equipos de oficina que venden en cada una de sus tiendas. Para ello el director de sistemas envío el requerimiento al DBA de la empresa. El Administrador de Base de Datos analizó la situación del negocio y decidió realizar el siguiente diseño: Un catálogo de tiendas (TIENDAS) para poder asociar a cada tienda con su respectivo inventario de equipos de oficina que vende. En el catálogo se pretende guardar la siguiente información: - ID_TIENDA (número identificador de 10 unidades y clave primaria) - NOMBRE_TIENDA (cadena de 40 caracteres) - DIRECCION_TIENDA (cadena de 200 caracteres) Dado que se han proporcionado los datos de las siguientes tiendas, es necesario ingresar dicha información en el catálogo de tiendas (TIENDAS). ID_TIENDA NOMBRE_TIENDA DIRECCION_TIENDA 1 La Nena Callejon de la Nena #123, Colonia Dulce Amor 2 La Virgen Calle Rosa de Guadalupe #2, Colonia Bajo del Cerro 3 La Piscina Avenida de los Charcos #78, Colonia El Mojado 4 El Churro Calle el Pason #666, Colonia El Viaje 5 Don Pancho Avenida del Reboso #1521, Colonia El Burro Una tabla para poder almacenar el inventario (INVENTARIOS) de los equipos de oficina que se venden en cada tienda. En dicha tabla pretende almacenar la siguiente información: - ID_ARTICULO (número identificador de 10 unidades y clave primaria) - NOMBRE (cadena de 50 caracteres) - COMENTARIO (cadena de 200 caracteres) - PRECIO (número de 10 unidades con 2 decimales) - ID_TIENDA (número identificador referente al catálogo de TIENDAS) Para tener un mejor control del inventario del equipo es necesario que cumpla las siguientes condiciones:

- El identificador del producto (ID_ARTICULO) debe ser un valor único que identifique al artículo. - El nombre del producto (NOMBRE) no se debe de duplicar y debe de ser único. - El comentario del producto (COMENTARIO) no debe de contener valores nulos. - El precio del producto (PRECIO) debe ser mayor a cero. - El identificador de la tienda (ID_TIENDA) debe de hacer referencia al catálogo de TIENDAS que se definió anteriormente. 1. Indicar las sentencias DDL y DML que permitan al DBA, crear e introducir la información proporcionada en la tabla TIENDAS. CREATE TABLE TIENDAS ( ID_TIENDA NUMBER(10,0) CONSTRAINT PK_ID_TIENDA PRIMARY KEY, NOMBRE_TIENDA VARCHAR2(40), DIRECCION_TIENDA VARCHAR2(200) ); VALUES (1,'La Nena','Callejon de la Nena #123, Colonia Dulce Amor'); VALUES (2,'La Virgen','Calle Rosa de Guadalupe #2, Colonia Bajo del Cerro'); VALUES (3,'La Piscina','Avenida de los Charcos #78, Colonia El Mojado'); VALUES (4,'El Churro','Calle el Pason #666, Colonia El Viaje'); VALUES (5,'Don Pancho','Avenida del Reboso #1521, Colonia El Burro'); 2. Crear la sentencia DDL que permita al DBA, crear la tabla INVENTARIOS tomando en cuenta las restricciones planteadas anteriormente. CREATE TABLE INVENTARIOS ( ID_ARTICULO NUMBER(10,0) CONSTRAINT PK_ID_ARTICULO PRIMARY KEY, NOMBRE VARCHAR2(50) UNIQUE, COMENTARIO VARCHAR2(200) NOT NULL, PRECIO NUMBER(10,2) CHECK(PRECIO>0), ID_TIENDA NUMBER(10,0) CONSTRAINT FK_ID_TIENDA REFERENCES TIENDAS(ID_TIENDA) );

Una vez creada la tabla de INVENTARIOS, el Administrado de Base de Datos se percató que al consultar la información de la tabla a través del campo ID_TIENDA, el desempeño y rapidez de la consulta podría ser deficiente. Por lo que recomendó la creación de un índice. 3. Realizar la sentencia con la cual el DBA debe de crear el índice de tipo B-TREE en la tabla INVENTARIOS sobre la columna ID_TIENDA. CREATE INDEX IDX_ID_TIENDA ON INVENTARIOS(ID_TIENDA); Debido a la longitud del nombre de las tablas y la pereza del departamento de desarrollo. Se solicitó al DBA que las tablas pudieran ser identificadas con una nomenclatura más corta. Por lo que la tabla INVENTARIOS también pueda ser llamada INV y la tabla TIENDAS TDA. 4. Indicar las sentencias con las que el DBA debe de crear los sinónimos INV y TDA de las tablas INVENTARIOS y TIENDAS respectivamente. CREATE SYNONYM INV FOR INVENTARIOS; CREATE SYNONYM TDA FOR TIENDAS; Una vez atendidos los requerimientos anteriores, el departamento de contabilidad le ha indicado al Administrador de Base de Datos que ingrese la información del inventario de los equipos de oficina que aparece a continuación. ID_ARTICULO NOMBRE COMENTARIO PRECIO ID_TIENDA 1 CD-DVD 700 MB DE ESPACIO $40.00 1 1 USB-HP 64GB, USB 3.0 $359.00 2 2 CD-DVD 4GB RAM, 500 HDD, i5 2.6 GHz. $14,000.00 3 4 MOUSE OPTICO $140.00 4 5 DISCO DURO 200 GB, HDD, USB 3.0 - $1,000.00 5 6 PROYECTOR TOSHIBA G15 $5,500.00 6 5. Crear las sentencias DML que permitan al DBA, insertar la información proporcionada tal y como se indicó por parte del departamento de contabilidad con ayuda del sinónimo creado.

VALUES (1,'CD-DVD','700 MB DE ESPACIO',40,1); VALUES (1,'USB-HP','64GB, USB 3.0',359,2); VALUES (2,'CD-DVD','4GB RAM, 500 HDD, i5 2.6 GHz.',14000,3); VALUES (4,'MOUSE OPTICO',NULL,140,4); VALUES (5,'DISCO DURO','200 GB, HDD, USB 3.0',-1000,5); VALUES (6,'PROYECTOR','TOSHIBA G15',5500,6); 6. Generar las sentencias DML utilizando el sinónimo de la tabla, para ayudar al DBA a ingresar de manera satisfactoria y con la menor varianza, la información proporcionada por el departamento de contabilidad. VALUES (2,'USB-HP','64GB, USB 3.0',359,2); VALUES (3,'LAPTOP SONY','4GB RAM, 500 HDD, i5 2.6 GHz.',14000,3); VALUES (4,'MOUSE OPTICO','700 DPI',140,4); VALUES (5,'DISCO DURO','200 GB, HDD, USB 3.0',1000,5); VALUES (6,'PROYECTOR','TOSHIBA G15',5500,4);

Una vez ingresada la información satisfactoriamente y revisada por el gerente de ventas de cada tienda, se han percatado de que la información ingresada ha sido errónea. Por lo que se le ha requerido al Administrador de la Base de Datos el borrado de la información de la manera más rápida posible. 7. Crear la sentencia DDL que permita al DBA, borrar toda la información de la tabla INVENTARIOS de la manera más eficiente. TRUNCATE TABLE INVENTARIOS; Después de haber sido eliminada la información anterior, los gerentes de ventas han proporcionado la información correcta de los artículos del inventario. ID_ARTICULO NOMBRE COMENTARIO PRECIO ID_TIENDA 1 CD-DVD 900 MB DE ESPACIO $35.50 5 2 USB HP 32GB, USB 3.0 $155.90 4 3 Laptop SONY 4GB RAM, 300 HDD, $13,410.07 3 i5 2.6 GHz. 4 Mouse Optico 700 DPI $104.40 2 5 Disco Duro 200 TB, HDD, USB 3.0 $2,300.00 1 6 Proyector TSHB TOSHIBA G155 $5,500.00 5 8. Indicar las sentencias DML con las que el DBA debe de insertar la información en la tabla INVENTARIOS, utilizando el sinónimo de la tabla. VALUES (1,'CD-DVD','900 MB DE ESPACIO',35.50,5); VALUES (2,'USB-HP','32GB, USB 3.0',155.90,4); VALUES (3,'Laptop SONY','4GB RAM, 300 HDD, i5 2.6 GHz.',13410.07,3); VALUES (4,'Mouse Optico','700 DPI',104.40,2); VALUES (5,'Disco Duro','200 TB, HDD, USB 3.0',2300.00,1); VALUES (6,'Proyector TSHB','TOSHIBA G155',5500.00,5);

Dado que el dólar se ha encontrado en su valor máximo histórico en el país, los proveedores han incrementado un 15% el valor de cada producto. Por lo que los gerentes de ventas han solicitado al Administrador de Base de Datos incrementar un 15% el precio de los productos que cuyo valor sea mayor a $2,000.00 pesos. 9. Realizar las sentencias DML que ayuden al DBA a actualizar los registros con el nuevo valor (+15%), de aquellos productos cuyo precio sea mayor a $2,000.00 pesos. Utilizar el sinónimo de la tabla. UPDATE INV SET PRECIO = PRECIO + (PRECIO * 0.15) WHERE PRECIO > 2000; El personal de inspección, encargados de revisar el producto existente en cada tienda. Ha solicitado al DBA de la empresa realizar una vista llamada CONCENTRADO, donde se pueda consultar toda la información del producto y toda la información de la tienda donde se encuentra cada uno. 10. Generar la sentencia que permita al DBA, crear la vista CONCENTRADO con la información solicitada por el personal de inspección. Utilizar los sinónimos de las tablas. CREATE OR REPLACE VIEW CONCENTRADO AS SELECT ID_ARTICULO, NOMBRE, COMENTARIO, ID_TIENDA, NOMBRE_TIENDA, DIRECCION_TIENDA FROM INV JOIN TDA USING(ID_TIENDA); El gerente del personal de inspección ha solicitado conocer toda la información de los productos y las tiendas a través de la vista generada por el Administrador de la Base de Datos. Pero solo necesita conocer dicha información de la tienda Don Pancho. Dado que la información es urgente y es necesario generar el reporte de manera inmediata, el desempeño de la consulta debe de ser el más óptimo.

11. Crear la consulta que ayude al DBA a utilizar la vista generada y obtener solo la información del inventario de la tienda Don Pancho. Para un mejor desempeño de dicha consulta, utilizar el índice creado con anterioridad en la tabla INVENTARIOS para la llave foránea ID_TIENDA. Consultar el plan de ejecución y las estadísticas de la consulta generada. SET AUTOTRACE ON; SELECT * FROM CONCENTRADO WHERE ID_TIENDA = 5; SET AUTOTRACE OFF;