INE 5612 DSOOII Prof. Frank Siqueira - Turma 04238A Equipe:
Jucemar, Rodrigo, William ADO.NET Framework
Slide 2
Introduo ao ADO.net Hoje h novas necessidades e desafios nos
modelos de programao para acesso a dados em relao ao antigo modelo
cliente/servidor. H um crescimento no nmero de aplicaes Web que
rodam no cliente, sendo assim no se pode manter uma conexo aberta
durante muito tempo. As aplicaes hoje so desenvolvidas em
multicamadas e h grandes desafios de como passar esses dados entre
essas camadas.
Slide 3
Introduo ao ADO.net O modelo de programao atual pede que ns
tenhamos um modelo desconectado. O ADO.net foi criado pensado
justamente nessas novas necessidades e desafios do novo modelo de
programao. Constitui-se, basicamente, em um conjunto de classes
para trabalhar com dados. Inclui ferramentas para se conectar a um
banco de dados, executar comandos e recuperar os resultados. Os
resultados so processados diretamente, colocados em um objeto
DataSet e exibidos para o usurio. ADO.NET uma evoluo do ADO
(ActiveX Data Objects).
Slide 4
Sistemas Operacionais compatveis ADO.net Windows Vista Windows
XP Windows 2000 Windows NT 4 com SP6a Windows Millennium Edition
Windows 98 Windows CE
Slide 5
Caractersticas compatvel com aplicaes de cenrios conectados;
compatvel com aplicaes de cenrios desconectados; um modelo de
programao com suporte avanado para o XML; Permite trabalhar com
mltiplas fontes de dados diferentes ao mesmo tempo e de uma mesma
maneira;
Slide 6
Caractersticas Totalmente integrado ao.NET Framework; Como
nativo, sua API pode ser utilizada com as diversas linguagens que
fazer parte do.NET Framework: Visual Basic, C#, entre outras;
sucessor do ADO, porm mais flexvel; Possui um conjunto de Classes,
Interfaces, Estruturas e Enumeraes que gerem o aceso a dados dentro
do.NET Framework;
Slide 7
Compatibilidade com fontes de dados. Permite a comunicao com
qualquer banco de dados relacionais entre outras fontes como
arquivos CVS e Excel e etc. ADO.net SQL Server
MySQLFireBirdOracleSybaseAccessXML arquivos textos
Slide 8
Arquitetura do ADO.net
Slide 9
Arquitetura do ADO.net - DataProvider So bibliotecas que
possibilitam uma maneira comum de interagir com uma fonte especfica
de dados. Cada biblioteca possui um prefixo que indica qual
provedor ela suporta.
Slide 10
DataProvider - Principais provedores Nome do Provedor API
prefixoDescrio ODBC Data ProviderOdbcFonte de dados com uma
interface ODBC interface. Geralmente usada para banco de dados
antigos OleDb Data ProviderOleDbFonte de dados que expe uma
interface OleDb interface, ou seja: Access ou Excel Oracle Data
ProviderOraclePara banco de dados Oracle SQL Data ProviderSqlPara
interao com o Microsoft SQL Server
Slide 11
Arquitetura do ADO.net - DataProvider Connection: Usado para se
conectar a base de dados Command: Usado para criar comandos dentro
da fonte de dados DataReader: Fornece um acesso conectado
somente-leitura e somente- para-frente a uma fonte de dados. O
DataReader efetua uma nica passagem pelo conjunto de registros do
banco da forma mais eficiente possvel. So objetos que no podem ser
diretamente instanciados. O DataReader retornado pelo mtodo
ExecuteReader do objeto Command.
Slide 12
Arquitetura do ADO.net - DataProvider DataAdapter: Componentes
encarregados de chamar os comandos de leitura, atualizao, incluso e
excluso de informaes em uma fonte de dados pode ser usado para
preencher um DataReader ou um DataSet. O DataAdapter promove
associao entre o provedor de dados.NET e o DataSet. um mediador,
que facilita a comunicao entre o banco de dados e o DataSet. O
DataAdapter l os dados do banco e os armazena dentro do DataSet
atravs do mtodo Fill. Ele tambm escreve as alteraes efetuadas nos
dados, a partir do DataSet, para que elas posteriormente sejam
gravadas no banco atravs do mtodo Update.
Slide 13
Arquitetura do ADO.net - DataSet DataSet: Fornece um
representao relacional em memria de dados, sendo um conjunto
completo de dados que incluem tabelas que contm dados, restries de
dados e relacionamentos entre as tabelas. O acesso desconectado. o
principal componente da arquitetura ADO.NET, armazenando dados do
banco no lado do cliente. Funciona como uma coleo de uma ou mais
tabelas, que forma os objetos DataTable. Cada DataTable corresponde
a uma nica tabela ou viso. Assim, um objeto do tipo DataSet simula
a estrutura da base de dados qual se efetuou a consulta.
Slide 14
Arquitetura do ADO.net - DataSet Criada para manipular os dados
independente da fonte; Pode receber fontes de dados de bancos de
dados atravs do DataAdapter; Pode trabalhar diretamente com
arquivos XML; Pode ainda trabalhar com fontes de dados diferentes
dentro de um mesmo DataSet; Permite manipular os dados, efetuando
leituras e alteraes necessrias no modelo desconectado, sem a
necessidade de manter a conexo aberta com o banco de dados.
Slide 15
Arquitetura do ADO.net - DataSet DataRelationCollection:
Permite a criao de relacionamentos entre as DataTables contidas
dentro do DataSet. Com tudo isso tem-se um modelo desconectado em
memria algo muito parecido com que voc possui em um banco de
dados.
Slide 16
Alterao na base - Desconectado Abrir ligao Preencher o DataSet
Fechar ligao Processar o DataSet Abrir Ligao Atualizar a fonte de
dados Fechar a ligao
Slide 17
Exemplos de Utilizao C# using System.Data.SqlClient; //
Instancia um objeto DataSet DataSet objetoDataSet = new DataSet();
// Instancia um objeto conexo e passa dados para a conexo como
parametros SqlConnection conex = new SqlConnection(Servidor, DB,
User, Senha); // Abre a conexo conex.Open(); // Instncia um objeto
DataAdapter especializado em Fontes de dados SQL SqlDataAdapter
adapter = new SqlDataAdapter();
Slide 18
Exemplos de Utilizao C# // Inicializa o atributo do objeto
DataAdapter responsvel pelas consultas ao BD passando como
parametro a consulta e a conexo adapter.SelectCommand = new
SqlCommand(select * from Usuarios, conex); //Cria a tabela Usuarios
dentro do objeto DataSet e preeche ela com o resultado da consulta
ao BD adapter.Fill(objetoDataSet, Usuarios); // Fecha a conexo com
o servidor conex.Close();
Slide 19
Exemplos de Utilizao C# //Retorna a tabela Usurios do
objetoDataSet e armazena em uma variavel DataTable tabela =
objetoDataSet.Tables[Usuarios"]; //Altera o campo cidade do
primeiro usurio tabela.Rows[0][cidade"] = Florianopolis"; //Efetua
a atualizao da base de dados a partir do objetoDataAdapter
adapter.Update(objetoDataSet);
Slide 20
ADO : ActiveX Data Objects (ADO) mecanismo Component Object
Model criado pela Microsoft para que programas pudessem trocar
informaes com as bases de dados. Pacote Microsoft Data Access
Components (MDAC), disponibilizado gratuitamente, tem suporte a
ASP, Delphi, PowerBuilder e VBA ADO : aplicao em ambientes
Cliente/Servidor com acesso simultneo de vrios usurios. Era
utilizado em pginas dinmicas desenvolvidas em ASP, que rodavam
VBScript e JavaScript no servidor. Histrico
Slide 21
ADO x ADO.NET ADO : utilizava um conjunto comum de classes para
executar conexes a bancos de dados, recuperar registros e efetuar
atualizaes nesse banco, executar procedures, etc. ADO : basicamente
trs objetos, que no ADO.NET foram expandidos e especializados para
suportarem as funcionalidades dos seus fornecedores de acesso. No
esquema ao lado, Xxx pode ser alterado para Odbc, Sql, dentre
outros. ADO.NET : possui dois conjuntos de classes que so
utilizadas para cessar os dados, dependendo de como eles esto
armazenados. ADO.NET : classes Disponibilizadas em pacotes
diferentes. Para acessar um SQL Server, utiliza classes do pacote
System.Data.SqlClient. Para acessar dados em outras fonts (como
Excel, MySQL, Access, incluindo SQL Server), so utilizadas as
classes do pacote System.Data.OleDb namespace.
Slide 22
ADO x ADO.NET O ADO utiliza o objeto Recordset para navegar e
manipular dados. O ADO.NET substituiu esse objeto por outros trs :
DataReader e DataAdapter (para connected recordsets), e DataSet
(para disconnected recordsets). O Recordset funciona como uma nica
tabela. Se for necessrio que ela contenha dados de vrias tabelas
diferentes, ser necessrio executar o comando JOIN para que todos os
registros sejam reunidos em uma nica relao.
Slide 23
ADO x ADO.NET OperaoADOADO.NET Suporte a XMLLimitadoCompleto
Representao dos dados em memria RecordsetDataset TabelasSuporta
apenas uma tabela, demandando uso do operador JOIN Suporta mltiplas
tabelas, com simulao da estrutura do banco NavegaoVarredura
sequencial das colunas com o mtodo MoveNext Colunas representadas
como colees, permitindo acesso direto a dados e posies especficas
Conexo ao banco de dados Objeto recordset permite operaes offline,
mas o ADO foi desenhado para operar com uma conexo sempre ativa
base de dados. Conexo dura apenas o tempo necessrio para efetuar
operaes no Banco de Dados como Select ou Update. Informaes so lidas
para dentro do objeto dataset, onde sero trabalhadas sem que
precise haver conexo ativa com a base de dados. Passagem de
dadosComunicao em modo binrio (Modelo COM - Composed Objected
Model-marshaling) XML. Comunicao atravs de um data adapter, permite
controlar como os dados so transmitidos Compartilhamento de dados
entre aplicaes Suporte limitado ao tipo de dados que podem ser
transmitidos do recordset Transmisso de dados baseada em formato
XML, sem restries ao tipo de dados que trafegam