Base de Datos  Profesor: MSC Luis Serna Jherry
Lenguaje SQL – Parte II <ul><li>Principales funciones usadas en Transact - SQL (SQL Server) </li></ul><ul><li>Sentencias D...
TRANSACT  SQL (SQL Server)
Tipos De Datos Tipo de Dato Descripción Enteros: Bit Entero con valor cero (0) o uno (1) Int entero entre (2  31 ) y –2  3...
Tipos De Datos Tipo de Dato Descripción Numéricos aproximados: float Punto flotante, desde -1.79 E 308  a 1.79 E 308  real...
Tipos De Datos Tipo de Dato Descripción Binarios: binary data binaria de longitud fija de hasta 8,000    bytes varbinary d...
<ul><li>Función de agregación   Resultado  </li></ul><ul><li>SUM ( [ALL | DISTINCT]  expresi ó n )  Total de los valores e...
<ul><li>Genera totales que se muestran al final de un grupo de filas resultantes. </li></ul><ul><li>Cuando se emplea con B...
<ul><li>titleid  price  type   </li></ul><ul><li>BU1032  19.9900  business  </li></ul><ul><li>BU1111  11.9500  business  <...
<ul><li>Realizan operaciones sobre valores de fecha y hora, retornando un valor string, numérico o de fecha y hora. </li><...
<ul><li>SQL Server reconoce los datos de fecha y hora encerrados entre apóstrofes, en los siguientes formatos: </li></ul><...
Funciones de Fecha y Hora Elemento de fecha Datepart Ab reviatura Valores Año year yy, yyyy 1753-9999 Trimestre quarter qq...
<ul><li>Devuelve un nuevo valor de tipo datetime agregando un intervalo a la fecha especificada. </li></ul><ul><li>DATEADD...
<ul><li>Ejemplo: </li></ul><ul><li>Sumar 21 días a la fecha de publicación (pubdate) y mostrarlo con el encabezado  plazo ...
<ul><li>Devuelve el período comprendido entre dos fechas específicas.  </li></ul><ul><li>DATEDIFF( datepart ,  fechainicia...
<ul><li>Ejemplo: </li></ul><ul><li>Determinar la diferencia en días entre la fecha actual y la fecha de publicación (pubda...
<ul><li>Devuelve una cadena de caracteres que representa la parte especificada de la fecha dada.  </li></ul><ul><li>DATENA...
<ul><li>Ejemplo: </li></ul><ul><li>Extrae el nombre del mes desde la fecha del sistema (el valor de retorno de GETDATE). <...
<ul><li>Devuelve un valor entero que representa la parte especificada de la fecha dada.  </li></ul><ul><li>DATEPART( datep...
<ul><li>DAY, YEAR, MONTH </li></ul><ul><li>Devuelve un valor entero que representa la parte especificada de la fecha dada....
<ul><li>Funciones Matemáticas </li></ul><ul><ul><li>Realizan operaciones trigonométricas, geométricas, y otras , retornand...
<ul><li>Funciones de Metadata </li></ul><ul><ul><li>Devuelven información de la base de datos y sus objetos. </li></ul></u...
<ul><li>Funciones del Sistema </li></ul><ul><ul><li>Devuelven información relativa a los valores, objetos y configuración ...
<ul><li>Las comparaciones de cadena de caracteres no hacen distinción entre mayúsculas y minúsculas. </li></ul>Funciones d...
<ul><li>Recuperar una porción de una cadena: </li></ul><ul><li>SUBSTRING( expresión,  inicio ,  longitud ) </li></ul><ul><...
<ul><li>Encontrar la posición inicial de una cadena dentro de una columna o expresión: </li></ul><ul><li>CHARINDEX ( expre...
<ul><li>Concatenar o combinar cadenas en una sola, empleando el operador de concatenación (+)  </li></ul><ul><li>expresi ó...
<ul><li>Insertar una cadena dentro de otra existente , sustituyendo una parte de ésta .  </li></ul><ul><li>STUFF ( expresi...
<ul><li>Reemplazar todas las ocurrencias de  una cadena dentro de otra existente , con una tercera cadena.   </li></ul><ul...
Manejo de valores nulos <ul><li>Un valor nulo es un valor no disponible, sin signo, no conocido, inaplicable.  </li></ul><...
<ul><li>Algunas funciones relativas al manejo de nulos: </li></ul><ul><li>NULLIF( expresión1, expresión2) </li></ul><ul><l...
<ul><li>Para manipular los valores nulos se debe usar la función: </li></ul><ul><li>ISNULL( expresión ,  valor de reemplaz...
<ul><li>Ejemplo: </li></ul><ul><li>Encontrar el precio promedio de todos los libros en existencia, asumiendo el valor de $...
<ul><li>Ejemplo: </li></ul><ul><li>Mostrar el título, el tipo y el precio de todos los libros de la tabla TITLES.  </li></...
<ul><li>Ejemplo: </li></ul><ul><li>Mostrar el título, el tipo y el precio de todos los libros de la tabla TITLES. En los c...
SENTENCIAS DDL
Indices <ul><li>El diseño y creación de índices (indexes) es muy importante cuando se quiere mejorar la performance del Se...
Indices - Tipos de: <ul><li>Indice Clustered </li></ul><ul><li>Es un índice en el cual el orden físico de las filas corres...
Indices - Tipos de: <ul><li>Indices Non-Clustered </li></ul><ul><li>En este índice, se especifica el orden lógico de una t...
CREATE INDEX (sintaxis general) <ul><li>CREATE [ UNIQUE ] INDEX índice </li></ul><ul><li>ON tabla(campo [ASC|DESC][, campo...
CREATE INDEX <ul><li>Indice: Es el nombre del índice que se va a crear. </li></ul><ul><li>Tabla: Es el nombre de la tabla ...
CREATE INDEX <ul><li>Para crear un índice de único campo, escriba el nombre del campo entre paréntesis a continuación del ...
CREATE INDEX <ul><li>Para no permitir valores duplicados en el campo o campos de índice de diferentes registros, utilice l...
Ejemplos: CREATE INDEX <ul><li>En el ejemplo siguiente se crea un índice, que consta de los campos TeléfonoParticular y Ex...
Ejemplos: CREATE INDEX <ul><li>En el ejemplo siguiente se crea un índice en la tabla Clientes con el campo IdCliente. Dos ...
Upcoming SlideShare
Loading in...5
×

Sql basico parte_ii_

2,459

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,459
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
60
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Introducción a las Bases de Datos 25 de abril de 2011 UPC - Ingeniería de Sistemas
  • SQL II 25/04/11 UPC -Ing.Sistemas
  • SQL II 25/04/11 UPC -Ing.Sistemas
  • SQL II 25/04/11 UPC -Ing.Sistemas
  • Sql basico parte_ii_

    1. 1. Base de Datos Profesor: MSC Luis Serna Jherry
    2. 2. Lenguaje SQL – Parte II <ul><li>Principales funciones usadas en Transact - SQL (SQL Server) </li></ul><ul><li>Sentencias DDL para Índices </li></ul>
    3. 3. TRANSACT SQL (SQL Server)
    4. 4. Tipos De Datos Tipo de Dato Descripción Enteros: Bit Entero con valor cero (0) o uno (1) Int entero entre (2 31 ) y –2 31 (-1) smallint entero entre 2 15 (32,768) y –2 15 (-1) Tinyint entero entre 0 y 255 Binary(n) Binario Decimales y numéricos de precisión fija: decimal Precisión fija, de –10 38 (-1) a 10 38 (-1) Numeric sinónimo de decimal Moneda: Money valores monetarios. Desde -2 63 a 2 63 Smallmoney desde - 214,748.3648 hasta +214,748.3647 TRANSACT – SQL
    5. 5. Tipos De Datos Tipo de Dato Descripción Numéricos aproximados: float Punto flotante, desde -1.79 E 308 a 1.79 E 308 real Punto flotante, desde –3.40 E 38 a 3.40 E 38 Int entero entre (2 31 ) y –2 31 (-1) Caracteres: Char longitud fija de hasta 8,000 caracteres varchar longitud variable de hasta 8,000 caracteres Text longitud variable de hasta 2 31 -1 caracteres ( 2,147,483,647) TRANSACT – SQL
    6. 6. Tipos De Datos Tipo de Dato Descripción Binarios: binary data binaria de longitud fija de hasta 8,000 bytes varbinary data binaria de longitud variable de hasta 8,000 bytes Image longitud variable de hasta 2 31 - 1 bytes (2,147,483,647). Fecha y hora: datetime desde 01/01/1753 al 31/12/9999. Smalldatetime desde 01/01/1900 al 31/12/2079. TRANSACT – SQL
    7. 7. <ul><li>Función de agregación Resultado </li></ul><ul><li>SUM ( [ALL | DISTINCT] expresi ó n ) Total de los valores en la expresión numérica </li></ul><ul><li>AVG ( [ALL | DISTINCT] expresi ó n ) Promedio de valores en la expresión numérica </li></ul><ul><li>COUNT ( [ALL | DISTINCT] expresi ó n ) Cantidad de valores en la expresión </li></ul><ul><li>COUNT (*) Cantidad de filas seleccionadas </li></ul><ul><li>MAX ( expresi ó n ) El valor máximo en la expresión </li></ul><ul><li>MIN ( expresi ó n ) El valor mínimo en la expresión </li></ul><ul><li>COUNT(*) es el único que NO ignora los valores nulos </li></ul>Funciones de Agregación TRANSACT – SQL
    8. 8. <ul><li>Genera totales que se muestran al final de un grupo de filas resultantes. </li></ul><ul><li>Cuando se emplea con BY genera subtotales por quiebre del valor del grupo </li></ul><ul><ul><li>SELECT expresión_A, expresión_B, ....., expresión_N </li></ul></ul><ul><ul><li>............................. </li></ul></ul><ul><ul><li>............................. </li></ul></ul><ul><ul><li>[ORDER BY expresión_N ] </li></ul></ul><ul><ul><li>COMPUTE </li></ul></ul><ul><ul><li>{ { AVG | COUNT | MAX | MIN | SUM } (expression_i) } </li></ul></ul><ul><ul><li>[ BY expression_N ] </li></ul></ul>Funciones de Agregación TRANSACT – SQL Cláusulas COMPUTE y COMPUTE BY
    9. 9. <ul><li>titleid price type </li></ul><ul><li>BU1032 19.9900 business </li></ul><ul><li>BU1111 11.9500 business </li></ul><ul><li>BU2075 2.9900 business </li></ul><ul><li>BU7832 19.9900 business </li></ul><ul><li> sum </li></ul><ul><ul><ul><ul><ul><li>54.9200 </li></ul></ul></ul></ul></ul><ul><li>MC2222 19.9900 mod_cook </li></ul><ul><li>MC3021 2.9900 mod_cook </li></ul><ul><li>sum </li></ul><ul><li>22.9800 </li></ul>Funciones de Agregación TRANSACT – SQL <ul><ul><li>SELECT title_id, price, type </li></ul></ul><ul><ul><li>FROM titles </li></ul></ul><ul><ul><li>ORDER BY type </li></ul></ul><ul><ul><li>COMPUTE SUM (price) BY type </li></ul></ul>COMPUTE BY - Ejemplo
    10. 10. <ul><li>Realizan operaciones sobre valores de fecha y hora, retornando un valor string, numérico o de fecha y hora. </li></ul>Uso de Funciones TRANSACT – SQL DATEADD DAY DATEDIFF GETDATE DATENAME MONTH DATEPART YEAR Funciones de Fecha y Hora
    11. 11. <ul><li>SQL Server reconoce los datos de fecha y hora encerrados entre apóstrofes, en los siguientes formatos: </li></ul><ul><li>Formatos de fecha alfabéticos (‘April 15, 1998’) </li></ul><ul><li>Formatos de fecha numéricos (‘4/15/1998’, ‘April 15, 1998’) </li></ul><ul><li>Cadenas de caracteres (‘19981207’, ‘December 12, 1998’) </li></ul>Funciones de Fecha y Hora TRANSACT – SQL
    12. 12. Funciones de Fecha y Hora Elemento de fecha Datepart Ab reviatura Valores Año year yy, yyyy 1753-9999 Trimestre quarter qq, q 1-4 Mes month mm, m 1-12 Día del año dayofyear dy, y 1-366 Día day dd, d 1-31 Semana del año week wk, ww 1-53 Día de la semana weekday dw 1-7 (dom-sab) Hora hour hh 1-23 Minuto minute mi, n 0-59 Segundo second ss, s 0-59
    13. 13. <ul><li>Devuelve un nuevo valor de tipo datetime agregando un intervalo a la fecha especificada. </li></ul><ul><li>DATEADD( datepart , numero , fecha ) </li></ul><ul><li>Donde </li></ul><ul><li>Datepart es el parámetro que especifica en qué unidad se expresa al valor a adicionar. </li></ul><ul><li>numero es el incremento </li></ul><ul><li>fecha es una expresión de tipo datetime, o un string en formato de fecha, a la que se aplicará el incremento </li></ul>Funciones de Fecha y Hora TRANSACT – SQL DATEADD
    14. 14. <ul><li>Ejemplo: </li></ul><ul><li>Sumar 21 días a la fecha de publicación (pubdate) y mostrarlo con el encabezado plazo </li></ul><ul><ul><li>USE pubs </li></ul></ul><ul><ul><li>GO </li></ul></ul><ul><ul><li>SELECT DATEADD(day, 21, pubdate) AS plazo </li></ul></ul><ul><ul><li>FROM titles </li></ul></ul><ul><ul><li>GO </li></ul></ul>Funciones de Fecha y Hora TRANSACT – SQL DATEADD
    15. 15. <ul><li>Devuelve el período comprendido entre dos fechas específicas. </li></ul><ul><li>DATEDIFF( datepart , fechainicial , fechafinal ) </li></ul><ul><li>Donde </li></ul><ul><li>Datepart es el parámetro que especifica en qué unidad se expresará la diferencia entre las fechas </li></ul><ul><li>fechainicial fecha inicial de la comparación </li></ul><ul><li>fechafinal fecha final contra la cual se compara </li></ul>Funciones de Fecha y Hora TRANSACT – SQL DATEDIFF
    16. 16. <ul><li>Ejemplo: </li></ul><ul><li>Determinar la diferencia en días entre la fecha actual y la fecha de publicación (pubdate). </li></ul><ul><ul><li>USE pubs </li></ul></ul><ul><ul><li>GO </li></ul></ul><ul><ul><li>SELECT DATEDIFF(day, pubdate, getdate()) AS cantidad_de_dias </li></ul></ul><ul><ul><li>FROM titles </li></ul></ul><ul><ul><li>GO </li></ul></ul>Funciones de Fecha y Hora TRANSACT – SQL DATEDIFF
    17. 17. <ul><li>Devuelve una cadena de caracteres que representa la parte especificada de la fecha dada. </li></ul><ul><li>DATENAME( datepart , fecha ) </li></ul><ul><li>Donde </li></ul><ul><li>Datepart es el parámetro que especifica a qué parte de la fecha se aplicará la función. </li></ul>Funciones de Fecha y Hora TRANSACT – SQL DATENAME
    18. 18. <ul><li>Ejemplo: </li></ul><ul><li>Extrae el nombre del mes desde la fecha del sistema (el valor de retorno de GETDATE). </li></ul><ul><ul><li>SELECT DATENAME(month, getdate()) AS ‘ Nombre_de_mes ' </li></ul></ul>Funciones de Fecha y Hora TRANSACT – SQL DATENAME
    19. 19. <ul><li>Devuelve un valor entero que representa la parte especificada de la fecha dada. </li></ul><ul><li>DATEPART( datepart , fecha ) </li></ul><ul><li>La función GETDATE devuelve la fecha y hora del sistema </li></ul><ul><li>SELECT GETDATE() AS ‘ Fecha_Actual ' </li></ul><ul><li>Devuelve 2005-01- 06 13:05:13.877 </li></ul><ul><li>SELECT DATEPART(month, GETDATE()) AS ‘ Mes ' </li></ul><ul><li>Devuelve 1 </li></ul>Funciones de Fecha y Hora TRANSACT – SQL DATEPART
    20. 20. <ul><li>DAY, YEAR, MONTH </li></ul><ul><li>Devuelve un valor entero que representa la parte especificada de la fecha dada. </li></ul><ul><li>DAY( fecha ) </li></ul><ul><li>YEAR( fecha ) </li></ul><ul><li>MONTH( fecha ) </li></ul><ul><li>SELECT DAY(‘ 06 / 01 / 2005 ') AS ‘ Numero de Día ' </li></ul><ul><li>SELECT “ Numero de Año &quot; = YEAR(‘ 06 / 01 / 2005 ') </li></ul><ul><li>SELECT “ Número de Mes &quot; = MONTH(‘ 06 / 01 / 2005 ') </li></ul>Funciones de Fecha y Hora TRANSACT – SQL
    21. 21. <ul><li>Funciones Matemáticas </li></ul><ul><ul><li>Realizan operaciones trigonométricas, geométricas, y otras , retornando un valor numérico . </li></ul></ul><ul><ul><li>Ejemplos: ABS, ACOS, ASIN, ATAN, SQUARE, POWER, SIN, DEGREES. </li></ul></ul>Uso de Funciones TRANSACT – SQL
    22. 22. <ul><li>Funciones de Metadata </li></ul><ul><ul><li>Devuelven información de la base de datos y sus objetos. </li></ul></ul><ul><ul><li>Ejemplos: COL_NAME, DB_NAME, COL_LENGH </li></ul></ul><ul><li>Funciones de seguridad </li></ul><ul><ul><li>Devuelven información relativa a los usuarios y los roles. </li></ul></ul><ul><ul><li>Ejemplos: IS_MEMBER, SUSER_NAME , USER_ID </li></ul></ul>Uso de Funciones TRANSACT – SQL
    23. 23. <ul><li>Funciones del Sistema </li></ul><ul><ul><li>Devuelven información relativa a los valores, objetos y configuración de SQL Server </li></ul></ul><ul><ul><li>Ejemplos: CURRENT_USER, ISDATE, ISNULL. </li></ul></ul><ul><li>Funciones de cadenas de caracteres </li></ul><ul><ul><li>Operan sobre cadenas de caracteres y devuelven una cadena o un número. Ejemplos: LEFT, LEN, LOWER, REPLACE , RTRIM , LTRIM. </li></ul></ul>Uso de Funciones TRANSACT – SQL
    24. 24. <ul><li>Las comparaciones de cadena de caracteres no hacen distinción entre mayúsculas y minúsculas. </li></ul>Funciones de Cadenas de Caracteres Para comprobar la existencia de los caracteres comodín, se deberá definir un caracter de escape TRANSACT – SQL Car a cter comodín Significado _ Un único caracter cualquiera % Cero o más caracteres cualquiera [A-Z] Un rango de caracteres [A,B,C] Un carácter de la lista ^ Negación
    25. 25. <ul><li>Recuperar una porción de una cadena: </li></ul><ul><li>SUBSTRING( expresión, inicio , longitud ) </li></ul><ul><li>LEFT( expresión, valor entero) </li></ul><ul><li>RIGHT( expresión, valor entero) </li></ul><ul><li>LTRIM ( expresión) – elimina espacios a la izquierda </li></ul><ul><li>RTRIM ( expresión) – elimina espacios a la derecha </li></ul>Funciones de Cadenas de Caracteres TRANSACT – SQL
    26. 26. <ul><li>Encontrar la posición inicial de una cadena dentro de una columna o expresión: </li></ul><ul><li>CHARINDEX ( expre s i ó n1 , expresi ó n2 [ , posicion inicial ] ) </li></ul><ul><li>expresi ó n1 es la expresión a buscar </li></ul><ul><li>expresi ó n2 es la columna o expresión en la cual se busca </li></ul><ul><li>posición inicial es la posición a partir de la cual se inicia la búsqueda. </li></ul>Funciones de Cadenas de Caracteres TRANSACT – SQL
    27. 27. <ul><li>Concatenar o combinar cadenas en una sola, empleando el operador de concatenación (+) </li></ul><ul><li>expresi ó n + expresi ó n </li></ul><ul><li>expresi ó n es cualquier expresión de tipo carácter o binario, con excepción de los tipos text o image </li></ul><ul><li>SELECT (au_lname + ', ' + au_fname) AS N ombre </li></ul><ul><li>FROM authors </li></ul>Funciones de Cadenas de Caracteres TRANSACT – SQL
    28. 28. <ul><li>Insertar una cadena dentro de otra existente , sustituyendo una parte de ésta . </li></ul><ul><li>STUFF ( expresión de caracteres , inicio , longitud , expresión de caracteres ) </li></ul><ul><li>Este ejemplo devuelve una cadena resultado de eliminar tres caracteres de la primera cadena (abcdef) a partir de la posición 2 (desde b) e insertar la segunda cadena desde dicha posición </li></ul><ul><li>SELECT STUFF('abcdef', 2, 3, ' i jklmn ') </li></ul><ul><li>Resultado: a ijklmn ef    </li></ul>Funciones de Cadenas de Caracteres TRANSACT – SQL
    29. 29. <ul><li>Reemplazar todas las ocurrencias de una cadena dentro de otra existente , con una tercera cadena. </li></ul><ul><li>REPLACE ( cadena1 , cadena2 , cadena3 ) </li></ul><ul><li>Este ejemplo reemplaza la cadena cde en abcdefgicde con la cadena xxx . </li></ul><ul><li>SELECT REPLACE('ab cde fghi cde ','cde','xxx') </li></ul><ul><li>Resultado: ab xxx fghi xxx </li></ul>Funciones de Cadenas de Caracteres TRANSACT – SQL
    30. 30. Manejo de valores nulos <ul><li>Un valor nulo es un valor no disponible, sin signo, no conocido, inaplicable. </li></ul><ul><li>No es lo mismo que cero ni blanco. </li></ul><ul><li>Un valor nulo no puede ser igual a ningún otro valor, ni siquiera a otro nulo. </li></ul>TRANSACT – SQL
    31. 31. <ul><li>Algunas funciones relativas al manejo de nulos: </li></ul><ul><li>NULLIF( expresión1, expresión2) </li></ul><ul><li>Retorna un valor nulo si ambas expresiones son equivalentes. </li></ul><ul><li>expresión IS [NOT] NULL </li></ul><ul><li>Retorna un valor booleano TRUE o FALSE como resultado de evaluar la expresión. </li></ul><ul><li>NOTA: Si se emplean los operadores de comparación = o != el resultado será UNKNOWN </li></ul>Manejo de Valores Nulos TRANSACT – SQL
    32. 32. <ul><li>Para manipular los valores nulos se debe usar la función: </li></ul><ul><li>ISNULL( expresión , valor de reemplazo ) </li></ul><ul><li>Donde </li></ul><ul><li>Expresión es la expresión que se comprobará como nulo. Puede ser de cualquier tipo. </li></ul><ul><li>Valor de reemplazo es el valor de retorno si la expresión es nula. Debe ser del mismo tipo que expresión. </li></ul>Manejo de Valores Nulos TRANSACT – SQL
    33. 33. <ul><li>Ejemplo: </li></ul><ul><li>Encontrar el precio promedio de todos los libros en existencia, asumiendo el valor de $10.00 en los casos en que el campo PRECIO sea null </li></ul><ul><ul><li>SELECT AVG(ISNULL(price, $10.00)) </li></ul></ul><ul><ul><li>FROM titles </li></ul></ul>Manejo de Valores Nulos TRANSACT – SQL
    34. 34. <ul><li>Ejemplo: </li></ul><ul><li>Mostrar el título, el tipo y el precio de todos los libros de la tabla TITLES. </li></ul><ul><li>SELECT Title, type AS T ipo , price </li></ul><ul><ul><li>FROM titles </li></ul></ul>Manejo de Valores Nulos TRANSACT – SQL Title Tipo Price The Busy Executive's business 19.9900 Cooking with Compute business 11.9500 The Gourmet Microwave mod_cook 2.9900 The Psychology of Compute UNDECIDED NULL
    35. 35. <ul><li>Ejemplo: </li></ul><ul><li>Mostrar el título, el tipo y el precio de todos los libros de la tabla TITLES. En los casos en que el precio sea NULL, mostrar el valor 0.00 </li></ul><ul><ul><li>SELECT title, type, ISNULL(price, 0.00) AS Pr ecio </li></ul></ul><ul><ul><li>FROM titles </li></ul></ul>Manejo de Valores Nulos TRANSACT – SQL Title Type Precio The Busy Executive's business 19.9900 Cooking with Compute business 11.9500 The Gourmet Microwave mod_cook 2.9900 The Psychology of Compute UNDECIDED 0.0000
    36. 36. SENTENCIAS DDL
    37. 37. Indices <ul><li>El diseño y creación de índices (indexes) es muy importante cuando se quiere mejorar la performance del Servidor de Base de datos. </li></ul><ul><li>Los índices no son considerados como parte del diseño lógico de la base de datos,por eso, pueden se adicionados, removidos y cambiado sin afectar el esquema de la BD. </li></ul>SENTENCIAS DDL
    38. 38. Indices - Tipos de: <ul><li>Indice Clustered </li></ul><ul><li>Es un índice en el cual el orden físico de las filas corresponde al orden de las filas en el índice.Sólo se puede tener un índice clustered por tabla. Las operaciones de UPDATE y DELETE son mas rápidas con el uso de estos índices. </li></ul>SENTENCIAS DDL
    39. 39. Indices - Tipos de: <ul><li>Indices Non-Clustered </li></ul><ul><li>En este índice, se especifica el orden lógico de una tabla para poder acceder a los datos de forma eficiente. El orden físico de una tabla no corresponde al orden de estos índices. Se puede definir múltiples nonclustered indexes por tabla. </li></ul>SENTENCIAS DDL
    40. 40. CREATE INDEX (sintaxis general) <ul><li>CREATE [ UNIQUE ] INDEX índice </li></ul><ul><li>ON tabla(campo [ASC|DESC][, campo [ASC|DESC], ...]) </li></ul><ul><li>[WITH { PRIMARY}] </li></ul>SENTENCIAS DDL
    41. 41. CREATE INDEX <ul><li>Indice: Es el nombre del índice que se va a crear. </li></ul><ul><li>Tabla: Es el nombre de la tabla existente que contendrá el índice. </li></ul><ul><li>Campo: Es el nombre del campo o de los campos que se van a indexar. </li></ul>SENTENCIAS DDL
    42. 42. CREATE INDEX <ul><li>Para crear un índice de único campo, escriba el nombre del campo entre paréntesis a continuación del nombre de la tabla. </li></ul><ul><li>Para crear un índice de múltiples campos, enumere el nombre de cada campo que se va a incluir en el índice. </li></ul><ul><li>Para crear índices descendentes, utilice la palabra reservada DESC; de lo contrario, se supone que los índices son ascendentes. </li></ul>SENTENCIAS DDL
    43. 43. CREATE INDEX <ul><li>Para no permitir valores duplicados en el campo o campos de índice de diferentes registros, utilice la palabra reservada UNIQUE. </li></ul><ul><li>Designar el campo o los campos de índice como la clave principal utilizando la palabra reservada PRIMARY. Esto significa que la clave es única, por lo que puede omitir la palabra reservada UNIQUE. </li></ul>SENTENCIAS DDL
    44. 44. Ejemplos: CREATE INDEX <ul><li>En el ejemplo siguiente se crea un índice, que consta de los campos TeléfonoParticular y Extensión, en la tabla Empleados: </li></ul><ul><li>CREATE INDEX ÍndiceNuevo ON Empleados (TelDomicilio, Extensión); </li></ul>SENTENCIAS DDL
    45. 45. Ejemplos: CREATE INDEX <ul><li>En el ejemplo siguiente se crea un índice en la tabla Clientes con el campo IdCliente. Dos registros no pueden tener los mismos datos en el campo IdCliente y no se permiten los valores Nulos. </li></ul><ul><li>CREATE UNIQUE INDEX IdClien ON Clientes (IdCliente) WITH DISALLOW NULL; </li></ul>SENTENCIAS DDL
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×