• Nenhum resultado encontrado

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
30
0
0

Texto

(1)

Módulo I:

Introdução a Sistemas de

Banco de Dados

(Aula 1)

Clodis Boscarioli

Banco de Dados I 2007

(2)

Agenda:



Apresentação do Plano de Ensino;



Aspectos Históricos;



Estrutura Geral de um SGBD;



Profissionais de BD;

(3)

Sistema de Arquivos

 Primeiro sistema para armazenamento e manipulação de

dados e geração de informação.

 Problemas:

 Definição das estruturas de arquivos inseridas no próprio

código do aplicativo

 Alta dependência entre dados e aplicação, dificultando as

atividades de manutenção;

 Compartilhamento de um arquivo por vários programas

comprometido. A definição das estruturas dos arquivos eram duplicadas nos programas;

 Arquivos e programas de um mesmo sistema desenvolvidos, de

forma isolada, por diferentes programadores, e até mesmo, em linguagens de programação diferentes.

(4)

Sistemas de Arquivos - Problemas

 Inconsistência e redundância de dados:

 Se a mesma informação está repetida em diversos lugares (arquivos

diferentes) ela:

 está redundante, aumentando os custos de armazenamento e;

 pode passar para um estado inconsistente, com valores divergentes

nas diferentes réplicas.

 Dificuldade de acesso aos dados:

 A geração de informação pode surgir, durante o tempo em que o

sistema está em produção, sob diferentes aspectos. Cada requisição de informação diferente, no sistema de arquivos, vai gerar a

necessidade da criação de um programa aplicativo. A recuperação de informação não é atendida de modo eficiente.

(5)

 Isolamento de dados:

 Os dados estão armazenados em arquivos distintos, que não

possuem qualquer tipo de relacionamento direto, e ainda, podem conter diferentes formatos para o mesmo dado.

 Problemas de integridade:

 É difícil manter “restrições de integridade” automaticamente, por

exemplo:

 O balanço de uma conta bancária não pode cair abaixo

de um determinado valor.

 Sempre que o saldo de uma conta for superior a um

valor X, parte deste saldo deve ser automaticamente aplicado na poupança.

(6)

Sistemas de Arquivos - Problemas



Problemas de atomicidade:

 Algumas operações em um sistema devem ser “atômicas”

(indivisíveis). Ou essas operações são, em seu conjunto, executadas até o fim, ou nenhuma delas deve ser

executada.



Problemas de segurança:

 Nem todos os usuários do sistema devem estar

autorizados a ver/acessar todos os dados armazenados. Uma vez que os programas de aplicação são inseridos no sistema como um todo, é difícil implementar e garantir a efetividade de regras de segurança.

(7)

Sistemas de Arquivos - Problemas

 Anomalias no acesso concorrente:

 A melhora de desempenho em um sistema pode ocorrer pela execução

simultânea de diversas operações. Geralmente, nos sistemas de arquivos, esta melhoria seria difícil de implementar sem levar a danos na consistência dos dados. Considere a seguinte situação num sistema bancário:

 Suponha que o saldo de uma conta bancária A seja 500 reais. Se dois

clientes retiram fundos desta conta A ao mesmo tempo (acesso concorrente à conta A), um estado inconsistente pode ocorrer se na

execução das duas instâncias do programa de débito, ambos os clientes leiam o saldo antigo e retirem, cada um, seu valor correspondente, e seja então armazenado o valor restante.

 Instanciando o problema:

 Ambos lêem o valor 500;

 Um retira 50 reais (resultando 450 reais) e o outro 100 reais (resultado 400

reais);

 Dependendo de qual execução do programa de débito registre o saldo restante

primeiro, o valor do saldo da conta será 450 ou 400 reais, quando deveria ser 350 reais.

(8)

Sistema de Arquivos versus Sistemas de

Banco de Dados

O acesso/gerenciamento aos/dos dados é feito diretamente pelos programas aplicativos.

O acesso/gerenciamento aos/dos dados é feito pelo SGBD. O SGBD funciona como uma interface entre o BD e os programas aplicativos. Dados (arquivos) Dados (arquivos) SGBD

Sistema de arquivos Sistema de Banco de Dados (SBD)

(9)

SBDs: Independência de Dados

 É a capacidade de modificar a definição dos esquemas em

determinado nível, sem afetar o esquema de nível superior.

 Independência de dados física: é 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)

 Independência de dados lógica: é 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).

(10)

Sistema Gerenciador de Banco de Dados

Um Sistema Gerenciador de Banco de Dados (SGBD) é uma

coleção de programas que habilitam usuários a criar e

manter um banco de dados.

O SGBD é um software de propósito geral, que facilita o

processo de definição, construção e manipulação de um

bancos de dados.

O grande objetivo de um sistema de BD é oferecer uma

visão “abstrata” dos dados, com disponibilidade eficiente,

aos usuários.

(11)

Definição

