Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 12 Otros Objetos de la Base de Datos.

Slides:



Advertisements
Presentaciones similares
integridad referencial
Advertisements

VISTAS (VIEWS) DEFINICIÓN Y OBJETIVO DE LAS VISTAS.
BASE DE DATOS OBJETO RELACIONAL
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:23 PRESENTACION: BASE DE DATOS ALUMNAS: Velazquez Corona Elsa Ponciano Antonio.
U NIDAD 2 L ENGUAJE DE DEFINICIÓN DE DATOS (DDL) 1.
CAPITULO 9 Creando y Manejando Tablas
Controlando el Acceso a los Usuarios
Mejoras a la Cláusula GROUP BY
Julio Pacheco SQL SERVER 2005 XML APRENDIENDO CON EJEMPLOS.
EXPLAIN PLAN Cómo leer los resultados del EXPLAIN PLAN
Teoría de lenguajes y compiladores
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 2 Restringiendo y Ordenando Datos.
Unidad 3 Lenguaje SQL Contenidos Que es SQL ? Estructura de SQL
4.3. Privilegios de usuarios
SESIÓN 2. Completados por el tipo de objeto sobre el que actúan y el objeto concreto: CREATE DATABASE mibase ; Permite crear una base de datos llamada.
MySQL M.C. Pedro Bello López.
CAPITULO 1 Escribiendo Sentencias SELECT Básicas
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 5 Agregando Datos Usando Funciones de Grupo.
Bases de Datos Relacionales
Universidad del Cauca – FIET – Departamento de Sistemas
Subconsultas Avanzadas
Ing. Ricardo Carlos Inquilla Quispe
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
Gestión de Objetos con Vistas de Diccionario de Datos
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 7 Produciendo Salidas Más Legibles con iSQL*Plus.
UNITA - IBARRA TRIGGERS
(Organización y Manejo de Archivos)
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 6 Subconsultas.
UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO MODULO IV ADMINISTRACIÓN DE BASES DE DATOS Administración del DBMS E.I. L.E. Prof. Ramón Castro Liceaga SEMINARIO.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 11 Creando Vistas.
CAPITULO 10 Manejando Restricciones
COMANDOS DML DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio,
SQL (Structured Query Language / Lenguaje de consulta estructurado)‏
Introducción. OBJETIVOS DE LA LECCION Después de completar esta lección, debería ser capaz de realizar lo siguiente: Listar las características de Oracle10g.
Secuencias SQL UNA SOLUCIÓN FÁCIL Y ELEGANTE.. Definición.  Una secuencia es un objeto enlazado a un esquema definido por el usuario que genera una secuencia.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 19 Extensiones de Oracle 9i para las sentencias DML y DDL.
CAPITULO 4 Despliegue de Datos Desde Múltiples Tablas
Programación en Visual Basic Lección #8: SQL Por Antonio F. Huertas.
Consultas SQL (Base de Datos)
ASIGNACION DE PRIVILEGIOS DE USUARIO Grupo:403 Escuela:Conalep Coacalco 184 Profesor: Roberto Carlos Muñoz Celaya Integrantes: Álvarez González Mónica.
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
LENGUAJE SQL.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 14 Uso de Operadores de Conjuntos.
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
PROCEDIMIENTOS ALMACENADOS Es una consulta almacenada en la base de datos en un servidor. Los P.A. Mejoran el Rendimiento Disminuyen el tráfico. Los P.A.
LENGUAJE ESTRUCTURADO DE CONSULTAS
Instrucciones para crear tablas My SQL. A nivel teórico, existen dos lenguajes para el manejo de bases de datos: DDL (Data Definition Language) Lenguaje.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 0 Introducción.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
Diseño de una base de datos y elementos básicos Integrantes: López Ponce de León José Efrén Velazquez Martínez Brenda Equipo:10Grupo:307.
COMANDOS DML DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio,
Unidad 4 SEGURIDAD 4.1 Tipos de usuarios
 La sentencia SELECT recupera todas las columnas o un subconjunto de ellas de una tabla. Esto afecta a todas las filas de la tabla, a menos que especifiquemos.
SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
MSSQL SERVER CURSO BÁSICO 1. CONCEPTOS BASICOS DE SQL. DESCRIPCIÓN DEL CURSO. Sesión 3: Índices Uso, Creación, Tipos, Eliminación LENGUAJE DE CONSULTAS.
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
Comandos DDL Los comandos DDL son las siglas de Data Definition Language, y se corresponde con el conjunto de órdenes que permiten definir las estructuras.
DISPARADORES Y SISTEMAS DE GESTION DE BASE DE DATOS DE SQL
SQL Lenguaje Estructurado de Consultas. Structured Query Lenguaje (SQL). Lenguaje de acceso a bases de datos. Proyecto de Investigación de IBM. La mayoria.
SQL es el lenguaje de comunicación entre el programa cliente y programa servidor; Oracle es un programa servidor, en el que está la base de datos propiamente.
Después de completar esta lección, debe ser capaz de:  Crear registro definidos por el usuario.  Crear un registro con el atributo %ROWTYPE.  Crear.
Diccionario/Directorio de Datos
SQL: DDL.
6 Triggers ORACLE - II Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
Copyright  Oracle Corporation, All rights reserved. 12 Otros Objetos de la Base de Datos.
Copyright  Oracle Corporation, All rights reserved. 11 Creación de Vistas.
DML Transact SQL Sesión X Triggers. Duración 2 Horas.
Copyright  Oracle Corporation, All rights reserved. 9 Creación y gestión de tablas.
Transcripción de la presentación:

Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 12 Otros Objetos de la Base de Datos

12-2 Universidad del Cauca – FIET – Departamento de Sistemas Después de este capítulo, usted estará en capacidad de: Crear, mantener y usar secuencias Crear y mantener índices Crear sinónimos privados y públicos Objetivos

12-3 Universidad del Cauca – FIET – Departamento de Sistemas Desarrollar un corto examen de cinco (5) preguntas en modo de aprendizaje (Learning mode), seleccionados en forma aleatoria. Realizar una corta realimentación de cada una de las preguntas. Tema: Creating Other Database Objects Examen previo

12-4 Universidad del Cauca – FIET – Departamento de Sistemas Objetos de la base de datos OBJETODESCRIPCIÓN TablaUnidad básica de almacenamiento, compuesta de filas y columnas. Pueden ser creadas en cualquier momento, no se necesita definir el tamaño del almacenamiento (se recomienda) y su estructura se puede redefinir en línea. VistaRepresentación lógica de un subconjunto de datos de una o más tablas SecuenciaGenerador de valores numéricos ÍndiceMejora el rendimiento de algunas consultas SinónimoNombre alternativo de los objetos de una base de datos OtrosProcedimientos, funciones, disparadores, clusters, enlaces a bases de datos y demás

12-5 Universidad del Cauca – FIET – Departamento de Sistemas Secuencias Automáticamente genera números “únicos” Es un objeto que puede ser compartido por múltiples usuarios Se usa típicamente para crear un valor que se usa en una columna que identifica (llave primaria) una tabla Sirve para remplazar código en las aplicaciones (funciones generadoras de números) y por esto ayuda a disminuir tiempo en el desarrollo de soluciones Son más eficientes cuando el valor se accede desde un cache en la memoria Son generados y almacenados en forma independiente de las tablas, por ejemplo, una secuencia que genera valores para dos tablas

