UM ESTUDO SOBRE SISTEMAS DE BANCO DE DADOS CLIENTE/SERVIDOR

Tamanho: px
Começar a partir da página:

Download "UM ESTUDO SOBRE SISTEMAS DE BANCO DE DADOS CLIENTE/SERVIDOR"

Transcrição

1 ENIO KILDER OLIVEIRA DA SILVA UM ESTUDO SOBRE SISTEMAS DE BANCO DE DADOS CLIENTE/SERVIDOR ASPER - ASSOCIAÇÃO PARAIBANA DE ENSINO RENOVADO FACULDADE PARAIBANA DE PROCESSAMENTO DE DADOS CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS João Pessoa PB 2001

2 UM ESTUDO SOBRE SISTEMAS DE BANCO DE DADOS CLIENTE/SERVIDOR

3 FICHA CATALOGRÁFICA SILVA, Enio Kilder Oliveira S586u Um Estudo sobre Sistemas de Banco de Dados Cliente/Servidor. João Pessoa PB, p Monografia 1. Banco de Dados Sistemas. 2. Cliente/Servidor Arquitetura I. Título ilus.

4 ENIO KILDER OLIVEIRA DA SILVA UM ESTUDO SOBRE SISTEMAS DE BANCO DE DADOS CLIENTE/SERVIDOR Monografia apresentada ao Curso de Processamento de Dados da Faculdade Paraibana de Processamento de Dados, como um dos requisitos para a obtenção do título de Graduado em Processamento de Dados. Orientador: Prof. Nilton Freire Santos. ASPER - ASSOCIAÇÃO PARAIBANA DE ENSINO RENOVADO FACULDADE PARAIBANA DE PROCESSAMENTO DE DADOS CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS

5 ENIO KILDER OLIVEIRA DA SILVA UM ESTUDO SOBRE SISTEMAS DE BANCO DE DADOS CLIENTE/SERVIDOR Aprovada em / / 2001 BANCA EXAMINADORA Orientador Examinador (1) Examinador (2)

6 Aos meus pais José de Arimatéa da Silva e Maria de Lourdes Oliveira da Silva e aos meus irmãos Nenê e Hercênio, DEDICO.

7 AGRADECIMENTOS Primeiramente a Deus, por ter me dado vida, saúde e sabedoria necessária para enfrentar os obstáculos. Aos meus pais Arimatéa e Lourdes, pelo amor, carinho, educação e todo apoio necessário para minha formação. Ao Prof. Nilton, por sua orientação para a conclusão deste trabalho, fica a minha eterna gratidão. À bibliotecária Cristiane Gaspar, pelo apoio técnico dado na organização deste trabalho. À Jailma pela sua amizade, carinho e apoio, e também por ter me ajudado a organizar o trabalho em cima da hora.

8 SUMÁRIO LISTA DE FIGURAS RESUMO CAPÍTULO 1 - APRESENTAÇÃO Introdução Justificativa Objetivos Geral Específicos Organização do Trabalho CAPÍTULO 2 - REVISÃO BIBLIOGRÁFICA Fundamentos sobre Sistemas de Banco de Dados Retrospectiva Histórica Teoria de Banco de Dados Multiusuário Fundamentos sobre a Arquitetura Cliente/Servidor Aspectos Básicos da Arquitetura Cliente/Servidor Tipos de Sistema Cliente/Servidor Principais Mecanismos O Sistema Cliente O Sistema Servidor A Rede de Comunicação de Dados Aplicações e Perspectivas CAPÍTULO 3 - SISTEMAS DE BANCO DE DADOS CLIENTE/SERVIDOR Definições O Sistema Cliente O Sistema Servidor Vantagens e Desvantagens Componentes Principais O Sistema de Gerenciamento de Banco de Dados (SGBD) O Modelo de Representação de Dados Modelo Relacional Modelo Orientado a Objetos Modelo Objeto-Relacional A Linguagem SQL e seus Recursos Visões

9 Índices Transações Procedimentos Armazenados Triggers Interfaces de Comunicação para Bancos de Dados ODBC DBI JDBC BDE Os Programas de Aplicação Gerência de Transações Controle de Concorrência Segurança e Administração Principais Soluções da Indústria de Banco de Dados Cliente/Servidor Oracle SQL Server Sybase SQL Server Informix C/A Ingres IBM DB Centura SQLBase PostgreSQL MySQL GemStone CAPÍTULO 4 - APLICAÇÕES DE BANCO DE DADOS CLIENTE/SERVIDOR Aspectos Básicos Processamento de Bancos de Dados Distribuídos Internet e Intranets Organizacionais Sistemas de Informações Geográficas (GIS) Banco de Dados Multimídia Data Warehouses CAPÍTULO 5 - CONCLUSÃO Considerações Finais ABSTRACT Referências Bibliográficas

10 LISTA DE FIGURAS FIGURA 1 - Representação de um sistema de banco de dados FIGURA 2 - Representação da arquitetura cliente/servidor FIGURA 3 - Tipos de sistema cliente/servidor FIGURA 4 - Componentes de um sistema cliente FIGURA 5 - Componentes de um sistema servidor FIGURA 6 - Representação de um sistema de banco de dados cliente/servidor FIGURA 7 - Estrutura de um SGBD FIGURA 8 - Modelo de banco de dados relacional FIGURA 9 - Modelo de banco de dados orientado a objeto FIGURA 10 - Exemplos de resultados obtidos através de instrução SQL FIGURA 11 - A arquitetura ODBC FIGURA 12 - A arquitetura DBI FIGURA 13 - A arquitetura JDBC FIGURA 14 - A arquitetura do BDE FIGURA 15 - Interface de um programa de aplicação FIGURA 16 - Estrutura de uma aplicação FIGURA 17 - Representação de um processo de transação FIGURA 18 - Conexão com SGBD cliente/servidor FIGURA 19 - Definindo privilégios no SQL Server FIGURA 20 - Visão Geral do Oracle Enterprise Manager FIGURA 21 - Visão geral do Microsoft SQL Server FIGURA 22 - Visão geral do Sybase SQL Server FIGURA 23 - Visão geral do Command Center do Informix FIGURA 24 - Visão geral do Centro de Controle do DB FIGURA 25 - Visão geral do MySQL para Windows FIGURA 26 - Exemplo de aplicação web de comércio eletrônico FIGURA 27 - Exemplo de processamento de dados geográficos na Internet

11 RESUMO Esta pesquisa tem por objetivo, apresentar uma abordagem sobre os sistemas de banco de dados utilizados em ambientes de processamento cliente/servidor, descrevendo seus principais componentes e as tecnologias empregadas para integração entre bancos de dados e aplicações. Com base nesta análise são apontados os principais aspectos que levaram os sistemas de bancos de dados cliente/servidor a se tornarem as principais plataformas para gerenciamento de dados e suporte às novas aplicações.

12 CAPÍTULO 1 - APRESENTAÇÃO 1.1. INTRODUÇÃO Segundo Hackathorn (1993, p.2), a última década do século XX ocasionou uma profunda reavaliação sobre os fundamentos relativos aos sistemas de informação utilizados nas empresas. Tal fato originou-se em virtude da discussão gerada em relação à real efetividade de custo, desempenho e flexibilidade dos sistemas centralizados. Com base na meta de reduzir custos operacionais e ao mesmo tempo oferecer soluções de forma imediata aos seus clientes, as empresas apontaram como alternativa, adotar um processo de modernização através do achatamento de suas estruturas organizacionais. Tal processo visava integrar novas tecnologias às aplicações que representam as regras de negócio da organização.

13 11 Paralelamente, mesmo com a mudança imposta pela adoção de novos paradigmas empresariais, sempre houve a preocupação por manter dados pessoais e gerenciais armazenados com segurança e ao mesmo tempo, gerenciados de forma rápida e eficiente. Com a aquisição de novas soluções tecnológicas de tratamento de dados, esperava-se atingir o objetivo esperado, que é a produção de informações operacionais, necessárias para o processo de tomada de decisões. De acordo com Date (1990, p.5), o propósito principal a ser alcançado pelos sistemas de bancos de dados desde o seu surgimento, era o de oferecer recursos que visam manter os dados organizacionais e torná-los disponíveis quando solicitados. Com a adoção de sistemas de banco de dados, as empresas puderam dispor de uma ferramenta eficiente para tratamento e disseminação de informações, superando assim todas as limitações impostas pelos sistemas anteriores. Hoje podemos afirmar que os sistemas de informação evoluíram consideravelmente, contribuindo de forma significativa para o amadurecimento e o crescente uso dos sistemas de banco de dados. Com o surgimento de novos modelos de SGBDs, os sistemas de informação ganharam mais capacidade para armazenar e gerenciar bancos de dados de forma simples e eficiente. Já com a arquitetura cliente/servidor, os sistemas de banco de dados ampliaram ainda mais a sua potencialidade e a sua importância para as empresas. Isso impulsionou nos últimos anos o desenvolvimento de novas tecnologias capazes de prover integração entre banco de dados e suporte a várias aplicações em diferentes plataformas computacionais.

14 JUSTIFICATIVA Os sistemas de banco de dados cliente/servidor passaram a ser adotados por todas as empresas, devido às inúmeras vantagens apresentadas para prover suporte às novas aplicações empresariais. De acordo com Prado (1998, p.3), o que contribuiu de forma decisiva para a disseminação do uso dos sistemas de bancos de dados cliente/servidor, foram os inúmeros problemas encontrados em sistemas que utilizam o modelo de bancos de dados centralizado. Apesar dos sistemas centralizados proporcionarem ganhos significativos de produtividade, não ofereciam soluções para os seguintes problemas encontrados: - Aumento de tráfego na rede, tendo como causa o acesso simultâneo dos usuários ao banco de dados, gerando assim uma significativa degradação na performance do sistema; - Ausência de mecanismos que possibilitem restringir o acesso de usuários não autorizados a determinadas informações do banco de dados; - O grande volume de dados que eram processados em estações que, em muitos casos, não possuíam capacidade de processamento adequada nem memória suficiente.

15 13 A utilização da arquitetura cliente/servidor permitiu que os sistemas de banco de dados atuais pudessem superar todas as limitações impostas pelos sistemas centralizados, tornando o processo de gerência de banco de dados mais eficiente e com maior grau de segurança. Além desses benefícios, a arquitetura cliente/servidor possibilitou que os sistemas de informação pudessem evoluir, adotando novos recursos de hardware e software, capazes de oferecer maior eficiência e performance aos sistemas de gerência de banco de dados e suas aplicações. Como justificativa para o tema proposto, podemos destacar que a importância deste trabalho leva em conta que, os sistemas de banco de dados cliente/servidor, são os principais recursos da tecnologia da informação empregados atualmente nas empresas. A fim de ter-se um conhecimento amplo a respeito destes sistemas, pretende-se com este trabalho fornecer uma fonte de informação abrangente a respeito dos fundamentos e dos recursos tecnológicos empregados, de modo a contribuir para desenvolvimento de novas aplicações cliente/servidor. Vale lembrar que, a mudança do paradigma de sistema centralizado para o paradigma de sistema cliente/servidor, acabou se tornando uma atitude a ser adotada firmemente pelas organizações. Paralelamente, os sistemas de banco de dados, dentro deste novo paradigma, continuarão em pleno processo de evolução de modo a expandir cada vez mais a sua capacidade de forma a lidar com novos tipos de aplicações.

16 OBJETIVOS GERAL Apresentar um estudo sobre sistemas de banco de dados que usam a arquitetura cliente/servidor, descrevendo os principais aspectos que contribuíram para transforma-la na principal plataforma para desenvolvimento de novas soluções, voltadas ao gerenciamento de dados empresariais ESPECÍFICOS - Apresentar os principais componentes dos sistemas de banco de dados cliente/servidor e sua aplicabilidade no processo de gerência de banco de dados; - Identificar as principais ferramentas disponíveis e os processos utilizados no gerenciamento de banco de dados multiusuário atuais; - Descrever os principais benefícios dos modelos de banco de dados cliente/servidor e suas aplicações.

17 ORGANIZAÇÃO DO TRABALHO Os itens subseqüentes deste trabalho estão distribuídos da seguinte forma: O Capítulo 2 aborda os conceitos fundamentais sobre os sistemas de banco de dados e a arquitetura cliente/servidor. Descreve os aspectos históricos e técnicos destas tecnologias, de modo a servir de base para compreensão a respeito da metodologia de funcionamento dos sistemas de banco de dados cliente/servidor. O Capítulo 3 relata uma visão geral sobre os conceitos fundamentais referente aos sistemas de banco de dados cliente/servidor. São apresentadas as características de seus componentes e os principais mecanismos utilizados no processo de gerenciamento e segurança dos dados. Também serão abordados neste capítulo os principais SGBDs cliente/servidor existentes no mercado, descrevendo algumas das principais características empregadas nestes produtos. O Capítulo 4 descreve as principais aplicações de banco de dados clientes/servidor, analisando os principais aspectos funcionais e tecnológicos e empregados nestas aplicações. O Capítulo 5 apresenta a conclusão do trabalho realizado, expondo as considerações finais do autor, sugestões e outras observações que poderão contribuir para futuras pesquisas relacionadas o tema deste trabalho.

18 CAPÍTULO 2 - REVISÃO BIBLIOGRÁFICA 2.1. FUNDAMENTOS SOBRE SISTEMAS DE BANCO DE DADOS Retrospectiva Histórica Em meados dos anos 60 do Século XX, os paradigmas de armazenamento e processamento de informações passaram por uma grande mudança com o surgimento da tecnologia de armazenamento baseada em discos magnéticos. Isso fez com que dados e aplicações de software, que antes formavam um único elemento, passaram a ser independentes um do outro. Isso permitiu a criação de ferramentas capazes de gerenciar e manipular estes dados da forma mais eficiente possível a fim de obter os resultados esperados. Os sistemas de banco de dados vieram a surgir na década de 60, com o objetivo de fornecer recursos capazes de armazenar, organizar, manipular e recuperar dados de forma segura, rápida e eficiente. Trata-se de uma solução que supera todas as

19 17 limitações da tecnologia baseada nos sistemas de arquivos tradicionais, que tinham uma ampla dependência com relação à forma de organização da estrutura dos arquivos. Essa dependência obrigava a alterar toda programação das funções de dados, sempre que houvesse alterações em sua estrutura. Além disso, eles não apresentavam soluções para problemas relativos à duplicação da informação, inconsistências e integridade. Segundo Melo (1997, p.3), um sistema de banco de dados pode ser definido como um ambiente de hardware e software composto por dados armazenados em banco de dados (BD), o software que gerencia o banco de dados (SGBD) e os programas de aplicação. Pode-se dizer que esta modalidade de processamento de dados trouxe uma série de vantagens, sendo que a mais significativa foi tornar os bancos de dados independentes da aplicação. As aplicações, que antes acessavam os dados diretamente, passaram a se comunicar com o SGBD, enviando apenas as requisições necessárias para obter os resultados desejados. Figura 1: Representação de um sistema de banco de dados

20 18 Para chegar aos modelos atuais, os sistemas de banco de dados passaram por uma série de mudanças na sua arquitetura, de forma a se tornar compatível com as novas tendências de tecnologia adotadas pelas organizações. Nos anos 70, quando o foco principal era voltado exclusivamente aos programas de aplicação, os sistemas projetados tinham a função de atender apenas as necessidades específicas da empresa. Isso resultou em sistemas robustos, que dependiam diretamente da plataforma computacional na qual eram projetados para operar. Já nos anos 80, o avanço da tecnologia dos chips contribuiu de forma significativa para diminuir o tamanho e o custo dos computadores. Juntamente com a popularização do software e a disseminação das redes de computadores, criou-se uma nova filosofia de desenvolvimento de aplicações de bancos de dados, cujo foco estaria centralizado no usuário final. Com a difusão da computação distribuída, que levou a aplicação a ser executada nas estações de trabalho, os requisitos de novas aplicações se baseavam em oferecer recursos que tornassem a apresentação dos dados mais simples para os usuários. Para complementar, as ferramentas de conectividade remotas adequadas, fizeram com que os dados pusessem ser compartilhados por sistemas computacionais de diferentes plataformas. Atualmente os sistemas de banco de dados podem ser agrupados em modelos, os quais representam claramente os diversos estágios de evolução até chegar aos modelos atuais. Segundo Salemi (1994, p.7), os modelos de banco de dados possibilitaram dividir os sistemas em várias categorias que serão apresentadas a seguir.

21 19 a) Sistema de Gerenciamento de Arquivos (FMS File Management System): Foi a primeira forma utilizada para armazenamento de dados em banco de dados. A metodologia de funcionamento e baseia em armazenar os dados de forma seqüencial em um único arquivo. Esse sistema tem como vantagem a simplicidade na forma em que os dados são estruturados no arquivo. No entanto esse sistema não apresenta relação entre os dados, nem mecanismos de busca, classificação e recursos para evitar problemas de integridade. b) Sistema de Banco de Dados Hierárquico (HDS Hierarquical Database System): Surgiu na década de 60 com a primeira linguagem de banco de dados conhecida como a DL/I desenvolvida pela IBM e a North American Aviation. É um modelo de banco de dados onde os dados armazenados são estruturados em forma de árvore. Cada estrutura de dados se origina a partir de um nó raiz e se ramifica criando relações pai-filho com outras classes de dados, criando assim relações de um para vários elementos. A desvantagem estaria na rigidez da estrutura de dados, que obrigaria refazer todo o banco de dados, caso a classe de dados principal ou a classe que possuem classes dependentes fosse alterada. São exemplos de bancos de dados hierárquicos o IMS (Information Management System) da IBM e TDMS (Time-shared Database Management System) da System Development Corporation. c) Sistema de Banco de Dados em Rede (NDS - Network Database System): Esse modelo surgiu entre a década de 60 e 70 como uma extensão do modelo hierárquico, incorporando recursos para criar mais de uma relação pai-filho e estabelecer relações entre os seus elementos. Esta metodologia torna a pesquisa

22 20 mais rápida e mais flexível, pois não depende de um único nó raiz como vetor de inicialização de pesquisa. Entretanto apesar da flexibilidade, o modelo de rede ainda apresenta os mesmos problemas com relação ao projeto de estrutura do modelo hierárquico. Qualquer alteração feita em uma classe de dados implicaria na criação de uma nova estrutura para suportar àquela alteração. Seus principais representantes são o IDS da General Eletric e o Idms da Cullinet. d) Modelo de Dados Relacional (RDM Relational Data Model): Trata-se de um modelo criado na década de 70 pelo pesquisador da IBM Dr. E. F. Codd, cujo propósito era representar os dados de forma mais simples, através de um modelo matemático de conjuntos de tabelas inter-relacionadas. Este modelo abandona por completo os conceitos anteriores, tornando os bancos de dados mais flexíveis, tanto na forma de representar as relações entre os dados, como na tarefa de modificação de sua estrutura, sem ter que reconstruir todo o banco de dados. A única peculiaridade com os modelos anteriores é que os detalhes sobre como os dados são armazenados e acessados não são revelados ao usuário, o que torna necessário projetar as aplicações de forma de acessem os dados baseados apenas no formato já estabelecido pelo SGBD. Com base nesta retrospectiva, podemos notar que os modelos de dados são diretamente responsáveis pela evolução dos sistemas de banco de dados. Com o surgimento de novos modelos, novas categorias de SGBDs puderam ser utilizadas ao longo dos anos. Podemos citar como exemplo o ADABAS da Software A. G. que usa o modelo de banco de dados baseados em listas invertidas 1. 1 Trata-se de um tipo de banco de dados que se baseia em realizar pesquisas através de mecanismos de rotas de acesso, diferente dos bancos de dados relacionais que se fundamentaram na álgebra relacional.

23 21 Os novos modelos de banco de dados com tecnologia de orientação a objetos (OODBMS Object-Oriented Database Management System) 2 são considerados uma forte tendência para estabelecimento de um modelo para novas tecnologias de banco de dados. No entanto, devido à falta de um modelo padrão para construção de bancos de dados OO puros, a baixa performance apresentada por eles, e a falta de recursos utilizados atualmente em grande escala em aplicações empresariais, fizeram com que a demanda por OODBMS diminuíssem. Como alternativa, vários fabricantes de SGBD adotaram a medida de incorporar características OO aos modelos relacionais, criando assim os modelos de banco de dados objeto-relacionais (ORDBMS Object-Relational Database Managenent System). Atualmente o modelo de dados Objeto-Relacional já está sendo implementado na maioria dos produtos de SGBD. Acredita-se que o uso estes produtos será cada vez mais difundido em relação aos ORDBMS devido ao sucesso dos já consolidados bancos de dados relacionais. 2 Considera-se orientação a objetos como uma terminologia usada para desenvolvimento de sistemas com uso de recursos de modularidade e reusabilidade de componentes.

24 Teoria de Banco de Dados Multiusuário Um banco de dados multiusuário, segundo Kroenke (1999, p.205), é um tipo especial de banco de dados que pode ser manipulado por mais de um usuário ao mesmo tempo. Este conceito surgiu com base na preocupação em fazer com que os processos de um usuário não interferissem nos dos demais, garantindo assim a integridade dos dados do sistema. Atualmente, os bancos de dados multiusuário são utilizados em todos os tipos de aplicações, onde os acessos são realizados simultaneamente por vários usuários. Podemos ter como exemplo os sistemas de dados bancários, automação comercial, agência de viagens, etc. Com relação à arquitetura, os bancos de dados multiusuário, no princípio, eram baseados nos modelos de sistemas onde todo o processamento era feito em um computador central (mainframe ou minicomputador). Todas as requisições dos usuários eram feitas através de terminais ou em computadores que emulavam esses terminais. Com o surgimento dos microcomputadores e a interligação destes através de rede de comunicação de dados, a exigência de bancos de dados com características de processamento multiusuário tornou-se um requisito cada vez mais importante, devido às inúmeras operações de transações que são realizadas pelas aplicações.

25 FUNDAMENTOS SOBRE A ARQUITETURA CLIENTE/SERVIDOR Aspectos Básicos da Arquitetura Cliente/Servidor A arquitetura cliente/servidor é atualmente a principal plataforma tecnológica da indústria tecnologia da informação. A sua popularização se deve aos vários fatores oriundos do processo de achatamento das estruturas organizacionais, fazendo com que muitos dos sistemas fossem descentralizados. Segundo Renaud (1994, p.3) cliente/servidor é um conceito lógico, mais precisamente um paradigma, ou modelo para interação entre processos de software em execução concorrente. Isso significa dizer que a metodologia cliente/servidor foi criada com o objetivo de possibilitar que vários tipos de aplicações, executadas em máquinas distintas, se comuniquem entre si, sem que a execução de um processo interfira no do outro. Baseado neste conceito, a arquitetura cliente/servidor estabeleceu um novo paradigma de processamento de dados, diversificando o processamento entre dois processos de software distintos (cliente e servidor). Ao mesmo tempo a arquitetura visa fornecer recursos que coordenem estes processos de forma que, a perda de sincronização, não resulte em alterações ou perda de informações para o sistema.

26 24 Seu funcionamento se baseia no seguinte esquema: o usuário do sistema, através do processo de software cliente, envia o pedido de requisição ao processo de software servidor, que por sua vez devolve ao cliente os resultados solicitados. Todos os processos de software rodam sobre o controle do Sistema Operacional que coordena todos os recursos do sistema computacional utilizado. Figura 2: Representação da arquitetura cliente/servidor Tipos de Sistema Cliente/Servidor Ainda segundo o autor, os sistemas cliente/servidor podem ser divididos em vários tipos, dependendo da forma em que os processos cliente e servidor estão alocados. Os tipos de sistema podem ser classificados nas seguintes categorias descritas a seguir.

27 25 a) Intra-sistema cliente/servidor: sistemas nos quais os processos cliente e servidor residem no mesmo local. São exemplos típicos as estações de trabalho, isoladas ou não da rede. O usuário ao fazer uso da aplicação local emite uma solicitação de serviço ao processo servidor situado na mesma máquina onde o usuário está operando; b) Servidor Desktop: abrange os sistemas nos quais tanto o processo cliente quanto o servidor residem na máquina servidora e os usuários, através de uma estação ou terminal remoto, interagem com o processo cliente remotamente emitindo o pedido e recebendo os resultados; c) Cliente Desktop: nesse sistema o processo cliente é executado na estação de trabalho do usuário na qual são enviadas as requisições à máquina servidora através da rede. O servidor por sua vez recebe as requisições do cliente, efetua o processamento e devolve os resultados. Figura 3: Tipos de sistema cliente/servidor

28 26 Atualmente, mesmo possibilitando a execução dos processos tanto o cliente quanto o servidor em uma única máquina, o que caracteriza realmente o fundamento da arquitetura cliente/servidor hoje em dia é a divisão do poder de processamento. Os dois processos são separados em máquinas distintas e ao mesmo tempo, são interligadas através de uma rede de computadores local (LAN) ou remota (WAN), o que permite as estações de trabalho processarem os dados armazenados no servidor, liberando o mesmo para a execução de outras aplicações Principais Mecanismos Os principais mecanismos da arquitetura estão divididos entre sistema cliente, sistema servidor e a rede de comunicação de dados. Serão analisadas neste tópico as principais características que complementam cada um destes mecanismos, visando um melhor entendimento sobre a sua importância para o processamento das informações O Sistema Cliente O sistema cliente é a parte responsável pela tarefa de requisição de pedidos ao servidor e também por toda a parte relativa à interação com o usuário final. Normalmente os sistemas cliente abstraem do usuário todas as funções de rede e do servidor, fazendo parecer que todos os processos estão rodando em um mesmo local.

29 27 Para prover esta interação, o sistema cliente abrange um conjunto de componentes básicos que auxiliam nas funcionalidades, tanto ao nível de aplicação como de sistema. Estes componentes de acordo com Melo (1997, p.28) são agrupados em: a) Hardware de estação: é formado pelos componentes básicos de um sistema de computação, tais como unidade central de processamento (CPU), memória, unidades de disco e dispositivos de entrada e saída de dados (periféricos); b) Sistema operacional: é o software que possui o conjunto de instruções necessárias para gerenciar os recursos de hardware e fornecer os meios necessários para que as aplicações utilizem estes recursos de forma adequada; c) Interface de conectividade: concentra o conjunto de instruções para permitir que os processos cliente interajam com o processo servidor através da rede de comunicação; d) Os programas de aplicação: consiste em um conjunto de programas desenvolvidos com a finalidade de realizar operações que atendam a uma necessidade específica do usuário ou organização; e) Interface Gráfica de Usuário (GUI): é o principal componente de interação de interação com os usuários finais, pois é o que torna as aplicações serem utilizadas de forma mais simples e intuitiva.

30 28 Figura 4: Componentes de um sistema cliente O Sistema Servidor O sistema servidor é a parte responsável de um sistema cliente/servidor que tem a função de receber dos clientes as requisições, processa-las e devolve-las ao mesmo os resultados. A grande vantagem desse sistema é que, por ser totalmente reativo, só é disparado quando recebe alguma requisição do cliente. Isso faz com que o servidor não procure interagir com outros servidores durante um pedido de requisição, o que torna o processo de ativação uma tarefa a ser desempenhada apenas pelo cliente que o solicitou.

31 29 Da mesma forma que o sistema cliente, o sistema servidor possui um conjunto de componentes básicos para prover as funcionalidades necessárias ao processamento de informações através da rede. Estes componentes são divididos em: a) Hardware de servidor: normalmente são compostos por sistemas de computação que variam de microcomputadores de alto desempenho até computadores de grande porte. Estes sistemas, para cumprir a função de servidor, devem possuir alta capacidade de armazenamento e grande quantidade de memória para fornecer melhor desempenho aos processos que estarão sempre rodando a espera de requisições; b) O sistema operacional de rede: consiste em um recurso de software que além de gerenciar os componentes de hardware, fornecem recursos que possibilitam obter o controle total da rede de comunicações através de componentes de controle de acesso, compartilhamento de recursos, administração e gerência, além de outras funções de rede necessárias; c) Interface de conectividade: são caracterizados pelo uso de protocolos de comunicação e de interfaces para acesso a bancos de dados; d) O SGBD: é o componente do sistema de banco de dados responsável por todo o gerenciamento e controle centralizado dos dados operacionais.

32 30 Figura 5: Componentes de um sistema servidor A Rede de Comunicação de Dados A rede de comunicação de dados consiste em um conjunto de componentes de hardware e software, interligados de forma a oferecer interação entre os sistemas cliente e servidor. As redes de computadores, as quais são formadas pela interconexão entre os computadores de um sistema computacional, estabelecem um caminho físico para que os processos cliente e servidor se comuniquem.

