Bases de Datos Índices.

Slides:



Advertisements
Presentaciones similares
Diseño de Bases de Datos
Advertisements

SQL Sigla del nombre “Structured Query Language”.
VISTAS (VIEWS) DEFINICIÓN Y OBJETIVO DE LAS VISTAS.
Estadísticas en SQL Server Rocío Contreras Águila, Primer Semestre 2010.
Rocio Contreras Aguila Primer Semestre Para poder ejecutar esto SQL Server nos permite definir datos y nos entrega herramientas para poder exigir.
Rocío Contreras Águila Primer Semestre 2010
LENGUAJE ESTRUCTURADO DE CONSULTA “SQL”
BASE DE DATOS OBJETO RELACIONAL
Fernando Velasco
OPTIMIZACIÓN DEL RENDIMIENTO
Conceptos de Bases de Datos Relacionales Parte 1
EXPLAIN PLAN Cómo leer los resultados del EXPLAIN PLAN
Unidad 3 Lenguaje SQL Contenidos Que es SQL ? Estructura de SQL
Lenguaje Estructurado de Consultas (Structured Query Language – SQL)
CURSORES Preparó: Ismael Castañeda Fuentes Fuentes: Manuales Sybase
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.
…Tablas DDL.
SQL Lenguaje de consulta estructurado
Bases de Datos Relacionales
Aislamiento Bloqueo.
Subconsultas Avanzadas
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.
Componentes sintácticos
Gestión de Objetos con Vistas de Diccionario de Datos
UNITA - IBARRA TRIGGERS
tipo de datos uniqueidentifier
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 11 Creando Vistas.
Aprenda MySQL en 120 minutos Tutorial. Dirigido a...
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: DDL Francisco Moreno & Carlos Mario Zapata. SQL:DDL DDL: Lenguaje de Definición de Datos Permite crear objetos en la Base de Datos Tipos de Objetos:
SQL (Structured Query Language / Lenguaje de consulta estructurado)‏
IBD CLASE 15. SQL Lenguaje de Consultas Estruturado (SQL) ◦Lenguaje de trabajo estándard para modelo relacional ◦Componentes ◦DDL: Data Definition Language.
Fernando Alonso Nicolás Serrano Acceso a Bases de Datos con Java JDBC 01 de Abril de 2008.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 19 Extensiones de Oracle 9i para las sentencias DML y DDL.
ESCUELA TECNOLÓGICA INSTITUTO TÉCNICO CENTRAL Ing. Johanna Vargas Esp. Gerencia de proyectos.
Programación en Visual Basic Lección #8: SQL Por Antonio F. Huertas.
EXPLAIN PLAN Cómo leer los resultados del EXPLAIN PLAN
Características Objeto-Relacionales en Oracle Francisco Moreno Universidad Nacional.
Consultas SQL (Base de Datos)
Llaves Primarias. PRIMARY KEY.
LENGUAJE SQL.
Structured Query Language (Lenguaje Estructurado de Consultas)
SQL: DDL Francisco Moreno. SQL: DDL DDL: Lenguaje de Definición de Datos Permite crear objetos en la BD Tipos de objetos: - Tablas: corresponden a las.
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.
SQL Sigla del nombre “Structured Query Language”.
Instrucciones para administrar bases de datos. Instrucciones para administrar una base de datos Para crear la base de datos debemos emplear las diferentes.
Base de Datos I. SQL es el lenguaje estándar para trabaja con base de datos relacionales. MySQL, el sistema de gestión de bases de datos SQL Open Source.
Para crear una vista debemos utilizar la sentencia CREATE VIEW, debiendo proporcionar un nombre a la vista y una sentencia SQL SELECT válida. CREATE.
MySQL LENGUAJE SQL.
Comandos de SQL Prog. Orientada a Eventos. Inserción de datos (INSERT) INSERT….VALUES INSERT INTO Tabla1 (Columna1, Columna2…) VALUES (‘ValorAlfa’, ValorNum…);
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.
(Lenguaje de consulta estructurado)
Usuarios y privilegios
SQL es un estándar internacional para trabajar con bases de datos, que consta de dos partes: una parte para manipular datos y una parte para definir tipos.
Modificando la estructura de tablas
SQL Lenguaje Estructurado de Consultas. Structured Query Lenguaje (SQL). Lenguaje de acceso a bases de datos. Proyecto de Investigación de IBM. La mayoria.
UNIVERSIDAD LATINA IV. CONSULTAS AVANZADAS CON BASES DE DATOS. E.I. L.E. Prof. Ramón Castro Liceaga.
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.
INTEGRACION DE LAS TECNOLOGIAS DE LA INFORMACION Y COMUNICACION Implementación de base de datos (Lenguaje de manipulación de datos) Ing. Linda Masias Morales.
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
Copyright  Oracle Corporation, All rights reserved. 12 Otros Objetos de la Base de Datos.
ALTER TABLE MODIFICAR LA ESTRUCTURA DE LOS OBJETOS DE UNA BASE DE DATOS.
Querys a bases de datos con MS ACCESS. DEFINAMOS LOS TERMINOS: DML=Lenguaje de manipulación de datos Las sentencias DML permiten generar consultas para.
DML Transact SQL Sesión X Triggers. Duración 2 Horas.
DML Transact SQL Sesión VI Trabajando con subconsultas.
Transcripción de la presentación:

Bases de Datos Índices

Table scan Un table scan es una búsqueda en donde se leen todas las filas de una tabla Una tabla que no tenga índices creados, solamente puede hacer búsquedas a través de un table scan

Indices Un índice es un objeto de base de datos que ayuda al servidor a encontrar un dato más rápidamente

Estructura de un Indice : Caso de Estudio PAGE 1132 1421, 1 1129, 3 1409, 1 Bennet Chan Dull Edwards 1018, 5 PAGE 1007 Greane Hunter 1242, 4 1242, 1 1132 1133 1127 pg ptr row ptr PAGE 1305 Karsen 1876, 1 1311 key PAGE 1133 1421, 2 1409, 2 Green Greene PAGE 1127 1241, 4 Jenkins PAGE 1241 O’Leary Ringer White 10 11 12 13 PAGE 1242 Smith 14 15 16 17 PAGE 1421 18 19 20 PAGE 1409 21 22 23 (more pages) authors table (data pages) Index pages key PAGE 1001 Bennet Karsen Smith 1421, 1 1876, 1 1242, 1 1007 1305 1062 create index idx_authors_2 on authors(au_lname)

Crear y borrar índices Sintaxis simplificada para create : Ejemplo: create [unique] [ clustered | nonclustered ] index index_name on table_name (column1 [, column2] ... ) Ejemplo: create clustered index idx_c_titles_1 on titles (title_id) Sintaxis Simplicada para drop : drop index table_name.index_name drop index titles.idx_c_titles_1

Atributos de los índices Tres atributos describen cada índice El número de columnas sobre las cuales se declara el índice Una columna – índice no-compuesto Múltiples columnas - índice compuesto Si el índice acepta o no valores duplicados Se permiten valores duplicados - índice no-único No se permiten valores duplicados - índice único Si están o no ordenados los datos en la tabla por el concepto del índice cuando la tabla se crea Datos ordenados durante la creación - índice cluster Datos no ordenados durante la creación - índice no-cluster

Indice no-compuesto Un índice no-compuesto es un índice creado sobre una columna Ejemplo: create index idx_authors_2 on authors(state) Apropiado cuando las consultas se hacen frecuentemente sobre una sola columna select * from authors where state = "UT"

Indice compuesto Un índice compuesto es un índice creado sobre dos o más columnas Ejemplo: create index idx_authors_3 on authors(au_lname, au_fname) Apropiado cuando las consultas se hacen sobre múltiples columnas select * from authors where au_lname = "Ringer" and au_fname = "Anne"

Indice no-único Un Indice No-único es un índice que permite valores duplicados Ejemplo: create index idx_authors_2 on authors(state) Apropriado cuando las consultas se hacen sobre valores duplicados select * from authors where state = "UT"

