Introdução a Informática Prof.: Roberto Franciscatto 6 – Organização da Informação 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 de um conjunto. • Diz-se que registro é cada um dos elementos bem definidos do arquivo. 6 – Organização da Informação 6.1 ARQUIVOS E REGISTROS • É interessante salientar que esse registro tem caráter lógico e, por isso, é denominado também registro lógico. • Há em contrapartida o que em processamento de dados se denomina registro físico, que diz respeito à quantidade de informação transmitida à memória ou retirada dela em consequencia de uma única instrução. 6 – Organização da Informação CONCEITOS BÁSICOS • Arquivo • Um arquivo de dados é formado por registros lógicos, cada um deles representando um determinado elemento. • Registro lógico ou registro • Sequência de itens de dados, cada qual também conhecido como campo; esses itens de dados, que caracterizam cada elemento do arquivo, são tratados como uma unidade de informação 6 – Organização da Informação CONCEITOS BÁSICOS • Registro físico • Quantidade de informação transmitida à memória ou retirada dela em consequência de uma instrução. • Um registro lógico pode ser maior ou menor que um regsitro físico. • É mais comum o caso de, em um registro físico, encontram-se dois ou mais registros lógicos. 6 – Organização da Informação CONCEITOS BÁSICOS • Campo • Espaços reservados aos diferentes dados que, relacionados, compõem um registro; correspondem a uma característica ou propriedade do objeto representado. 6 – Organização da Informação 6.2 – CHAVES, SORT, MERGE E OPERAÇÕES • As operações básicas sobre os registros de um arquivo são: • Inclusão • Exclusão • Pesquisa (lozalização ou acesso) – visando à alteração ou à simples consulta 6 – Organização da Informação 6.2 – CHAVES, SORT, MERGE E OPERAÇÕES • Outras operações são: • atualização do arquivo como um todo • reorganização • listagem total • ordenação (sort) • intercalação (merge) • junção (append) de dois ou mais arquivos 6 – Organização da Informação 6.2 – CONCEITOS BÁSICOS • Chave Primária • É o campo que abriga valores que individualizam cada registro, de tal forma que dado um valor desse item é identificável apenas um único registro do arquivo. • Normalmente, a chave primária é formada por um único campo, mas pode ser formada por dois ou mais. 6 – Organização da Informação 6.2 – CONCEITOS BÁSICOS • Chave Secundária • Difere da primária pela possibilidade de não possuir um valor diferente para cada registro. • Assim, uma chave secundária identifica um conjunto de registros. 6 – Organização da Informação 6.2 – CONCEITOS BÁSICOS • Chave de Acesso • É a chave usada para identificar os registros desejados em uma operação de acesso a um arquivo. 6 – Organização da Informação 6.3 – ORGANIZAÇÃO DOS ARQUIVOS E MÉTODOS DE ACESSO • Os três principais métodos de organização de arquivos são: • Sequencial • Sequencial-indexado • Aleatório 6 – Organização da Informação 6.3 – ORGANIZAÇÃO DOS ARQUIVOS E MÉTODOS DE ACESSO • E os três métodos básicos de acesso a registros de um arquivo são: • Sequencial • Indexado • Direto 6 – Organização da Informação 6.4 – ARQUIVO SEQUENCIAL • Nesse tipo de arquivo, os registros são gravados em ordem sequencial por suas respectivas chaves, havendo pois, uma perfeita ordenação; tanto lógica quanto física. 6 – Organização da Informação SISTEMAS DE ARQUIVOS x SISTEMAS DE BANCO DE DADOS Sistema de arquivos Aplicativos Dados (arquivos) O acesso/gerenciamento aos/dos dados é feito diretamente pelos programas aplicativos. 6 – Organização da Informação SISTEMAS DE ARQUIVOS x SISTEMAS DE BANCO DE DADOS Sistema de Banco de Dados Aplicativos SGBD Dados (arquivos) O acesso/gerenciamento aos/dos dados é feito pelo SGBD. O SGBD funciona como uma interface entre o BD e os programas aplicativos. 6 – Organização da Informação DEFINIÇÕES • Dados: • Algo que faz parte da realidade. • são fatos que podem ser gravados e que possuem um significado implícito. 6 – Organização da Informação DEFINIÇÕES • Banco de Dados (BD): é uma coleção de dados relacionados: • Representa aspectos do mundo real (minimundo ou universo de discurso) e mudanças no mundo real devem ser refletidas no BD. • É uma coleção lógica e coerente de dados com algum significado inerente. Uma organização randômica de dados não pode ser considerada um BD. • Um BD é construído em atendimento a uma proposta específica. 6 – Organização da Informação DEFINIÇÕES • Um Sistema Gerenciador de Banco de Dados (SGBD) é uma coleção de programas que permite aos usuários criar e manter um banco de dados. • É um sistema de software de propósito geral que facilita os processos de definição, construção, manipulação e compartilhamento de bancos de dados entre vários usuários e aplicações. 6 – Organização da Informação INTERAÇÃO 6 – Organização da Informação PRINCIPAIS FUNÇÕES Inclusão (INSERT) INSERT INTO clientes (codigo,nome,valor) VALUES (‘1234’,’José da Silva’,678.55) Alteração (UPDATE) UPDATE clientes SET nome = ‘Antonio da Silva’ WHERE codigo = ‘1234’ Exclusão (DELETE) DELETE FROM clientes WHERE codigo = ‘1234’ Consulta (SELECT) SELECT * FROM clientes WHERE codigo = ‘1234’ 6 – Organização da Informação SISTEMA DE BANCO DE DADOS Usuários/Programadores Programas de Aplicações / Consultas (Queries) SGBD Programas para Processamento de consultas / gerenciamento de dados Software para Acesso aos Dados Armazenados Definição dos dados Banco de dados armazenados 6 – Organização da Informação INDEPENDÊNCIA ENTRE PROGRAMAS E DADOS • É a capacidade de modificar a definição dos esquemas em determinado nível, sem afetar o esquema de nível superior. • Independência física de dados: é a capacidade de modificar o esquema físico sem que, com isso, qualquer programa de aplicação precise ser reescrito. •Modificações no nível físico são necessárias, ocasionalmente, para aprimorar desempenho. (mais fácil de ser alcançada nos SBDs) 6 – Organização da Informação INDEPENDÊNCIA ENTRE PROGRAMAS E DADOS • Independência lógica de dados: é a capacidade de modificar o esquema lógico sem que, com isso, qualquer programa de aplicação precise ser reescrito. • Modificações no nível lógico são necessárias sempre que uma estrutura lógica do banco de dados é alterada (por exemplo, mudança do sistema monetário). 6 – Organização da Informação UTILITÁRIOS DE UM SGBD • Carregamento (loading): carrega arquivos e dados existentes dentro do banco de dados. • Útil para transferência de dados entre SGBDs ou entre SGBDs e outros sistemas (são ferramentas de conversão). • Backup: cria uma cópia do banco de dados, geralmente descarregando (dumping) todo o banco de dados em uma fita (por exemplo). • Também possibilita o backup incremental. 6 – Organização da Informação UTILITÁRIOS DE UM SGBD • Reorganização de arquivos: reorganiza os arquivos do banco de dados em uma nova forma buscando melhorar seu desempenho. • Monitoramento de desempenho: monitora o uso do BD e fornece estatísticas para o DBA, que pode tomar decisões para melhorar o desempenho. 6 – Organização da Informação UTILITÁRIOS DE UM SGBD Espelhamento 6 – Organização da Informação UTILITÁRIOS DE UM SGBD Replicação 6 – Organização da Informação UTILITÁRIOS DE UM SGBD Clusterização 6 – Organização da Informação ARQUITETURA DE SISTEMA DE BANCO DE DADOS Primeira arquitetura: Centralizada (uso de Mainframes) • O processamento principal e de todas as funções do sistema (aplicativos, interface e SGBD) eram executados nos mainframes. • Os usuários interagiam com o sistema via terminais sem poder de processamento, conectados ao mainframe por redes de comunicação. 6 – Organização da Informação ARQUITETURA DE SISTEMA DE BANCO DE DADOS • Com o barateamento do hardware, os terminais foram sendo trocados por estações de trabalho e naturalmente a tecnologia de banco de dados começou a aproveitar esse potencial de processamento no lado do usuário. • Surge a segunda arquitetura. 6 – Organização da Informação ARQUITETURA DE SISTEMA DE BANCO DE DADOS Segunda arquitetura: Cliente – Servidor • Dividiu as tarefas de processamento criando servidores especializados como os servidores de arquivos. • As máquinas clientes disponibilizavam as interfaces para os usuários, de forma a capacitá-lo ao uso de servidores. Também tinham autonomia para executar aplicações locais. • No caso específico de banco de dados, nesta arquitetura, um SGBD centralizado é implantado no servidor, assim as consultas (servidor SQL) e funcionalidades transacionais são executadas no servidor. 6 – Organização da Informação ARQUITETURA DE SISTEMA DE BANCO DE DADOS Segunda arquitetura: Cliente – Servidor • No lado do cliente é possível formular as consultas e desenvolver programas aplicativos. • O servidor SQLé conhecido como Back-End Machine e o cliente como Front-End Machine. 6 – Organização da Informação TIPOS DE ARQUITETURA CLIENTE/SERVIDOR - Ponto a Ponto (P2P) - Distribuído Servidor / Cliente Servidor Servidor Cliente / Servidor Cliente Cliente Servidor Cliente 6 – Organização da Informação BANCO DE DADOS NA INTERNET • Normalmente baseados em WEB Servers, que geram automaticamente e dinamicamente páginas HTML a partir de consultas SQL; • O WEB Server (Internet Information Services / Apache): • recebe solicitações (consultas SQL) dos clientes (navegadores WWW) • repassam as solicitações ao servidor de bancos de dados • recebem o resultado • montam uma página HTML com o resultado • repassam a página HTML para o cliente 6 – Organização da Informação SISTEMAS COMERCIAIS • Paradox: Possui ambiente integrado de desenvolvimento para criação de aplicativos. Os direitos de produção foram vendido pela Borland para a Corel. Teve versões para DOS e hoje possui apenas versões para Windows. • FoxBase/FoxPro: Concorrente do dBase com total compatibilidade em termos de arquivos e programas-fontes. Com recursos adicionais como a capacidade de précompilação dos códigos-fontes para melhorar performance. Hoje, após a aquisição pela Microsoft da Fox Software (produtora original), se chama: Visual FoxPro. 6 – Organização da Informação SISTEMAS COMERCIAIS • Access: é padrão em banco de dados para microcomputadores do ambiente Windows. • Possui ambiente integrado que permite a criação e gerenciamento do banco de dados, desenvolvimento de aplicações e geração de relatórios. • A linguagem de programação usada neste ambiente deriva do Visual Basic. 6 – Organização da Informação SISTEMAS COMERCIAIS • Oracle: O primeiro em Banco de Dados Corporativos (cliente/servidor) possuindo grande variedade de distribuições (para Macintosh, Windows, Linux, FreeBSD, Unix) e para computadores de grande porte. • É padrão SQL com uma linguagem própria para desenvolvimento de aplicações. 6 – Organização da Informação SISTEMAS COMERCIAIS • Interbase: Foi incluído, pela Borland, nas suas ferramentas de desenvolvimento (Delphi, C++Builder, JBuider). • Teve uma versão liberada como Open Source. • MS-SQL Server: Produzido pela Microsoft, inicialmente era uma versão especial do Sybase. • As versões atuais são independentes e opera exclusivamente sobre Windows. 6 – Organização da Informação SISTEMAS COMERCIAIS • Sybase SQL Anywhere: Concorre com o Oracle no mercado corporativo. Aplicações para este banco são desenvolvidas com o PowerBuilder. • MySQL: Possui versões para Windows, Solaris, Unix, FreeBSD, Linux) e é gratuito. •Muito poderoso, usado principalmente para desenvolvimento WEB como servidor de dados para comércio eletrônico. 6 – Organização da Informação SISTEMAS COMERCIAIS • PostgreSQL: Gratuito e com boa aceitação. Originalmente concebido para rodar em Linux. • Possui versões para Windows. Principalmente usado para comércio eletrônico juntamente com linguagem PHP. • Informix: Boa escalabilidade e desempenho. Comercializado pela IBM. • DB2: Produzido pela IBM, nasceu nos ambientes de grande porte, sendo posteriormente portado para plataformas mais simples (microcomputadores). 6 – Organização da Informação SISTEMAS COMERCIAIS • Firebird: Nascido de uma iniciativa da Borland em abrir o código do InterBase 6, este sistema é open source e esbanja versatilidade e robustez. Possui recursos de trigger, store procedures e transações concorrentes. 6 – Organização da Informação ODBC – OPEN DATABASE CONNECTIVITY • São drivers que fornecem uma interface uniforme que permite a interação entre aplicativos e diferentes gerenciadores de bancos de dados. • Aplicativos que utilizam o API do ODBC são capazes de se comunicar com qualquer gerenciador relacional para o qual exista um driver ODBC. 6 – Organização da Informação ODBC – OPEN DATABASE CONNECTIVITY Programa aplicativo Driver Gerenciador ODBC Driver ODBC 1 SGBD 1 Driver ODBC 2 SGBD 2 Driver ODBC N SGBD N 6 – Organização da Informação ODBC – OPEN DATABASE CONNECTIVITY 6 – Organização da Informação EXERCÍCIOS • O que é SQL? • Com relação a Banco de Dados o que é ACID ? • O que é Commit e Rollback ? • Pesquise por um SGBD e tente explicar seu funcionamento básico... [email protected] Dúvidas, sugestões ou questionamentos ??? [email protected]