33 31 Segundo Melo (1997, p.41), as ligações podem ser implementadas através de linhas telefônicas públicas, linhas privadas de comunicação, canais de satélite ou de rádio e outros meios que a tecnologia está disponibilizando, com a mesma função. Com base nesta observação, pode-se dizer que o avanço tecnológico contribuiu bastante para disseminação e uso das redes e conseqüentemente para a expansão do uso dos recursos computacionais em diversas áreas de aplicação. Atualmente os tipos de rede são agrupados em três categorias distintas. Esta classificação é feita de acordo com a distância em que os componentes de hardware estão alocados. Estas redes podem ser: a) Redes Locais (Local Area Networks - LANs): são redes que permitem a interconexão de equipamentos de comunicação de dados e compartilhamento de recursos numa área fisicamente próxima, tais como as propriedades privadas; b) Redes Metropolitanas (Metropolitan Area Networks - MANs): são redes que apresentam as mesmas características das redes locais, porém cobrem distâncias maiores do que as LANs e operam em velocidades maiores; c) Redes Geograficamente Distribuídas (Wide Area Networks - WANs): são redes capazes de compartilhar recursos especializados por uma comunidade maior de usuários geograficamente dispersos.

34 32 Outro fator importante com relação à comunicação é a questão de como as estações de trabalho se comunicam através da rede, independente do tipo de rede utilizado. Para que seja possível viabilizar esta comunicação, os sistemas cliente/servidor utilizam protocolos de rede, que são elementos responsáveis pela interação entre sistemas de igual, ou diferentes plataformas. Dentre os principais protocolos podemos destacar o TCP/IP, Netware IPX/SPX, AppleTalk, NetBios e OSI (Open Systems Interconnection) Aplicações e Perspectivas Embora as aplicações destinadas ao acesso aos bancos de dados em rede sejam as mais utilizadas nesta arquitetura, elas apenas representam apenas um tipo comum de sistemas cliente/servidor. Existem várias outras aplicações entre as quais podemos citar a própria Internet, que utiliza redes de comunicações para prover uma grande variedade de serviços. Outras aplicações podem ser inseridas neste contexto, como por exemplo, os sistemas de gerenciamento de backup, gerenciamento de impressão, aplicações multimídia e comunicações. Convém afirmar que a adoção desta arquitetura impulsionou o mercado a desenvolver produtos cada vez mais poderosos, não só para oferecer interação com o usuário, como também para aumentar a produtividade no campo de desenvolvimento de aplicações, deixando de lado a filosofia de se desenvolver produtos voltados apenas ao gerenciamento do banco de dados.

35 CAPÍTULO 3 - SISTEMAS DE BANCO DE DADOS CLIENTE/SERVIDOR 3.1. DEFINIÇÕES Um sistema de banco de dados cliente/servidor pode ser definido como um sistema cliente/servidor onde pelo menos uma máquina servidora é responsável por manter e processar o banco de dados. Os dados armazenados ficam disponíveis aos usuários que poderão manipula-los através das aplicações cliente, instaladas em suas estações de trabalho individuais. Os sistemas de banco de dados cliente/servidor são utilizados atualmente pela maioria das organizações, devido à flexibilidade obtida com esta plataforma. Com a arquitetura cliente/servidor, tornou-se possível criar um ambiente capaz de fornecer um controle centralizado dos dados. Ao mesmo tempo, pode-se integrar novas tecnologias e aplicações de banco de dados, independente do tipo de plataforma ou sistema operacional utilizado. Isso reforça ainda mais a demanda por novas aplicações que não aderem a padrões específicos de arquitetura (sistemas abertos).

36 34 Com base na filosofia cliente/servidor, os sistemas de banco de dados dividem o processamento entre os dois sistemas distintos. Para execução de suas respectivas tarefas, estes sistemas utilizam uma estrutura, que normalmente compõe um servidor de banco de dados e as estações de trabalho, interligadas através da rede. Os sistemas podem ser definidos em sistemas Cliente e Servidor, cujos detalhes serão descritos a seguir O Sistema Cliente Encarrega-se de executar nas estações cliente as aplicações responsáveis pela manipulação dos dados armazenados no servidor de banco de dados. As aplicações cliente/servidor, chamadas de aplicações front-end, correspondem a um conjunto de programas integrados desenvolvidos em alguma linguagem de programação 1. Essas aplicações são na sua grande maioria compostas de uma interface gráfica de usuário (GUI Graphical User Interface) e de funções que permitem realizar tarefas de requisição de serviços ao servidor. Isso permite ao usuário interagir com o SGBD sem ter que se preocupar com as complexidades da arquitetura, no que diz respeito aos métodos utilizados para acesso aos dados armazenados, bem como na forma na qual eles são atualizados. 1 Trata-se de um software que tem a capacidade de desenvolver novos programas de aplicação. Algumas linguagens podem ser utilizadas para desenvolver até mesmo outras linguagens de programação.

37 O Sistema Servidor Constitui na parte que concentra o banco de dados, o SGBD propriamente dito a as demais aplicações, conhecidas como aplicações back-end. Estes componentes têm a função realizar o processamento dos dados requisitados pelo cliente através da rede. No que se refere à localização dos dados e do SGBD no servidor, tanto podem estar armazenados em servidores que executam outras tarefas (como por exemplo, um servidor de arquivos ou de comunicações), ou em um servidor dedicado (servidor de banco de dados). Figura 6: Representação de um sistema de banco de dados cliente/servidor

38 VANTAGENS E DESVANTAGENS Com base na filosofia cliente/servidor voltada ao processamento de banco de dados, existe uma série de vantagens significativas, dentre as quais podemos destacar: - O aumento de desempenho, através da distribuição das tarefas de banco de dados entre computadores clientes e servidores. Todo o processamento desempenhado pelo SGBD passou a ser executado no lado do servidor, enquanto que as aplicações que manipulam dados, passaram a ser executadas no lado do usuário nas estações de trabalho, reduzindo drasticamente o tráfego da rede; - A independência da estação de trabalho, que torna possível aos usuários executarem aplicações de banco de dados em qualquer tipo de plataforma ou sistema; - A preservação da integridade dos dados, dando ao SGBD a capacidade de efetivar controle de atualizações através de mecanismos de transações e controle de concorrência, adequados ao processamento de banco de dados multiusuário; - Segurança dos dados reforçada, através de mecanismos de backup e restauração de banco de dados implementados nos produtos de SGBDs.

39 37 No que se refere às desvantagens, a utilização de banco de dados cliente/servidor pode apresentar alguns inconvenientes, tais como: - Aumento de custo com pessoal, o que obriga a investir em capacitação ou contratação de profissional para administração e suporte para manutenção do banco de dados; - O aumento da quantidade de componentes de sistema pode contribuir para aumentar a complexidade; - A independência de aplicativos cliente/servidor pode aumentar a quantidade de suporte de programação para estações de trabalho; - A necessidade de se ter controle efetivo das operações de transação com dados. Como as estações de trabalho tendem a acessar os dados de forma simultânea, tornaria necessário então coordenar o processamento das aplicações para evitar perda de atualização de dados na rede.

40 COMPONENTES PRINCIPAIS O Sistema de Gerenciamento de Banco de Dados (SGBD) Podemos caracterizar o SGBD como um recurso de software composto por programas e utilitários destinados às tarefas voltadas para o completo gerenciamento de um sistema de banco de dados. As principais tarefas a serem desempenhadas pelo SGBDs se constituem no armazenamento, organização, atualização e restauração de banco de dados de sistemas computacionais. O SGBD é considerado o componente mais importante do sistema de banco de dados, pois concentra todos recursos que definem o que um sistema computacional deve possuir para gerenciar bases de informações, de modo a atender às necessidades de integração, exigidas pelas novas tecnologias. Sob o ponto de vista lógico, seu principal propósito era de estabelecer um modelo que representasse o mundo real, capturando os dados e dando a eles conteúdo e estrutura de forma a tornar possível ao banco de dados representar logicamente os aspectos da vida real de cada elemento para um fim específico de um usuário ou grupo de usuários.

41 39 Na prática, além de cobrir estas necessidades, a utilização dos SGBDs tornou a administração do banco de dados mais segura, fazendo com que as aplicações não tenham acesso direto ao dados armazenados, como era o caso dos sistemas de arquivos convencionais. Todas as requisições feitas pelas aplicações passaram a ser analisadas e processadas pelo SGBD. Isso favoreceu a sua utilização como base de administração de dados para diversos tipos de aplicações. Figura 7: Estrutura de um SGBD Em resumo, as principais características funcionais dos SGBDs, podem ser definidas da seguinte maneira: - Todas as operações em banco de dados solicitadas pelos clientes são realizadas diretamente pelo SGBD no próprio servidor, devolvendo ao cliente apenas o resultados;

42 40 - Utiliza esquemas de controle de acesso, que determinará quais usuários terão acesso aos dados armazenados no banco de dados, assim como os privilégios que cada um terá sobre eles; - Utiliza-se de toda a potencialidade do servidor para a execução de operações de validação de dados e execução de instruções mais complexas; - Garante a segurança dos dados armazenados e as mantém ao mesmo tempo rapidamente disponíveis aos usuários. Com o passar dos anos, a evolução dos SGBDs vem contribuindo bastante para o surgimento de produtos cada vez mais sofisticados. Muitas empresas produtoras de software têm investido constantemente na criação e aprimoramento destes produtos. Um dos fatores que tem contribuido bastante é o aprimoramento dos modelos de representação de dados que são considerados o principal elemento responsável pela evolução dos SGBDs O Modelo de Representação de Dados O modelo de representação de dados é o elemento que está diretamente relacionado à qualidade dos SGBDs, pois dá a eles a capacidade de traduzir ou modelar o mundo real, descrevendo como os dados serão acessados e manipulados pelos usuários.

43 41 Com o passar dos anos, vários modelos surgiram gerando novas categorias de banco de dados. Atualmente o modelo relacional é a principal base para o desenvolvimento de produtos de SGBDs. Esse modelo, além de solucionar os problemas encontrados nos modelos que o antecederam, ainda deu mais flexibilidade na organização e manipulação de bancos de dados maiores e mais complexos. No entanto, com o avanço da tecnologia, a demanda por sistemas capazes de gerenciar dados complexos tornou-se um fator que impulsionou a elevação de esforços para criar novos modelos de tratamento de dados. Segue aqui um relato sobre os principais modelos de dados existentes e os que poderão se tornar a plataforma principal para desenvolvimento de novos SGBDs cliente/servidor Modelo Relacional O modelo relacional foi criado por Codd em 1970 com o propósito de tornar o mundo mais simples na visão dos usuários e dar aos SGBDs a capacidade de processar os dados de forma mais eficiente. O modelo relacional se baseia em representar os dados em forma de tabelas, que se relacionam através de um elemento comum que atenda às restrições impostas pelo próprio modelo, garantindo a integridade dos dados.

44 42 Figura 8: Modelo de banco de dados relacional O sucesso atual dos SGBDs que usam o modelo relacional fez com que estes produtos dominassem cerca de 90% do mercado de bancos de dados corporativos. Juntamente com a linguagem SQL e as interfaces de comunicação, este modelo facilitou a implementação de vários processos disponíveis na vida dos usuários. Hoje é comum encontrar aplicações de bancos de dados relacionais cliente/servidor em diversos ambientes de sistemas empresariais, seja na Internet ou em ambientes corporativos mais restritos. No entanto, a ampla utilização dos bancos de dados ao logo do tempo fez com que houvesse uma demanda cada vez maior por modelos capazes de operar com novos tipos de dados (como som, imagens, texto, etc.), cada vez mais comuns nas aplicações empresariais atuais.

45 Modelo Orientado a Objetos Analisando as aplicações atualmente existentes, podemos perceber que existe uma grande variedade de novos tipos de dados os quais somos obrigados a lidar. A necessidade de fazer com que dados não-convencionais, pudessem ser estruturados e armazenados em banco de dados, tornou-se um motivo para que se desenvolvessem modelos de dados mais complexos para atender a esses requisitos. O modelo de banco de dados orientado a objetos (OO) é baseado nos conceitos de orientação a objetos, já difundidos em linguagens de programação como o SmallTalk e o C++. Seu objetivo principal é tratar os tipos de dados complexos como um tipo abstrato (objeto), podendo ser definidos tanto à nível interno como pelo próprio usuário. Segundo Silberschatz (1999, p.269), a filosofia do modelo de dados OO consiste em agrupar os dados e o código que manipula estes dados em um único objeto, estruturando-os de forma que possam ser agrupados em classes. Isso significa que, baseado nos conceitos OO, os objetos de banco de dados agrupados podem usar o mesmo mecanismo de herança para definir superclasses e subclasses de objetos, criando assim hierarquias.

46 44 Figura 9: Modelo de banco de dados orientado a objeto Dentre as vantagens significativas proporcionadas pelos SGBD orientados a objetos (SGBDOO), podemos destacar a capacidade de integração com linguagens de programação OO. Esta integração permite que os métodos envolvidos no processo de armazenamento e gerenciamento possam ser feitos de forma automática, desconsiderando a necessidade de ter conhecimento da linguagem de programação utilizada. Outra vantagem do modelo OO é a capacidade de permitir que os usuários definam tipos de dados que serão gerenciados pelo SGBD. No modelo OO não existe dependência de relacionamentos. Os tipos dados também não precisam ser incorporados aos SGBDs, como ocorre nos modelos relacionais.

47 45 As desvantagens significativas, no entanto, estariam relacionadas às exigências impostas pela linguagem de programação OO, além do alto custo de conversão do banco de dados tradicional para o modelo OO. A ausência de ferramentas mais eficientes para geração de consultas e relatórios também é um fator a ser considerado. Podemos considerar ainda que não se tem uma informação precisa sobre o desempenho dos SGBDOO em sistemas que lidem com grande volume de dados, o que levanta a dúvida sobre se os SGBDOO são ou não melhores do que os SGBDs, utilizados atualmente no processamento de dados convencionais. Acredita-se também que os SGBDOO demandem recursos mais eficazes destinados ao processamento de transações e controle de concorrência. Para finalizar, é importante que se tenha uma definição de um padrão específico para a construção de SGBDOO. Segundo Kroenke (1999, p.322), são apresentadas duas soluções de padronização para incluir recursos de orientação a objetos aos bancos de dados. Uma delas é o desenvolvimento do padrão SQL3 proposta pelos comitês ISO e ANSI fundamentada na ampliação do padrão SQL92, usado nos modelos relacionais. A outra solução se origina de um consórcio entre fabricantes de banco de dados de objetos com outros especialistas. Trata-se do modelo ODMG-93, que se baseia no objeto como sua estrutura fundamental e os aspectos relacionados ao gerenciamento de dados são tidos como um processo evolutivo.

48 46 O ODMG-93 é um modelo completamente diferente do padrão SQL3 que se baseia na visão do banco de dados e evolui na visão do objeto. Ainda segundo o autor, não se tem certeza de qual padrão será o mais utilizado, mas acredita-se que muitas empresas produtoras de software poderão se apoiar em qualquer um destes padrões para construção de SGBDOO cliente/servidor Modelo Objeto-Relacional O Modelo Objeto-Relacional surgiu como uma alternativa de expandir o modelo relacional para atender a demanda de construção de sistemas a lidar com dados complexos não suportados pelo modelo relacional. O fator que obrigou o seu surgimento se fundamentou nas questões relacionadas a real efetividade do modelo OO, no que diz respeito ao desempenho e custos com a migração de bancos de dados relacionais para bancos de dados OO. Como conseqüência, a migração ocasionaria uma brusca mudança em praticamente todas as aplicações que completam o sistema computacional da organização. Este modelo se baseia na adoção de conceitos de orientação a objetos integrados ao modelo relacional. Isso significa dizer que este modelo é capaz de incluir características de orientação a objetos e ao mesmo tempo incorporar estruturas às linguagens de consultas relacionais como a SQL.

49 47 Como principal benefício, esse modelo permite ampliar a capacidade dos SGBDs para lidar com dados complexos, evitando que os produtores de software desconsiderem os investimentos feitos na produção de SGBDs relacionais. Entretanto, da mesma forma que o modelo OO, não existe um modelo padrão padronizado para construção de SGBDs objeto-relacionais. Diferente dos SGBDs relacionais, que são sustentados por um modelo formal já definido, os SGBDs objetorelacionais obtiveram sucesso comercial graças às iniciativas de implementações em produtos comerciais já disponíveis no mercado como o Oracle 8.x da Oracle Corporation A Linguagem SQL e seus Recursos A linguagem SQL (Structured Query Language), surgiu em meados os anos 70 com a finalidade de se tornar uma linguagem padrão para acessar um antigo banco de dados relacional (o System R da IBM), que rodava em computadores de grande porte (mainframes). Atualmente, esta linguagem garante seu sucesso no mercado de banco de dados simplesmente porque está integrada em praticamente todos os produtos de SGBDs Relacionais e Objeto-Relacionais.

50 48 Segundo Kroenke (1999, p.175), a linguagem SQL é tida como uma linguagem orientada a transformações que aceita uma ou mais relações como entrada e produz uma relação única como saída. Isso significa dizer que a linguagem SQL é capaz de transformar em resultado, qualquer operação envolvendo uma ou mais tabelas dentro de banco de dados. Cada um destes resultados gera uma nova tabela com linhas e colunas conforme a definição estabelecida pelo modelo relacional. Sua principal vantagem é a capacidade de facilitar e agilizar a consulta e manipulação de dados, independente da plataforma que está sendo usada, ou em qual linguagem o aplicativo que irá interagir com os dados tenha sido desenvolvido. Figura 10: Exemplo de resultados obtidos através de instrução SQL.

51 49 Esta linguagem apresenta uma série de instruções (comandos) para definir e manipular estruturas de banco de dados. No que diz respeito à definição de dados, a SQL utiliza a chamada de DDL (Data Definition Language), que é composta pelos comandos destinados a criação de banco de dados, tabelas e relações. Como exemplo de comandos da classe DDL temos os comandos Create, Alter e Drop. No que diz respeito à manipulação de dados, a SQL utiliza chamadas da série DML (Data Manipulation Language), destinadas a operações de consulta, inclusão, exclusão e alteração de registros das tabelas de uma banco de dados. Como exemplo de comandos da classe DML temos os comandos Select, Insert, Update e Delete. Devido a sua popularidade, a linguagem SQL fez com que muitos produtos de banco de dados SQL fossem lançados no mercado. Cada um com características próprias do vendedor. Isso fez com que o comitê de padronização ANSI (American National Standard Institute) estabelecesse uma padronização para esta linguagem, que resultou na criação de várias especificações. Hoje o SQL2 ou SQL92 é tido como o padrão mais utilizado nos SGBDs cliente/servidor comerciais, devido aos novos mecanismos introduzidos nesta linguagem que serão apresentados a seguir.

52 Visões Uma visão em SQL consiste em uma forma que a linguagem utiliza para gerar uma tabela virtual com resultados oriundos de outras tabelas fisicamente existentes no banco de dados. Trata-se de um recurso que pode ser bastante utilizado em casos onde aplicação necessite acessar informações que geralmente já são resultados de outra operação de consulta. Como exemplo temos o Create View que é o principal comando SQL utilizado definição de visões Índices Os índices são caracterizados como um meio utilizado para melhorar o desempenho das aplicações de banco de dados. Trata-se de um método que possibilita criar uma tabela auxiliar, contendo uma seqüência de registros indexados por uma ou mais colunas, freqüentemente utilizadas como critérios de pesquisa em uma tabela. A definição para criação de índices é feita através do comando Create Index.

53 Transações Para realizar transações, que são uma das tarefas mais importantes dos SGBDs cliente/servidor, a linguagem SQL utiliza instruções que permitem realizar com sucesso as transações, garantindo a integridade para as informações. Também permite desfaze-las antes de realizar as alterações no banco de dados. A SQL utiliza os comandos Commit e Rollback que, respectivamente, efetiva e desfaz as transações Procedimentos Armazenados Os procedimentos armazenados são objetos de banco de dados que ficam localizados no servidor, tendo como finalidade armazenar um conjunto de instruções SQL que poderão ser executadas em qualquer momento pelas aplicações. Outra característica dos procedimentos armazenados é a capacidade de receber parâmetros e retornar valores quando necessário, agilizando assim trabalho das aplicações. A criação de procedimentos armazenados no SGBD é feita através do comando Create Procedure.

54 Triggers Da mesma forma que os procedimentos armazenados, os triggers contém conjuntos de instruções SQL que ficam armazenadas no servidor, porém eles não podem receber parâmetros nem retornar valores. Em um banco de dados cliente/servidor, os triggers permitem especificar regras de negócio que são chamadas pelo próprio banco de dados no momento em que ocorre um determinado evento, reforçando ainda mais as restrições de integridade do banco de dados. A definição para a criação de triggers no banco de dados é feita com o comando Create Trigger Interfaces de Comunicação com Banco de Dados Vimos que a arquitetura cliente/servidor proporcionou aos sistemas de computação distribuir os processos cliente e servidor através da rede, levando a funcionalidade da aplicação para o lado do usuário. Com esta distribuição, os SGBDs puderam seguir seu padrão, concentrando as atividades de gerência de banco de dados apenas no lado do servidor, limitando as aplicações apenas ao processo de atualização dos dados através das estações cliente.

55 53 No entanto, a grande variedade de bancos de dados de diferentes fabricantes, além da própria separação dos sistemas em front-end e back-end, ocasionou a demanda por padrões e mecanismos que possibilitassem às aplicações cliente/servidor interagirem com bancos de dados, independente da plataforma ou sistema operacional. Com isso, vários fabricantes de software se uniram formando o SQL Access Group (SAG), com o objetivo de produzir especificações de acesso a dados para produtos de SGBDs que usam o padrão SQL. Estes mecanismos, conhecidos como interfaces de comunicação com banco e dados, concentram um conjunto de instruções que permitem às aplicações se comunicarem com o SGBD e estabelecer um meio compatível de transferência de dados através da rede. Com o desenvolvimento das novas tecnologias, surgiram vários modelos de interface de banco de dados para diversas plataformas. Dentre os modelos existentes, podemos destacar nos tópicos subseqüentes, algumas das principais interfaces de comunicação para bancos de dados comumente usadas ODBC O padrão ODBC (open database connectivity) foi desenvolvido pela Microsoft e acabou se tornando o padrão dominante no mercado de interfaces comum para acesso a bases de dados. Sua arquitetura em camadas permite aos aplicativos acessarem uma grande variedade de banco de dados utilizando a linguagem SQL.

56 54 Segundo Melo (1997, p.205) a arquitetura ODBC é composta por quatro componentes básicos: a aplicação, o gerente de driver (driver manager), o driver e a fonte de dados (data source). A aplicação consiste em um recurso de software que tem a função de processar as chamadas das funções ODBC que cria meios padronizados para estabelecer uma conexão com o banco de dados, de modo que torne possível emitir instruções SQL ao SGBD. O gerente de drivers é a parte intermediária da arquitetura, responsável pelo recebimento das requisições emitidas pelas aplicações e pela determinação de qual driver será carregado para fazer a conexão com o SGBD apropriado. Uma vantagem significativa do gerente de driver é a capacidade de permitir que múltiplos drivers estejam ativos simultaneamente utilizando o nome da fonte de dados fornecido pela aplicação. O driver 2 por sua vez consiste em uma biblioteca de funções que processam as solicitações ODBC enviando instruções SQL especificas para cada fonte de dados. Quando uma aplicação faz uma requisição, o driver ODBC traduz a requisição para o formato apropriado do SGBD, servindo assim como um mediador entre os dois elementos. A fonte de dados contém a definição de um driver ODBC utilizado pela aplicação para acessar um SGBD específico. Trata-se dos dados propriamente ditos na abordagem ODBC e cada fonte de dados deve possuir um driver apropriado para que a intermediação possa ser estabelecida. 2 O driver corresponde a um conjunto de informações que fornece as instruções necessárias para que o sistema operacional possa se comunicar com componentes de hardware específicos.

57 55 Figura 11: A arquitetura ODBC DBI A DBI (Database Interface) é uma interface de programação de aplicações (API) desenvolvida para a linguagem Perl 3. Sua arquitetura foi projetada com o intuito de oferecer um conjunto de funções, variáveis e convenções que possam prover um mecanismo de comunicação de banco de dados consistente e independente da plataforma computacional utilizada pelo SGBD. 3 PERL (Practical Extraction and Report Language) é uma linguagem criada por Larry Wall, inicialmente para sistemas Unix, e hoje roda em vários outros sistemas como Windows, Amiga, VMS, etc.

58 56 Essa interface (Descartes, 2000, p.1), se divide em dois grupos onde, o primeiro, corresponde a própria arquitetura DBI, que implementa todas as funções de chamada de drivers, enquanto que o segundo, corresponde aos drivers responsáveis pela conexão ao seu SGBD específico. Figura 12: A arquitetura DBI Esta separação permite que a DBI suporte uma grande variedade de bancos de dados para utilização em ambientes de computação distribuída. Com isso a DBI é capaz de fornecer acesso múltiplo a diferentes tipos de bancos de dados, de uma forma transparente para os usuários. Com ela pode-se estabelecer conexões com bancos de dados Oracle, Informix, msql, Sybase, ou qualquer outra base de dados compatível, sem a necessidade de conhecer o mecanismo utilizado para efetuar esta tarefa. Como benefício principal, a DBI dá às aplicações capacidade de conectar duas bases de dados de fabricantes diferentes, fazendo com que elas se comuniquem através do mesmo código-fonte escrito na linguagem Perl. Isso dá à aplicação capacidade de atualizar bases de dados através de uma forma bastante simples, facilitando assim o trabalho do programador.

59 JDBC O JDBC (Java Database Conectivity) é uma interface desenvolvida pela Sun Corporation com a finalidade de estabelecer conexão entre bancos de dados SQL e aplicações desenvolvidas através da linguagem Java 4. Com a JDBC os programadores podem criar aplicações Java capazes de acessar dados corporativos, independente da plataforma onde a aplicação está sendo executada. A sua arquitetura, de acordo com Hamilton (1997, p.8) é composta por um conjunto de interfaces abstratas que permite ao programador estabelecer conexões a um determinado banco de dados, manipula-los através de instruções SQL e processar os resultados. Estas interfaces podem ser resumidas em quatro classes principais, a saber: - java.sql.drivermanager: gerencia o carregamento de drivers para criar novas conexões de banco de dados; - java.sql.connection: representa uma conexão de um banco de dados específico; - java.sql.statement: funciona como um container para declaração ou execução de comandos SQL; - java.sql.resultset: controla o acesso aos resultados das requisições. 4 A linguagem Java foi desenvolvida para ser uma linguagem independente de plataforma tornando-se uma boa opção para criação de aplicações de acesso remoto a banco de dados.

60 58 Figura 13: A arquitetura JDBC Com base nesta arquitetura, podemos perceber que a principal característica da JDBC é permitir um acesso genérico a banco de dados através de SQL. Ao mesmo tempo, a JDBC oferece uma interface padronizada para diferentes fontes de dados, cabendo ao programador apenas construir uma interface de usuário para facilitar a interação com o banco de dados. Os tipos de drives suportados pela JDBC podem fornecer interfaces para SGBDs, tais como o Oracle, Sybase, Informix, além de outros que utilizam protocolos de acesso a banco de dados específicos, independentes ou não de protocolos de rede. Além desses, a JDBC, fornece conectividade para drivers ODBC.

61 BDE O Borland Database Engine (BDE) é uma interface de acesso a banco de dados que contém um conjunto de funções e drivers que possibilitam às aplicações se comunicarem com uma variedade de sistemas de banco de Dados local ou remotamente. Sua arquitetura fornece uma forma única e transparente para a aplicação acessar os diferentes tipos de SGBDs. Segundo Rudraraju (1995, p.1) o BDE utiliza drivers SQL IDAPI nativos para fornecer conectividade aos diferente servidores de bancos de dados. Através da IDAPI (Integrated Database Application Program Interface), pode-se estabelecer conexões para SGBDs cliente/servidor Interbase, Oracle, Sybase, Informix, DB2 e SQL Server. Através desta interface, pode-se executar vários tipos de operações, tais como: criação de sessões, bancos de dados, tabelas, índices, campos, consultas, procedimentos e filtros. Figura 14: A arquitetura do BDE

62 60 Para concluir, o BDE se constitui em uma solução desenvolvida pela Borland Corporation para ser executada em plataformas Windows 9x/2000/ME e Windows NT. O BDE provê suporte a base de dados para aplicações desenvolvidas através de ambientes de desenvolvimento integrados, tais como o Delphi e C++ Builder Os Programas de Aplicação Vimos que a arquitetura cliente/servidor divide o poder de processamento de um sistema computacional em sistemas cliente e servidor. Neste sentido, cada componente tem seu papel específico. A aplicação cliente fica encarregada de fazer a interface com o usuário, capturando os dados e exibindo informações, enquanto que a aplicação servidora, fornece recursos necessários para as aplicações clientes. O programa de aplicação é o principal recurso que dá ao usuário a possibilidade de interagir com os sistemas de computação, principalmente nas tarefas que envolvem o acesso à banco de dados. Para prover esta funcionalidade, principalmente em sistemas cliente/servidor, as aplicações devem conter um conjunto de funções que possibilitem interação entre dois ou vários processos distribuídos em diferentes plataformas, de forma a cooperarem entre si para produzir os resultados desejados.

