Você está na página 1de 33

Universidade Zambeze

Faculdade de Ciências e Tecnologia

Engenharia Informática - 2º Nível


Base de Dados
Tema 1: Sistema de Base de Dados
Sistema de Base de Dados
• Objectivos
Introduzir e conhecer os fundamentos gerais sobre sistemas de base de dados
• Conteúdos
- Introdução.
- Modelo de dados.
- Conceitos Gerais.
- Abordagem base de dados Vs Processamento de arquivos.
- Usuários e actividades envolvidas.
- Vantagens de um SGBD.
- Quando não usar um SGBD.
- Arquitectura e independência de dados em SGBD.
1- Introdução

O uso da base de dados vem crescendo com a expansão


do uso da informática. As bases de dados existem para
facilitar o armazenamento, processamento e o acesso à
informação. O primeiro sistema gerenciador de base de
dados surgiu em 1960 com base nos primitivos sistemas
de arquivos disponíveis na época, os quais não
controlavam o acesso concorrente.
2- Modelo de dados
2.1. Modelo hierárquico
O primeiro a ser reconhecido como modelo de dados.
Os dados são estruturados em hierarquia ou árvores.
Os nós das hierarquias contem ocorrências dos registos, onde cada
registo é uma colecção de campos (atributos), cada um contendo
apenas uma informação.
O registo da hierarquia que precede a outros é o registo pai, os
outros registos são chamados de registos -filhos.
2. Modelo de dados
• Uma ligação é uma associação entre dois registos.
• O relacionamento entre um registo-pai e vários registos-filhos possui
cardinalidade 1:N.
• Para ter acesso aos dados organizados segundo este modelo segue-se
uma sequência hierárquica com uma navegação do topo para as
folhas e da esquerda para a direita.
• Um registo pode estar associado a vários registos diferentes, desde
que seja replicado. A replicação possui duas grandes desvantagens:
• pode causar inconsistência de dados quando houver actualização e o
desperdício de espaço é inevitável.
2. Modelo de dados
2.2. Modelo em rede
• Uma norma foi estabelecida para este modelo de banco de dados, com linguagem própria
para definição e manipulação de dados.
• Os dados tinham uma forma limitada de independência física.
• Também foram definidas as sintaxes para dois aspectos chaves dos sistemas
gerenciadores de dados: concorrência e segurança.
 Concorrência : fornecia uma facilidade na qual parte do banco de dados (ou área) pudesse ser
bloqueada para prevenir acessos simultâneos, quando necessário.
 Segurança: permitia que uma senha fosse associada a cada objecto descrito no esquema.
Ao contrário do Modelo Hierárquico, em que qualquer acesso aos dados passa pela raiz, o
modelo em rede possibilita acesso a qualquer nó da rede sem passar pela raiz.
O modelo hierárquico e em rede são orientados a registo, isto é, qualquer acesso a base
de dados é feito em cada registo.
2. Modelo de dados
2.3. Modelo Relacional
Este modelo apareceu devido às seguintes necessidades:
 Aumentar a independência de dados nos sistemas gerenciadores de banco de dados;
 Prover um conjunto de funções apoiadas em álgebra relacional para armazenamento e recuperação de dados;
 Permitir processamento ad hoc.
O Modelo relacional revelou-se ser o mais flexível e adequado ao solucionar os vários problemas
que se colocam no nível da concepção e implementação da base de dados. A estrutura
fundamental do modelo relacional é a relação (tabela). Uma relação é constituída por um ou mais
atributos (campos) que traduzem o tipo de dados a armazenar. Cada instância do esquema (linha) é
chamada de tupla (registo). O modelo relacional não tem caminhos pré-definidos para se fazer
acesso aos dados como nos modelos que o precederam. O modelo relacional implementa
estruturas de dados organizadas em relações. Porém, para trabalhar com essas tabelas, algumas
restrições precisaram ser impostas para evitar aspectos indesejáveis, como: Repetição de
informação, incapacidade de representar parte da informação e perda de informação.
2. Modelo de dados
2.4. Modelo Orientado a Objectos
• Os bancos de dados orientados a objecto começaram a se tornar
comercialmente viáveis em meados de 1980.
A motivação para seu surgimento está em função dos limites de armazenamento
e representação semântica impostas no modelo relacional.
Quando os bancos de dados orientados a objectos foram introduzidos, algumas
das falhas perceptíveis do modelo relacional pareceram ter sido solucionadas
com esta tecnologia e acreditava-se que tais bancos de dados ganhariam grande
parcela do mercado. Hoje, porém, acredita-se que os Bancos de Dados
Orientados a Objectos serão usados em aplicações especializadas, enquanto os
sistemas relacionais continuarão a sustentar os negócios tradicionais, onde as
estruturas de dados baseadas em relações são suficientes.
3. Conceitos gerais
Base de dados
 Colecção de dados devidamente relacionado.