de banco de dados envolve especificar estruturas e tipos de dados para serem gravados no banco de dados, com uma descrição detalhada de cada tipo de dado.

Construção

de um banco de dados é o

processo de consistir e gravar inicialmente dados no banco de dados.

Manipulação

de um banco de dados inclui

funções como consulta por dados específicos e atualização para refletir as alterações no mundo real. SGBD PROGRAMAS Mundo real usuários

SGBDs - Propósitos Gerais

(12)

Visão Geral

de um SGBD

SGBD Usuários Interface com aplicações Programas de aplicações Consultas (queries) Esquema de Banco de Dados Usuários navegantes Programadores de aplicações Usuários sofisticados Administra-dores de BD Processador de consultas Gerenciador de memória Gerenciador de transações Gerenciador de buffer Gerenciador de arquivos Interpretador DDL Compilador DML Pré-compilador de comandos DML Programas de aplicações em código objeto Componentes de execução de consultas Armazenamento em disco Índices Arquivos de dados Dados estatísticos BD Dicionário de dados

(13)

SGBD - Linguagens dos Sistemas

1. Linguagem de Definição de Dados:

Um

esquema de dados é especificado por uma conjunto

de definições expressas por uma linguagem especial

chamada Linguagem de definição de dados (do inglês

Data-Definition Language – DDL).

O resultado da compilação dos parâmetros/comando

DDL geral os dicionário de dados (arquivo de

(14)

2. Linguagem de Manipulação de Dados:

Do inglês Data-Manipulation Language – DML) é a linguagem que viabiliza o acesso e a manipulação do dados. Podem ser:

Procedurais: o usuário especifica procedimentos para recuperar os dados que necessita.

Não-procedurais: o usuário descreve os dados que necessita.

 Manipulação de dados = recuperação de informações do

banco de dados e inserção, remoção e alteração de dados no banco de dados.

(15)

SGBD - Processamento de Consultas

 Compilador DML: Traduz comandos DML em instruções de

baixo nível, entendidos pelo componente de execução de consultas. Além disso, otimiza a solicitação do usuário.

 Pré-compilador para comandos DML inseridos em

programas de aplicação: Convertem comandos DML em chamadas de procedimentos normais da linguagem

hospedeira. Interage com o compilador DML e modo a gerar o código apropriado.

 Interpretador DDL: Interpreta os comandos DDL e os registra

no dicionário de dados.

 Componentes para tratamento de consultas: Executa

(16)

SGBD - Gerenciador de Memória

 Um dos principais objetivos de um Sistema de Banco de Dados é

simplificar e otimizar o acesso aos dados.

 O desempenho de um SBD depende diretamente da eficiência das

estrutura usadas na representação dos dados e do quanto este sistema está apto a operar essas estrutura de dados

 Um dos principais módulos de um SGBD é o gerenciador de

memória, responsável por fazer a interface entre o armazenamento de dados em um nível mais baixo e as consultas e programas de aplicação submetidos ao sistema. Ele também realiza a interface do SBD com o Sistema de Arquivos do Sistema Operacional.

 É o gerenciador de memória quem traduz os diversos comandos

(17)

SGBD - Gerenciador de Memória

 Composto por:

 Gerenciamento de autorizações e integridade: testam o

cumprimento das regras de integridade e a permissão ao usuário no acesso ao dado.

 Gerenciamento de Transações: cuida da execução das transações.

 Administração de buffer: responsável pela intermediação de dados

do disco para a memória principal e pela decisão de quais dados colocar em memória auxiliar.

 Administração de arquivos: gerencia a alocação de espaço de no

armazenamento em disco e as estruturas de dados usadas para representar estas informações armazenadas em disco.

(18)

SGBD – Módulo Banco de Dados

 Arquivo de dados: armazena os dados (o banco de dados propriamente

dito).

 Dicionário de dados: metadados.

 Índices: estrutura que otimizam o acesso aos itens de dados.

 Estatística de dados: armazena informações estatísticas relativas aos

dados contidos no banco de dados. Essas informações são usadas pelo processador de consultas para seleção de meios eficientes para

(19)

• BD não contém somente os dados de conteúdo

armazenados, ele também armazena definições e descrições

sobre a estrutura que forma o BD (metadados);

• Os metadados contêm definições da estrutura de cada

arquivo, o tipo e formato de armazenamento de cada item de

dados, e várias restrições dos dados;

• O catálogo é usado pelo SGBD e ocasionalmente por

algum usuário do BD.

(20)

• Controle sobre a redundância

– Espaço para armazenamento; – Replicação;

• Compartilhamento de Dados

– Se diversos usuários tem aplicações integradas no BD, precisa-se de um software de controle de concorrência para a atualização do BD;

– Facilidade na definição da visão do usuário,

especificando uma porção do BD que tem interesse particular de um grupo de usuários;

(21)

• Restrição de acesso não autorizado

 Possui um sistema de segurança garantindo o acesso específico a cada usuário (personalizado para grupos ou individual)

