SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Base de Datos
Profesor:
MSC Luis Serna JherryMSC Luis Serna Jherry
Lenguaje SQL – Parte II
P i i l f i d T tPrincipales funciones usadas en Transact -
SQL (SQL Server)
ÍSentencias DDL para Índices
TRANSACT SQLQ
(SQL Server)
Tipos De Datos TRANSACT – SQL
Tipo de Dato Descripción
Enteros:
Bit Ente o con alo ce o (0) o no (1)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)s a t e te o e t e (3 , 68) y ( )
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)
N i i ó i d d i lNumeric sinónimo de decimal
Moneda:
63 63Money valores monetarios. Desde -2 63 a 2 63
Smallmoney desde -214,748.3648 hasta +214,748.3647
TRANSACT – SQL
Tipos De Datos
Tipo de Dato Descripción
Numéricos aproximados:
float Punto flotante, desde -1.79 E308 a 1.79 E308
real Punto flotante, desde –3.40 E38 a 3.40 E38
Int entero entre (2 31) y –2 31 (-1)
Caracteres:
Char longitud fija de hasta 8,000 caracteresg j ,
varchar longitud variable de hasta 8,000 caracteres
Text longitud variable de hasta 231 -1 caracteres
(2 147 483 647)(2,147,483,647)
TRANSACT – SQL
Tipos De Datos
Tipo de Dato Descripción
Binarios:
binary data binaria de longitud fija de hasta 8,000
bytesbytes
varbinary data binaria de longitud variable de hasta
8,000 bytes
Image longitud variable de hasta 231 - 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.
Funciones de Agregación
TRANSACT – SQL
Función de agregación Resultado
SUM([ALL | DISTINCT] ió ) T t l d l l l
g g
SUM([ALL | DISTINCT] expresión) Total de los valores en la
expresión numérica
AVG([ALL | DISTINCT] expresión) Promedio de valores en la([ | ] p )
expresión numérica
COUNT([ALL | DISTINCT] expresión) Cantidad de valores en la
expresiónexpresión
COUNT(*) Cantidad de filas seleccionadas
MAX(expresión) El valor máximo en la
ióexpresión
MIN(expresión) El valor mínimo en la expresión
COUNT(*) es el único que NO ignora los valores nulos
Funciones de Agregación
TRANSACT – SQL
g g
Cláusulas COMPUTE y COMPUTE BY
Genera totales que se muestran al final de un grupo de filas
resultantes.
Cuando se emplea con BY genera subtotales por quiebre delCuando se emplea con BY genera subtotales por quiebre del
valor del grupo
SELECT expresión_A, expresión_B, ....., expresión_N
.............................
.............................
[ORDER BY expresión N][ORDER BY expresión_N]
COMPUTE
{ { AVG | COUNT | MAX | MIN | SUM } (expression_i) }
[ BY expression_N ]
Funciones de Agregación
TRANSACT – SQL
COMPUTE BY - Ejemplo
titleid price type
BU1032 19.9900 business
SELECT title_id, price, type
FROM titles
BU1032 19.9900 business
BU1111 11.9500 business
BU2075 2.9900 business
BU7832 19 9900 business
ORDER BY type
COMPUTE SUM(price) BY type
BU7832 19.9900 business
sum
54.9200
MC2222 19 9900 mod cookMC2222 19.9900 mod_cook
MC3021 2.9900 mod_cook
sum
22 980022.9800
Uso de Funciones
TRANSACT – SQL
Funciones de Fecha y Hora
Realizan operaciones sobre valores de fecha y
hora, retornando un valor string, numérico o de
fecha y hora.
DATEADD DAY
DATEDIFF GETDATE
DATENAME MONTHDATENAME MONTH
DATEPART YEAR
TRANSACT – SQL
Funciones de Fecha y Hora
SQL Server reconoce los datos de fecha y hora
encerrados entre apóstrofes, en los siguientesencerrados entre apóstrofes, en los siguientes
formatos:
Formatos de fecha alfabéticos (‘April 15, 1998’)( p , )
Formatos de fecha numéricos (‘4/15/1998’, ‘April 15,
1998’))
Cadenas de caracteres (‘19981207’, ‘December 12,
1998’)
Funciones de Fecha y Hora
Elemento de fecha Datepart Abreviatura 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
Funciones de Fecha y Hora
TRANSACT – SQL
y
DATEADD
Devuelve un nuevo valor de tipo datetime agregando un
intervalo a la fecha especificada.
DATEADD(datepart, numero, fecha)
Donde
Datepart es el parámetro que especifica en qué unidad se
expresa al valor a adicionar.
l i tnumero es el incremento
fecha es una expresión de tipo datetime, o un string en
formato de fecha, a la que se aplicará el incrementoformato de fecha, a la que se aplicará el incremento
Funciones de Fecha y Hora
TRANSACT – SQL
y
DATEADD
Ejemplo:
Sumar 21 días a la fecha de publicación (pubdate) ySumar 21 días a la fecha de publicación (pubdate) y
mostrarlo con el encabezado plazo
USE pubsp
GO
SELECT DATEADD(day, 21, pubdate) AS plazoSELECT DATEADD(day, 21, pubdate) AS plazo
FROM titles
GOGO
Funciones de Fecha y Hora
TRANSACT – SQL
y
DATEDIFF
Devuelve el período comprendido entre dos fechas
específicas.específicas.
DATEDIFF(datepart, fechainicial, fechafinal)
DondeDonde
Datepart es el parámetro que especifica en qué unidad se
expresará la diferencia entre las fechas
fechainicial fecha inicial de la comparación
fechafinal fecha final contra la cual se compara
Funciones de Fecha y Hora
TRANSACT – SQL
y
DATEDIFF
Ejemplo:
Determinar la diferencia en días entre la fecha actual yDeterminar la diferencia en días entre la fecha actual y
la fecha de publicación (pubdate).
USE pubsp
GO
SELECT DATEDIFF(day, pubdate, getdate()) AS
cantidad_de_dias
FROM titles
GOGO
Funciones de Fecha y Hora
TRANSACT – SQL
DATENAME
D l d d t t lDevuelve una cadena de caracteres que representa la
parte especificada de la fecha dada.
DATENAME(datepart fecha)DATENAME(datepart, fecha)
Donde
D t t l á t ifi é tDatepart es el parámetro que especifica a qué parte
de la fecha se aplicará la función.
Funciones de Fecha y Hora
TRANSACT – SQL
DATENAME
Ejemplo:
Extrae el nombre del mes desde la fecha del
sistema (el valor de retorno de GETDATE).( )
SELECT DATENAME(month, getdate()) AS
‘Nombre de mes'Nombre_de_mes
Funciones de Fecha y Hora
TRANSACT – SQL
DATEPART
Devuelve un valor entero que representa la parte
especificada de la fecha dada.
DATEPART(datepart, fecha)
La función GETDATE devuelve la fecha y hora del sistemaLa función GETDATE devuelve la fecha y hora del sistema
SELECT GETDATE() AS ‘Fecha_Actual'
Devuelve 2005-01-06 13:05:13.877
SELECT DATEPART(month, GETDATE()) AS ‘Mes'
Devuelve 1
Funciones de Fecha y Hora
TRANSACT – SQL
DAY, YEAR, MONTH, ,
Devuelve un valor entero que representa la parte
especificada de la fecha dada.
DAY( fecha)
YEAR(fecha)( )
MONTH(fecha)
SELECT DAY(‘06/01/2005') AS ‘N d Dí 'SELECT DAY(‘06/01/2005') AS ‘Numero de Día'
SELECT “Numero de Año" = YEAR(‘06/01/2005')
SELECT “Nú d M " MONTH(‘06/01/200 ')SELECT “Número de Mes" = MONTH(‘06/01/2005')
Uso de Funciones
TRANSACT – SQL
Funciones Matemáticas
Uso de Funciones
Funciones Matemáticas
Realizan operaciones trigonométricas, geométricas, y
otras retornando un valor numéricootras, retornando un valor numérico.
Ejemplos: ABS, ACOS, ASIN, ATAN, SQUARE,
POWER SIN DEGREESPOWER, SIN, DEGREES.
Uso de Funciones
TRANSACT – SQL
Uso de Funciones
Funciones de Metadata
Devuelven información de la base de datos y sus
objetos.
Ejemplos: COL_NAME, DB_NAME, COL_LENGH
Funciones de seguridad
Devuelven información relativa a los usuarios y losDevuelven información relativa a los usuarios y los
roles.
Ejemplos: IS MEMBER SUSER NAME USER IDEjemplos: IS_MEMBER, SUSER_NAME, USER_ID
Uso de Funciones
TRANSACT – SQL
Uso de Funciones
Funciones del Sistema
Devuelven información relativa a los valores, objetos, j
y configuración de SQL Server
Ejemplos: CURRENT_USER, ISDATE, ISNULL.
Funciones de cadenas de caracteres
Operan sobre cadenas de caracteres y devuelven unap y
cadena o un número. Ejemplos: LEFT, LEN,
LOWER, REPLACE, RTRIM, LTRIM.
TRANSACT – SQL
Funciones de Cadenas de Caracteres
Las comparaciones de cadena de caracteres no
Funciones de Cadenas de Caracteres
Las comparaciones de cadena de caracteres no
hacen distinción entre mayúsculas y minúsculas.
Caracter 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
Para comprobar la existencia de los caracteres
dí d b á d fi i t d
[ , , ]
comodín, se deberá definir un caracter de escape
Funciones de Cadenas de Caracteres
TRANSACT – SQL
Funciones de Cadenas de Caracteres
Recuperar una porción de una cadena:
SUBSTRING(expresión, inicio, longitud)
LEFT(expresión valor entero)LEFT(expresión, valor entero)
RIGHT(expresión, valor entero)
LTRIM (e p esión) elimina espacios a la i q ie daLTRIM (expresión) – elimina espacios a la izquierda
RTRIM (expresión) – elimina espacios a la derecha
Funciones de Cadenas de Caracteres
TRANSACT – SQL
Funciones de Cadenas de Caracteres
Encontrar la posición inicial de una cadena dentro de
una columna o expresión:p
CHARINDEX(expresión1, expresión2 [, posicion inicial])( p , p [, p ])
expresión1 es la expresión a buscar
expresión2 es la columna o expresión en la cual se buscaexpresión2 es la columna o expresión en la cual se busca
posición inicial es la posición a partir de la cual se inicia la
búsqueda.
Funciones de Cadenas de Caracteres
TRANSACT – SQL
Funciones de Cadenas de Caracteres
Concatenar o combinar cadenas en una sola,
empleando el operador de concatenación (+)p p ( )
expresión + expresión
ió l i ió d ti á texpresión es cualquier expresión de tipo carácter o
binario, con excepción de los tipos text o image
SELECT (au_lname + ', ' + au_fname) AS Nombre
FROM thFROM authors
Funciones de Cadenas de Caracteres
TRANSACT – SQL
Funciones de Cadenas de Caracteres
Insertar una cadena dentro de otra existente,
sustituyendo una parte de ésta.y p
STUFF(expresión de caracteres, inicio, longitud,
expresión de caracteres)
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ón2 (desde b) e insertar la segunda cadena desde dicha posición
SELECT STUFF('abcdef', 2, 3, 'ijklmn')
R lt d ijkl fResultado: aijklmnef
Funciones de Cadenas de Caracteres
TRANSACT – SQL
Funciones de Cadenas de Caracteres
Reemplazar todas las ocurrencias de una cadena
dentro de otra existente, con una tercera cadena.dentro de otra existente, con una tercera cadena.
REPLACE(cadena1, cadena2, cadena3)
Este ejemplo reemplaza la cadena cde en abcdefgicde con la
cadena xxx.
SELECT REPLACE('abcdefghicde','cde','xxx')
Resultado: abxxxfghixxx
TRANSACT – SQL
Manejo de valores nulos
Un valor nulo es un valor no disponible, sin
signo no conocido inaplicablesigno, no conocido, inaplicable.
No es lo mismo que cero ni blanco.
U l l d i l i úUn valor nulo no puede ser igual a ningún
otro valor, ni siquiera a otro nulo.
Manejo de Valores Nulos
TRANSACT – SQL
Manejo de Valores Nulos
Algunas funciones relativas al manejo de nulos:
NULLIF(expresión1, expresión2)( p , p )
Retorna un valor nulo si ambas expresiones son
equivalentes.
expresión IS [NOT] NULL
Retorna un valor booleano TRUE o FALSE como
resultado de evaluar la expresión.
NOTA: Si se emplean los operadores de comparación = o !=
el resultado será UNKNOWN
Manejo de Valores Nulos
TRANSACT – SQL
Manejo de Valores Nulos
Para manipular los valores nulos se debe usar la
función:
ISNULL( ió l d l )ISNULL(expresión, valor de reemplazo)
D dDonde
Expresión es la expresión que se comprobará como
nulo Puede ser de cualquier tiponulo. Puede ser de cualquier tipo.
Valor de reemplazo es el valor de retorno si la
expresión es nula. Debe ser del mismo tipo quep p q
expresión.
Manejo de Valores Nulos
TRANSACT – SQL
Manejo de Valores Nulos
Ejemplo:
Encontrar el precio promedio de todos los librosEncontrar el precio promedio de todos los libros
en existencia, asumiendo el valor de $10.00 en
los casos en que el campo PRECIO sea nulllos casos en que el campo PRECIO sea null
SELECT AVG(ISNULL(price $10 00))SELECT AVG(ISNULL(price, $10.00))
FROM titles
Manejo de Valores Nulos
TRANSACT – SQL
Ejemplo:
Manejo de Valores Nulos
Mostrar el título, el tipo y el precio de todos los libros de
la tabla TITLES.
SELECT Title type AS Tipo priceSELECT Title, type AS Tipo, price
FROM titles
Title Tipo PriceTitle Tipo Price
The Busy Executive's business 19.9900
Cooking with Compute business 11 9500Cooking with Compute business 11.9500
The Gourmet Microwave mod_cook 2.9900
The Psychology of Compute UNDECIDED NULLy gy p
Manejo de Valores Nulos
TRANSACT – SQL
Ejemplo:
Manejo de Valores Nulos
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
SELECT title, type, ISNULL(price, 0.00) AS Precio
FROM titles
Title Type Precio
The Busy Executive's business 19.9900
Cooking with Compute business 11 9500Cooking with Compute business 11.9500
The Gourmet Microwave mod_cook 2.9900
The Psychology of Compute UNDECIDED 0.0000
SENTENCIAS DDLSENTENCIAS DDL
SENTENCIAS DDL
Indices
El diseño y creación de índices (indexes) es muy
importante cuando se quiere mejorar la
performance del Servidor de Base de datos.
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 BDel esquema de la BD.
SENTENCIAS DDL
Indices - Tipos de:
Indice Clustered
Es un índice en el cual el orden físico de lasEs 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índice.Sólo se puede tener un índice
clustered por tabla. Las operaciones de
UPDATE y DELETE son mas rápidas con elUPDATE y DELETE son mas rápidas con el
uso de estos índices.
SENTENCIAS DDL
Indices - Tipos de:
Indices Non-Clustered
En este índice se especifica el orden lógicoEn este índice, se especifica el orden lógico
de una tabla para poder acceder a los
datos de forma eficiente El orden físico dedatos de forma eficiente. El orden físico de
una tabla no corresponde al orden de estos
índices Se puede definir múltiplesíndices. Se puede definir múltiples
nonclustered indexes por tabla.
SENTENCIAS DDL
CREATE INDEX
(sintaxis general)
CREATE [ UNIQUE ] INDEX índice
ON tabla(campo [ASC|DESC][, campo
[ASC|DESC], ...])
[WITH { PRIMARY}]
SENTENCIAS DDL
CREATE INDEX
Indice: Es el nombre del índice que se va a
crear.crear.
Tabla: Es el nombre de la tabla existente
que contendrá el índiceque contendrá el índice.
Campo: Es el nombre del campo o de los
campos que se van a indexarcampos que se van a indexar.
SENTENCIAS DDL
CREATE INDEX
Para crear un índice de único campo, escriba el
nombre del campo entre paréntesis a
continuación del nombre de la tabla.
Para crear un índice de múltiples campos,
enumere el nombre de cada campo que se va a
incluir en el índice.
P í di d d ili l l bPara crear índices descendentes, utilice la palabra
reservada DESC; de lo contrario, se supone que
los índices son ascendenteslos índices son ascendentes.
SENTENCIAS DDL
CREATE INDEX
Para no permitir valores duplicados en el campo o
campos de índice de diferentes registros, utilice la
palabra reservada UNIQUE.
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 UNIQUElo que puede omitir la palabra reservada UNIQUE.
SENTENCIAS DDL
Ejemplos: CREATE INDEX
En el ejemplo siguiente se crea un índice, que
consta de los campos TeléfonoParticular yp y
Extensión, en la tabla Empleados:
CREATE INDEX ÍndiceNuevo ON Empleados
(TelDomicilio Extensión);(TelDomicilio, Extensión);
SENTENCIAS DDL
Ejemplos: CREATE INDEX
En el ejemplo siguiente se crea un índice en la
tabla Clientes con el campo IdCliente. Dosp
registros no pueden tener los mismos datos en
el campo IdCliente y no se permiten los valoresp y p
Nulos.
CREATE UNIQUE INDEX IdClien ON Clientes
(IdCliente) WITH DISALLOW NULL;(IdCliente) WITH DISALLOW NULL;

Weitere ähnliche Inhalte

Was ist angesagt? (13)

Precentacion de sql visual
Precentacion de sql visualPrecentacion de sql visual
Precentacion de sql visual
 
Estructuras dinámicas de datos
Estructuras dinámicas de datosEstructuras dinámicas de datos
Estructuras dinámicas de datos
 
Metodos de Ordenamiento Parte 1
Metodos de Ordenamiento Parte 1Metodos de Ordenamiento Parte 1
Metodos de Ordenamiento Parte 1
 
Dominioycodominio
DominioycodominioDominioycodominio
Dominioycodominio
 
Profe pitta
Profe pittaProfe pitta
Profe pitta
 
Funciones de excel
Funciones de excelFunciones de excel
Funciones de excel
 
12 conjuntos mapas1t2018
12 conjuntos mapas1t201812 conjuntos mapas1t2018
12 conjuntos mapas1t2018
 
Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402Practicas java gustavo carbajal macias 402
Practicas java gustavo carbajal macias 402
 
Bryan gordillo ensayo_arreglos
Bryan gordillo ensayo_arreglosBryan gordillo ensayo_arreglos
Bryan gordillo ensayo_arreglos
 
Colegio nacional nicolas esguerra
Colegio nacional nicolas esguerraColegio nacional nicolas esguerra
Colegio nacional nicolas esguerra
 
Cursos de MATLAB
Cursos de MATLABCursos de MATLAB
Cursos de MATLAB
 
Resumen de david
Resumen de davidResumen de david
Resumen de david
 
Gráfica derivada e Integral de una función discreta y continua en matlab
Gráfica derivada e Integral de una función discreta y continua en matlabGráfica derivada e Integral de una función discreta y continua en matlab
Gráfica derivada e Integral de una función discreta y continua en matlab
 

Ähnlich wie Sql basico parte_ii_

Funciones de sql server
Funciones de sql serverFunciones de sql server
Funciones de sql server
Emily_Fdez
 
PostgreSQL - Lección 3 - Usando funciones simples para manipular la salida de...
PostgreSQL - Lección 3 - Usando funciones simples para manipular la salida de...PostgreSQL - Lección 3 - Usando funciones simples para manipular la salida de...
PostgreSQL - Lección 3 - Usando funciones simples para manipular la salida de...
Nicola Strappazzon C.
 
IC - Estructuras de Secuencia - Ejercicios
IC - Estructuras de Secuencia - EjerciciosIC - Estructuras de Secuencia - Ejercicios
IC - Estructuras de Secuencia - Ejercicios
cbertolotti
 
GUÍA RÁPIDA LENGUAJE C/AL
GUÍA RÁPIDA LENGUAJE C/ALGUÍA RÁPIDA LENGUAJE C/AL
GUÍA RÁPIDA LENGUAJE C/AL
makac0 makac0
 
Semana 2 funciones sql en plsql
Semana 2 funciones sql en plsqlSemana 2 funciones sql en plsql
Semana 2 funciones sql en plsql
victdiazm
 
Manual de Usuario - Lenguaje SQL - Clase 7.docx
Manual de Usuario - Lenguaje SQL - Clase 7.docxManual de Usuario - Lenguaje SQL - Clase 7.docx
Manual de Usuario - Lenguaje SQL - Clase 7.docx
jaime_sanmartin
 

Ähnlich wie Sql basico parte_ii_ (20)

Funciones de sql server
Funciones de sql serverFunciones de sql server
Funciones de sql server
 
Modo de procedimiento postgres
Modo de procedimiento postgresModo de procedimiento postgres
Modo de procedimiento postgres
 
PostgreSQL - Lección 3 - Usando funciones simples para manipular la salida de...
PostgreSQL - Lección 3 - Usando funciones simples para manipular la salida de...PostgreSQL - Lección 3 - Usando funciones simples para manipular la salida de...
PostgreSQL - Lección 3 - Usando funciones simples para manipular la salida de...
 
Sql ddl
Sql ddlSql ddl
Sql ddl
 
Mejoras del lenguaje T-SQL 2012 (parte 1) | SolidQ Summit 2012
Mejoras del lenguaje T-SQL 2012 (parte 1) | SolidQ Summit 2012Mejoras del lenguaje T-SQL 2012 (parte 1) | SolidQ Summit 2012
Mejoras del lenguaje T-SQL 2012 (parte 1) | SolidQ Summit 2012
 
Taller sql sesion_03_a
Taller sql sesion_03_aTaller sql sesion_03_a
Taller sql sesion_03_a
 
Modulo excel avanzado para estudiantes
Modulo excel avanzado para estudiantes Modulo excel avanzado para estudiantes
Modulo excel avanzado para estudiantes
 
IC - Estructuras de Secuencia - Ejercicios
IC - Estructuras de Secuencia - EjerciciosIC - Estructuras de Secuencia - Ejercicios
IC - Estructuras de Secuencia - Ejercicios
 
Tema4
Tema4Tema4
Tema4
 
Tema 1 Parte 3.pdf
Tema 1 Parte 3.pdfTema 1 Parte 3.pdf
Tema 1 Parte 3.pdf
 
IC estructuras de secuencia
IC estructuras de secuenciaIC estructuras de secuencia
IC estructuras de secuencia
 
GUÍA RÁPIDA LENGUAJE C/AL
GUÍA RÁPIDA LENGUAJE C/ALGUÍA RÁPIDA LENGUAJE C/AL
GUÍA RÁPIDA LENGUAJE C/AL
 
Semana 2 funciones sql en plsql
Semana 2 funciones sql en plsqlSemana 2 funciones sql en plsql
Semana 2 funciones sql en plsql
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Programar en c
Programar en cProgramar en c
Programar en c
 
Consultas de resumen
Consultas de resumenConsultas de resumen
Consultas de resumen
 
Programación con C/AL para Microsoft Business Solutions Navision
Programación con C/AL para Microsoft Business Solutions NavisionProgramación con C/AL para Microsoft Business Solutions Navision
Programación con C/AL para Microsoft Business Solutions Navision
 
Trabajo practico
Trabajo practicoTrabajo practico
Trabajo practico
 
Manual de Usuario - Lenguaje SQL - Clase 7.docx
Manual de Usuario - Lenguaje SQL - Clase 7.docxManual de Usuario - Lenguaje SQL - Clase 7.docx
Manual de Usuario - Lenguaje SQL - Clase 7.docx
 
Funciones de las hojas de cálculo
Funciones de las hojas de cálculoFunciones de las hojas de cálculo
Funciones de las hojas de cálculo
 

Mehr von Luis Jherry

Suscripciones de cable
Suscripciones de cableSuscripciones de cable
Suscripciones de cable
Luis Jherry
 
Sistema de organización de eventos
Sistema de organización de eventosSistema de organización de eventos
Sistema de organización de eventos
Luis Jherry
 
Sistema de control y seguimiento de trasplantes renales
Sistema de control y seguimiento de trasplantes renalesSistema de control y seguimiento de trasplantes renales
Sistema de control y seguimiento de trasplantes renales
Luis Jherry
 
Selección de personal
Selección de personalSelección de personal
Selección de personal
Luis Jherry
 
Planificacion mensual en una industria medico
Planificacion mensual en una industria medicoPlanificacion mensual en una industria medico
Planificacion mensual en una industria medico
Luis Jherry
 
Pedidos en feria
Pedidos en feriaPedidos en feria
Pedidos en feria
Luis Jherry
 
Paquete turístico
Paquete turísticoPaquete turístico
Paquete turístico
Luis Jherry
 
Organización de congresos
Organización de congresosOrganización de congresos
Organización de congresos
Luis Jherry
 
Obras de construcción
Obras de construcciónObras de construcción
Obras de construcción
Luis Jherry
 
Instituto de capacitación en ti
Instituto de capacitación en tiInstituto de capacitación en ti
Instituto de capacitación en ti
Luis Jherry
 
Explotaciones mineras
Explotaciones minerasExplotaciones mineras
Explotaciones mineras
Luis Jherry
 

Mehr von Luis Jherry (20)

Tienda de ropa
Tienda de ropaTienda de ropa
Tienda de ropa
 
Telefonos
TelefonosTelefonos
Telefonos
 
Suscripciones
SuscripcionesSuscripciones
Suscripciones
 
Suscripciones de cable
Suscripciones de cableSuscripciones de cable
Suscripciones de cable
 
Software s
Software sSoftware s
Software s
 
Sistema escolar
Sistema escolarSistema escolar
Sistema escolar
 
Sistema de organización de eventos
Sistema de organización de eventosSistema de organización de eventos
Sistema de organización de eventos
 
Sistema de control y seguimiento de trasplantes renales
Sistema de control y seguimiento de trasplantes renalesSistema de control y seguimiento de trasplantes renales
Sistema de control y seguimiento de trasplantes renales
 
Selección de personal
Selección de personalSelección de personal
Selección de personal
 
Planificacion mensual en una industria medico
Planificacion mensual en una industria medicoPlanificacion mensual en una industria medico
Planificacion mensual en una industria medico
 
Pedidos en feria
Pedidos en feriaPedidos en feria
Pedidos en feria
 
Paquete turístico
Paquete turísticoPaquete turístico
Paquete turístico
 
Organización de congresos
Organización de congresosOrganización de congresos
Organización de congresos
 
Obras de construcción
Obras de construcciónObras de construcción
Obras de construcción
 
Museo
MuseoMuseo
Museo
 
Instituto de capacitación en ti
Instituto de capacitación en tiInstituto de capacitación en ti
Instituto de capacitación en ti
 
Hostal
HostalHostal
Hostal
 
Hostal ii
Hostal iiHostal ii
Hostal ii
 
Gimnasio
GimnasioGimnasio
Gimnasio
 
Explotaciones mineras
Explotaciones minerasExplotaciones mineras
Explotaciones mineras
 

Kürzlich hochgeladen

TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
NadiaMartnez11
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 

Kürzlich hochgeladen (20)

SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 

Sql basico parte_ii_

  • 1. Base de Datos Profesor: MSC Luis Serna JherryMSC Luis Serna Jherry
  • 2. Lenguaje SQL – Parte II P i i l f i d T tPrincipales funciones usadas en Transact - SQL (SQL Server) ÍSentencias DDL para Índices
  • 4. Tipos De Datos TRANSACT – SQL Tipo de Dato Descripción Enteros: Bit Ente o con alo ce o (0) o no (1)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)s a t e te o e t e (3 , 68) y ( ) 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) N i i ó i d d i lNumeric sinónimo de decimal Moneda: 63 63Money valores monetarios. Desde -2 63 a 2 63 Smallmoney desde -214,748.3648 hasta +214,748.3647
  • 5. TRANSACT – SQL Tipos De Datos Tipo de Dato Descripción Numéricos aproximados: float Punto flotante, desde -1.79 E308 a 1.79 E308 real Punto flotante, desde –3.40 E38 a 3.40 E38 Int entero entre (2 31) y –2 31 (-1) Caracteres: Char longitud fija de hasta 8,000 caracteresg j , varchar longitud variable de hasta 8,000 caracteres Text longitud variable de hasta 231 -1 caracteres (2 147 483 647)(2,147,483,647)
  • 6. TRANSACT – SQL Tipos De Datos Tipo de Dato Descripción Binarios: binary data binaria de longitud fija de hasta 8,000 bytesbytes varbinary data binaria de longitud variable de hasta 8,000 bytes Image longitud variable de hasta 231 - 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.
  • 7. Funciones de Agregación TRANSACT – SQL Función de agregación Resultado SUM([ALL | DISTINCT] ió ) T t l d l l l g g SUM([ALL | DISTINCT] expresión) Total de los valores en la expresión numérica AVG([ALL | DISTINCT] expresión) Promedio de valores en la([ | ] p ) expresión numérica COUNT([ALL | DISTINCT] expresión) Cantidad de valores en la expresiónexpresión COUNT(*) Cantidad de filas seleccionadas MAX(expresión) El valor máximo en la ióexpresión MIN(expresión) El valor mínimo en la expresión COUNT(*) es el único que NO ignora los valores nulos
  • 8. Funciones de Agregación TRANSACT – SQL g g Cláusulas COMPUTE y COMPUTE BY Genera totales que se muestran al final de un grupo de filas resultantes. Cuando se emplea con BY genera subtotales por quiebre delCuando se emplea con BY genera subtotales por quiebre del valor del grupo SELECT expresión_A, expresión_B, ....., expresión_N ............................. ............................. [ORDER BY expresión N][ORDER BY expresión_N] COMPUTE { { AVG | COUNT | MAX | MIN | SUM } (expression_i) } [ BY expression_N ]
  • 9. Funciones de Agregación TRANSACT – SQL COMPUTE BY - Ejemplo titleid price type BU1032 19.9900 business SELECT title_id, price, type FROM titles BU1032 19.9900 business BU1111 11.9500 business BU2075 2.9900 business BU7832 19 9900 business ORDER BY type COMPUTE SUM(price) BY type BU7832 19.9900 business sum 54.9200 MC2222 19 9900 mod cookMC2222 19.9900 mod_cook MC3021 2.9900 mod_cook sum 22 980022.9800
  • 10. Uso de Funciones TRANSACT – SQL Funciones de Fecha y Hora Realizan operaciones sobre valores de fecha y hora, retornando un valor string, numérico o de fecha y hora. DATEADD DAY DATEDIFF GETDATE DATENAME MONTHDATENAME MONTH DATEPART YEAR
  • 11. TRANSACT – SQL Funciones de Fecha y Hora SQL Server reconoce los datos de fecha y hora encerrados entre apóstrofes, en los siguientesencerrados entre apóstrofes, en los siguientes formatos: Formatos de fecha alfabéticos (‘April 15, 1998’)( p , ) Formatos de fecha numéricos (‘4/15/1998’, ‘April 15, 1998’)) Cadenas de caracteres (‘19981207’, ‘December 12, 1998’)
  • 12. Funciones de Fecha y Hora Elemento de fecha Datepart Abreviatura 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. Funciones de Fecha y Hora TRANSACT – SQL y DATEADD Devuelve un nuevo valor de tipo datetime agregando un intervalo a la fecha especificada. DATEADD(datepart, numero, fecha) Donde Datepart es el parámetro que especifica en qué unidad se expresa al valor a adicionar. l i tnumero es el incremento fecha es una expresión de tipo datetime, o un string en formato de fecha, a la que se aplicará el incrementoformato de fecha, a la que se aplicará el incremento
  • 14. Funciones de Fecha y Hora TRANSACT – SQL y DATEADD Ejemplo: Sumar 21 días a la fecha de publicación (pubdate) ySumar 21 días a la fecha de publicación (pubdate) y mostrarlo con el encabezado plazo USE pubsp GO SELECT DATEADD(day, 21, pubdate) AS plazoSELECT DATEADD(day, 21, pubdate) AS plazo FROM titles GOGO
  • 15. Funciones de Fecha y Hora TRANSACT – SQL y DATEDIFF Devuelve el período comprendido entre dos fechas específicas.específicas. DATEDIFF(datepart, fechainicial, fechafinal) DondeDonde Datepart es el parámetro que especifica en qué unidad se expresará la diferencia entre las fechas fechainicial fecha inicial de la comparación fechafinal fecha final contra la cual se compara
  • 16. Funciones de Fecha y Hora TRANSACT – SQL y DATEDIFF Ejemplo: Determinar la diferencia en días entre la fecha actual yDeterminar la diferencia en días entre la fecha actual y la fecha de publicación (pubdate). USE pubsp GO SELECT DATEDIFF(day, pubdate, getdate()) AS cantidad_de_dias FROM titles GOGO
  • 17. Funciones de Fecha y Hora TRANSACT – SQL DATENAME D l d d t t lDevuelve una cadena de caracteres que representa la parte especificada de la fecha dada. DATENAME(datepart fecha)DATENAME(datepart, fecha) Donde D t t l á t ifi é tDatepart es el parámetro que especifica a qué parte de la fecha se aplicará la función.
  • 18. Funciones de Fecha y Hora TRANSACT – SQL DATENAME Ejemplo: Extrae el nombre del mes desde la fecha del sistema (el valor de retorno de GETDATE).( ) SELECT DATENAME(month, getdate()) AS ‘Nombre de mes'Nombre_de_mes
  • 19. Funciones de Fecha y Hora TRANSACT – SQL DATEPART Devuelve un valor entero que representa la parte especificada de la fecha dada. DATEPART(datepart, fecha) La función GETDATE devuelve la fecha y hora del sistemaLa función GETDATE devuelve la fecha y hora del sistema SELECT GETDATE() AS ‘Fecha_Actual' Devuelve 2005-01-06 13:05:13.877 SELECT DATEPART(month, GETDATE()) AS ‘Mes' Devuelve 1
  • 20. Funciones de Fecha y Hora TRANSACT – SQL DAY, YEAR, MONTH, , Devuelve un valor entero que representa la parte especificada de la fecha dada. DAY( fecha) YEAR(fecha)( ) MONTH(fecha) SELECT DAY(‘06/01/2005') AS ‘N d Dí 'SELECT DAY(‘06/01/2005') AS ‘Numero de Día' SELECT “Numero de Año" = YEAR(‘06/01/2005') SELECT “Nú d M " MONTH(‘06/01/200 ')SELECT “Número de Mes" = MONTH(‘06/01/2005')
  • 21. Uso de Funciones TRANSACT – SQL Funciones Matemáticas Uso de Funciones Funciones Matemáticas Realizan operaciones trigonométricas, geométricas, y otras retornando un valor numéricootras, retornando un valor numérico. Ejemplos: ABS, ACOS, ASIN, ATAN, SQUARE, POWER SIN DEGREESPOWER, SIN, DEGREES.
  • 22. Uso de Funciones TRANSACT – SQL Uso de Funciones Funciones de Metadata Devuelven información de la base de datos y sus objetos. Ejemplos: COL_NAME, DB_NAME, COL_LENGH Funciones de seguridad Devuelven información relativa a los usuarios y losDevuelven información relativa a los usuarios y los roles. Ejemplos: IS MEMBER SUSER NAME USER IDEjemplos: IS_MEMBER, SUSER_NAME, USER_ID
  • 23. Uso de Funciones TRANSACT – SQL Uso de Funciones Funciones del Sistema Devuelven información relativa a los valores, objetos, j y configuración de SQL Server Ejemplos: CURRENT_USER, ISDATE, ISNULL. Funciones de cadenas de caracteres Operan sobre cadenas de caracteres y devuelven unap y cadena o un número. Ejemplos: LEFT, LEN, LOWER, REPLACE, RTRIM, LTRIM.
  • 24. TRANSACT – SQL Funciones de Cadenas de Caracteres Las comparaciones de cadena de caracteres no Funciones de Cadenas de Caracteres Las comparaciones de cadena de caracteres no hacen distinción entre mayúsculas y minúsculas. Caracter 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 Para comprobar la existencia de los caracteres dí d b á d fi i t d [ , , ] comodín, se deberá definir un caracter de escape
  • 25. Funciones de Cadenas de Caracteres TRANSACT – SQL Funciones de Cadenas de Caracteres Recuperar una porción de una cadena: SUBSTRING(expresión, inicio, longitud) LEFT(expresión valor entero)LEFT(expresión, valor entero) RIGHT(expresión, valor entero) LTRIM (e p esión) elimina espacios a la i q ie daLTRIM (expresión) – elimina espacios a la izquierda RTRIM (expresión) – elimina espacios a la derecha
  • 26. Funciones de Cadenas de Caracteres TRANSACT – SQL Funciones de Cadenas de Caracteres Encontrar la posición inicial de una cadena dentro de una columna o expresión:p CHARINDEX(expresión1, expresión2 [, posicion inicial])( p , p [, p ]) expresión1 es la expresión a buscar expresión2 es la columna o expresión en la cual se buscaexpresión2 es la columna o expresión en la cual se busca posición inicial es la posición a partir de la cual se inicia la búsqueda.
  • 27. Funciones de Cadenas de Caracteres TRANSACT – SQL Funciones de Cadenas de Caracteres Concatenar o combinar cadenas en una sola, empleando el operador de concatenación (+)p p ( ) expresión + expresión ió l i ió d ti á texpresión es cualquier expresión de tipo carácter o binario, con excepción de los tipos text o image SELECT (au_lname + ', ' + au_fname) AS Nombre FROM thFROM authors
  • 28. Funciones de Cadenas de Caracteres TRANSACT – SQL Funciones de Cadenas de Caracteres Insertar una cadena dentro de otra existente, sustituyendo una parte de ésta.y p STUFF(expresión de caracteres, inicio, longitud, expresión de caracteres) 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ón2 (desde b) e insertar la segunda cadena desde dicha posición SELECT STUFF('abcdef', 2, 3, 'ijklmn') R lt d ijkl fResultado: aijklmnef
  • 29. Funciones de Cadenas de Caracteres TRANSACT – SQL Funciones de Cadenas de Caracteres Reemplazar todas las ocurrencias de una cadena dentro de otra existente, con una tercera cadena.dentro de otra existente, con una tercera cadena. REPLACE(cadena1, cadena2, cadena3) Este ejemplo reemplaza la cadena cde en abcdefgicde con la cadena xxx. SELECT REPLACE('abcdefghicde','cde','xxx') Resultado: abxxxfghixxx
  • 30. TRANSACT – SQL Manejo de valores nulos Un valor nulo es un valor no disponible, sin signo no conocido inaplicablesigno, no conocido, inaplicable. No es lo mismo que cero ni blanco. U l l d i l i úUn valor nulo no puede ser igual a ningún otro valor, ni siquiera a otro nulo.
  • 31. Manejo de Valores Nulos TRANSACT – SQL Manejo de Valores Nulos Algunas funciones relativas al manejo de nulos: NULLIF(expresión1, expresión2)( p , p ) Retorna un valor nulo si ambas expresiones son equivalentes. expresión IS [NOT] NULL Retorna un valor booleano TRUE o FALSE como resultado de evaluar la expresión. NOTA: Si se emplean los operadores de comparación = o != el resultado será UNKNOWN
  • 32. Manejo de Valores Nulos TRANSACT – SQL Manejo de Valores Nulos Para manipular los valores nulos se debe usar la función: ISNULL( ió l d l )ISNULL(expresión, valor de reemplazo) D dDonde Expresión es la expresión que se comprobará como nulo Puede ser de cualquier tiponulo. Puede ser de cualquier tipo. Valor de reemplazo es el valor de retorno si la expresión es nula. Debe ser del mismo tipo quep p q expresión.
  • 33. Manejo de Valores Nulos TRANSACT – SQL Manejo de Valores Nulos Ejemplo: Encontrar el precio promedio de todos los librosEncontrar el precio promedio de todos los libros en existencia, asumiendo el valor de $10.00 en los casos en que el campo PRECIO sea nulllos casos en que el campo PRECIO sea null SELECT AVG(ISNULL(price $10 00))SELECT AVG(ISNULL(price, $10.00)) FROM titles
  • 34. Manejo de Valores Nulos TRANSACT – SQL Ejemplo: Manejo de Valores Nulos Mostrar el título, el tipo y el precio de todos los libros de la tabla TITLES. SELECT Title type AS Tipo priceSELECT Title, type AS Tipo, price FROM titles Title Tipo PriceTitle Tipo Price The Busy Executive's business 19.9900 Cooking with Compute business 11 9500Cooking with Compute business 11.9500 The Gourmet Microwave mod_cook 2.9900 The Psychology of Compute UNDECIDED NULLy gy p
  • 35. Manejo de Valores Nulos TRANSACT – SQL Ejemplo: Manejo de Valores Nulos 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 SELECT title, type, ISNULL(price, 0.00) AS Precio FROM titles Title Type Precio The Busy Executive's business 19.9900 Cooking with Compute business 11 9500Cooking with Compute business 11.9500 The Gourmet Microwave mod_cook 2.9900 The Psychology of Compute UNDECIDED 0.0000
  • 37. SENTENCIAS DDL Indices El diseño y creación de índices (indexes) es muy importante cuando se quiere mejorar la performance del Servidor de Base de datos. 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 BDel esquema de la BD.
  • 38. SENTENCIAS DDL Indices - Tipos de: Indice Clustered Es un índice en el cual el orden físico de lasEs 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índice.Sólo se puede tener un índice clustered por tabla. Las operaciones de UPDATE y DELETE son mas rápidas con elUPDATE y DELETE son mas rápidas con el uso de estos índices.
  • 39. SENTENCIAS DDL Indices - Tipos de: Indices Non-Clustered En este índice se especifica el orden lógicoEn este índice, se especifica el orden lógico de una tabla para poder acceder a los datos de forma eficiente El orden físico dedatos de forma eficiente. El orden físico de una tabla no corresponde al orden de estos índices Se puede definir múltiplesíndices. Se puede definir múltiples nonclustered indexes por tabla.
  • 40. SENTENCIAS DDL CREATE INDEX (sintaxis general) CREATE [ UNIQUE ] INDEX índice ON tabla(campo [ASC|DESC][, campo [ASC|DESC], ...]) [WITH { PRIMARY}]
  • 41. SENTENCIAS DDL CREATE INDEX Indice: Es el nombre del índice que se va a crear.crear. Tabla: Es el nombre de la tabla existente que contendrá el índiceque contendrá el índice. Campo: Es el nombre del campo o de los campos que se van a indexarcampos que se van a indexar.
  • 42. SENTENCIAS DDL CREATE INDEX Para crear un índice de único campo, escriba el nombre del campo entre paréntesis a continuación del nombre de la tabla. Para crear un índice de múltiples campos, enumere el nombre de cada campo que se va a incluir en el índice. P í di d d ili l l bPara crear índices descendentes, utilice la palabra reservada DESC; de lo contrario, se supone que los índices son ascendenteslos índices son ascendentes.
  • 43. SENTENCIAS DDL CREATE INDEX Para no permitir valores duplicados en el campo o campos de índice de diferentes registros, utilice la palabra reservada UNIQUE. 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 UNIQUElo que puede omitir la palabra reservada UNIQUE.
  • 44. SENTENCIAS DDL Ejemplos: CREATE INDEX En el ejemplo siguiente se crea un índice, que consta de los campos TeléfonoParticular yp y Extensión, en la tabla Empleados: CREATE INDEX ÍndiceNuevo ON Empleados (TelDomicilio Extensión);(TelDomicilio, Extensión);
  • 45. SENTENCIAS DDL Ejemplos: CREATE INDEX En el ejemplo siguiente se crea un índice en la tabla Clientes con el campo IdCliente. Dosp registros no pueden tener los mismos datos en el campo IdCliente y no se permiten los valoresp y p Nulos. CREATE UNIQUE INDEX IdClien ON Clientes (IdCliente) WITH DISALLOW NULL;(IdCliente) WITH DISALLOW NULL;