Programación de Bases de Datos con C#

El lenguaje C# 3.0 de Visual Studio 2008 con el Framework .NET v. 3.5 se ha convertido en la elección para muchos programadores por su flexibilidad, su seguridad, su limpio diseño, su orientación a objetos y su inmensa biblioteca de funciones.

Las bases de datos son el fundamento de la programación de aplicaciones comerciales y en pleno siglo XXI evolucionan hacia a programación orientada a objetos, el lenguaje XML y las aplicaciones web.

Este libro está dirigido a los programadores, analistas e ingenieros que desean entender estas técnicas ilustradas inmediatamente mediante ejemplos claros de código fuente en C#.

Se da un tratamiento muy completo a las técnicas más innovadoras de programación de bases de datos, especialmente reforzados con Microsoft SQL Server 7.0, 2000, 2005 y 2008.

El lector encontrará tanto temas de iniciación como avanzados.

Dentro de los temas iniciales este libro cubre SQL, análisis Entidad/Relación, la tecnología ADO.NET, conexiones, ODBC, estructuras de bases de datos, transacciones, bloqueos, eventos, consultas clásicas, comandos, controles e interfaces.

También encontrará temas avanzados como encriptación, procedimientos almacenados (stored procedures), arquitectura multicapa y objetos de negocio, gestión de errores y excepciones, parámetros de entrada y salida en procedimientos almacenados y extendidos, campos binarios largos (BLOB) para tratamiento de imágenes, archivos incrustados y columnas de desbordamiento XML, consultas en formato XML, XPath, DOM, aplicación de transformaciones XSL para la generación de páginas HTML (XHTML), comunicación de paquetes XML con OpenXML y BulkLoad, extended stored procedures con Visual C++ .NET, sistemas conectados y desconectados mediante DataSets y DataAdapters… y mucho más.

Finalmente se trata la parte más innovadora del tratamiento de bases de datos: Linq para objetos, Linq para SQL y Link para entidades (Entity Framework).

En la web del libro se pueden recoger los ejemplos de código fuente tratados y las actualizaciones y nuevas aportaciones que irán surgiendo.

Escritor
Colección
Profesional
Materia
C#
Idioma
  • Castellano
EAN
9788478979714
ISBN
978-84-7897-971-4
Páginas
616
Ancho
17 cm
Alto
24 cm
Edición
1
Fecha publicación
01-06-2010
Edición en papel
39,90 €
822,31 MX$ 42,86 US$ Añadir al carrito

Índice de contenido

INTRODUCCIÓN

CAPÍTULO 1. ARRANQUE RÁPIDO CON BASES DE DATOS
1.1 APLICACIONES SIN ESCRIBIR NI UNA SOLA LÍNEA
1.1.1 Crear una conexión contra una base de datos
1.1.2 La maravillosa combinación DataSet + Formulario

CAPÍTULO 2. SQL Y EL ANÁLISIS ENTIDAD/RELACIÓN
2.1 APRENDER SQL PENSANDO EN OBJETOS
2.2 ¿PARA QUÉ SIRVE SQL?
2.3 EL MODELO JERÁRQUICO
2.4 EL MODELO EN RED
2.5 EL MODELO RELACIONAL
2.6 ORIENTACIÓN A OBJETOS Y ANÁLISIS E/R
2.6.1 Tipos de objetos para bases de datos POO
2.6.2 Introducción al análisis Entidad/Relación
2.6.3 Llevando a la práctica Entidad/Relación
2.6.4 La necesidad de un identificador único o GUID
2.6.5 Relaciones recursivas
2.6.6 Simbología de cardinalidad
2.6.7 Árboles recursivos: la técnica de puntero al padre
2.7 PARTES DEL LENGUAJE SQL
2.8 LENGUAJE DE MANEJO DE DATOS (DML)
2.8.1 Instrucción SELECT
2.9 CLÁUSULA LIKE PARA CADENAS ALFANUMÉRICAS
2.9.1 Diferencias de sintaxis LIKE entre Access y SQL Server
2.10 FUNCIONES ESCALARES PARA SELECT
2.10.1 Nombres de variables para cálculos escalares
2.11 SELECT DE FECHAS
2.11.1 Diferencias con la sintaxis de fechas de Access
2.12 LA CLÁUSULA IN Y LOS RANGOS
2.13 PROBAR LAS SELECT CON SQL SERVER
2.14 EXPERIMENTOS CON QUERY ANALYZER
2.14.1 Cómo saber quién está conectado al sistema
2.14.2 Cómo obtener listados de tablas de la base de datos
2.14.3 Cómo obtener descripciones de campos de una tabla
2.14.4 Qué hay detrás de sp_tables y sp_columns
2.14.5 Enviar una consulta SELECT sencilla
2.15 SELECTS CONTRA VARIAS TABLAS
2.16 JOINS O CONSULTAS CON VÍNCULOS ENTRE TABLAS
2.17 SELECT UNION:UNIR VARIAS SELECTS
2.18 CONSULTAS DE ACCIÓN O ACTION QUERIES
2.19 INSTRUCCIÓN INSERT
2.20 INSERT PARA USUARIOS DEL MOTOR DE ACCESS
2.21 INSTRUCCIÓN DELETE
2.22 INSTRUCCIÓN UPDATE
2.23 SQL DML ADJUNTANDO TABLAS CON ACCESS
2.24 CÓMO ADJUNTAR TABLAS A TRAVÉS DE ODBC
2.24.1 Configurar una fuente de datos ODBC
2.24.2 Adjuntar la tabla de SQL Server desde Access
2.25 TRANSACCIONES
2.25.1 Dónde encontrar drivers de 16 bits que soporten transacciones
2.25.2 Nivel de aislamiento entre transacciones
2.26 DDL: LENGUAJE DE DEFINICIÓN DE DATOS
2.27 CREATE TABLE
2.27.1 NUMERIC es NUMBER en Access
2.27.2 Tipos y longitudes de campos
2.27.3 Equivalencias de tipos de datos respecto al SQL estándar
2.28 DROP TABLE
2.29 CREATE TABLE Y SELECT INTO
2.30 ALTER TABLE: MODIFICANDO LA ESTRUCTURA DE LA TABLA
2.31 CREATE INDEX: CREACIÓN DE ÍNDICES
2.32 ÍNDICES COMPUESTOS
2.33 DROP INDEX: ELIMINACIÓN DE ÍNDICES
2.34 REGLAS DE INTEGRIDAD REFERENCIAL

CAPÍTULO 3. ADO.NET: OBJETOS PARA EL ACCESO A DATOS
3.1 ¿QUÉ ES ADO.NET?
3.2 TECNOLOGÍAS DE ACCESO A DATOS
3.2.1 Tecnologías abiertas
3.2.2 ODBC
3.2.3 OLEDB
3.2.4 ADO
3.2.5 La necesidad de .NET
3.3 ADO.NET
CAPÍTULO 4. CONEXIONES
4.1 LA CONEXIÓN CON ADO.NET
4.2 SQL SERVER: UNA MUY BUENA OPCIÓN
4.2.1 Cómo conectar desde ADO.NET mediante ODBC
4.2.2 Cómo conectar desde driver específico de SQL Server
4.2.3 Cómo crear una fuente de datos ODBC en 10 pasos
4.2.4 Cadenas de conexión contra bases de datos
4.2.5 Cadenas de conexión en archivos de configuración
4.2.6 Cadenas de conexión y problemas de seguridad
4.2.7 Encriptación de la sección ConnectionStrings de App.Config
4.2.8 Encriptación de password
4.2.9 La clase ConnectionStringBuilder
4.2.10 Escoger un buen sistema de encriptación
4.2.11 La encriptación TripleDES
4.2.12 La rutina EncriptarTripleDES
4.2.13 Función para la desencriptación TripleDES
4.2.14 Para encriptar usando estas funciones
4.2.15 Para desencriptar
4.2.16 Uso de la encriptación para recuperar la contraseña
4.2.17 Mayor seguridad con el número de tarjeta de red
4.2.18 Conexiones lentas
4.3 MÉTODOS PROPIOS DE SQLCONNECTION
4.3.1 Transacciones a partir de la conexión
4.3.2 Estadísticas acerca de las conexiones
4.3.3 GetSchema: Obtención de datos de esquema
4.3.4 Devolver la estructura de una tabla
4.3.5 El método ChangeDatabase
4.4 EVENTOS DE LA CONEXIÓN
4.4.1 El evento de cambio de estado (StateChange)
4.4.2 Redirigir errores hacia mensajes de información
4.4.3 Enviar mensajes informativos desde SQL Server
4.4.4 Disparar errores inexistentes desde SQL Server
4.5 CONCLUSIÓN SOBRE LAS CONEXIONES

