Vous êtes sur la page 1sur 34

Universidade Zambeze

Faculdade de Ciências e Tecnologia

Engenharia Informática - 2º Nível


Base de Dados I

2018
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

 Modelo é a representação abstrata e simplificada de


um sistema real, com a qual se pode explicar ou
testar o seu comportamento, em seu todo ou em
partes.
 O modelo de dados pode ser classificado de varias
formas, trataremos do modelo de dados de acordo
com os conceitos para descrever a estrutura da base
de dados, ou como os dados são organizados em uma
base de dados(modelos lógicos).
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

Vous aimerez peut-être aussi