63 61 Para Melo (1997, p.60), uma aplicação possui funções que podem ser agrupadas em componentes para o processamento da lógica da interface do usuário, para o processamento da lógica de negócios, para a manipulação de dados e para os serviços de acesso aos dados. Figura 15: Interface de um programa de aplicação As funções de interface de usuário correspondem a todas as atividades de interação entre o usuário e a máquina. Concentra recursos de controle de dispositivos de entrada e saída de dados, formatação de tela de apresentação, além de outras funções avançadas como verificação e validação de dados. As funções da lógica do negócio são aquelas que definem o verdadeiro propósito da aplicação, pois compreende toda a regra de

64 62 negócio e os processos administrativos de uma organização. As funções de gerência dos dados processam todas as operações de acesso e manipulação de dados fornecidos pelo usuário. Por fim, as funções de acesso a dados encarregam-se de fornecer recursos para acesso físico aos dados armazenados em um banco de dados. Figura 16: Estrutura de uma aplicação Com isso podemos perceber que um programa de aplicação tem uma estrutura claramente definida e que cada um de seus componentes cooperam entre si para executar a tarefa desejada pelo usuário. No que se refere à sua alocação, quando se tratava de ambientes centralizados, eles eram alocados em um único local. No entanto, a arquitetura cliente/servidor permitiu distribuir as funções entre os servidores e clientes da rede de forma a aumentar o desempenho dos sistemas de informação.

65 63 Com base nesta distribuição, a arquitetura cliente/servidor permitiu criar várias categorias de arquitetura, dividindo-a em camadas para tratar com diferentes configurações de seus componentes de aplicação. As principais arquiteturas abrangem dois tipos de modelos, a saber: a) modelo de duas camadas: modelo no qual as aplicações cliente/servidor normalmente concentram as funções de interface de usuário e da lógica de negócio em um único componente. Esse componente fica alocado no cliente, enquanto que os dados e as funções de acesso a dados se concentram no servidor; b) modelo de três camadas: neste modelo os dados e suas funções de acesso se concentram no servidor, enquanto que as regras de negócio e as aplicações são separadas em camadas distintas. Neste modelo as operações de acesso e manipulação de dados são executadas pela aplicação. O servidor só irá processa-los obedecendo às regras de negócio, que podem estar alocadas, ou na máquina servidora, ou na máquina cliente, ou em ambas as máquinas. Através da arquitetura cliente/servidor, podemos perceber que a divisão das tarefas em camadas distintas resulta em um grande benefício para as aplicações. A distribuição de suas funções aproveitando de todos os recursos existentes, resulta em um melhor aproveitamento e um considerável ganho de performance, sem comprometer a integridade dos dados armazenados.

66 64 Para o desenvolvimento das aplicações, podemos encontrar atualmente uma grande variedade de ferramentas, ou linguagens, capazes de produzir aplicativos. Estas linguagens dispõem de todas as funções necessárias para criação de interfaces e implementação de funções de controle e de manipulação de dados. As ferramentas de desenvolvimento mais utilizadas atualmente são as linguagens orientadas a objetos e dirigidas por eventos, tendo como exemplo Java, Delphi, Powerbuilder, Visual Basic, SQL Windows, SmallTalk e Kylix Gerência de Transações Um SGBD cliente/servidor implementa mecanismos de gerência de transações como um método destinado a assegurar que o banco de dados não sofra algum tipo de alteração que resulte em perda de dados ou resultados indesejados. O uso de transações em ambientes de banco de dados cliente/servidor se deve ao fato de que, muitos ambientes corporativos, em seus processos diários de trabalho, executam uma seqüência complexa de atividades que dependem constantemente da atualização dos seus dados para gerar resultados imediatos ao usuário da aplicação. Segundo Silberschatz (1999, p.441) uma transação é uma unidade lógica de execução que acessa e, possivelmente, atualiza itens de dados. Pode-se dizer que uma transação consiste em elemento importante para os SGBDs cliente/servidor, pois trata-se de um mecanismo que possibilita as aplicações em execução simultânea, atualizarem os dados de um banco de dados, sem comprometer a sua integridade.

67 65 Esse benefício só pôde ser obtido graças a um conjunto de operações, originadas de um estudo baseado em quatro regras fundamentais para gerenciamento de dados em ambientes multiusuário. Estas regras conhecidas como propriedades ACID, correspondem respectivamente a: a) Atomicidade: define se todas as ações que representam a transação em um banco de dados serão aplicadas, ou caso contrário nenhuma delas será; b) Consistência: assegura que um banco de dados ao sofrer uma alteração, mova seu estado de consistência de forma a garantir que os dados afetados não violem as regras de integridade; c) Isolamento: define que uma transação não poderá ser afetada por outra, mesmo quando ambas são executadas simultâneamente; d) Durabilidade: implica que os resultados de um processo de transação sejam permanentes, caso sejam concluídas com sucesso. Um exemplo mais comum de um processo de transação (Hackathorn 1993, p.61) é a transferência de fundos entre contas bancárias. Uma transação só deverá ser completada se existirem fundos suficientes na conta original, verificando sempre se houve alguma alteração no banco de dados antes que ocorra a transferência. Se isto acontecer, a transação deverá ser abortada, evitando que o banco de dados seja alterado.

68 66 Figura 17: Representação de um processo de transação Os SGBDs cliente/servidor realizam as transações através de comandos introduzidos na própria linguagem SQL conhecidos como Commit e Rollback. Estes comandos definem se as alterações serão concluídas com sucesso ou desfeitas quando há risco de inconsistência. Uma vez concluída a transação (através do comando commit), o SGBD muda o estado do banco de dados, tornando as alterações imediatamente visíveis para outros processos de transações. Caso o processo de transação não puder ser completado, a transação pode ser desfeita (através do comando rollback), fazendo que banco de dados retorne ao seu estado original. Normalmente estas instruções são executadas através da aplicação, de acordo com o critério de processamento estabelecido pela lógica do negócio, ficando o SGBD responsável por toda à parte de gerência, podendo ou não utilizar mecanismos de controle, que muitas vezes são necessários em ambientes em que haja a execução de transações concorrentes.

69 Controle de Concorrência Vimos que em um sistema de banco de dados cliente/servidor, ocorrerá situações em que vários itens de dados estarão sendo manipulados pelos usuários e quase que ao mesmo tempo. Isso significa dizer que, todas as atividades que ocorrem no banco de dados, estão em pleno processo de concorrência, podendo acontecer naquela mesma unidade de tempo, porém em fatias de tempo definidas. O sistema de gerência de transações de um SGBD oferece mecanismos que torna possível realizar tarefas no banco de dados de forma isolada. No entanto, não poderão garantir a confiabilidade dos dados se o SGBD, não possuir meios para controlar o sincronismo entre as operações. Segundo Kroenke (1999, p. 210), o controle de concorrência consiste em medidas que são tomadas para evitar que o trabalho do usuário não interfira no do outro. Isso significa dizer que, se um SGBD cliente/servidor tiver que gerenciar atualizações em seu banco de dados, ele deverá possuir meios que garantam ao usuário, que o resultado se seu trabalho seja o mesmo, como se ele estivesse trabalhando isoladamente. Existem atualmente dois mecanismos básicos de controle de concorrência utilizados pelos SGBDs. Estes mecanismos são baseados em princípios de bloqueios (deadlocks) ou de ordenação, de acordo com um critério estabelecido para a efetivação das ações de atualização de dados. Estes mecanismos são conhecidos como:

70 68 a) Controle de Concorrência Pessimista: funciona de maneira a bloquear o item de dado impedindo que outras transações executem atualizações no item bloqueado. Trata-se de um método que trabalha sempre na premissa de que sempre haverá possibilidade de conflito entre operações de transação, fazendo com que uma operação interfira na execução da atual. Com o método de bloqueio, torna-se possível garantir o isolamento, que é a principal propriedade das operações de transação. A desvantagem significativa estaria relacionada aos consideráveis atrasos que podem ocorrer, e que às vezes podem ser até desnecessários; b) Controle de Concorrência Otimista: trata-se de uma técnica que se concentra em realizar alterações, baseados na premissa da não-existência de conflitos. Cada processo de transação age sem comprometer a execução de outra. Neste mecanismo toda a avaliação é feita no momento em que o item de dado está sendo atualizado. Neste período, é feita a verificação das demais transações para ver se algum dado foi alterado no período em que a transação foi iniciada. Este mecanismo evita a possibilidade de usar métodos de bloqueio durante o processo. A desvantagem desta técnica é que, em algum caso de falha, toda a operação de transação deverá reinicializada para assegurar a integridade dos dados.

71 Segurança e Administração Segundo Silberschatz (1999, p.13), uma das principais razões que motivaram o uso de SGBDs é o controle centralizado, tanto dos dados, quanto dos programas de acesso a esses dados. Isso convêm afirmar que o controle centralizado de um sistema de banco de dados, em um ambiente cliente/servidor, consiste em um grande benefício para a segurança das informações. No entanto, ao fazer uma analogia com os sistemas de informação atuais, observamos que as empresas disponibilizam seus dados a vários tipos de usuários, dentro ou fora do seu ambiente físico. Por essa razão tem-se por definido que, para garantir a segurança do próprio banco de dados da empresa, não se deve levar em conta apenas o uso das ferramentas de administração incorporadas nos SGBDs. Deve-se considerar também o fator humano, que determina qual pessoa tem o perfil necessário para administrar os recursos primários (banco de dados) e secundários (SGBD e ferramentas relacionadas) do sistema. O Administrador de Banco de Dados (DBA), é a pessoa que possui a competência técnica para gerenciar todo o sistema de banco de dados de uma organização. Suas principais funções envolvem um conjunto de atividades que partem, desde a definição da estrutura e do conteúdo do banco de dados, até atividades relacionadas à administração dos componentes principais do sistema. Dentre esses componentes são mencionados os servidores, estruturas de armazenamento e métodos de acesso, mecanismos de medição de desempenho, backup e recuperação de dados, administração de usuários e restrições de integridade.

72 70 Outra tarefa importante do DBA é também servir de elo de ligação entre os bancos de dados e os usuários. O DBA define os critérios de autorização através de mecanismos que permitam criar contas de usuário, implementando o critério de segurança apropriado. Além disso, o DBA pode fornecer aos analistas e programadores, todas as informações necessárias para viabilizar o desenvolvimento de aplicações de banco de dados específicas, que serão utilizadas pelos usuários finais. Com relação à tecnologia utilizada para resolver as questões de segurança ao nível de usuário, o DBA pode através do SGBD, implementar mecanismos de segurança baseados em esquemas de login e senha, e também em níveis de privilégios. Os mecanismos de controle de acesso baseados em login e senha, permitem aos SGBDs, não só garantir ou restringir o acesso dos usuários, como também registrar todas as operações a partir do período em que o usuário acessa o banco de dados até o momento em que ele encerra suas atividades. Figura 18: Conexão com SGBD cliente/servidor

73 71 Os níveis de privilégios por sua vez, permitem restringir o acesso a determinado banco de dados a um grupo restrito de usuários. Uma vez definido qual banco de dados poderá ser acessado, poderemos também definir quais tipos de operações poderão ser realizadas pelos usuários sobre seus objetos. Vários produtos de SGBD que utilizam SQL implementam métodos conhecidos como GRANT e REVOKE para garantia e a revogação dos níveis de privilégios dos usuários. Figura 19: Definindo privilégios no SQL Server 6.5 Em um ambiente cliente/servidor, pudemos observar que as tecnologias de SGBDs são capazes de garantir a segurança dos dados contra usuários não autorizados. No que se refere às questões de hardware e software, o controle centralizado dos dados também torna possível reforçar os níveis de segurança. O DBA pode em caso de pane ou perda de dados durante alguma operação complexa, utilizar mecanismos de backup e recuperação adequados para garantir a restauração do banco de dados.

74 PRINCIPAIS SOLUÇÕES DA INDÚSTRIA DE BANCO DE DADOS CLIENTE/SERVIDOR Nos últimos anos, os SGBDs cliente/servidor evoluíram dando origem a produtos cada vez mais poderosos, capazes de gerenciar bancos de dados de forma mais eficiente, dando ao mesmo tempo mais simplicidade nas operações. Atualmente podemos encontrar no mercado diversos produtos de SGBD cliente/servidor, projetados para vários tipos de plataformas e sistemas operacionais. A seguir serão apresentadas características de alguns dos produtos atualmente disponíveis Oracle O Oracle é um SGBD cliente/servidor objeto-relacional (ORDBMS) de alta performance produzido pela Oracle Corporation. Foi projetado para ser executado em plataformas UNIX, Linux e Microsoft Windows NT. Sua tecnologia integra recursos, capazes de gerenciar grande volume de dados em ambientes multi-usuário. Isso garante o acesso simultâneo dos usuários ao banco de dados, sem comprometer o desempenho do sistema. Como linguagem SQL nativa o Oracle utiliza a PL/SQL, que implementa vários recursos ativos, tais como triggers e procedimentos armazenados. Além disso, o Oracle fornece um potente mecanismo de integridade referencial.

75 73 Para prover facilidade na administração dos recursos, as versões mais recentes o Oracle dispõem de uma ferramenta conhecida como Oracle Enterprise Manager. Essa ferramenta integra vários utilitários de administração e manipulação de elementos de banco de dados. Outro mecanismo importante a ser destacado é o Data Manager, que oferece recursos que permitem importar e exportar objetos de um banco de dados para outro, facilitando as tarefas de migração e atualização. Figura 20: Visão geral do Oracle Enterprise Manager.

76 SQL Server O SQL Server (Soukup, 1999, p.30) é um SGBD cliente/servidor relacional (RDBMS), projetado para oferecer alto desempenho e suporte a processamento de alto volume de dados. Sua plataforma é baseada em sistemas operacionais Windows NT Server ou Workstation, Windows 95/98/ME e em plataformas Windows Tem como linguagem SQL nativa a Transact-SQL, que incorpora vários recursos como otimização de consultas, construção de programação e procedimentos armazenados. Na sua versão 7, o SQL Server possui um ambiente integrado de desenvolvimento, conhecido como Enterprise Manager, onde permite administrar todos os recursos de qualquer servidor de banco de dados SQL acessível. Trata-se de uma interface que apresenta uma estrutura de árvore, onde é possível visualizar todos os detalhes de um servidor de banco de dados, incluindo, além dos bancos de dados, todas as ferramentas de gerência necessárias. Outra ferramenta importante é o Query Analyzer, que permite executar instruções SQL e visualizar os resultados através de uma interface simples. A principal vantagem dessa ferramenta é admitir que várias janelas sejam abertas ao mesmo tempo, possibilitando realizar conexões simultâneas a bancos de dados diferentes.

