Agenda Bases de Datos Relacionales SQL Server 2005 Instalacin Computer Manager SQL Server Management Studio Object Explorer Project Management Query Editor Assisted Editors SQLiMail Sentencias Transact-SQL Agenda Bases de Datos Relacionales SQL Server 2005 Instalacin Computer Manager SQL Server Management Studio Object Explorer Project Management Query Editor Assisted Editors SQLiMail Sentencias Transact-SQL Se organizan por Tablas Contiene Filas y Columnas Una columna representa un campo en la tabla Los valores de una columna tienen un tipo de dato definido Las tablas pueden contener Claves Primarias (Primary Key) y/o Claves Foraneas Utilizando Claves entre tablas obtenemos una integridad referencial entre ellas Utilizacin de Indices mejora el rendimiento en la bsqueda Ejemplo a continuacin Base de Datos Relacionales B a s e s
d e
D a t o s
R e l a c i o n a l e s
Base de Datos Relacionales B a s e s
d e
D a t o s
R e l a c i o n a l e s
Agenda Bases de Datos Relacionales SQL Server 2005 Instalacin Computer Manager SQL Server Management Studio Object Explorer Project Management Query Editor Assisted Editors SQLiMail Sentencias Transact-SQL El Lenguaje de programacin Transact-SQL Tipos de intrucciones de Transact-SQL Elementos de sintaxis del Transact-SQL Sentencias Transact-SQL T r a n s a c t - S Q L
Implementa el estndar ISO de nivel bsico de la especificacin ANSI-SQL99
Se pueden ejecutar desde cualquier producto que cumpla los requisitos bsicos
Incluye una funcionalidad ampliada Sentencias Transact-SQL T r a n s a c t - S Q L
Instrucciones del Lenguaje de definincion de datos (DDL)
Instrucciones del Lenguaje de Control de Datos (DCL)
Instrucciones del Lenguaje de tratamientos de datos (DML) Tipos de intrucciones Sentencias Transact-SQL T r a n s a c t - S Q L
Definen los objetos de la base de datos CREATE nombreobjeto ALTER nombreobjeto DROP nombreobjeto
Deben tener los permisos adecuados Tipos de intrucciones Instruciones del Lenguaje de definicion de datos Sentencias Transact-SQL T r a n s a c t - S Q L
Establecer o cambiar los permisos GRANT DENY REVOKE
Deben tener los permisos adecuados Tipos de intrucciones Instruciones del Lenguaje de control de datos Sentencias Transact-SQL T r a n s a c t - S Q L
Las instrucciones DML se utilizan para cambiar datos o recuperar informacin SELECT INSERT UPDATE DELETE
Deben tener los permisos adecuados Tipos de intrucciones Instruccines del Lenguaje de Tratamiento de datos Sentencias Transact-SQL T r a n s a c t - S Q L
GO Envia lotes de instrucciones de TSQL a las herramientas y utilidades No se trata, realmente, de una instruccin de TSQL
EXEC Ejecuta una funcion definida por el usuario, un prodecimiento de sistema, un prodecimiento definido por el usuario o un prodecimiento almacenado extendido Controla la ejecucin de una cadena de caracteres dentro de un lote de TSQL Elementos de la sintaxis de Transact-SQL Directivas de proceso por lotes Sentencias Transact-SQL T r a n s a c t - S Q L
Comentarios en lnea
Comentarios en Bloque Elementos de la sintaxis de Transact-SQL Comentarios Sentencias Transact-SQL T r a n s a c t - S Q L
Nmeros Enteros Bigint Nmeros enteros entre -2E63 (-9.223.372.036.845.775.808) y 2E- 63 (9.223.372.036.845.775.807) Int Nmeros enteros entre -2E31 (-2,147,483,648 ) y 2E- 31(2,147,483,647 ) Smallint Nmeros enteros entre 2E15 (-32.768) y 2E-15 (32.767) Tinyint Nmeros enteros entre 0 y 255 Bit Bit Enteros entre 0 y 1 DataTypes Sentencias Transact-SQL T r a n s a c t - S Q L
Decimal y nmericos Decimal Dtos nmericos con precisin fija de -10E38 a 10E-38 Numeric Funcin equivalente a decimal
Money & SmallMoney Money Valores monetarios entre -2E63 y 2E63-1 con precisin de hasta 10 dgitos. SmallMoney Valores monetarios entre -214.748,3648 y +214.748,3647 DataTypes Sentencias Transact-SQL T r a n s a c t - S Q L
Nmeros aproximdos Float Dtos numricos de punto flotante entre -1.79E+308 y 1.79E+308 Real Dtos numricos de punto flotante entre -3.40E+38 y 3.40E+38
Datetime & Smalldatetime Datetime Fechas entre 1 de Enero del 1753 y 31 de diciembre de 9999 con una precisin de 3 milsimas de segndo
Smalldatetime Fechas entre 1 de Enero de 1900 y 6 de Junio de 2079, con una precisin de 1 minto DataTypes Sentencias Transact-SQL T r a n s a c t - S Q L
Caracteres Char Carcter de longitud fija (no unicode) con un mximo de 8000 caracteres Varchar Caracteres de longitud variable (no unicode) con un mximo de 8000 caracteres Text Caracteres de longitud variable (no unicode) con un mximo de 2.147.483.647 caracteres Nchar Carcter de longitud fija (unicode) con un mximo de 4000 caracteres Nvarchar Caracteres de longitud variable (unicode) con un mximo de 8000 caracteres Ntext Caracteres de longitud variable (unicode) con un mximo de 1,073,741,823 caracteres DataTypes Sentencias Transact-SQL T r a n s a c t - S Q L
Binary Binary Datos binarios de longitud fija con un mximo de 8000 bytes Varbinary Datos binarios de longitud variable con un mximo de 8000 bytes Image Datos binarios de lngitud variable con un mximo de 2.147.483.647 bytes DataTypes Sentencias Transact-SQL T r a n s a c t - S Q L
Operadores Aritmticos Operadores de Asignacin Operadores Bitwise Operadores de Comparacin Operadores Lgicos Operadores de Concatenacin Operadores Unarios Operadores Sentencias Transact-SQL T r a n s a c t - S Q L
Realizan operaciones matemticas entre dos expresiones Operadores aritmticos + (suma) - (resta) * (Muliplicacin) / (Divisin) % (Mdulo) , devuelve el resto Devuelve el resto entero de una divisin. Por ejemplo, 12 % 5 = 2 porque el resto de 12 dividido entre 5 es 2. Operadores Aritmticos Sentencias Transact-SQL T r a n s a c t - S Q L
Operadores de Asignacin
Operadores de Asignacin Sentencias Transact-SQL T r a n s a c t - S Q L
Operadores bit a bit & (operador bit a bit AND) Realiza una operacin lgica AND a nivel de bit entre dos valores enteros. | (operador bit a bit OR) Realiza una operacin OR lgica a nivel de bit entre dos valores enteros dados que se convirtieron a expresiones binarias dentro de instrucciones de Transact-SQL. ^ (operador bit a bit OR exclusivo) Realiza una operacin OR exclusivo a nivel de bit entre dos valores enteros dados que se convierten a expresiones binarias dentro de instrucciones de Transact-SQL.
Operadores bit a bit Sentencias Transact-SQL T r a n s a c t - S Q L
Operadores de comparacin = (igual al) > (mayor que) < (menor que) >= (mayor que o igual que) <= (menor que o igual que) <> (no es igual a) != (no es igual a) !< (no es menor que) !> (no es mayor que) Operadores de comparacin Sentencias Transact-SQL T r a n s a c t - S Q L
Comprueban la veracidad de alguna condicin Operadores Lgicos ALL AND ANY BETWEEN EXISTS IN LIKE NOT OR SOME Operadores lgicos Sentencias Transact-SQL T r a n s a c t - S Q L
Permite concatenar cadenas de textos
Operadores de concatenacin Signo + (mas) Operadores de concatenacin de cadenas Sentencias Transact-SQL T r a n s a c t - S Q L
Los operadores unarios realizan una operacin sobre una nica expresin de cualquiera de los tipos de datos de la categora del tipo de datos numrico. + (positivo) Es un operador unario que devuelve el valor positivo de una expresin numrica (un operador unario). - (negativo) Es un operador unario que devuelve el valor negativo de una expresin numrica (un operador unario). ~ (operador bit a bit NOT) Realiza una operacin NOT lgica a nivel de bit en un valor entero dado que se convierte a una expresin binaria dentro de instrucciones de Transact-SQL. Operadores unarios Sentencias Transact-SQL T r a n s a c t - S Q L
La sintaxis para crear tablas es: CREATE TABLE "table_name" ("column 1" "data_type_for_column_1", "column 2 "data_type_for_column_2",... )
Crear Tablas Sentencias Transact-SQL T r a n s a c t - S Q L
La sintaxis para insertar registros es: Insert into <tablename> (<fieldname>, <fieldname>, <fieldname>) Values (@fieldname, @fieldname, @fieldname);
Sentencia de INSERT Sentencias Transact-SQL T r a n s a c t - S Q L
sta tcnica es usada para copiar datos desde una tabla a la tabla indicada La sintaxis para insertar copiando registros de otra tabla es insert new_studentdetails select id_number, passwd from studentdetails
INSERT FROM Sentencias Transact-SQL T r a n s a c t - S Q L
La sentencia SELECT es usada para seleccionar registros desde una tabla de la base de datos SELECT <Col_1>, <Col_2>, FROM <Table_name>
Ej:
SELECT Sentencias Transact-SQL T r a n s a c t - S Q L
La sentencia SELECT INTO es usado para copiar los registros seleccionados de una tabla e insertarla en una tabla diferente al mismo tiempo La sintaxis es la siguiente: SELECT Column1, Column2, Column3, INTO Table2 FROM Table1
SELECT * INTO Customers_copy FROM Customers SELECT INTO Sentencias Transact-SQL T r a n s a c t - S Q L
La clausula DISTINCT es usada para devolver slo los valores en la expresin especificada DISTINCT Sentencias Transact-SQL T r a n s a c t - S Q L
La clausula WHERE es utilizada para seleccionar datos condicionalmente en base a criterios especificados
SELECT * FROM Customers WHERE LastName <> 'Smith
SELECT * FROM Customers WHERE DOB > '1/1/1970
SELECT * FROM Customers WHERE DOB >= '1/1/1970
WHERE Sentencias Transact-SQL T r a n s a c t - S Q L
WHERE - EJEMPLO Sentencias Transact-SQL T r a n s a c t - S Q L
WHERE con LIKE Sentencias Transact-SQL T r a n s a c t - S Q L
Funciones de Agregado Funciones de Agregado: AVG COUNT MIN MAX SUM STDEV
Sentencias Transact-SQL T r a n s a c t - S Q L
Funciones de Agregado - Ejemplo Sentencias Transact-SQL T r a n s a c t - S Q L
Funciones Matemticas Funciones Matemticas
ABS SQRT RAND SQUARE SIN POWER COS CEILING TAN FLOOR COT EXP
Sentencias Transact-SQL T r a n s a c t - S Q L
Funciones de Texto Funciones de Texto
LEFT RIGHT LTRIM RTRIM REPLACE SUBSTRING STUFF REVERSE CHAR LEN LOWER UPPER
Sentencias Transact-SQL T r a n s a c t - S Q L
Funciones de Fecha Funciones de Fecha
DATEADD DATEDIFF GETDATE DAY MONTH YEAR
Sentencias Transact-SQL T r a n s a c t - S Q L
La clausula ORDER BY es usado para ordernar los registros de una sentencia SELECT previamente indicada La sintaxis es la siguiente: [ ORDER BY { order_by_expression [ ASC | DESC ] } [ ,...n] ] ORDER BY Sentencias Transact-SQL T r a n s a c t - S Q L
La sentencia UPDATE es utilizada para modificar los valores de los registros especirficando algn criterio. La sintaxis es la siguiente: UPDATE tablename SET (campo1 = valor1, campo2 = valor2,) WHERE Campo4 = Criterio1 UPDATE Sentencias Transact-SQL T r a n s a c t - S Q L
sta sentencia elimina los registros que especifiquemos dentro de la clausula WHERE La sintaxis es la siguiente: DELETE FROM tablename WHERE Campo4 = Criterio1 DELETE Sentencias Transact-SQL T r a n s a c t - S Q L
Un procedimiento almacenado es un grupo de instrucciones compiladas en un nico plan de ejecucin
Parmetros de salida, que pueden devolver datos (por ejemplo, un valor entero o de carcter) o una variable de cursor (los cursores son conjuntos de resultados que pueden devolver filas de una en una).
Cdigos de retorno, que siempre son un valor entero.
Un conjunto de resultados por cada instruccin SELECT contenida en el procedimiento almacenado o en cualquier otro procedimiento almacenado invocado por el procedimiento almacenado original.
Un cursor global al que se puede hacer referencia desde fuera del procedimiento almacenado. STORE PROCEDURE Sentencias Transact-SQL T r a n s a c t - S Q L
STORE PROCEDURE Crear un SP Sentencias Transact-SQL T r a n s a c t - S Q L
STORE PROCEDURE Consumir Sentencias Transact-SQL T r a n s a c t - S Q L
Demo Crear un Base de Datos con tablas, campos y registros