12-6 Universidad del Cauca – FIET – Departamento de Sistemas Sintaxis para crear secuencias CREATE SEQUENCE NombreSecuencia [INCREMENT BY Incremento] [START WITH Inicio] [{MAXVALUE Máximo | NOMAXVALUE}] [{MINVALUE Mínimo | NOMINVALUE}] [{CYCLE | NOCYCLE}] [{CACHE Tamaño | NOCACHE}]; NombreSecuencia: Es el nombre del objeto (secuencia) a crear INCREMENT BY Incremento: Especifica el valor con el que se incrementa/decrementa el valor de la secuencia. Es un número entero START WITH Inicio: Especifica el primer número (Inicio es entero) que se genera con la secuencia MAXVALUE Máximo: Define el valor máximo que puede generar la secuencia. Es un número entero

12-7 Universidad del Cauca – FIET – Departamento de Sistemas Sintaxis para crear secuencias CREATE SEQUENCE NombreSecuencia [INCREMENT BY Incremento] [START WITH Inicio] [{MAXVALUE Máximo | NOMAXVALUE}] [{MINVALUE Mínimo | NOMINVALUE}] [{CYCLE | NOCYCLE}] [{CACHE Tamaño | NOCACHE}]; MINVALUE Mínimo: Define el valor mínimo que puede generar la secuencia (útil para secuencias que descrecen). Es un número entero CYCLE: Especifica si la secuencia genera valores repetidos (inicia el ciclo) después de llegar al máximo o el mínimo definido CACHE Tamaño: Especifica cuantos valores debe crear Oracle en la memoria. Por defecto Oracle genera 20 valores en cache

12-8 Universidad del Cauca – FIET – Departamento de Sistemas Crear una secuencia Crear una secuencia que se use para los valores de la llave primaria de la tabla Departamentos No se deben repetir valores Se debe arrancar en 50 e incrementar de 10 en 10 hasta un máximo de 90

12-9 Universidad del Cauca – FIET – Departamento de Sistemas Consultar las secuencias del esquema La vista del diccionario de datos USER_SEQUENCES muestra información de las secuencias del usuario La columna Last_Number muestra el siguiente valor que generará la secuencia. Sólo aplica cuando no se usa cache

12-10 Universidad del Cauca – FIET – Departamento de Sistemas Seudo-columnas NEXTVAL y CURRVAL NEXTVAL retorna el siguiente valor disponible. El valor es diferente para todos los usuarios concurrentes CURRVAL retorna el último valor generado para la sesión de usuario Antes de usar CURRVAL, se debe usar NEXTVAL

12-11 Universidad del Cauca – FIET – Departamento de Sistemas Reglas para usar NEXTVAL y CURRVAL NEXTVAL y CURRVAL se pueden usar en los siguientes contextos: La cláusula SELECT de una sentencia SELECT que no es parte de una subconsulta La cláusula SELECT de una subconsulta en una sentencia INSERT La cláusula VALUES de una sentencia INSERT La cláusula SET de una sentencia UPDATE NEXTVAL y CURRVAL NO se pueden usar en los siguientes contextos : La sentencia SELECT de una vista Una subconsulta en una sentencia SELECT, DELETE o UPDATE Una sentencia SELECT con la palabra clave DISTINCT Una sentencia SELECT con una cláusula GROUP BY, HAVING u ORDER BY La expresión DEFAULT en una sentencia CREATE TABLE o ALTER TABLE

12-12 Universidad del Cauca – FIET – Departamento de Sistemas Lineamientos para el uso de secuencias Hacer cache de valores de una secuencia en memoria hace más rápido el acceso a esos valores. El cache se llena la primera vez que se solicita un valor a la secuencia, luego se usan hasta que el cache se vacía. En la próxima solicitud se vuelve a llenar Huecos en los valores de una secuencia pueden ocurrir cuando: Ocurre un rollback El sistema se cae Un valor de la secuencia se usa en otra tabla

