Sei sulla pagina 1di 10

24/10/2013

UNIVERSIDAD NACIONAL DEL CENTRO DEL PER

ACCESO A BASE DE DATOS (ADO.NET)


Para conectarnos a una base de datos usaremos la tecnologa ADO.NET, el cual nos ofrece un alto nivel de abstraccin. Ahora, para conectarnos a una fuente de base de datos tenemos dos formas de hacerlo, ya sea mediante el modo conectado o desconectado. Otro punto a tener en cuenta es que el Visual C# 2008 y todo el IDE de Visual Studio 2008, podemos tener la base de datos como un archivo mas en nuestro mismo proyecto o tambin el servidor de SQL Server 2008.

Facultad de Ingeniera de Sistemas

INGENIERA DE SOFTWARE

ACCESO A BASE DE DATOS


MG. RICHARD Y. MERCADO RIVAS

QUE TENEMOS DE NUEVO


Tipos de datos

TIPO DE DATOS
Fecha y hora Actualizaciones XML Geogrficos Estructuras jerrquicas FileStream Actualizaciones XML APIs administracin Date Solo tipo de fecha // 2008-02-01 Rango 0001-01-01 a 9999-12-31 Time Solo tipo hora // 11:48:01.1234567 DateTimeOffset DateTime con manejo de zona horaria 2008-02-01 11:48:01 a.m. +03:00 DateTime2 DateTime con mayor precisin 2008-02-01 11:48:19.1234567 Hierarchy Id Representa una posicin en un rbol Espaciales Manejo de datos geogrficos

Documentos

T-SQL

Mejoras de cdigo Dependencia de objetos

Seguridad

Encriptacin Auditora

DATOS ESPACIALES
Tipos de datos Geography ( geodsico) Geometric ( plano ) Almacenamiento y recuperacin de datos Alineados a las normas del OGC/SQL 1.1.0 Integracin con Virtual Earth Mtodos de importacin y exportacin

HIERARCHY ID
Representacin jarrquica Tipo de dato de las columnas Disponible en el CLR: SqlHierarchyId La estructura es administrada por la aplicacin Provee mtodos para su manipulacin GetLevel() retorna el valor del nodo en el rbol GetRoot() retorna la raz del rbol IsDescendant() devuelve true/false si el nodo es hijo de un padre
/ /1/ /1/1/ /1/2/ /2/ /2/1/

FILESTREAM
Atributo de columnas varbinary(max) para almacenar BLOBs ( videos, fotos, msica, etc.) Requiere NTFS Alojamiento en FileGroups (Contenedores de datos) Limitado al tamao del espacio en disco Transparent Data Encryption no esta soportado Integrado a los servicios de DB Seguridad y resguardo de informacin

24/10/2013

LO NUEVO EN TRANSACT SQL


GROUPING SETS
Extensin de la clusula GROUP BY Mltiples agrupamientos dentro de una misma query

LO NUEVO EN TRANSACT SQL


Declaracin de variables
DECLARE @Codigo int = 12 DECLARE @Nombre varchar(20) = Leonardo

INSERT INTO
Codificacin rpida y sencilla
INSERT INTO clientes VALUES (908, Hugo Ramirez, 9333092 -3), (324, Carlos Perez, 7364809 -1), (122, Araceli Ruiz, 8451092 -9)

Operadores
+=, -=, *=, /=

UPDATE productos SET cantidad += c.stock FROM productos p INNER JOIN compras c on c.id = p.id

LO NUEVO EN TRANSACT SQL


origen

MERGE

Merge
Coincide UPDATE No coincide INSERT

destino

MERGE
Operaciones DML basadas en tabla origen/destino Permite realizar varias operaciones en una simple instruccin

No existe DELETE
MERGE <tabla_origen> USING <tabla_destino> ON <condicin> WHEN MATCHED [AND..] THEN.. WHEN NOT MATCHED THEN.. WHEN SOURCE NOT MATCHED THEN..

LO NUEVO EN TRANSACT SQL


SET SHOWPLAN_XML
Muestra el plan de ejecucin en formato XML

COLUMNAS DISPERSAS
Administracin eficiente tablas con campos NULL

Reduccin del espacio utilizado


Crear tablas con ms de 1024 columnas Transparente al escribir una query Atributo sobre la columna (Create / Alter Table )

UDT
No ms lmite de 8K