Dados
 Factos que podem ser armazenados e possuem um
significado implícito.
 Matéria prima para obtenção de informação.
Informação
 Dados compilados e processados de acordo com a
solicitação de consultas e analises.
Sistema de Base de Dados
 É o conjunto composto pela base de dados e o software de
gerenciamento de base de dados.
3. Conceitos gerais
Sistema Gerenciador de Base de Dados
 é uma colecção de programas que permitem aos usuários criarem e manipularem uma base
de dados. Um SGBD é, assim, um sistema de software de propósito geral que facilita o
processo de definir, construir e manipular bases de dados de diversas aplicações.
 Definir – Envolve a especificação de tipo de dados a serem armazenados.
 Construir – Envolve a o processo de armazenar os dados em algum meio que possa ser
controlado pelo SGBD.
 Manipular – Envolve a utilização de funções como a de consulta e de modificação.
3. Conceitos gerais
Propriedades das bases de dados
• Uma base de dados é uma colecção de dados logicamente
relacionado, com algum significado. Associações aleatórias de
dados não podem ser chamadas de base de dados.
• Uma base de dados é projectada, construída e preenchida
(instanciada) com dados para um propósito específico. Ela tem um
grupo de usuários e algumas aplicações pré-concebidas para
atendê-los;
• Uma base de dados representa algum aspecto do mundo real,
algumas vezes chamado de “minimundo”. Mudanças no
minimundo provocam mudanças na base de dados.
• Uma base de dados tem alguma fonte de dados, algum grau de
interacção com eventos do mundo real e uma audiência que está
activamente interessada no seu conteúdo.
4. Abordagem base da dados vs Sistema
gerenciador de arquivo
Natureza da auto-descrição de Sistema de Banco de Dados
Uma característica importante da abordagem Banco de Dados
é que o SGBD mantém não somente os dados mas também a
forma como os mesmos são armazenados, contendo uma
descrição completa do banco de dados. Estas informações são
armazenadas no catálogo do SGBD, o qual contém informações
como a estrutura de cada arquivo, o tipo e o formato de
armazenamento de cada tipo de dado, restrições, etc.
 A informação armazenada no catálogo é chamada de “Meta
Dados”.
 No processamento tradicional de arquivos, o programa que irá