12-13 Universidad del Cauca – FIET – Departamento de Sistemas Modificar una secuencia ALTER SEQUENCE NombreSecuencia [INCREMENT BY Incremento] [{MAXVALUE Máximo | NOMAXVALUE}] [{MINVALUE Mínimo | NOMINVALUE}] [{CYCLE | NOCYCLE}] [{CACHE Tamaño | NOCACHE}]; Si una secuencia alcanza el valor máximo y no es cíclica, la próxima vez que se le solicite un valor Oracle enviará un error. Con el comando ALTER se puede cambiar el incremento, el valor máximo, el valor mínimo, si es o no cíclica y si usa o no cache y el tamaño del mismo Para alterar una secuencia se debe ser el dueño o poseer el privilegio de ALTER sobre la secuencia Al alterar una secuencia, sólo se afectan los valores futuros

12-14 Universidad del Cauca – FIET – Departamento de Sistemas Modificar una secuencia ALTER SEQUENCE NombreSecuencia [INCREMENT BY Incremento] [{MAXVALUE Máximo | NOMAXVALUE}] [{MINVALUE Mínimo | NOMINVALUE}] [{CYCLE | NOCYCLE}] [{CACHE Tamaño | NOCACHE}]; Con la sentencia ALTER no se puede cambiar el valor inicial, para ello se debe borrar y recrear la secuencia con el valor deseado Al alterar una secuencia se ejecuta cierta validación, por ejemplo, no se puede asignar un valor a MAXVALUE que sea menor al valor actual de la secuencia. En este caso el comando no se ejecuta

12-15 Universidad del Cauca – FIET – Departamento de Sistemas Eliminar una secuencia DROP SEQUENCE NombreSecuencia; Elimina la secuencia y borra la definición del diccionario de datos Después de borrar una secuencia, no se puede usar NEXTVAL y CURRVAL sobre ella Se debe ser el dueño de la secuencia o poseer el privilegio de DROP ANY SEQUENCE

12-16 Universidad del Cauca – FIET – Departamento de Sistemas Índices Es un objeto de un esquema Es usado por el Servidor Oracle para aumentar la velocidad de recuperación de las filas de una tabla usando apuntadores Permiten reducir la E/S de disco usando un método de acceso rápido para ubicar los datos Son lógica y físicamente independientes de la tabla que indexan Son usados y mantenidos automáticamente por el Servidor Oracle Cuando se borra una tabla, los índices relacionados se eliminan

12-17 Universidad del Cauca – FIET – Departamento de Sistemas Cuándo se crean los índices? Automáticamente Un índice único se crea automáticamente cuando se define una restricción PRIMARY KEY o UNIQUE. El nombre del índice corresponde al nombre dado a la restricción Manualmente Los usuarios pueden crear manualmente índices únicos y no únicos en las columnas de una tabla para mejorar la velocidad de acceso a las filas No se recomienda crear índices únicos en forma manual

12-18 Universidad del Cauca – FIET – Departamento de Sistemas Sintaxis para la creación de índices CREATE [UNIQUE|BITMAP] INDEX NombreDelIndice ON [Esquema.]NombreTabla ( Columna1 [, Columna2, …] [ASC | DESC]); Para crear un índice: El usuario debe ser dueño de la tabla, o El usuario debe tener permiso de indexar (INDEX) la tabla, o El usuario debe tener el privilegio de CREATE ANY INDEX Hay dos tipos de índices básicos Árboles B+: Más comúnmente usados Mapas de bits: Para operaciones lógicas en campos con pocos valores distintos, por ejemplo una cláusula WHERE Genero=‘M’ OR EstadoCivil=‘C’ Otros: Índices hash sobre clusters, Árboles B+ sobre clusters, Índices de clave inversa, Índices basados en funciones

12-19 Universidad del Cauca – FIET – Departamento de Sistemas Sintaxis para la creación de índices Por ejemplo, crear un índice para mejorar la velocidad de consulta por el nombre de los empleados