–Segurança no acesso ao BD; –Permissão de operação no BD;

–Proteção de contas pessoais (ou grupo) por senhas;

(22)

• Fornecimento de múltiplas interfaces



Diversos níveis de conhecimento entre os usuários,

onde o BD deve oferecer vários tipos de acesso aos

dados:

– Linguagem para consulta de usuários casuais;

– Linguagem de programação para o programador de

aplicações;

– Formulários e menus para acesso de outros usuários;

(23)

• Forçar restrições de integridade



São regras associadas aos dados:

– Identificação do tipo de dado (restrição mais trivial); – Unicidade de um dado;

– Impossibilidade do dado não ser informado (ser nulo); – Relacionamento entre os dados armazenados.

Dificultar o erro, mas ele ainda pode acontecer.

(24)

• Sistema de Backup e Recuperação:

–Facilidade e controle do BD no caso de falha do hardware ou do software.

• Vantagens adicionais na abordagem de BD:

–Desenvolvimento de padrões – permite ao DBA definir e forçar padrões (nomes, formatos, terminologias, etc.) facilitando a comunicação e cooperação entre os setores, projetos e usuários dentro da organização;

–Flexibilidade – algumas alterações na estrutura do BD não afetam “muito” os programas de aplicações existentes.

(25)

–Tempo de desenvolvimento reduzido – Projetar e implementar uma nova aplicação é mais rápido em um BD existente do que se ele não existisse ou fosse feito sobre a abordagem tradicional de arquivos;

–Disponibilidade de informação atualizada – Torna o BD disponível para todos os usuários (que tenham permissão de acesso) devido ao controle de concorrência e recuperação do SGBD;

(26)

Papéis em Sistemas de Banco de Dados

 Os usuários diferenciados em quatro tipos:

 Programadores de aplicações: profissionais em computação que

interagem com o sistema por meio de DMLs envolvidas em programas escritos em diferentes linguagens hospedeiras.

 Usuários sofisticados: interagem com os sistemas usando DMLs.

 Usuários especialistas: usuários sofisticados que escrevem

aplicações especializadas.

 Usuários navegantes: usuários comuns que interagem com o

(27)

Exemplos de Sistemas Comerciais

 dBASE: Lançado pela Ashton-Tate e posteriormente adquirido pela Borland.

Possuía uma linguagem de programação própria para desenvolvimento de

aplicações, teve versões para DOS e Windows, trabalhava com gerenciamento de arquivos planos baseados em listas invertidas. A partir da versão 7, os direitos foram vendidos pela Borland.

 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.

 DataFlex: Popular para ambiente Unix, mas teve versões para DOS e Windows.

Possui ambiente integrado para desenvolvimento de aplicações e hoje é comercializado com o nome de Visual Data Flex.

 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.

(28)

Exemplos de 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.

 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.

 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 operam exclusivamente sobre Windows.

(29)

Exemplos de 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.

 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.

 BD2: Produzido pela IBM, nasceu nos ambientes de grande porte, sendo

posteriormente portado para plataformas mais simples (microcomputadores).

 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.

(30)

Bibliografia Utilizada:



Sistemas de Banco de Dados. (Cap. 1) Abraham

Silberchatz, Henry F. Korth e S. Sudarshan. 3ª

Edição. Makron Books, 1999.



Introdução a Banco de Dados (Apostila). (Cap.

1-3) Osvaldo Kotaro Takai, Isabel Cristina Italiano,

João Eduardo Ferreira. DCC-IME-USP, 2005.

Referências

Documentos relacionados

seria usada para o parafuso M6, foram utilizadas as equações 14 e 15, referentes aos parafusos de 8 mm de diâmetro e folga entre parafuso e furo de 0,5 mm, que definem,

No entanto, os resultados apresentados pelo --linalol não foram semelhantes, em parte, aos do linalol racêmico, uma vez que este apresenta um efeito vasorelaxante em anéis de

Resumo: O presente trabalho corresponde a um estudo empírico descritivo e exploratório que aborda comportamentos e falas de atores políticos que participaram do processo legislativo

As micotoxinas são compostos químicos tóxicos provenientes do metabolismo secundário de fungos filamentosos e conhecidas pelos danos causados à saúde humana e

onde Qe são as forças de origem externa ao sistema e Qc são as forças de reação. Estas equações não podem ser utilizadas diretamente, pois as forças de

Este presente artigo é o resultado de um estudo de caso que buscou apresentar o surgimento da atividade turística dentro da favela de Paraisópolis, uma

A ofensiva políti- ca, ideológica, econômica e militar americana, durante os anos 60, ocorre também em uma vasta área da Ásia e da África: no levante de Ghana, no qual o governo

Conclui-se que o conhecimento do desenvolvimento ponderal evidenciou um padrão racial, que o perímetro torácico está altamente associado ao peso corporal e que equações de