CAPÍTULO 5. CONSULTAS, COMANDOS Y PROCEDIMIENTOS ALMACENADOS
5.1 PRIMERO CONECTAR, LUEGO CONSULTAR
5.1.1 Un ejemplo para empezar
5.2 VOLCAR CONTENIDOS EN UNA LISTA
5.3 MOSTRAR DATOS EN UNA LISTVIEW
5.4 FUNCIÓN GENÉRICA PARA RELLENAR CONTROLES LISTVIEW
5.5 EJECUTAR COMANDOS DE ACCIÓN
5.5.1 Comandos con parámetros
5.5.2 Llamadas a procedimientos almacenados (stored procedures)
5.5.3 Aproximación a los objetos de negocio y arquitectura multicapa con procedimientos almacenados
5.5.4 Parámetros de salida: leyendo resultados de una consulta
5.5.5 Colecciones = matrices IEnumerable de clases

CAPÍTULO 6. CONSULTAS EN FORMATO XML
6.1 INTRODUCCIÓN
6.1.1 Características de XML
6.2 LA CLÁUSULA FOR XML
6.2.1 El formato RAW
6.2.2 El formato AUTO
6.2.3 El formato EXPLICIT
6.3 CONSULTAS XML DESDE ADO.NET
6.3.1 Manejar un XMLReader
6.3.2 Leer una consulta XML RAW con XmlReader
6.3.3 Recuperar campos BLOB en XML
6.3.4 Generar un HTML desde un XML usando transformaciones XSL
6.3.5 Otras transformaciones XSL
6.3.6 El dialecto MSSQLXML o SQLXML sobre ADO/OLEDB
6.3.7 Cómo se puede enviar un comando XML basado en plantilla SQLXML
6.3.8 Encriptación en los resultados de la consulta XML
6.3.9 Consultas XPath y manipulación XML con DOM
6.3.10 Recapitulación antes de OpenXML
6.3.11 OPENXML: una opción para realizar comandos de acción basados en paquetes XML
6.3.12 Ejemplo insertando pedidos XML
6.3.13 Cargas masivas de datos mediante BulkLoad
6.3.14 Código fuente de ejemplo en la web del libro

CAPÍTULO 7. STORED PROCEDURES CON CLR: ENVIAR MENSAJES SMS DESDE SQL SERVER 2008
7.1 EL MÓDEM GSM COMO RECURSO ECONÓMICO
7.2 EL MÓDEM SE COMPORTA COMO UN PUERTO SERIE
7.2.1 Averiguar el nombre del puerto del módem
7.3 EL MÓDEM TRABAJA CON COMANDOS AT DE HAYES
7.3.1 Emplear HyperTerminal para hacer pruebas
7.4 INTRODUCIR EL PIN DEL MÓDEM
7.4.1 Enviar un SMS mediante HyperTerminal
7.5 PROCEDIMIENTO ALMACENADO PARA ENVÍO DE SMS EN C#
7.5.1 Crear un procedimiento almacenado básico
7.5.2 Empecemos por el “Hello, world”
7.5.3 Instalar el módulo y establecer su seguridad
7.5.4 Detalles y restricciones
7.5.5 Crear el módulo de envío de SMS
7.5.6 Arquitectura del procedimiento almacenado
7.5.7 La clase CMensajeSMS
7.6 INSTALACIÓN DEL MÓDULO
7.6.1 Definir una base de datos como TRUSTWORTHY
7.6.2 Copiar la librería DLL en el directorio BINN
7.6.3 Declarar el módulo ensamblado de .NET
7.6.4 Declarar las funciones dentro del módulo ensamblado
7.7 PRUEBA DEL MÓDULO DESDE SQL SERVER

Libros relacionados