77 75 Figura 21: Visão geral do Microsoft SQL Server Sybase SQL Server O Sybase SQL Server, na sua versão 11 (Freeman 1996, p.1), foi desenvolvido de acordo com o processo de certificação ISO 9000 para ser um dos mais avançados SGBDs do mercado. Sua arquitetura inclui um conjunto ferramentas baseadas em ambiente gráfico Windows. Dentre essas ferramentas, inclui o Server Manager, que permite gerenciar todo o processo de manipulação de banco de dados e de seus objetos, além de fornecer um utilitário para gerar scripts SQL.

78 76 Figura 22: Visão geral do Sybase SQL Server. Dentre os outros recursos do Sybase SQL Server, também podemos destacar o Service Manager, que oferece recursos para carregar e interromper servidores de banco de dados Sybase. Outra ferramenta, o Server Config, permite configurar servidores a um nível mais alto, envolvendo tarefas de ajuste de controles, parâmetros de linha de comando, conexões de rede, segurança e registro de erros Informix O Informix, desenvolvido pela Informix Corporation, é um SGBD multiusuário que possui como núcleo principal o Command Center, que concentra ferramentas usadas na administração de servidores de banco de dados.

79 77 Além do Command Center, o Informix possui outras ferramentas administrativas voltados para as seguintes finalidades: gerenciamento de espaço de armazenamento de banco de dados (Space Explorer), criação e manipulação de objetos de banco de dados (Database Explorer), execução de instruções SQL (SQL Editor). Além destas ferramentas, o Informix também possui o Dbschema, que permite criar arquivos de scripts para serem executados em outros bancos de dados. Figura 23: Visão geral do Command Center do Informix Os bancos de dados Informix podem escalar e rodar em qualquer plataforma de sistema operacional, que pode variar desde o Windows NT até sistemas baseados em Linux ou Unix.

80 C/A Ingres O C/A Ingres é um SGBD relacional que teve seu início nas plataformas Unix, DEC e VAX, onde a maioria das ferramentas tinha interfaces orientadas a caracter. Na suas versões 1.1 e 1.2, o Ingres traz um subsistema de gerenciamento de objetos baseado em ambiente gráfico Windows (CA-Visual/DBA), além de outros utilitários importantes, dentre os quais destaca-se o CBF (Configuration by Forms), usado para configurar diversos tipos de servidores, incluindo os de SGBDs e de banco de dados distribuído. Atualmente a versão do Ingres, conhecida como Ingres II é tida como a solução mais completa de sua categoria para aplicações de múltiplas camadas e gerenciamento de informação. O Ingres II está disponível em duas versões, conhecidas como Workgroup e Enterprise. A versão Workgroup, roda em plataforma Windows NT e permite conexões de até 25 usuários simultâneos. Já a versão Enterprise permite conexão de um número ilimitado de usuários e pode ser utilizado em qualquer ambiente multiplataforma.

81 IBM DB2 O DB2 Universal Database é um SGBD relacional da IBM Corporation, projetado para ser um banco de dados capaz de oferecer um suporte relacional de gerenciamento de dados rápido, seguro e eficiente. Sua tecnologia é derivada do conceito de Banco de Dados Universal, que visa ampliar as capacidades da tecnologia de banco de dados, permitindo manipular tipos de dados não-convencionais, tais como: informações armazenadas em documentos, planilhas e objetos multimídia. Hoje as versões mais recentes oferecem suporte a vários tipos de aplicações cliente/servidor disponíveis, incluindo a internet. Figura 24: Visão geral do Centro de Controle do DB2.

82 80 O DB2 na sua versão 7.1, possui várias ferramentas de administração que podem ser gerenciadas através do Centro de Controle (Control Center), que é seu ambiente principal. Trata-se de um ambiente que permite ao DBA, através de uma interface gráfica de usuário (GUI), gerenciar de forma simples e transparente, todos os bancos de dados DB2 alocados em diferentes tipos de plataformas ou sistemas operacionais Centura SQLBase O Centura SQLBase é um SGBD relacional multiusuário desenvolvido para plataformas Windows e Novell Netware. Na sua versão 6.00, o SQLBase integra ferramentas GUI baseadas no estilo Windows, dando ao DBA a capacidade de administrar os recursos de forma mais simples. Uma das principais ferramentas do SQLBase é o SQL Console, que permite gerenciar servidores de banco de dados, dando a possibilidade de carregar, criar, modificar e excluir bancos de dados ou objetos de banco de dados. Possui também um utilitário onde o DBA pode executar backups e outros serviços de manutenção.

83 PostgreSQL O PostgreSQL é um SGBD objeto-relacional (ORDBMS) de código-fonte aberto, desenvolvido para plataformas Linux e Windows. Segundo Vasudevan (2000, p.1), o PostgreSQL é um aperfeiçoamento do antigo SGBD Postgres. Sua arquitetura foi projetada para se tornar 100% de acordo com o padrão ANSI/ISO SQL, e ao mesmo tempo, a principal base de dados de livre distribuição no mundo. Dentre as principais vantagens é a capacidade de permitir herança entre tabelas, além de prover suporte a qualquer tipo de aplicação, que pode variar desde páginas web simples até um sistema administrativo completo. Outros benefícios a serem destacados são: o excelente desempenho, suporte a transações e integridade referencial MySQL O MySQL é um sistema de banco de dados relacional de código aberto, projetado oferecer um suporte a banco de dados cliente/servidor, oferecendo rapidez e flexibilidade. Pode ser capaz de rodar em qualquer servidor e suportar diferentes aplicações cliente, além de prover interação com diferentes ferramentas de administração e interfaces de programação, tais como C, C++, Eiffel, Java, Perl, PHP, Python e Tcl.

84 82 Dentre os componentes principais do MySQL destaca-se o MySqlAdmin, que pode ser utilizado para uma variedade de tarefas tais como: criação e exclusão de banco de dados, controle de conexões em memória, controle de contas de usuário e monitoramento de servidor. O MySqlDump é outro utilitário importante, pois através dele, pode-se gravar em um arquivo texto, todos os comandos SQL necessários para criar uma cópia de um banco de dados, inteiro ou em parte. Para execução de instruções SQL, o MySQL dispõe o cliente MySQL, onde é possível criar e manipular banco de dados e seus respectivos objetos. Existem atualmente versões do MySQL disponíveis para plataformas, incluindo todas as variedades de sistema operacional Linux, AIX, FreeBSD, Irix e Windows 95/98/NT. Na versão Windows, foi incorporado o WinMySqlAdmin, que permite através de uma interface gráfica, visualizar e alterar as configurações do MySQL, além de criar novos bancos de dados. Outro utilitário, o MySQLManager, permite executar instruções SQL nos bancos de dados criados pelo MySQL.

85 83 Figura 25: Visão geral do MySQL para Windows GemStone O GemStone é um SGBDOO comercial disponível pela GemStone Systems. Foi projetado para combinar os conceitos de linguagem de programação orientada a objetos Smalltalk, com funções de sistema de gerenciamento de banco de dados. Sua tecnologia apresenta robustez suficiente para manipular grande quantidade de dados a uma baixa taxa de erros, além de possibilitar a recuperação de falhas sem comprometer a disponibilidade dos dados.

86 84 Suas linguagens de manipulação (DML) e definição de dados (DDL) são derivadas do Smalltalk, tendo como base os objetos, mensagens e métodos para tratamento de dados. Os objetos têm uma interface e um estado, e se comunicam uns com os outros através de mensagens. O suporte a transmissão de mensagens, encapsulamento, hierarquia de classe, herança e identidade de objetos, são amplamente suportados pelas DML e DDL do GemStone. Em comparação com a linguagem SQL, a DML do GemStone é bem completa no aspecto de linguagem de programação. O GemStone tem como componente básico o Gem Server, que concentra todos os objetos que são executados pela DML do GemStone, inclusive a avaliação das consultas. Outro componente principal é o Stone Monitor que aloca novos identificadores de objetos e coordena a execução de transações.

87 CAPÍTULO 4 - APLICAÇÕES DE BANCO DE DADOS CLIENTE/SERVIDOR 4.1. ASPECTOS BÁSICOS Podemos afirmar que os sistemas de banco de dados cliente/servidor são utilizados hoje em dia em uma grande variedade de aplicações, sendo que a maioria delas, são e vão continuar sendo voltadas ao uso comercial pelas organizações. No entanto, novas aplicações surgiram nos últimos anos, contribuindo de maneira que tornasse possível às empresas expandirem seus limites de atuação no mercado, dispondo ao mesmo tempo de novos recursos de gerência de dados para seu negócio. Estes novos recursos permitem que as aplicações possam lidar com informações não-convencionais, podendo ainda ser acessadas e manipuladas em diferentes locais. Com base nestas novas aplicações, as produtoras de software puderam incorporar novos mecanismos de gerenciamento de dados em seus produtos de SGBDs. Isso fez com que as aplicações de banco de dados também pudessem participar deste processo evolutivo, de forma a poder lidar com tipos de informações, que antes era inimagináveis pelos sistemas do passado.

88 86 Neste contexto relacionamos algumas das novas aplicações de banco de dados que nos últimos anos, se tornaram cada vez mais importantes para as organizações PROCESSAMENTO DE BANCOS DE DADOS DISTRIBUÍDOS Segundo Ceri e Pelagatti citado por Melo et al. (1997, p.165), um sistema de banco de dados distribuído é uma coleção de dados que é distribuída por diferentes computadores, possivelmente em diferentes locais. Os computadores são conectados por uma rede de comunicação. O sistema deve suportar aplicações locais em cada computador, bem como aplicações globais nas quais mais de um computador esteja envolvido. Na verdade, um sistema de banco de dados distribuído, é considerado como uma modalidade de processamento de banco de dados cliente/servidor, que integra a filosofia dos bancos de dados como resolução dos problemas apresentados pelos sistemas gerenciamento de arquivos. Um banco de dados distribuído também se fundamenta na distribuição dos processos, que leva para o lado do usuário as tecnologias utilizadas para manipular dados através da rede. Todos esses requisitos resultam em oferecer aos usuários um sistema integrado para troca de informações, porém distribuídos no que se refere ao local onde os bancos de dados serão alocados. Em um banco de dados distribuído, o requisito fundamental é fazer com que os bancos de dados, dispersos nos diversos locais, sejam vistos pelas aplicações como um único banco de dados centralizado. Para isso, o SGBD cliente/servidor disponibiliza várias

89 87 funções que tornam os bancos de dados independentes uns dos outros. Ao mesmo tempo, esses recursos visam a transparência na distribuição e na fragmentação, de forma que os usuários vejam os dados de forma única, sem se preocupar com a sua localização física. No que se refere aos requisitos de desempenho e disponibilidade dos dados, os SGBDs utilizam técnicas de replicação que cria cópias locais de um banco de dados inteiro ou parte dele INTERNET E INTRANETS ORGANIZACIONAIS A Internet pode ser considerada atualmente como o ambiente cliente/servidor mais utilizado para transações comerciais e disseminação de informações empresariais de diferentes áreas de atuação. Trata-se de uma rede pública, que surgiu a partir de um projeto conhecido como ARPANET, que tinha a finalidade de interligar grandes centros de informações militares americanos. Quando os militares se retiraram do projeto para a formação da MILNET, a ARPANET passou a ser conhecida como Internet, se popularizando entre centros de pesquisa, empresas e universidades.

90 88 Com a sua liberação para uso comercial nos Estados Unidos, várias empresas viram neste novo ambiente a possibilidade de expandir as suas fronteiras comerciais, disponibilizando produtos e serviços aos seus clientes em qualquer parte do mundo. Hoje podemos afirmar que o comércio eletrônico pôde se tornar uma realidade, graças ao surgimento de interfaces que permitiram que bancos de dados pudessem ser interligados ao ambiente Web 1. A integração de banco de dados na web também possibilitou que inúmeras outras aplicações empresariais pudessem rodar neste novo ambiente. Como exemplo prático, podemos destacar os próprios sistemas de transações bancárias pela Internet, que nos últimos anos têm apresentado um nível de utilização bastante acima das previsões. Figura 26: Exemplo de Aplicação web de comércio eletrônico. 1 Um acrônimo para World Wide Web (WWW). Corresponde a uma grande rede de informações que concentra todos os sistemas de informação disponíveis na Internet.

91 89 No ambiente corporativo, a infra-estrutura de comunicação de dados usada na internet também é usada para criação de redes privadas, conhecidas como Intranets. Trata-se de uma rede restrita apenas ao ambiente da empresa e que normalmente é utilizada para compartilhamento de informações empresariais. Da mesma forma que a internet, o uso de aplicações de banco de dados permitiu expandir a funcionalidade das Intranets, dando a possibilidade de criar aplicações para diversos fins SISTEMAS DE INFORMAÇÕES GEOGRÁFICAS (GIS) Um Sistema de Infomações Geográfica (GIS Geographic Information System) consiste em uma modalidade não-convencional de aplicação de banco de dados, que tem como características principais o armazenamento de informações baseadas em dados geofísicos e a integração de ferramentas voltadas para processamento de imagens geográficas. Seu funcionamento (Davis, 2001, p.2) é baseado na utilização de componentes organizados em uma estrutura hierárquica que inclui: interface com o usuário, entrada e integração de dados, consulta e análise espacial, visualização/plotagem, funções de processamento gráfico de imagens e funções de gerência de dados baseada em bancos de dados geográficos.

92 90 Os bancos de dados geográficos são implementados em praticamente todas as modalidades de GIS atualmente disponíveis, podendo operar em conjunto com vários SGBDs cliente/servidor relacionais ou orientado a objetos. Um exemplo de banco de dados geográfico é o SPRING 2, que roda em plataformas de SGBD Oracle e Ingres, armazenando informações descritivas sobre dados geográficos, tais como mapas e imagens de satélites. Outro exemplo prático é o acesso a dados geográficos pela Internet, que acabou criando um novo segmento de aplicações voltadas para pesquisa e desenvolvimento em geoprocessamento. Figura 27: Exemplo de processamento de dados geográficos na internet. 2 O SPRING (Sistema para Processamento de Informações Georeferenciadas) foi desenvolvido pelo INPE (Instituto Nacional de Pesquisas Espaciais) para ser utilizado em ambientes UNIX e Windows.

Disciplina: Tecnologias de Banco de Dados para SI s

Disciplina: Tecnologias de Banco de Dados para SI s Curso de Gestão em SI Disciplina: Tecnologias de Banco de Dados para SI s Rodrigo da Silva Gomes (Extraído do material do prof. Ronaldo Melo - UFSC) Banco de Dados (BD) BD fazem parte do nosso dia-a-dia!

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto 6.1 ARQUIVOS E REGISTROS De um modo geral os dados estão organizados em arquivos. Define-se arquivo como um conjunto de informações referentes aos elementos

Leia mais

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados SISTEMA DE BANCO DE DADOS Banco e Modelagem de dados Sumário Conceitos/Autores chave... 3 1. Introdução... 4 2. Arquiteturas de um Sistema Gerenciador... 5 3. Componentes de um Sistema... 8 4. Vantagens

Leia mais

GBD. Introdução PROF. ANDREZA S. AREÃO

GBD. Introdução PROF. ANDREZA S. AREÃO GBD Introdução PROF. ANDREZA S. AREÃO Sistema de arquivos X Sistemas de Banco de Dados Sistema de arquivos Sistema de Banco de Dados Aplicativos Dados (arquivos) Aplicativos SGBD Dados (arquivos) O acesso/gerenciamento

Leia mais

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Professora conteudista: Cida Atum Sumário Administração de Banco de Dados Unidade I 1 INTRODUÇÃO A BANCO DE DADOS...1 1.1 Histórico...1 1.2 Definições...2 1.3 Importância

Leia mais

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL SQL APOSTILA INTRODUÇÃO Uma linguagem de consulta é a linguagem por meio da qual os usuários obtêm informações do banco de dados. Essas linguagens são, tipicamente, de nível mais alto que as linguagens

Leia mais

Laboratório de Banco de Dados

Laboratório de Banco de Dados Universidade Federal de Mato Grosso-UFMT Sistemas de Informação Laboratório de Banco de Dados Prof. Clóvis Júnior Laboratório de Banco de Dados Conteúdo Administração de Usuários de Papéis; Linguagens

Leia mais

Banco de Dados. Professor: Rômulo César. romulodandrade@gmail.com www.romulocesar.com.br

Banco de Dados. Professor: Rômulo César. romulodandrade@gmail.com www.romulocesar.com.br Banco de Dados Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Sistema de arquivos X Sistemas de Banco de Dados Sistema de arquivos Sistema de Banco de Dados Aplicativos Dados (arquivos)

Leia mais

Arquitetura de Banco de Dados

Arquitetura de Banco de Dados Arquitetura de Banco de Dados Daniela Barreiro Claro MAT A60 DCC/IM/UFBA Arquitetura de Banco de dados Final de 1972, ANSI/X3/SPARC estabeleceram o relatório final do STUDY GROUP Objetivos do Study Group

Leia mais

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

Fundamentos de Banco de Dados

Fundamentos de Banco de Dados Fundamentos de Banco de Dados SISTEMAS BASEADOS NO PROCESSAMENTO DE ARQUIVOS Sistema A Funcionário Pagamento Cargo Sistema B Funcionário Projeto SISTEMAS GERENCIADORES DE BANCO DE DADOS (SGBD) Sistema

Leia mais

Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados.

Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados. Histórico Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados. Sistemas Integrados: racionalização de processos, manutenção dos

Leia mais

Banco de Dados I. Introdução. Fabricio Breve

Banco de Dados I. Introdução. Fabricio Breve Banco de Dados I Introdução Fabricio Breve Introdução SGBD (Sistema Gerenciador de Banco de Dados): coleção de dados interrelacionados e um conjunto de programas para acessar esses dados Coleção de dados

Leia mais

Arquitetura de SGBD. Prof. Antonio Almeida de Barros Junior

Arquitetura de SGBD. Prof. Antonio Almeida de Barros Junior Arquitetura de SGBD Prof. Antonio Almeida de Barros Junior Agenda Caracterização de SGBDs SGBDs Centralizados SGBDs Cliente-Servidor SGBDs Distribuídos Homogêneos Multi-SGBDs Heterogêneos SGBDs Paralelos

Leia mais

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados LINGUAGEM SQL Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é uma linguagem de pesquisa declarativa para banco de dados relacional (base de dados relacional). Muitas das características

Leia mais

Bases de Dados. O que é uma Base de Dados? Pós-Grduação em SIG

Bases de Dados. O que é uma Base de Dados? Pós-Grduação em SIG Bases de Dados O que é uma Base de Dados? Dados Pode-se começar por tentar dar uma definição do que são Dados. Os dados são factos em bruto, que não são necessáriamente relevantes para qualquer coisa que

Leia mais

Banco de Dados. Conceitos e Arquitetura de Sistemas de Banco de Dados. Profa. Flávia Cristina Bernardini

Banco de Dados. Conceitos e Arquitetura de Sistemas de Banco de Dados. Profa. Flávia Cristina Bernardini Banco de Dados Conceitos e Arquitetura de Sistemas de Banco de Dados Profa. Flávia Cristina Bernardini Relembrando... Vantagens da Utilização de SGBD Redundância controlada Consistência dos dados armazenados

Leia mais

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Faculdade INED Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan 1 Unidade 2 Introdução a SQL 2 Leitura Obrigatória ELMASRI,

Leia mais

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD Introdução 1. CONCEITOS BÁSICOS DE BD, SBD E SGBD A importância da informação para a tomada de decisões nas organizações tem impulsionado o desenvolvimento dos sistemas de processamento de informações.

Leia mais

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados Sistema de Bancos de Dados Conceitos Gerais Sistema Gerenciador de Bancos de Dados # Definições # Motivação # Arquitetura Típica # Vantagens # Desvantagens # Evolução # Classes de Usuários 1 Nível 1 Dados

Leia mais

Introdução a Banco de Dados Aula 03. Prof. Silvestri www.eduardosilvestri.com.br

Introdução a Banco de Dados Aula 03. Prof. Silvestri www.eduardosilvestri.com.br Introdução a Banco de Dados Aula 03 Prof. Silvestri www.eduardosilvestri.com.br Arquiteturas de Banco de Dados Arquiteturas de BD - Introdução Atualmente, devem-se considerar alguns aspectos relevantes

Leia mais

Sistemas Gerenciadores de Bancos de Dados

Sistemas Gerenciadores de Bancos de Dados Sistemas Gerenciadores de Bancos de Dados Fernando Castor A partir de slides elaborados por Fernando Fonseca & Robson Fidalgo 1 Sistemas de Arquivos Sistemas de arquivos Principal característica é a replicação

Leia mais

Fundamentos do uso de tecnologia da informação F U P A C V R B P R O F. C H R I S T I E N L. R A C H I D

Fundamentos do uso de tecnologia da informação F U P A C V R B P R O F. C H R I S T I E N L. R A C H I D Fundamentos do uso de tecnologia da informação O USO CONSCIENTE DA TECNOLOGIA PARA O GERENCIAMENTO F U P A C V R B P R O F. C H R I S T I E N L. R A C H I D Organização 1. Vínculo Administração-Tecnologia

Leia mais

CONCEITOS BÁSICOS. 1. Conceitos básicos de BD, SBD e SGBD BANCO DE DADOS I

CONCEITOS BÁSICOS. 1. Conceitos básicos de BD, SBD e SGBD BANCO DE DADOS I CONCEITOS BÁSICOS 1. Conceitos básicos de BD, SBD e SGBD A importância da informação para a tomada de decisões nas organizações tem impulsionado o desenvolvimento dos sistemas de processamento de informações.

Leia mais

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction

Bases de Dados II 6638: BSc in Information Systems and Technologies. Cap. 1 Arquitectura de Sistemas de Bases de Dados. Module Introduction Bases de Dados II 6638: BSc in Information Systems and Technologies Cap. 1 Module Introduction Objectivos O propósito e a origem da arquitectura de base de dados a três níveis. O conteúdo dos níveis externo,

Leia mais

Introdução a Sistemas de Bancos de Dados

Introdução a Sistemas de Bancos de Dados Introdução a Sistemas de Bancos de Dados Prof. UFES - Universidade Federal do Espírito Santo rapchan@inf.ufes.br http://www.inf.ufes.br/~rapchan Roteiro da Apresentação Introdução Características de um

Leia mais

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações Tópicos Conceitos Básicos Bancos de Dados Sistemas de Bancos de Dados Sistemas de Gerenciamento de Bancos de Dados Abstração

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

Sistemas de Banco de Dados

Sistemas de Banco de Dados Sistemas de Banco de Dados Everson Santos Araujo everson@por.com.br Conceitos Dado - Um fato que pode ser armazenado Banco de dados (BD) - Coleção de dados interrelacionados Sistema Gerenciador de Banco

Leia mais

Banco de Dados I 2007. Módulo I: Introdução a Sistemas de Banco de Dados. (Aula 1) Clodis Boscarioli

Banco de Dados I 2007. Módulo I: Introdução a Sistemas de Banco de Dados. (Aula 1) Clodis Boscarioli Banco de Dados I 2007 Módulo I: Introdução a Sistemas de Banco de Dados (Aula 1) Clodis Boscarioli Agenda: Apresentação do Plano de Ensino; Aspectos Históricos; Estrutura Geral de um SGBD; Profissionais

Leia mais

Dados INTRODUÇÃO A BANCO DADOS

Dados INTRODUÇÃO A BANCO DADOS Dados INTRODUÇÃO A BANCO DADOS 2 1 INTRODUÇÃO...6 1.1 Modelos de Dados...6 1.1.1 Modelo Hierárquico...6 1.1.2 Modelo em Rede...7 1.1.3 Modelo Relacional...7 1.1.4 Modelo Orientado Objetos...8 1.1.5 Sistemas

Leia mais

Tópicos de Ambiente Web Conceitos Fundamentais Redes de Dados

Tópicos de Ambiente Web Conceitos Fundamentais Redes de Dados Tópicos de Ambiente Web Conceitos Fundamentais Redes de Dados Professora: Sheila Cáceres Computador Dispositivo eletrônico usado para processar guardar e tornar acessível informação. Tópicos de Ambiente

Leia mais

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE] 1/6 Banco de Dados O que é um Banco de Dados? Uma coleção de dados relacionados [ELMASRI/NAVATHE] Conjunto de dados integrados que tem por objetivo atender a uma comunidade específica [HEUSER] Um conjunto

Leia mais

SISTEMA GERENCIADOR DE BANCO DE DADOS

SISTEMA GERENCIADOR DE BANCO DE DADOS BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SISTEMA GERENCIADOR

Leia mais

INTRODUÇÃO E CONCEITOS BÁSICOS. Prof. Ronaldo R. Goldschmidt

INTRODUÇÃO E CONCEITOS BÁSICOS. Prof. Ronaldo R. Goldschmidt INTRODUÇÃO E CONCEITOS BÁSICOS Prof. Ronaldo R. Goldschmidt Hierarquia Dado - Informação - Conhecimento: Dados são fatos com significado implícito. Podem ser armazenados. Dados Processamento Informação

Leia mais

Introdução. Motivação. Sistema Gerenciador de Banco de Dados (SGBD) Banco de Dados (BD) Sistema de Banco de Dados (SBD)

Introdução. Motivação. Sistema Gerenciador de Banco de Dados (SGBD) Banco de Dados (BD) Sistema de Banco de Dados (SBD) Pós-graduação em Ciência da Computação CCM-202 Sistemas de Banco de Dados Introdução Profa. Maria Camila Nardini Barioni camila.barioni@ufabc.edu.br Bloco B - sala 937 2 quadrimestre de 2011 Motivação

Leia mais

Tópicos Avançados em Banco de Dados Visão Geral de Tópicos Avançados em Banco de Dados I. Prof. Hugo Souza

Tópicos Avançados em Banco de Dados Visão Geral de Tópicos Avançados em Banco de Dados I. Prof. Hugo Souza Tópicos Avançados em Banco de Dados Visão Geral de Tópicos Avançados em Banco de Dados I Prof. Hugo Souza Iniciaremos nossos estudos sobre os tópicos avançados sobre banco de dados recapitulando o histórico

Leia mais

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03)

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) MBA em Gestão de TI MÓDULO: BANCO DE DADOS E BUSINESS INTELIGENCE C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03) PROFESSOR: Edison Andrade Martins Morais prof@edison.eti.br http://www.edison.eti.br

Leia mais

Thin Clients : aumentando o potencial dos sistemas SCADA

Thin Clients : aumentando o potencial dos sistemas SCADA Artigos Técnicos Thin Clients : aumentando o potencial dos sistemas SCADA Tarcísio Romero de Oliveira, Engenheiro de Vendas e Aplicações da Intellution/Aquarius Automação Industrial Ltda. Um diagnóstico

Leia mais

Introdução a Computação

Introdução a Computação Introdução a Computação Aula 04 SGBD Sistemas Gerenciadores de Bancos de Dados Prof. MSc. Edilberto Silva edilms@yahoo.com Conceitos Básicos DADOS: são fatos em sua forma primária. Ex: nome do funcionário,

Leia mais

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI Fundamentos de Banco de Dados Aula 01 Introdução aos Sistemas de Bancos de Dados Introdução aos Sistemas de BD Objetivo Apresentar

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

Sistemas de Informação James A. O Brien Editora Saraiva Capítulo 5

Sistemas de Informação James A. O Brien Editora Saraiva Capítulo 5 Para entender bancos de dados, é útil ter em mente que os elementos de dados que os compõem são divididos em níveis hierárquicos. Esses elementos de dados lógicos constituem os conceitos de dados básicos

Leia mais

Roteiro. Conceitos e Arquitetura de Sistemas de Banco de Dados. Conceitos e Arquiteturas de Sistemas de Banco de Dados. BCC321 - Banco de Dados I

Roteiro. Conceitos e Arquitetura de Sistemas de Banco de Dados. Conceitos e Arquiteturas de Sistemas de Banco de Dados. BCC321 - Banco de Dados I Roteiro Conceitos e Arquitetura de Sistemas de Banco de Dados Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz

Leia mais

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

Leia mais

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos Introdução a Sistemas Distribuídos Definição: "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema de software distribuído." "Um sistema distribuído

Leia mais

INF220 - Banco de Dados I

INF220 - Banco de Dados I Banco de Dados - Introdução Bibliografia INF220 - Banco de Dados I Prof. Jugurta Lisboa Filho Departamento de Informática - UFV Notas de Aula (jugurta@dpi.ufv.br) ELMASRI, R; NAVATHE, S. Fundamentals of

Leia mais

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados. BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Hoje é

Leia mais

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

Fundamentos dos Sistemas de Informação Organização de Dados e Informações Fundamentos dos Sistemas de Informação Organização de Dados e Informações http://professor.fimes.edu.br/milena milenaresende@fimes.edu.br Sistema de Gerenciamento de Bases de Dados (DBMS) A implementação

Leia mais

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS Bancos de Dados Conceitos Fundamentais Tópicos Conceitos Básicos Bancos de Dados Sistemas de Bancos de Dados Sistemas de Gerenciamento de Bancos

Leia mais

Banco de Dados I Ementa:

Banco de Dados I Ementa: Banco de Dados I Ementa: Banco de Dados Sistema Gerenciador de Banco de Dados Usuários de um Banco de Dados Etapas de Modelagem, Projeto e Implementação de BD O Administrador de Dados e o Administrador

Leia mais

Banco de Dados 1 Prof. MSc Wagner Siqueira Cavalcante

Banco de Dados 1 Prof. MSc Wagner Siqueira Cavalcante Banco de Dados 1 Programação sucinta do curso:. Conceitos fundamentais de Banco de Dados.. Arquitetura dos Sistemas Gerenciadores de Banco de Dados (SGBD ou DBMS).. Características típicas de um SGBD..

Leia mais

Banco de Dados. Prof. Antonio

Banco de Dados. Prof. Antonio Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards

Leia mais

Prof. Omero, pág. 63. Banco de Dados InterBase.

Prof. Omero, pág. 63. Banco de Dados InterBase. Prof. Omero, pág. 63 O que é o InterBase? O InterBase é um SGBDR - Sistema Gerenciador de Banco de Dados Cliente/Servidor Relacional 1 que está baseado no padrão SQL ANSI-9, de alta performance, independente

Leia mais

20/05/2013. Sistemas de Arquivos Sistemas de arquivos. Sistemas de Gerenciamento de Banco de Dados (SGBD) Banco de Dados. Estrutura de um BD SGBD

20/05/2013. Sistemas de Arquivos Sistemas de arquivos. Sistemas de Gerenciamento de Banco de Dados (SGBD) Banco de Dados. Estrutura de um BD SGBD Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Robson Fidalgo Sistemas de Arquivos Sistemas de arquivos Principal característica é a replicação e isolamento de dados (ilhas de informações)

Leia mais

CAPÍTULO 5. Introdução ao Gerenciamento de Bancos de Dados.

CAPÍTULO 5. Introdução ao Gerenciamento de Bancos de Dados. CAPÍTULO 5. Introdução ao Gerenciamento de Bancos de Dados. VISÃO GERAL DO CAPÍTULO O objetivo do capítulo é enfatizar o gerenciamento dos recursos de dados de organizações que utilizam computadores. O

Leia mais

Banco de Dados Capítulo 1: Introdução. Especialização em Informática DEINF/UFMA Cláudio Baptista

Banco de Dados Capítulo 1: Introdução. Especialização em Informática DEINF/UFMA Cláudio Baptista Banco de Dados Capítulo 1: Introdução Especialização em Informática DEINF/UFMA Cláudio Baptista O que é um Banco de Dados (BD)? É uma coleção de dados relacionados e armazenados em algum dispositivo. Propriedades

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Evolução Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Introdução Componentes de um sistema computacional Conceituação Características desejáveis Organização

Leia mais

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1

Cliente/Servidor. Conceitos Gerais. Graça Bressan. Graça Bressan/LARC 2000 1 Cliente/Servidor Conceitos Gerais Graça Bressan Graça Bressan/LARC 2000 1 Forças de marketing que conduzem à arquitetura cliente/servidor "Cliente/Servidor é um movimento irresistível que está reformulando

Leia mais

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1. Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco

Leia mais

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,

Leia mais

Sistemas Gerenciadores de Bancos de Dados

Sistemas Gerenciadores de Bancos de Dados Sistemas Gerenciadores de Bancos de Dados Orivaldo V. Santana Jr A partir de slides elaborados por Ivan G. Costa Filho Fernando Fonseca & Robson Fidalgo 1 Sistemas de Arquivos Sistemas de arquivos Principal

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES Eriko Carlo Maia Porto UNESA Universidade Estácio de Sá eriko_porto@uol.com.br Última revisão Julho/2003 REDES DE COMPUTADORES INTRODUÇÃO EVOLUÇÃO DOS SISTEMAS DE COMPUTAÇÃO Década de 50 introdução dos

Leia mais

Introdução ao SQL. O que é SQL?

Introdução ao SQL. O que é SQL? Introdução ao SQL 1 O que é SQL? Inicialmente chamada de Sequel, SQL (Structured Query Language), é a linguagem padrão utilizada para comunicar-se com um banco de dados relacional. A versão original foi

Leia mais

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão SISTEMAS DE BANCO DE DADOS Prof. Adriano Pereira Maranhão 1 REVISÃO BANCO DE DADOS I O que é banco de dados? Ou seja afinal o que é um SGBD? REVISÃO BD I REVISÃO DE BD I Um Sistema de Gerenciamento de

Leia mais

Introdução à Banco de Dados. Definição

Introdução à Banco de Dados. Definição Universidade Federal da Bahia Departamento de Ciência da Computação (DCC) Disciplina: Banco de Dados Profª. Daniela Barreiro Claro Introdução à Banco de Dados Definição Um banco de dados é uma coleção

Leia mais

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Introdução BD desempenha papel crítico em todas as áreas em que computadores são utilizados: Banco: Depositar ou retirar

Leia mais

Bancos de Dados Aula #1 - Introdução

Bancos de Dados Aula #1 - Introdução Bancos de Dados Aula #1 - Introdução Prof. Eduardo R. Hruschka * Slides baseados no material elaborado pelas professoras: Cristina D. A. Ciferri Elaine P. M. de Souza Motivação Operações bancárias; Compras

Leia mais

Gerenciamento de Redes

Gerenciamento de Redes Gerenciamento de Redes As redes de computadores atuais são compostas por uma grande variedade de dispositivos que devem se comunicar e compartilhar recursos. Na maioria dos casos, a eficiência dos serviços

Leia mais

Sistema centralizado O Paradigma Cliente/Servidor

Sistema centralizado O Paradigma Cliente/Servidor centralizado O Paradigma Cliente/Servidor Computador central (mainframe) + conjunto de terminais + recursos centralizados recursos mainframe terminais 2 distribuído Relações entre entidades Grupo de computadores

Leia mais

SQL Structured Query Language

SQL Structured Query Language Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa

Leia mais

Tecnologia da Informação. Prof. Esp. Lucas Cruz

Tecnologia da Informação. Prof. Esp. Lucas Cruz Tecnologia da Informação Prof. Esp. Lucas Cruz Software A utilização comercial da informática nas empresas iniciou-se por volta dos anos 1960. O software era um item menos dispendioso que o hardware, e

Leia mais

Prova INSS RJ - 2007 cargo: Fiscal de Rendas

Prova INSS RJ - 2007 cargo: Fiscal de Rendas Prova INSS RJ - 2007 cargo: Fiscal de Rendas Material de Apoio de Informática - Prof(a) Ana Lucia 53. Uma rede de microcomputadores acessa os recursos da Internet e utiliza o endereço IP 138.159.0.0/16,

Leia mais

BANCO DE DADOS. Introdução a Banco de Dados. Conceitos BásicosB. Engenharia da Computação UNIVASF. Aula 1. Breve Histórico

BANCO DE DADOS. Introdução a Banco de Dados. Conceitos BásicosB. Engenharia da Computação UNIVASF. Aula 1. Breve Histórico Banco de Dados // 1 Banco de Dados // 2 Conceitos BásicosB Engenharia da Computação UNIVASF BANCO DE DADOS Aula 1 Introdução a Banco de Dados Campo representação informatizada de um dado real / menor unidade

Leia mais

Tecnologia da Informação. Prof. Esp. Lucas Cruz

Tecnologia da Informação. Prof. Esp. Lucas Cruz Tecnologia da Informação Prof. Esp. Lucas Cruz Componentes da Infraestrutura de TI Software A utilização comercial da informática nas empresas iniciou-se por volta dos anos 1960. O software era um item

Leia mais

Unidade III. Unidade III

Unidade III. Unidade III Unidade III 4 ADMINISTRAÇÃO DE SGBDs As pessoas que trabalham com um banco de dados podem ser categorizadas como usuários de banco de dados ou administradores de banco de dados. 1 Entre os usuários, existem

Leia mais

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Bancos de Dados Distribuídos Conceitos e Arquitetura Vantagens das Arquiteturas C/S (em relação

Leia mais

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível

Leia mais

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do

Leia mais

Sistemas Operacionais Carlos Eduardo Portela Serra de Castro

Sistemas Operacionais Carlos Eduardo Portela Serra de Castro Introdução Sistemas Operacionais 1 Sistema Operacional: Um conjunto de programas, executado pelo computador como os outros programas. Função: Controlar o funcionamento do computador, disponibilizando seus

Leia mais

Desculpe, mas este serviço (jogo) encontra se em manutenção.

Desculpe, mas este serviço (jogo) encontra se em manutenção. Estrutura de servidor e banco de dados para multijogadores massivos Marcelo Henrique dos Santos marcelosantos@outlook.com Desculpe, mas este serviço (jogo) encontra se em manutenção. São Paulo SP, Fevereiro/2013

Leia mais

A Evolução dos Sistemas Operacionais

A Evolução dos Sistemas Operacionais Capítulo 3 A Evolução dos Sistemas Operacionais Neste capítulo, continuaremos a tratar dos conceitos básicos com a intensão de construirmos, agora em um nível mais elevado de abstração, o entendimento

Leia mais

PORTARIA N Nº 184 Rio de Janeiro, 27 de dezembro de 2012.

PORTARIA N Nº 184 Rio de Janeiro, 27 de dezembro de 2012. PORTARIA N Nº 184 Rio de Janeiro, 27 de dezembro de. ACRESCENTA A ARQUITETURA DE PADRÕES TECNOLÓGICOS DE INTEROPERABILIDADE -, NO SEGMENTO RECURSOS TECNOLÓGICOS, O PADRÃO TECNOLÓGICO SISTEMAS DE GERENCIAMENTO

Leia mais

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

Leia mais

Programação com Acesso a Banco de Dados

Programação com Acesso a Banco de Dados Campus Ipanguaçu Curso: Técnico em Informática Programação com Acesso a Banco de Dados AULA 17 ACESSO A BANCO DE DADOS COM JDBC PROF.: CLAYTON M. COSTA 2 011.2 Introdução Aplicação + Banco de Dados: Funcionalidade

Leia mais

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs 1 Bancos de Dados - Introdução Melissa Lemos melissa@inf.puc-rio.br Tópicos Evolução dos Sistemas de Informação Esquemas Modelos Conceitual Lógico Características de SGBDs 2 Evolução tempo Programas e

Leia mais

O que são Bancos de Dados?

O que são Bancos de Dados? SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados

Leia mais

CONCEITOS E ARQUITETURA DO SISTEMA DE BANCO DE DADOS

CONCEITOS E ARQUITETURA DO SISTEMA DE BANCO DE DADOS riuningá UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO CONCEITOS E ARQUITETURA DO SISTEMA DE BANCO DE DADOS MARINGÁ 2014 SUMÁRIO 3 ARQUITETURA...3

Leia mais

Diferenças entre Sistemas Gerenciadores de Banco de Dados para GIS - SGBDs

Diferenças entre Sistemas Gerenciadores de Banco de Dados para GIS - SGBDs Diferenças entre Sistemas Gerenciadores de Banco de Dados para GIS - SGBDs O objetivo deste documento é fazer uma revisão bibliográfica para elucidar as principais diferenças entre os SGBDs, apontando

Leia mais

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE 1 OBJETIVOS 1. Qual é a capacidade de processamento e armazenagem que sua organização precisa para administrar suas informações e transações empresariais?

Leia mais

ANEXO 9 DO PROJETO BÁSICO DA FERRAMENTA DE MONITORAMENTO, SEGURANÇA E AUDITORIA DE BANCO DE DADOS

ANEXO 9 DO PROJETO BÁSICO DA FERRAMENTA DE MONITORAMENTO, SEGURANÇA E AUDITORIA DE BANCO DE DADOS ANEXO 9 DO PROJETO BÁSICO DA FERRAMENTA DE MONITORAMENTO, SEGURANÇA E AUDITORIA DE BANCO DE DADOS Sumário 1. Finalidade... 2 2. Justificativa para contratação... 2 3. Premissas para fornecimento e operação

Leia mais

INTRODUÇÃO BANCO DE DADOS. Prof. Msc. Hélio Esperidião

INTRODUÇÃO BANCO DE DADOS. Prof. Msc. Hélio Esperidião INTRODUÇÃO BANCO DE DADOS Prof. Msc. Hélio Esperidião BANCO DE DADOS Podemos entender por banco de dados qualquer sistema que reúna e mantenha organizada uma série de informações relacionadas a um determinado

Leia mais

Capítulo VI Telecomunicações: Redes e Aplicativos

Capítulo VI Telecomunicações: Redes e Aplicativos Capítulo VI Telecomunicações: Redes e Aplicativos Uma rede nada mais é do que máquinas que se comunicam. Estas máquinas podem ser computadores, impressoras, telefones, aparelhos de fax, etc. Se interligarmos

Leia mais

BANCO DE DADOS WEB AULA 4. linguagem SQL: subconjuntos DCL, DDL e DML. professor Luciano Roberto Rocha. www.lrocha.com

BANCO DE DADOS WEB AULA 4. linguagem SQL: subconjuntos DCL, DDL e DML. professor Luciano Roberto Rocha. www.lrocha.com BANCO DE DADOS WEB AULA 4 linguagem SQL: subconjuntos DCL, DDL e DML professor Luciano Roberto Rocha www.lrocha.com O que é SQL? Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL,

Leia mais

2 Auto-sintonia de Bancos de Dados e Agentes de Software

2 Auto-sintonia de Bancos de Dados e Agentes de Software 2 Auto-sintonia de Bancos de Dados e Agentes de Software A uso da abordagem de agentes de software 1 pode trazer benefícios a áreas de aplicação em que é necessário construir sistemas autônomos, ou seja,

Leia mais

BANCO DE DADOS CONCEITOS BÁSICOS

BANCO DE DADOS CONCEITOS BÁSICOS Universidade Federal da Paraíba UFPB Centro de Energias Alternativas e Renováveis - CEAR Departamento de Eng. Elétrica DEE BANCO DE DADOS CONCEITOS BÁSICOS Isaac Maia Pessoa Introdução O que é um BD? Operações

Leia mais

Redes de Computadores e suas classificações. Maurício Severich

Redes de Computadores e suas classificações. Maurício Severich Redes de Computadores e suas classificações Maurício Severich Sumário O computador pessoal e a demanda Redes e suas classificações Conectividade Cliente/Servidor Topologia Distância O computador pessoal

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 1 Linguagem SQL Linguagem de definição de dados (DDL) DISCIPLINA: Banco de Dados

Leia mais

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec SQL Curso Prático Celso Henrique Poderoso de Oliveira Novatec 1 Introdução Desde o início da utilização dos computadores, sabemos que um sistema é feito para aceitar entrada de dados, realizar processamentos

Leia mais