manipular os dados deve conter este tipo de informação, ficando
limitado a manipular as informações que o mesmo conhece.
Utilizando a abordagem banco de dados, a aplicação pode
manipular muitas bases de dados diferentes.
4. Abordagem base da dados vs Sistema
gerenciador de arquivo
Separação entre Programas e Dados
No processamento tradicional de arquivos, a
estrutura dos dados está incorporada ao
programa de acesso. Desta forma, qualquer
alteração na estrutura de arquivos implica na
alteração no código fonte de todos os
programas. Já na abordagem banco de dados,
a estrutura é alterada apenas no catálogo,
não alterando os programas.
4. Abordagem base da dados vs Sistema
gerenciador de arquivo
Abstração de Dados
O SGBD deve fornecer ao usuário uma “representação conceitual”
dos dados, sem fornecer muitos detalhes de como as informações são
armazenadas.
Um “modelo de dados” é uma abstração de dados que é utilizada
para fornecer esta representação conceitual utilizando conceitos
lógicos como objetos, suas propriedades e seus relacionamentos.
A estrutura detalhada e a organização de cada arquivo são descritas
no catálogo.
4. Abordagem base da dados vs Sistema
gerenciador de arquivo
Múltiplas Visões de Dados
Como um conjunto de informações pode ser
utilizada por um conjunto diferente de
usuários, é importante que estes usuários
possam ter “visões” diferentes da banco de
dados.
Uma “visão” é definida como um subconjunto
de um banco de dados, formando deste modo,
um conjunto “virtual” de informações.
5. Usuários e Atividades envolvidas
Administrador de Banco de Dados (DBA)
Em um ambiente de banco de dados, o recurso primário é o banco de
dados por si só e o recurso secundário é o SGBD e os softwares
relacionados. A administração destes recursos cabe ao Administrador
de Banco de Dados, o qual é responsável pela autorização de acesso a
banco de dados e pela coordenação e monitoração de seu uso.
5. Usuários e Atividades envolvidas
Projetista de Banco de Dados
O Projetista de Banco de Dados é responsável pela identificação dos
dados que devem ser armazenados no banco de dados, escolhendo a
estrutura correta para representar e armazenar dados. Muitas vezes, os
projetistas de banco de dados atuam como “staff” do DBA, assumindo
outras responsabilidades após a construção do banco de dados. É
função do projetista também avaliar as necessidades de cada grupo de
usuários para definir as visões que serão necessárias, integrando-as,
fazendo com que o banco de dados seja capaz de atender todas as
necessidades dos usuários.
5. Usuários e Atividades envolvidas
Usuários Finais
Existem basicamente três categorias de usuários finais que são os usuários
finais de banco de dados, fazendo consultas, atualizações e gerando documentos:
usuários casuais: acessam o banco de dados casualmente, mas que podem
necessitar de diferentes informações a cada acesso; utilizam sofisticadas
linguagens de consulta para especificar suas necessidades;
usuários novatos ou paramétricos: utilizam porções pré-definidas do banco
de dados, utilizando consultas pré- estabelecidas que já foram exaustivamente
testadas;
usuários sofisticados: são usuários que estão familiarizados com o SGBD e
realizam consultas complexas.
5. Usuários e Atividades envolvidas
Analistas de Sistemas e Programadores de Aplicações
Os analistas determinam os requisitos dos usuários finais e
desenvolvem especificações para transações que atendam estes
requisitos, e os programadores implementam estas especificações
como programas, testando, depurando, documentando e dando
manutenção no mesmo. É importante que, tanto analistas quanto
programadores, estejam a par dos recursos oferecidos pelo SGBD.
6. Vantagens de um SGBD
Controle de Redundância
No processamento tradicional de arquivos, cada grupo de
usuários deve manter seu próprio conjunto de arquivos e dados.
Desta forma, acaba ocorrendo redundâncias que prejudicam o
sistema com problemas como:
Toda vez que for necessário atualizar um arquivo de um grupo, então
todos os grupos devem ser atualizados para manter a integridade dos
dados no ambiente como um todo;
A redundância desnecessária de dados levam ao armazenamento
excessivo de informações, ocupando espaço que poderia estar sendo
utilizado com outras informações.
6. Vantagens de um SGBD
Compartilhamento de Dados
Um SGBD multi-usuário deve permitir que múltiplos usuários
acessem o banco de dados ao mesmo tempo. Este fator é essencial
para que múltiplas aplicações integradas possam acessar o banco.
O SGBD multi-usuário deve manter o controle de concorrência
para assegurar que o resultado de atualizações sejam corretos.
Um banco de dados multi-usuários deve fornecer recursos para a
construção de múltiplas visões.
6. Vantagens de um SGBD
Restrição a Acesso não Autorizado
Um SGBD deve fornece um subsistema de autorização e segurança, o
qual é utilizado pelo DBA para criar “contas” e especificar as restrições
destas contas;
O controle de restrições se aplica tanto ao acesso aos dados quanto
ao uso de softwares inerentes ao SGBD.
6. Vantagens de um SGBD
Representação de Relacionamentos Complexos entre Dados
Um banco de dados pode incluir uma variedade de dados que estão
inter-relacionados 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.
6. Vantagens de um SGBD
Tolerância a Falhas
Um SGBD deve fornecer recursos para recuperação de falhas tanto de
software quanto de hardware.
7. 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.
7. Quando não Utilizar um SGBD
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.
7. Quando não Utilizar um SGBD
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.
7. Quando não Utilizar um SGBD
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.
8. Arquitectura e independecia de dados de
um SGBD
• A arquitectura mais difundida na literatura é a three-schema,
conhecida também por ANSI/SPARC.
• A meta desta arquitectura é separar as aplicações dos usuários da
base de dados física.
• Nesta arquitectura os esquemas podem ser definidas em três níveis:
Interno, Conceitual e Externo.
8. Arquitectura e independecia de dados de
um SGBD
• Nível interno: tem um esquema interno que descreve a estrutura de
armazenamento físico da base de dados. O esquema interno usa um
modelo de dados físico e descreve todos os detalhes de
armazenamento de dados e caminhos de acesso à base de dados;
• Nível conceitual: tem um esquema conceitual que descreve a estrutura
de toda a base de dados. O esquema conceitual é uma descrição global
da base de dados, que omite detalhes da estrutura de armazenamento
físico e se concentra na descrição de entidades, tipos de dados,
relacionamentos e restrições. Um modelo de dados de alto-nível ou um
modelo de dados de implementação podem ser utilizados neste nível.
• Nível externo ou visão: possui esquemas externos ou visões de
usuários. Cada esquema externo descreve a visão da base de dados de
um grupo de usuários da base de dados. Cada visão descreve,
tipicamente, a parte da base de dados que um particular grupo de
usuários está interessado e esconde deste o restante da base de dados.
Um modelo de dados de alto-nível ou um modelo de dados de
implementação podem ser usados neste nível.
8. Arquitectura e independecia de dados de
um SGBD
• Muitos SGBD’s não separam os três níveis completamente. Pode acontecer que alguns SGBD’s incluam detalhes do
nível interno no esquema conceitual. Em muitos SGBD’s que permitem visões, os esquemas externos são
especificados com o mesmo modelo de dados usado no nível conceitual. Note que os três esquemas são apenas
descrições dos dados.
• A arquitetura “three-schema” pode ser utilizada para explicar conceitos de independência de dados, que podem ser
definidos como a capacidade de alterar o esquema de um nível sem ter que alterar o esquema no próximo nível
superior.
• Dois tipos de independência de dados podem ser definidos:
 Independência Lógica de Dados: É a capacidade de alterar o esquema conceitual sem ter que mudar os