12-20 Universidad del Cauca – FIET – Departamento de Sistemas Cuándo crear un índice? Se debe crear un índice si: La columna contiene un amplio rango de valores La columna contiene un bajo rango de valores (Bitmaps) La columna contiene una gran cantidad de valores NULL y las consultas buscan un valor determinado (# de NULL) Una o más columnas son frecuentemente usadas en una cláusula WHERE o una condición de JOIN. Es normal crear índices en columnas con restricción de llave foránea La tabla es muy grande y se espera que la mayoría de las consultas recuperan menos del 2 o 4% (15%) de las filas de la tabla Crear índices sobre una tabla NO significa más velocidad en las consultas Cada DML sobre la tabla debe modificar los índices asociados

12-21 Universidad del Cauca – FIET – Departamento de Sistemas Cuándo NO crear un índice? Normalmente NO es apropiado crear un índice si: La tabla es pequeña (256/512 filas) La columna o columnas NO son usadas frecuentemente en una cláusula WHERE o una condición de JOIN La mayoría de consultas por la columna recuperan más del 4% (15%) de las filas de la tabla La tabla es modificada frecuentemente Las columnas del índice son referenciadas como parte de una expresión en la cláusula WHERE

12-22 Universidad del Cauca – FIET – Departamento de Sistemas Consultar índices en el diccionario User_Indexes y User_Ind_Columns

12-23 Universidad del Cauca – FIET – Departamento de Sistemas Índices basados en funciones Es un índice basado en una expresión La expresión incluye columnas de la tabla, constantes, funciones SQL y funciones definidas por el usuario

12-24 Universidad del Cauca – FIET – Departamento de Sistemas Eliminar índices DROP INDEX NombreDelIndice; Elimina un índice del esquema y su definición del diccionario de datos Para eliminar un índice debe ser el dueño o tener el permiso de DROP ANY INDEX Para modificar un índice se debe borrar y recrearlo Cuando se elimina una tabla se elimina los índices y las restricciones asociadas pero las vistas y las secuencias se mantienen. Las vistas quedan en estado invalido

12-25 Universidad del Cauca – FIET – Departamento de Sistemas Eliminando un índice

12-26 Universidad del Cauca – FIET – Departamento de Sistemas Sinónimos CREATE [PUBLIC] SYNONYM NombreSinonimo FOR [Esquema.]Objeto; Sirven para simplificar el acceso a los objetos (otro nombre para un objeto, similar a un acceso directo de Windows) Con los sinónimos se puede: Facilitar el acceso a objetos de otro esquema, ya que no se necesita el prefijo del esquema Establecer nombres cortos para objetos que tienen nombres largos Restricciones El objeto no puede estar contenido en un paquete El nombre de un sinónimo privado debe ser diferente al de cualquier otro objeto del esquema del usuario

12-27 Universidad del Cauca – FIET – Departamento de Sistemas Sinónimos El administrador del sistema puede crear sinónimos públicos a todos los usuarios

12-28 Universidad del Cauca – FIET – Departamento de Sistemas En esta lección usted debió aprender: Generar números secuenciales en forma automática para identificar tablas Ver la información de las secuencias del esquema en USER_SEQUENCES Crear índices para mejorar la velocidad de acceso a las filas de una tabla Ver la información de los índices del esquema en USER_INDEXES y USER_IND_COLUMNS Usar sinónimos para dar nombres alternativos a objetos del mismo esquema o de otro Resumen

12-29 Universidad del Cauca – FIET – Departamento de Sistemas Realizar una práctica de ocho (8) puntos que permite practicar: La creación de secuencias El uso de secuencias La creación de índices no únicos El despliegue de la información del diccionario de datos relacionada con secuencias e índices Borrar índices Practica 12

12-30 Universidad del Cauca – FIET – Departamento de Sistemas Desarrollar un examen de diez (10) preguntas en modo de aprendizaje (Learning mode), seleccionados en forma aleatoria. Realizar una corta realimentación de cada una de las preguntas. Tema: Creating Other Database Objects Examen posterior