Indice único Un índice único es un índice que no permite valores duplicados Ejemplo: create unique index idx_u_authors_1 on authors(au_id) Apropiado cuando cada valor en la columna indizada debe ser único select * from authors where au_id = "213-46-8915" Puede ser creado solamente sobre columnas que no tengan valores duplicados

Indice no-cluster Un índice no-cluster es un índice que utiliza un concepto de ordenamiento diferente a como se realizó el almacenamiento de la tabla Ejemplo: create nonclustered index idx_authors_4 on authors(state) Una tabla puede tener muchos índices no-cluster Apropiado para: Tablas que ya tienen un índice cluster

Estructura de un índice no-cluster Index pages authors table (data pages) root level intermediate level leaf level PAGE 1241 O’Leary Ringer White Jenkins 10 11 12 13 PAGE 1242 Hunter Smith Greane 14 15 16 17 PAGE 1421 Bennet Green 18 19 20 PAGE 1409 Dull Greene 21 22 23 key row ptr row ptr pg ptr PAGE 1132 1421, 1 1129, 3 1409, 1 Bennet Chan Dull Edwards 1018, 5 key PAGE 1007 Bennet Greane Hunter 1421, 1 1242, 4 1242, 1 1132 1133 1127 row ptr pg ptr key PAGE 1001 Bennet Karsen Smith 1421, 1 1876, 1 1242, 1 1007 1305 1062 PAGE 1133 1242, 4 1421, 2 1409, 2 Greane Green Greene PAGE 1305 Karsen 1876, 1 1311 PAGE 1127 1242, 1 1241, 4 Hunter Jenkins (more pages) create index idx_authors_2 on authors(au_lname) (more pages) (more pages)

Indice cluster Un índice cluster es un índice que, cuando se crea, indica cómo están físicamente almacenados los datos en la tabla Ejemplo: create clustered index idx_c_authors_1 on authors(au_id) Una tabla sólo puede contener un índice cluster Típicamente mejora el rendimientos de las consultas que se hacen a una tabla Consultas con valor único (where state = ''CA'') Consultas por rango de valores (where price > $10.00) Puede dismuir el rendimiento en operaciones de modificación de los datos de una tabla Esta reducción se debe a que se deben almacenar físicamente los datos ordenados

Etructura de un índice cluster Index pages authors table (leaf/data pages) root level intermediate level PAGE 1241 Bennet Chan Dull Edwards 10 11 12 13 PAGE 1242 Greane Green Greene 14 15 16 17 PAGE 1421 Hunter Jenkins 18 19 20 PAGE 1409 Karsen O'Leary Ringer 21 22 23 key pg ptr PAGE 1007 Bennet 1241 key pg ptr Greane 1242 PAGE 1001 Hunter 1421 Bennet 1007 Karsen 1305 Smith 1062 PAGE 1305 Karsen 1409 (more pages) create clustered index idx_authors_2 on authors(au_lname) (more pages)

Escritura de consultas que usen índices Los índice se usan solamente cuando una consulta hace referencia a columna(s) indizada(s) en la cláusula where Si una tabla: Tiene dos columnas, y Cualquiera puede identificar una fila desada, y Una columna está indizada mientras la otra no, entonces Se debe utilizar la columna indizada en la cláusula where de la consulta

Ejemplo usando índices crear una tabla: create table novels ( book_id int, title varchar(40), author varchar(40) ) Insertar tres filas: insert into novels values (1, "Congo", "M Crichton") values (2, "The Client", "J Grisham") values (3, "Jurassic Park", "M Crichton")

Ejecutar las sentencias crear una tabla: create table novels ( book_id int, title varchar(40), author varchar(40) ) Insertar tres filas: insert into novels values (1, "Congo", "M Crichton") values (2, "The Client", "J Grisham") values (3, "Jurassic Park", "M Crichton") Ejecutar las sentencias create clustered index idx_c_novels_1 on novels(book_id) create unique index idx_u_novels_2 on novels(author) ¿Qué sentencia falla? ¿Por qué? ________________________________________ Borrar los objetos creados: drop index novels.idx_c_novels_1 drop table novels