esquemas externos ou programas de aplicação. Pode-se mudar o esquema conceitual para expandir a base
de dados, com a adição de novos tipos de registros (ou itens de dados), ou reduzir a base de dados
removendo um tipo de registro. Neste último caso, esquemas externos que se referem apenas aos dados
remanescentes não devem ser afetados;
 Independência Física de Dados: É a capacidade de alterar o esquema interno sem ter que alterar o esquema
conceitual externo. Mudanças no esquema interno podem ser necessárias devido a alguma reorganização
de arquivos físicos para melhorar o desempenho nas recuperações e/ou modificações. Após a
reorganização, se nenhum dado foi adicionado ou perdido, não haverá necessidade de modificar o esquema
conceitual.
Referências
• E. R. Elmasri and S. Navathe and. Fundamentals of Database Systems.
Fourth Edition, Editora Pearson Addison Wesley, 2003
• E. R. Elmasri and S. Navathe and. Fundamentals of Database Systems.
Editora Addison Wesley pub 2001
• Silberschatz, Abraham; Korth, Henry & Sudarshan, S.Sistema de banco
de dados, Rio de Janeiro: Campus, 3ª ed., 2005C. J. Date, A. Kannan, S.
Swamynathan; An Intrduction to Database Systems. EIGHTH EDITION
• Apresentações elaboradas pelo docente

Você também pode gostar