Parmetros tipo tabla


Posibilidad de pasar una tabla como parmetro

Dependencia de objetos
Posibilidad de conocer las dependencias que existen entre objetos Procedimientos almacenados, vistas, tablas, etc..

CREATE TABLE productos (Id int, Codigo varchar(10), Familia int SPARSE, Linea varchar(5), Rotulo varchar(5) SPARSE )

24/10/2013

COLUMNAS DISPERSAS
Columnas fijas
ProdId ProdId 1 Descript Descript Dulux Emulsion Dulux Roller Emulsion Category Category Paint Price Price 22.9 5 22.9 3.95 5 Current Current False Colour Colour Blue

NDICES FILTRADOS
Columnas dispersas
Size Size Vol Vol 1.5 Fabric Fabric Fit Fit COSH COSH 8729

Indexar una parte de los datos en una tabla Menor espacio en ndices Reduccin del costo de mantenimiento

1 2 2 3 3 4 4 5 5 6 6 7 7 8 8

Paint Tools Tools Home Home Electrical Electrical Garden Garden Garden Wood Wood ... ...

False False False False True True True True True True ... ...

Blue Brown Brown Pearl Pearl Yellow Yellow ... ...

L L ... ...

1.5 1.0 1.0 ... ...

Wool Wool ... ...

Screw Screw ... ...

8729 2776 2776 ... ...

Roller Rug Rug Bulb Bulb Weedkiller Weedkiller Bamboo Bamboo 2x4 2x4 ... ...

3.95 79.5 0 79.5 1.25 0 1.25 7.99 7.99 35.0 0 35.0 2.95 0 2.95 ... ...

CREATE INDEX Id_0001 ON clientes(denominacion) WHERE activo = 1 SELECT vendedor, denominacion FROM clientes WHERE activo = 1

NDICES FILTRADOS
CREATE INDEX Id_0002 ON products(category) WHERE current = True

SQL SERVER 2008 Y XML


Mejoras en los esquemas de validacin
Validaciones Lax
A travs de declaraciones any, anyType, anyAttibute
Fit COSH

ProdId

Descript

Category

Price

Current

Colour

Size

Vol

Fabric

Soporte xs:dateTime
Datos fecha/hora

1 2 3 4 5 6 7 8

Dulux Emulsion Roller Rug Bulb Weedkiller Bamboo 2x4 ...

Paint Tools Home Electrical Garden Garden Wood ...

22.9 5 3.95 79.5 0 1.25 7.99 35.0 0 2.95 ...

False False False True ndice Filtrado True True True ...

Blue Brown Pearl Yellow ...

L ...

1.5 1.0 ...

Wool ...

Screw ...

8729 2776 ...

Union y List
Permite mezclar una lista de definiciones y restricciones en un mismo tipo

Mejoras en Xquery
Clusula let

REPORTING SERVICES ( SSRS )


Arquitectura rediseada Servidor de reportes no utiliza IIS HTTP.SYS Soporte para Microsoft Word 2000/2007 Diseador de reportes independiente Tablix Mix de una tabla y una matrix Integracin con Sharepoint 2007 Nuevos grficos Radar, Gantt, Piramidal, y muchos ms...

REPORTING SERVICES ( SSRS )


Tablix
Reporte de Ventas Regional Ao Producto

2005

2006

Mesa

Silla

Washington

Seattle Spokane

50 30 40 20

60 40 50 30

20 10 10 25

30 20 10 5

Oregon

Portland Eugene

24/10/2013

INTEGRATION SERVICES ( SSIS )


Mejoras en Lookup transformation
Performance Caching

ADO.NET ENTITY FRAMEWORK


Permite programar mediante un modelo conceptual Reduce la cantidad de cdigo orientado a datos Entity Data Model (EDM) nos permite generar las relaciones lgicas - conceptuales Cdigo ms comprensible y limpio Soporte de LINQ -> Entities Enfoque a nivel negocio.

Asistente de conversin de datos


Informacin detallada en columnas

Nuevos componentes de ADO.Net


Consumir datos desde un proveedor .Net Framework Componente para insertar datos

Nuevos tipos de datos soportados


DT_DBTIME2 / DT_DBTIMESTAMP2

ADO.NET SYNCHRONIZATION SERVICES


Escenarios conectados / desconectados Fuente de datos local
SQL Server Compact 3.5

