Programaci贸n de Sistemas (ACI570) Unidad IV: Bases de Datos Relacionales y ADO.NET Semana 7
Unidad 4
Bases de Datos Relacionales y ADO.NET
4.1 BD Relacionales 4.2 Sql Server 2005 4.3 Sentencias TSQL 4.4 ADO.NET
4.1 Base de Datos Relacionales Base de Datos Relacionales •
• • • •
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 Utilización de Indices mejora el rendimiento en la búsqueda
4.1 Base de Datos Relacionales Base de Datos Relacionales •
•
•
Tipos de Relaciones – Uno a uno – Uno a varios – Varios a varios Integridad Referencial – Es un sistema de reglas – Mantiene la consistencia de los datos entre tablas relacionadas – Actualizar y/o eliminar registros en cascada Indices – Estructura de datos que permite recuperar filas rápidamente – Proporciona ordenación – Se define sobre una columna o varias o conjunto de columnas
4.2 SQL Server 2005 SQL Server Management Studio • •
Provee un entorno centralizado integrado para la gestión de múltiples servers, tareas y servicios Las características incluyen: – Explorador de Objetos – Editores Asistidos – Ventana de resumen – Extensiones para Editor de Consultas de SQLCMD – Explorador de Templates – Manejo de errores mejorado – Administración de Proyectos – Dialog Boxes no modales – Scripting y Schedulling mejorado
4.2 SQL Server 2005 SQL Server Management Studio
4.2 SQL Server 2005 Object Explorer • •
Muestra los componentes SQL en una jerarquía de árbol grafica Permite al usuario expandir múltiples nodos del árbol simultáneamente.
•
Permite al usuario filtrar un nodo basado en uno o múltiples criterios de filtro.
•
Provee una interface de usuario amigable para la administración
4.2 SQL Server 2005 Query Editor • •
Permite la ejecución de scripts T-SQL y sentencias contra SQL Server y SQL Server Mobile Edition, Permite ejecución de expresiones: – multidimensionales (MDX) – data mining (DMX) – XMLA
•
Escritura de scripts en modo desconectado
•
Ayuda dinámica
•
Display mejorado para resultados XML.
•
•
Resultados en forma XML cuando usa la columna XML
•
Funciones XML para Transact-SQL
Legibilidad mejorada por el uso de color-coding
4.2 SQL Server 2005 Asissted Editors • •
Editores asistidos para creación de objetos SQL Server con propiedades de texto como stored procedures, triggers y funciones Ejemplo de cómo acceder a Editores asistidos: – Abrir SQL Server Management Studio – Explorar Object Browser. Seleccionar SQL Instance → Databases→ <database> →Programmability→ Stored Procedures – Click derecho sobre Stored Procedures → New Stored Procedure – Esto abrirá el editor asistido con información de cabecera para crear el stored procedure
4.2 SQL Server 2005 Asissted Editors
4.3 Sentencias T-SQL T-SQL
• • • • • •
El Lenguaje de programación Transact-SQL Tipos de intrucciones de Transact-SQL Elementos de sintaxis del Transact-SQL Implementa el estándar ISO de nivel básico de la especificación ANSI-SQL99 Se pueden ejecutar desde cualquier producto que cumpla los requisitos básicos Incluye una funcionalidad ampliada
4.3 Sentencias T-SQL Tipos de sentencias
• Instrucciones del Lenguaje de definincion de datos (DDL) • Instrucciones del Lenguaje de Control de Datos (DCL) • Instrucciones del Lenguaje de tratamientos de datos (DML)
4.3 Sentencias T-SQL Tipos de Instrucciones Instruciones del Lenguaje de definicion de datos
•
Definen los objetos de la base de datos – CREATE nombreobjeto – ALTER nombreobjeto – DROP nombreobjeto
•
Deben tener los permisos adecuados
4.3 Sentencias T-SQL Tipos de Instrucciones Instruciones del Lenguaje de control de datos
•
Establecer o cambiar los permisos – GRANT – DENY – REVOKE
•
Deben tener los permisos adecuados
4.3 Sentencias T-SQL Tipos de Instrucciones Instrucciónes del Lenguaje de Tratamiento de datos
•
Las instrucciones DML se utilizan para cambiar datos o recuperar información – SELECT – INSERT – UPDATE – DELETE
•
Deben tener los permisos adecuados
4.3 Sentencias T-SQL Elementos de Sintaxis Directivas de proceso por lotes
•
GO – Envia lotes de instrucciones de TSQL a las herramientas y utilidades – No se trata, realmente, de una instrucción 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 ejecución de una cadena de caracteres dentro de un lote de TSQL
4.3 Sentencias T-SQL Elementos de Sintaxis Comentarios
•
Comentarios en línea
•
Comentarios en Bloque
4.3 Sentencias T-SQL Tipos de Datos •
•
Números Enteros – Bigint • Números enteros entre -2E63 (-9.223.372.036.845.775.808) y 2E-63 (9.223.372.036.845.775.807) – Int • Números enteros entre -2E31 (-2,147,483,648 ) y 2E-31(2,147,483,647 ) – Smallint • Números enteros entre 2E15 (-32.768) y 2E-15 (32.767) – Tinyint • Números enteros entre 0 y 255 Bit – Bit • Enteros entre 0 y 1
4.3 Sentencias T-SQL Tipos de Datos •
Decimal y númericos – Decimal • Dátos númericos con precisión fija de -10E38 a 10E-38 – Numeric • Función equivalente a decimal
•
Money & SmallMoney – Money • Valores monetarios entre -2E63 y 2E63-1 con precisión de hasta 10 dígitos. – SmallMoney • Valores monetarios entre -214.748,3648 y +214.748,3647
4.3 Sentencias T-SQL Tipos de Datos •
Números aproximádos – Float • Dátos numéricos de punto flotante entre -1.79E+308 y 1.79E+308 – Real • Dátos numéricos 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 precisión de 3 milésimas de segúndo –
Smalldatetime • Fechas entre 1 de Enero de 1900 y 6 de Junio de 2079, con una precisión de 1 minúto
4.3 Sentencias T-SQL Tipos de Datos •
Caracteres – Char • Carácter de longitud fija (no unicode) con un máximo de 8000 caracteres – Varchar • Caracteres de longitud variable (no unicode) con un máximo de 8000 caracteres – Text • Caracteres de longitud variable (no unicode) con un máximo de 2.147.483.647 caracteres – Nchar • Carácter de longitud fija (unicode) con un máximo de 4000 caracteres – Nvarchar • Caracteres de longitud variable (unicode) con un máximo de 8000 caracteres – Ntext • Caracteres de longitud variable (unicode) con un máximo de 1,073,741,823 caracteres
4.3 Sentencias T-SQL Tipos de Datos •
Binary – Binary • Datos binarios de longitud fija con un máximo de 8000 bytes – Varbinary • Datos binarios de longitud variable con un máximo de 8000 bytes – Image • Datos binarios de lóngitud variable con un máximo de 2.147.483.647 bytes
4.3 Sentencias T-SQL Operadores • • • • • • •
Operadores Aritméticos Operadores de Asignación Operadores Bitwise Operadores de Comparación Operadores Lógicos Operadores de Concatenación Operadores Unarios
4.3 Sentencias T-SQL Operadores Aritméticos • •
Realizan operaciones matemáticas entre dos expresiones Operadores aritméticos – + (suma) – - (resta) – * (Muliplicación) – / (División) – % (Módulo) , devuelve el resto Devuelve el resto entero de una división. Por ejemplo, 12 % 5 = 2 porque el resto de 12 dividido entre 5 es 2.
4.3 Sentencias T-SQL Operadores de Asignaciรณn
โ ข Operadores de Asignaciรณn
4.3 Sentencias T-SQL Operadores bit a bit
โ ข Operadores bit a bit & (operador bit a bit AND) Realiza una operaciรณn lรณgica AND a nivel de bit entre dos valores enteros.
| (operador bit a bit OR) Realiza una operaciรณn OR lรณgica 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 operaciรณn OR exclusivo a nivel de bit entre dos valores enteros dados que se convierten a expresiones binarias dentro de instrucciones de Transact-SQL.
4.3 Sentencias T-SQL Operadores de Comparaciรณn
โ ข Operadores de comparaciรณn = (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)
4.3 Sentencias T-SQL Operadores Lógicos
• Comprueban la veracidad de alguna condición • Operadores Lógicos ALL AND ANY BETWEEN EXISTS IN LIKE NOT OR SOME
4.3 Sentencias T-SQL Operadores de Concatenación de cadenas
• Permite concatenar cadenas de textos • Operadores de concatenación – Signo + (mas)
4.3 Sentencias T-SQL Operadores Unarios
• Los operadores unarios realizan una operación sobre una única expresión de cualquiera de los tipos de datos de la categoría del tipo de datos numérico. – + (positivo) Es un operador unario que devuelve el valor positivo de una expresión numérica (un operador unario).
– - (negativo) Es un operador unario que devuelve el valor negativo de una expresión numérica (un operador unario).
– ~ (operador bit a bit NOT) Realiza una operación NOT lógica a nivel de bit en un valor entero dado que se convierte a una expresión binaria dentro de instrucciones de Transact-SQL.
4.3 Sentencias T-SQL Crear Tablas
• La sintaxis para crear tablas es: CREATE TABLE "table_name" ("column 1" "data_type_for_column_1", "column 2“ "data_type_for_column_2",... )
4.3 Sentencias T-SQL Sentencias Insert
â&#x20AC;˘ La sintaxis para insertar registros es: Insert into <tablename> (<fieldname>, <fieldname>, <fieldname>) Values (@fieldname, @fieldname, @fieldname);
4.3 Sentencias T-SQL Insert From
• Ésta técnica 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
4.3 Sentencias T-SQL Select
• 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:
4.3 Sentencias T-SQL Select Into
• 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
4.3 Sentencias T-SQL Distinct
โ ข La clausula DISTINCT es usada para devolver sรณlo los valores en la expresiรณn especificada
4.3 Sentencias T-SQL Where
• 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‘
4.3 Sentencias T-SQL Ejemplo Where
4.3 Sentencias T-SQL Where con Like
4.3 Sentencias T-SQL Funciones de Agregado
â&#x20AC;˘ Funciones de Agregado: AVG COUNT MIN MAX SUM STDEV
4.3 Sentencias T-SQL Ejemplo â&#x20AC;&#x201C; Funciones de Agregado
4.3 Sentencias T-SQL Funciones Matemรกticas
โ ข Funciones Matemรกticas
Transact-SQL
ABS RAND SIN COS TAN COT
SQRT SQUARE POWER CEILING FLOOR EXP
4.3 Sentencias T-SQL Funciones de Texto
• Funciones de Texto LEFT RIGHT LTRIM RTRIM REPLACE SUBSTRING STUFF REVERSE CHAR LEN LOWER UPPER
4.3 Sentencias T-SQL Funciones de Fecha
• Funciones de Fecha DATEADD DATEDIFF GETDATE DAY MONTH YEAR…
4.3 Sentencias T-SQL Order by
• 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] ]
4.3 Sentencias T-SQL Update
• La sentencia UPDATE es utilizada para modificar los valores de los registros especirficando algún criterio. • La sintaxis es la siguiente: UPDATE tablename SET (campo1 = valor1, campo2 = valor2,…) WHERE Campo4 = Criterio1
4.3 Sentencias T-SQL Delete
• Ésta sentencia elimina los registros que especifiquemos dentro de la clausula WHERE • La sintaxis es la siguiente: DELETE FROM tablename Campo4 = Criterio1
4.3 Sentencias T-SQL Procedimiento Almacenado
• Un procedimiento almacenado es un grupo de instrucciones compiladas en un único plan de ejecución – Parámetros de salida, que pueden devolver datos (por ejemplo, un valor entero o de carácter) o una variable de cursor (los cursores son conjuntos de resultados que pueden devolver filas de una en una). – Códigos de retorno, que siempre son un valor entero. – Un conjunto de resultados por cada instrucción 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.
4.3 Sentencias T-SQL Crear un Procedimiento Almacenado.
4.3 Sentencias T-SQL Ejecutar un Procedimiento