5) Conceitos e Terminologia de Banco de Dados • • Uma visão relacional de dados • Integrando um BD com um Servidor Web e um Cliente Web Implementando um banco de dados relacional (BD) com Microsoft/Access [ e-comm ] 5) CONCEITOS E TERMINOLOGIA DE BANCO DE DADOS UMA VISÃO RELACIONAL DE DADOS Um banco de dados é um conjunto de tabelas (matematicamente, relações), e nada mais que tabelas. © UFPB / DSC / MCS Abril/2001 57 [ e-comm ] IMPLEMENTANDO UM BANCO DE DADOS RELACIONAL (BD) COM MICROSOFT/ACCESS © UFPB / DSC / MCS Abril/2001 58 [ e-comm ] © UFPB / DSC / MCS Abril/2001 59 [ e-comm ] Normalização de Tabelas o Por que duas tabelas? Para evitar repetições desnecessárias das linhas da tabela members Um sócio do clube de vendedores de moedas pode colecionar muitas moedas o Uma técnica provada, conhecida por Normalização, garante que um banco de dados só tenha boas tabelas, ou seja, tabelas sem redundâncias desnecessárias A tabela members (memberid, chave primária) não tem redundâncias A tabela forsale tem redundâncias necessárias (memberid, chave externa), e redundâncias desnecessárias (repetições de valores de country, coinname e year) O banco de dados coinclub está parcialmente normalizado © UFPB / DSC / MCS Abril/2001 60 [ e-comm ] © UFPB / DSC / MCS Abril/2001 61 [ e-comm ] © UFPB / DSC / MCS Abril/2001 62 [ e-comm ] © UFPB / DSC / MCS Abril/2001 63 [ e-comm ] © UFPB / DSC / MCS Abril/2001 64 [ e-comm ] © UFPB / DSC / MCS Abril/2001 65 [ e-comm ] © UFPB / DSC / MCS Abril/2001 66 [ e-comm ] © UFPB / DSC / MCS Abril/2001 67 [ e-comm ] © UFPB / DSC / MCS Abril/2001 68 [ e-comm ] © UFPB / DSC / MCS Abril/2001 69 [ e-comm ] © UFPB / DSC / MCS Abril/2001 70 [ e-comm ] © UFPB / DSC / MCS Abril/2001 71 [ e-comm ] © UFPB / DSC / MCS Abril/2001 72 [ e-comm ] © UFPB / DSC / MCS Abril/2001 73 [ e-comm ] INTEGRANDO UM BD COM UM SERVIDOR WEB E UM CLIENTE WEB Programação Orientada a Objeto Solução Microsoft de Integração BD – Web A Microsoft e a Concorrência Perspectivas © UFPB / DSC / MCS Abril/2001 74 [ e-comm ] O CONCEITO DE OBJETO © UFPB / DSC / MCS Abril/2001 75 [ e-comm ] O conceito fundamental subjacente é o de encapsulação. Um programa não precisa conhecer os detalhes de um tipo de um objeto (estruturas de dados, códigos das operações) para executar uma operação da interface do objeto (ou requisitar um serviço do mesmo) Tipo X (estruturas de dados + operações) Biblioteca Pública de Tipos Um certo programa: X var_X variável do tipo X ... var_X tem o endereço (aponta) de (para) um objeto do tipo X var_X.operaçãoj([parâmetros]) © UFPB / DSC / MCS Abril/2001 76 [ e-comm ] Muitos outros programas podem estar acessando objetos do tipo X (por exemplo, conexão a BD Oracle) Se o tipo de um objeto for alterado (estrutura de dados e/ou código de operação), as (centenas) de programas que executam operações de objetos do tipo não são alterados Imagine que o tipo X da biblioteca pública foi alterado (estrutura de dados e/ou código de operação). O que acontece com os programas que manipulam objetos do tipo X? Absolutamente nada! © UFPB / DSC / MCS Abril/2001 77 [ e-comm ] SOLUÇÃO MICROSOFT DE INTEGRAÇÃO BD – WEB © UFPB / DSC / MCS Abril/2001 78 [ e-comm ] WEB BROWSER: INTERNET EXPLORER SERVIDOR WEB: INTERNET INFORMATION SERVER PLATAFORMAS Windows 2000 / NT Windows 95 – 98 – Millennium (`pendurados´ no NT) O BD MICROSOFT/ACCESS EXEMPLO © UFPB / DSC / MCS Abril/2001 79 [ e-comm ] © UFPB / DSC / MCS Abril/2001 80 [ e-comm ] UM DOCUMENTO ASP <html> <head> </head> <body> <p> <% VBScript code scriptsSQL + operações ADO %> </p> </body> </html> © UFPB / DSC / MCS Abril/2001 81 [ e-comm ] © UFPB / DSC / MCS Abril/2001 82 [ e-comm ] DADOS + HTML <html> <head> </head> <body> <p> 4, Valery Ivanovitch, C<br> 6, Allan Grunwald, C<br> 7, Sam Clubbe, LW<br> … 38, Junior Springer, C<br> 39, Russel Sullivan, G<br> 93, Steven Lund, D<br> </p> </body> </html> © UFPB / DSC / MCS Abril/2001 83 [ e-comm ] APRESENTAÇÃO DOS DADOS 4, Valery Ivanovitch, C<br> 6, Allan Grunwald, C<br> 7, Sam Clubbe, LW<br> … 38, Junior Springer, C<br> 39, Russel Sullivan, G<br> 93, Steven Lund, D<br> © UFPB / DSC / MCS Abril/2001 84 [ e-comm ] LIMITAÇÕES DO ACCESS Access não é um Sistema de Gerência de Banco de Dados (SGBD) stricto sensu Funções de um SGBD o Visão lógica relacional o Interoperabilidade (Access) o Integridade de dados (Access: limitado) o Proteção de acesso (Segurança) (Access: limitado) o Manipulação de grandes volumes de dados (“very large databases”) o Suporte transacional (ambiente multi-usuário) Controle de acessos concorrentes Tolerância a faltas © UFPB / DSC / MCS Abril/2001 85 [ e-comm ] OS SGBDs DA MICROSOFT ACCESS o Monousuário, pequenos volumes de dados SQL SERVER o SGBD stricto sensu Multiusuário Médios volumes de dados © UFPB / DSC / MCS Abril/2001 86 [ e-comm ] INTEROPERABILIDADE DE SGBDs Questão fundamental Nas empresas, proliferam SGBDs, de tamanho e marca diferentes (a Microsoft não é a líder do mercado de SGBDs!). Como escrever facilmente software para acessar BDs diferentes intra-empresa e inter-empresa? Protocolo padrão de acesso a SGBDs SQL padrão SQL Microsoft = SQL Padrão + TransactSQL SQL Oracle = SQL Padrão + PL/SQL SQL Informix = SQL Padrão + SPL/SQL © UFPB / DSC / MCS Abril/2001 87 [ e-comm ] Objetos Drivers ODBC (Open DataBase Connection) Microsoft Access Driver SQL Server Microsoft ODBC for Oracle Microsoft ODBC for IBM © UFPB / DSC / MCS Abril/2001 88 [ e-comm ] © UFPB / DSC / MCS Abril/2001 89 [ e-comm ] A MICROSOFT E A CONCORRÊNCIA MICROSOFT ORACLE / IBM WINDOWS 95 - MILLENNIUM LINUX WINDOWS 2000 - NT UNIX E DIALETOS VB JAVA ASP JSP (JAVA SERVER PAGES) ADO EJB (ENTERPRISE JAVA BEANS) ODBC JDBC (JAVA DATABASE CONNECTION) INTERNET INFORMATION SERVER NETSCAPE ENTERPRISE SERVER SQL SERVER ORACLE OR* ** / IBM DB/2 OR* ** * - Grandes volumes de dados ** - Objeto-relacional © UFPB / DSC / MCS Abril/2001 90 [ e-comm ] SITUAÇÃO ATUAL E PERSPECTIVAS DO MERCADO DE SERVIDORES WEB A Microsoft predomina nas pequenas e médias empresas Oracle predomina nas grandes empresas A base instalada de servidores Web não Microsoft se aproxima rapidamente da base instalada de servidores Web Microsoft O futuro do Linux parece róseo Windows continuará reinando, mas a alternativa Linux tornarse-á cada vez mais viável Previsão dos especialistas em tendências do mercado o Microsoft continuará reinando folgadamente no mercado de software para desktops (clientes, interfaces) o Oracle, IBM, e de um modo geral o mundo Java, dominarão o mercado de servidores Web o Até que ponto os `videntes´ merecem confiança?! © UFPB / DSC / MCS Abril/2001 91