SEGURIDAD
Transparent Data Encryption
Encriptacin de la DB, archivos de logs y datos Transparente al usuario

Fuente de datos remota


Cualquier DB que posea un proveedor ADO.Net Servicio

External Key Management


Integracin con productos externos Hardware y Software

La sincronizacin es iniciada por el cliente Filtrado de filas y columnas


Reduccin del trfico y espacio utilizado Reduccin de conflictos

Auditora
Mejoras en las herramientas Diferentes niveles ( servidor, DB, etc )

CONCLUSIONES
SQL Server 2008 nos provee de importantes mejoras para desarrollar Codificacin simplificada y gil Plataforma de integracin en varias reas Base de datos robusta y escalable Reportes de alta calidad Escenarios conectados / desconectados nfasis en la seguridad

CAPA DE DATOS

ADO.NET
Independiente de la fuente de datos IDbConnection Conexin a cualquier base de datos con proveedores Generales: .NET OLE DB y .NET ODBC Especficos: .NET SQL Client, .NET Oracle Client Modelo conectado de acceso a datos IDbCommand: sentencias SQL (parametrizables con IDbParameter), procedimientos almacenados IDbDataReader: para recuperar resultados

24/10/2013

CAPA DE DATOS

CAPA DE DATOS

ADO.NET (II)
Modelo Desconectado de acceso a datos Dataset Modelo de datos en memoria Desconectado de la base de datos Mantiene memoria de los cambios Es serializable en XML DataAdapter Rellenan un Dataset desde la fuente de datos Concilian los cambios de un Dataset hacia la fuente de datos

ADO.NET: MODELO DESCONECTADO


Capa de presentacin Windows forms
Aplicacin.Exe

Dataset

Web forms
IE

Internet intranet
Xml

Capa de negocios Dataset


DataAdapter DataAdapter

Dataset

Capa de datos
Negocio a Negocio

PANORMICA DE ADO .NET

CREANDO LA BASE DE DATOS


Inicializamos SQL Server Management Studio luego nos va a pedir el nombre del servidor y la autentificacin. Para el nombre del servidor ser: nombre_del_equipo. Y la autentificacin ser: Autentificacin de Windows Estos parmetros van a variar dependiendo de los parmetros que escogi al momento de instalar. Para este caso podemos ver los parmetros en la figura.

CREANDO LA BASE DE DATOS


Luego procedemos a crear una nueva base de datos. Realizamos un clic derecho sobre las pestaa Base de datos. Elegimos la opcin de nueva base de datos. En la nueva ventana asignamos el nombre de la base de datos en nuestro caso db_alumnos. Podemos apreciar en la ventana que de manera automtica se crean los archivos de la base de datos y el espacio asignado

CREANDO LA BASE DE DATOS


Luego procedemos a crear una nueva tabla en la base de datos. Realizamos un clic derecho sobre las pestaa Tablas dentro de la base de datos creada (db_alumnos).

24/10/2013

CREANDO LA BASE DE DATOS


Luego procedemos a registrar algunos datos en la tabla para lo cul: Seleccionamos la tabla y hacemos un clic derecho y escogemos la opcin editar las primeras 200 filas. Ah vamos a poder registrar algunos registro de alumnos, por ahora vamos a registrar 4 registro de los alumnos. Se puede apreciar que el campo de identidad no requiere registrarse ya que de forma automtica se incrementa el cdigo

CREANDO UNA NUEVA APLICACIN EN C#


Crear un nuevo proyecto de Aplicacin Windows asignarle el nombre de Acceso a Base de Datos.

CREANDO UNA NUEVA APLICACIN EN C#


La estructura del formulario debe de quedar como se muestra a continuacin:

CREANDO UNA NUEVA APLICACIN EN C#


Botn Leer

CREANDO UNA NUEVA APLICACIN EN C#


Botn Registrar

CREANDO UNA NUEVA APLICACIN EN C#


Ahora cuando nosotros necesitamos actualizar algn dato del alumno queremos eliminar un registro procederemos de la siguiente forma. Primero declaramos una variable global de tipo entero llamado cod, luego en el evento CellDoubleClick del DataGridView digitaremos el siguiente cdigo:

24/10/2013

CREANDO UNA NUEVA APLICACIN EN C#


Para el botn actualizar escribiremos el siguiente cdigo es actualizar a los valores de los campos nombres, apellidos y fecha de nacimiento: Botn actualizar.

CREANDO UNA NUEVA APLICACIN EN C#


Antes de eliminar un alumno de la base de datos emitiremos un mensaje de confirmacin. Botn Eliminar.

CREANDO UNA NUEVA APLICACIN EN C#


Debemos saber que: ExecuteNonQuery. Este mtodo ejecuta una instruccin de Transact-SQL en la conexin y devuelve el numero de filas afectadas

UNIVERSIDAD NACIONAL DEL CENTRO DEL PER

Facultad de Ingeniera de Sistemas

INGENIERA DE SOFTWARE

PROCEDIMIENTOS ALMACENADOS
MG. RICHARD Y. MERCADO RIVAS

PROCEDIMIENTOS ALMACENADOS Y BINDINGSOURCE


En est parte vamos a aprender a crear y consumir procedimientos almacenados de una base de datos en SQL Server, Tambin veremos el funcionamiento de un Data Table as como BindingSource que nos servir como puente entre los controles (TextBox, ComboBox,etc..) y la base de Datos.

PROCEDIMIENTOS ALMACENADOS
Ejecutar cualquier sentencia SQL significa: Control de Sintaxis Control de validez de los objetos implicados Compilacin Clculo del Plan de Ejecucin (Query Plan) Ejecucin y obtencin de resultados Ejecutar cualquier procedimiento almacenado significa: Ejecucin y obtencin de resultados (El resto se realiza al guardar el PA en la base de datos)

24/10/2013

CREANDO PROCEDIMIENTOS ALMACENADOS


En est parte vamos a crear los procedimientos almacenados para la tabla alumnos de la base de datos db_alumnos.
Para este proceso vamos a la base de datos db_alumnos, luego a la tabla alumnos, dentro de esta tabla se encuentra la carpeta programacin nos ubicamos en procedimientos Almacenados y haciendo un clic derecho elegimos Nuevo procedimiento almacenado. Debemos borrar todo el contenido

CREANDO PROCEDIMIENTOS ALMACENADOS


Procedimiento Almacenado Actualizar
Posteriormente se ejecuta el cdigo y se mostrar el mensaje de Comandos completados correctamente. Luego cerramos el cdigo y si deseamos podemos guardar el cdigo.

CREANDO PROCEDIMIENTOS ALMACENADOS


Procedimiento Almacenado Agregar
Ahora vamos a crear el procedimiento almacenado agregar el cul nos va a permitir agregar nuevos registros en la base de datos.

CREANDO PROCEDIMIENTOS ALMACENADOS


Procedimientos Almacenados Eliminar y Todos
Ahora vamos a crear dos procedimientos almacenados uno que nos permitir eliminar los datos de la tabla y otro para realizar una consulta.

CREANDO UN NUEVO PROYECTO EN C#


Podemos crear una nueva aplicacin Windows en C# o agregar un nuevo formulario en el proyecto anterior.

CREANDO UN NUEVO PROYECTO EN C#


El formulario debe de quedar como se muestra en la ventana:

dgvAlumnos

24/10/2013

CREANDO UN NUEVO PROYECTO EN C#

CREANDO UN NUEVO PROYECTO EN C#

dgvAlumnos

LLAMANDO AL MTODO VER


En el evento LOAD del formulario haremos uso del mtodo ver, para lo cul lo llamamos como se muestra en la siguiente figura

CDIGO DEL BOTN AGREGAR

SELECCIONANDO DATOS DEL DATAGRIDVIEW


Para poder actualizar los datos primero debemos seleccionar cul de los registros debemos modificar, para ello en el evento CellClick del datagridview vamos a colocar el siguiente cdigo:

CDIGO PARA EL BOTN ACTUALIZAR

24/10/2013

BSQUEDA DE ALUMNOS POR APELLIDOS

BSQUEDA DE ALUMNOS POR FECHA DE NACIMIENTO

CDIGO PARA EL BOTN ELIMINAR


Para poder eliminar un alumno, se debe de hacer a travs de su id que es el campo idalumno, por lo que en el botn eliminar debe ir este cdigo

UNIVERSIDAD NACIONAL DEL CENTRO DEL PER

Facultad de Ingeniera de Sistemas

MG. RICHARD Y. MERCADO RIVAS

10

Potrebbero piacerti anche