Sistemas de Banco de Dados
Aspectos Gerais de Banco de Dados
1. Conceitos Básicos
No contexto de sistemas de banco de dados as palavras dado e informação possuem
o mesmo significado, representando uma unidade valor passível de processamento.
Dados transientes são dados que devem ser descartados após a execução do software
que o manipula.
Dados persistentes são dados que não devem ser descartados após a execução do
software que o manipula, esta informação deve ser retida no ambiente computacional para
uso posterior.
Um registro é uma estrutura composta de um ou mais unidade de dados.
Uma Aplicação é um sistema de software criado por meio de uma linguagem de
programação para atender a uma demanda.
Um Banco de Dados é um conjunto de dados persistentes que estão relacionados de
forma a contextualizar um mini-mundo.
Um Sistema de banco de dados sistema que tem objetivo armazenar dados
persistentes para serem utilizados por uma ou mais aplicações
Um Sistema Gerenciador de Banco de Dados – SGBD (do inglês DBMS – Database
Management System) é um conjunto de programas destinados a controlar banco de dados.
De forma que possibilite:
1.Definir os tipos e estruturas dos dados de um BD
2.Construir por meio de armazenagem dos dados no BD
3.Manipular ou seja, recupera, insere, apaga e atualiza os dados no BD
4 Garantir a segurança dos dados retidos no BD
Um Esquema de banco de dados é a definição da estrutura do conjunto de dados de
um banco de dados.
Uma Instância de Banco de Dados é a situação de um banco de dados em um
determinado momento. Ela é variável com o passar do tempo pois dados podem ser
eliminados e criados.
Nota de Aula
Prof. Sidney Vieira
1
2. Componentes básicos de um SGBD
Em uma analise preliminar pode-se ver o Sistema Gerenciador de Banco de Dados
como um programa composto de dois componentes; o processador de consultas e o
Gerenciador de memória.
Processador de consultas
SGBD
Gerenciador de memória
BD
O processador de consultas tem por finalidade controlar o aceso externo, realizado
por usuários e aplicações. Já o gerenciador de memória, tem por objetivo controlar o espaço
físico dos dados , a organizados destes dados em arquivos e a busca, o armazenamento e a
eliminação de dados destes arquivos.
2.1 Aplicação com uso de arquivos de dados e Sistemas de Banco de Dados
Nota de Aula
Prof. Sidney Vieira
2
3. Abstração de Dados
A ANSI (Americam National Standards Institute) propõe três níveis de abstração
para um sistema gerenciador de banco de dados:
• Nível externo
• Nível conceitual
• Nível interno
Nível Externo – São visões para usuários individuais e grupos de usuários, este
nível também é referenciado como visão externa ou nível lógico do usuário, estas visões
são criadas para que as diversas categorias de usuários e aplicações manipulem as
estruturas de dados definidas no nível conceitual.
Nível Conceitual – é a visão geral do Banco de dados, também referenciada como
visão conceitual ou nível lógico comunitário, ela tem a função de descrever os diversos
conjuntos de dados, entidades, que são armazenados e suas relações.
Nível físico - é a visão do meio de armazenamento, também referenciada como
visão interna ou nível físico, descreve como os dados são realmente armazenados
fisicamente em disco.
Nível Externo
...
Nível conceitual
Nível Interno
3.1 Independência de Dados
A Independência de Dados diz respeito ao fato de ser possível uma mudança no que
concerne aos dados em um nível sem afetar outro nível. Ela pode ser:
• Física
• Lógica
Independência Física
Nota de Aula
Prof. Sidney Vieira
3
Diz respeito ao fato de se efetuar mudanças no nível físico sem afetar as aplicações
do nível externo
Ex: criação de um novo índice para uma relação não deve afetar as aplicações
existentes.
Independência Lógica
Diz respeito ao fato de se efetuar mudanças no nível lógico sem afetar as aplicações
do nível externo
Ex: criação de um novo campo de dado para uma relação não deve afetar as
aplicações já existentes.
4. Usuário de Banco de Dados
Os usuários de um SGBD podem ser agrupados em quatro categorias:
•
•
•
•
Usuário Navegante
Usuário Expert - especialista
Usuário Programador/ Analista
Administrador
O usuário navegante é a categoria de usuários que acessa dados de um banco de dados
por meio de aplicações (um programa criado em uma linguagem de programação).
O usuário expert é o usuário que tem conhecimentos específicos e consegue interagir
com o BD, por meio de linguagem especifica, denominada linguagem de consulta –
exemplo SQL.
O usuário programador é um profissional de desenvolvimento que gera aplicações
manipulando linguagem de programação e comando de linguagem de consulta a banco de
dados.
O Administrador, denominador Administrador de banco de dados - DBA (DataBase
Administrator) é a categoria de usuário do banco de dados que tem a função de administrar
o banco de dados para uso das demais categorias. Compete ao DBA:
•
•
•
•
•
•
Criar usuários para acesso ao Banco de Dados
Definir o esquema do Banco de Dados
Definir a estrutura de dados e o método de acesso aos dados
Definir domínios para o Banco de Dados
Modificar o esquema do Banco de Dados
Especificar restrições para manter a integridade do Banco de Dados
Nota de Aula
Prof. Sidney Vieira
4
5. Esquema de um Sistema de Banco de Dados
DBA USUÁRIO SOFISTICADO
ISQL
PROGRAMADOR
Software para
ge rar aplicação
ISQL
USUARIO NAVEGANTE
Inte rface
de
aplicação
PROCESSADOR DE CONSULTAS
INTERPRETAD
OR DE DDL
PRÉCOMPILADO
R DE DML
COMPILADO
R DE DML
CONTROLADOR DE
APLICAÇÕES
COMPONENTE DE
EXECUÇÃO DE CONSULTA
SGBD
GERENCIADOR
DE
TRANSAÇÃO
GERENCIADOR DE MEMÓRIA
GERENCIADOR
DE BUFFER
GERENCIADOR
DE ARQUIVOS
DADOS
ESTÁTICOS
Nota de Aula
Prof. Sidney Vieira
DICIONARIO
DE DADOS
INDICES
ARMAZENAGEM EM DISCO
ARQUIVO
S DE
DADOS
5
5.1 Componentes de um SGBD:
•
•
•
•
•
•
•
•
•
•
•
•
Interpretador de DDL
Pré-compilador de DML
Compilador de DML
Controlador de aplicações
Componente de execução de consulta
Gerenciador de buffer
Gerenciador de transação
Gerenciador de arquivos
Índices
Arquivos de dados
Dicionário de dados
Dados estáticos
6. Problemas ocasionados em decorrência do não uso de um SGBD:
•
•
•
•
Redundância de dados
Inconsistência de dados
Dificuldade de acesso
Falta de controle centralizado
7. Características básicas de um SGBD
•
•
•
•
•
•
Integridade
Segurança
Backup e recuperação de dados
Concorrência
Monitoração
Compartilhamento de dados
8- Requisitos de um Sistema Gerenciador de Banco de Dados
Para ser classificado como um SGBD o Sistema deve atender aos seguintes requisitos:
•
•
Auto-contenção – O SGBD deve contém os dados em si, e toda a descrição dos
dados, seus relacionamentos e formas de acesso.
Independência de dados - Nenhuma definição dos dados deverá estar contida nos
programas da aplicação. Quando se cria uma nova forma de acesso, um novo
índice, isto não deve afetar os codigos dos aplicativos existentes. Com isto as
aplicações estão imunes a mudanças na estrutura de armazenamento ou na
estratégia de acesso aos dados.
Nota de Aula
Prof. Sidney Vieira
6
•
•
•
•
Abstração de dados - Um SGBD deve fornecer ao usuário somente uma
representação conceitual dos dados, o que não inclui maiores detalhes sobre sua
forma real de armazenamento dos dados. O chamado Modelo de Dados é um tipo
de abstração utilizada para fornecer esta representação conceitual. Neste modelo,
um esquema das tabelas, seus relacionamentos e suas chaves de acesso são
exibidas ao usuário, porém nada apresentado sobre a criação dos índices, ou
como serão mantidos, ou qual a relação existente entre as tabelas que deverá ser
mantida íntegra.
Visões - Um SGBD deve permitir que cada usuário visualize os dados de forma
diferente daquela existente previamente no Banco de Dados. Uma visão consiste
de um subconjunto de dados do Banco de Dados, necessariamente derivados dos
existentes no Banco de Dados.
Transações - Um SGBD deve gerenciar completamente a integridade referencial
definida em seu esquema, sem precisar auxílio do programa aplicativo. Com isto o
SGBD deve possuir estruturas internas que permitam a gravação de uma série
modificações simultâneas e permitam de cancelar um série modificações. Por
exemplo, imaginemos que estejamos cadastrando um pedido para um cliente, que
envolva 100 itens disponíveis no estoque, que ficaram retidos para o pedido.
Porém caso existe um bloqueio financeiro por falta de pagamentos de compras
anteriores e isto impeça a venda. A transação deverá ser desfeita com apenas
uma instrução ao Banco de Dados, sem qualquer modificações suplementares nos
dados.
Acesso automático – UM SGBD não deve permitir o chamado Dead-Lock. Esta
situação ocorre em situações nas quais um usuário trava um registro em uma
tabela e seu próximo passo será travar um registro em uma tabela relacionada à
primeira, porém se este registro estiver previamente travado por outro usuário, o
primeiro usuário ficará paralisado, pois, estará esperando o segundo usuário
liberar o registro em uso, para que então possa travá-lo e prosseguir sua tarefa.
Se por hipótese o segundo usuário necessitar travar o registro travado pelo
primeiro usuário , afirmamos que ocorreu um Dead-Lock, pois cada usuário travou
um registro e precisa travar um outro, justamente o registro anteriormente travado
pelo outro.
Nota de Aula
Prof. Sidney Vieira
7
Download

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados