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 o modelo físico de uma base de dados
Banco de Dados
É uma coleção de dados inter-relacionados, representando informações sobre um
domínio específico.
“É uma coleção de dados relacionados. Dados, por sua vez são uma coleção de fatos
que podem ser guardados e que tem um significado implícito. Como exemplo, considere
o nome, o endereço e o telefone das pessoas que você conhece. Você pode guardar esses
dados num caderno de telefone, ou pode guardar num disquete usando um software
como ACCESS ou EXCEL. Isto é uma coleção de dados relacionados com significado
explicito” (Navathe, 1994)
“É uma coleção organizada de fatos e informações” (Stair, 1996)
“É uma coleção de fatos registrados que refletem o estado de certos aspectos de
interesse do mundo real. “(Machado e Abreu, 1995)
Exemplos:
Lista Telefônica
Fichas do acervo de uma biblioteca
Sistema de Banco de Dados
Consiste em uma coleção de dados inter-relacionados e uma coleção de programas para
prover o acesso a esses dados.
O objetivo principal de um sistema de banco de dados é possibilitar um ambiente que
seja adequado e eficiente para uso na recuperação e armazenamento de informações.
Sistema Gerenciador de Banco de Dados
São softwares que permitem a definição de estruturas para armazenamento de
informações e fornecimento de mecanismos para manipula-las.
Exemplos:
Access
DB2
Oracle
Características de um SGBD
Principais características que um SGBD deve prover:
•
•
•
•
•
•
•
•
•
Independência de Dados
Restrições de Acesso
Controle de Redundância
Restrições de Integridade
Compartilhamento de Dados
Mecanismos de Backup e Recuperação
Múltiplas Interfaces
Representação de Relacionamentos Complexos entre Dados
Tolerância a Falhas
•
Independência de Dados
Consiste na capacidade de permitir que haja evolução na descrição dos dados da
empresa, sem que os sistemas ou aplicações tenhas que ser alterados”
“Imunidade das aplicações às mudanças na estrutura de armazenagem e
estratégias de acesso”
A independência dos dados em relação a aplicação representa o um avanço no
sentido de tornar qualquer modificação das estruturas dos arquivos
imperceptível para os programas. Desta forma, as mudanças na organização dos
dados não gera qualquer necessidade de alteração dos programas que o
manipulam.
Exemplo:
Inclusão de um novo campo (atributo) em um arquivo (tabela) é feita sem que
sejam alterados os programas, pois nos programas não estão definidos as
estruturas dos arquivos.“
•
Controle de Redundância
“Redundância é armazenar o mesmo dado várias vezes para atender diversas
aplicações. Para manter a consistência do banco de dados, deve-se armazenar o
dado uma única vez e em apenas um lugar no banco de dados. Isto permite
manter a consistência, economizar espaço de armazenamento.” Em alguns caso,
a redundância é necessária, porém ela deve ser controlada pelo sistema de
gerenciamento de banco de dados. “ (Elmasri & Navathe, 1994)
“É um conceito representado pelo controle centralizado dos dados
compartilhados por diversas aplicações, reduzindo a repetição de dados a um
mínimo justificável e aceita apenas por questão de desempenho.” (Cerícola,
1991)
Problemas da redundância de dados:
• duplicação de esforço para manter os dados atualizados;
• desperdício de espaço de armazenamento;
• possibilidade de inconsistência dos dados
•
Compartilhamento de Dados
Permitir a usuário diferentes a utilização simultânea de um mesmo dado.
Exemplos:
As informações sobre clientes podem ser acessadas pelo sistema de vendas, de
contas a receber e faturamento simultaneamente.
A mesma base de dados sobre empregados pode ser usada simultaneamente pelo
sistema de recursos humanos e pelo sistema de vendas. No primeiro caso os
dados serão utilizados no processo de pagamento e no segundo no processo de
alocação dos vendedores às áreas de atendimento a cliente.
•
Restrições de Acesso
“Um SGBD deve prover controles de segurança e autorização, que são
utilizados para criar contas e seus respectivos direitos de acesso quando
múltiplos usuários compartilham um banco de dados.” (Navathe,1994)
“ Os controles de segurança abrangem conceitos tais como: procedimentos de
validação e controle, garantia de integridade e controle de acesso, que visam
resguardar o banco de dados de uma possível perda ou destruição de dados seja
por falha de programa ou por falha de equipamento” (Cerícola, 1991)
Exemplos:
O sistema de pagamento poderá atualizar o cargo ocupado pelo empregado
enquanto o sistema de vendas poderá apensa consultar qual o cargo de um
determinado empregado.
O sistema de controle de material poderá incluir um novo material no cadastro
existente enquanto a área de compras consultará as informações sobre os
materiais necessários para o processo de produção.
•
Restrições de Acesso (cont)
Segurança e autorização
• senhas para usuários e para grupos de usuários;
• restrição de acesso a parte do banco de dados;
• proibição de executar certas operações;
• acesso restrito apenas a transações “enlatadas”;
• proibição de uso de software privilegiado, como o software de criação de
contas.
•
Restrições de Integridade
“A maioria dos SGBD provem certas restrições de integridade que devem ser
aplicadas aos dados. O SGBD deve ter mecanismos para possibilitar a definição
das restrições e assegurar o respeito a estas. Um exemplo de restrição de
integridade é a definição de um tipo de dado (data type) para cada item de dado.
Exemplo:
Ao definir o tipo cores como: azul, vermelho, amarelo e verde. E em seguida
definir um atributo cor_parede como do tipo cores. O SGBD aceitará apenas os
tipos definidos ou seja azul, vermelho, amarelo e verde como válidos para este
atributo.
Pergunta: o que aconteceria se o usuário informasse a cor branco para o tributo
cor a parede?
•
Mecanismos de Backup e Recuperação
“Um SGBD deve prover facilidades para recuperação de falhas do hardware ou
software.
Estes mecanismo evitam que cada aplicação tenha que projetar e desenvolver
seus próprios controles contra a perda de dados.
Exemplo:
Se o sistema falha no meio de um programa de alteração complexo, o
mecanismo de recuperação é responsável por assegurar que o banco de dados
será restaurado para o estágio que ele se encontrava antes do início da execução
do programa.
•
Múltiplas Interfaces
• Linguagens de consulta para usuários casuais;
• Linguagens de programação para programadores de aplicações;
• Interfaces gráficas com formulários (telas) e menus para usuários paramétricos;
• Interfaces para administração do banco de dados;
• Linguagem natural.
•
Representação de Relacionamentos Complexos entre Dados
Um banco de dados pode incluir uma variedade de dados que estão
interrelacionados de várias formas. Um SGBD deve fornecer recursos para se
representar uma grande variedade de relacionamentos entre os dados, bem como,
recuperar e atualizar os dados de maneira prática e eficiente.
•
Tolerância a Falhas
Um SGBD deve fornecer recursos para recuperação de falhas tanto de software
quanto de hardware.
Quando não Utilizar um SGBD
Em algumas situações, o uso de um SGBD pode representar uma carga desnecessária
aos custos quando comparado à abordagem processamento tradicional de arquivos como
por exemplo:
• alto investimento inicial na compra de software e hardware adicionais;
• generalidade que um SGBD fornece na definição e processamento de dados;
• sobrecarga na provisão de controle de segurança, controle de concorrência,
recuperação e integração de funções.
Problemas adicionais podem surgir caso os projetistas de banco de dados ou os
administradores de banco de dados não elaborem os projetos corretamente ou se as
aplicações não são implementadas de forma apropriada. Se o DBA não administrar o
banco de dados de forma apropriada, tanto a segurança quanto a integridade dos
sistemas podem ser comprometidas. A sobrecarga causada pelo uso de um SGBD e a
má administração justificam a utilização da abordagem processamento tradicional de
arquivos em casos como:
• o banco de dados e as aplicações são simples, bem definidas e não se espera
mudanças no projeto;
• a necessidade de processamento em tempo real de certas aplicações, que são
terrivelmente prejudicadas pela sobrecarga causada pelo uso de um SGBD;
• não haverá múltiplo acesso ao banco de dados.
SGBD X Sistemas de Gerenciamento de Arquivos
Sistemas de Gerenciamento de Arquivos:
A melhor maneira de entender a natureza geral e as características dos bancos de dados
de hoje é olhar para as características dos sistemas que antecederam o uso da tecnologia
de banco de dados:
Cada usuário define e implementa os arquivos necessários para uma aplicação
específica, acarretando repetição dos dados gerando inconsistência nas informações.
O acesso aos dados está escrito nos programas que o manipulam, subordinando os
programas aos arquivos.
A manipulação dos dados contidos nos arquivos pelas aplicações específicas dificulta o
desenvolvimento de novos sistemas e torna a manutenção dos aplicativos difícil e cara.
Tomemos como exemplo a necessidade de inclusão de um novo campo em um arquivo,
esta alteração implica na alteração de todos os programas que utilizam este arquivo.
dados separados e isolados;
O sistema possibilita uma redundância não controlada de dados e inconsistência ao
permitir que em um sistema um dado seja alterado e esse mesmo dado não seja alterado
em outro.
A responsabilidade sobre os procedimentos de backup e recuperação esta a cargo da
aplicação.
SGBD – Sistema Gerenciador de Banco de Dados
Um arquivo (tabela) é definido uma única vez e atende a várias aplicações.
Armazena-se junto com os dados toda as informações referentes à forma como foram
estruturados os dados e onde eles estão armazenados fisicamente. Essas informações
estão armazenadas em um catálogo que é chamado de meta-data.
Há separação entre programas e dados. No SGBD os acessos são escritos no banco de
dados e os programas enviam comandos solicitando o acesso aos dados. Esse conceito é
chamado de abstração de dados, que caracteriza-se por uma independência entre
programas e dados e entre programas e operações de manipulação de dados.
São permitidas visões diferenciadas sobre a mesma base de dados para aplicações
diferentes.
É permitido acesso simultâneo de vários usuários ao mesmo dado.
Essa simultaneidade é tratada através do gerenciamento da concorrência.
2 - ARQUITETURA PARA SISTEMAS DE BANCO DE DADOS
Conceitos básicos
Dados
Dado:
Conjunto de símbolos “arranjados” a fim de representar a informação fora da mente
humana.
Elemento de Dado:
Subconjunto de símbolos que compõem um dado com significado específico, mas não
representa a informação completa.
No exemplo:
O número de alunos matriculados na disciplina mate01 no
primeiro semestre / 97 é 57.
Quais são os elementos de dados?
Disciplina: mate01
Período: primeiro semestre /97
Matriculados : 57
Principais Objetos de um SGBD
1. Tabelas
2. Visões
3. Índices
Tabelas
Objeto criado para armazenar os dados fisicamente
Os dados são armazenados em linhas (registros) e colunas (campos)
Os dados de uma tabela normalmente descrevem um assunto tal como clientes, vendas,
etc.
Chave Primária
Permite a classificação única de cada registro de uma tabela
Exemplos de chave primária:
RG
CPF
Matrícula
RA
Visões
Tabela lógica de um banco de Dados, não contém dados.
Tipos de Visão
•
Visão Idêntica:
Índice
É uma ferramenta usada pelo gerenciador de Banco de Dados para facilitar a busca de
linhas dentro de uma tabela
Índice Único
Índice criado a partir da chave primária, não permite a inclusão de linhas duplicadas
Índice de Performance
Facilita a busca de linhas na tabela
Modelo de Dados
Níveis de Abstração
Download

conceitos de banco de dados