Você está na página 1de 19

Escola Secundária da Ribeira Grande

Gestão de Base de Dados

Ano Letivo 2019/2020

Professora
Maria Macedo
Introdução

As bases de dados sempre estiveram presentes na vida do Homem,


mesmo sem ele dar por isso, por exemplo, o recenseamento da
população, a catalogação de livros nas bibliotecas, as listas de nomes
de plantas e/ou animais e até o genoma humano, que é na verdade
uma base de dados criada pela Mãe Natureza. Antigamente, as bases
de dados eram compiladas em arquivo de papel, o que era uma
grande desvantagem, pois originava grandes quantidades de
informação armazenada que não era dinâmica, ou seja, além do
processo de consulta a essas bases de dados ser moroso, estas não
permitiam o cruzamento de dados. Havia ainda o perigo dos
incêndios...

Figura 1 - Á esquerda uma biblioteca, á direita o genoma humano

O aparecimento dos computadores veio facilitar a tarefa de


armazenar informação em bases de dados, mas ainda assim, os
programas que as manipulavam eram lentos e limitados. Foi com o
aparecimento dos Sistemas de Gestão de Base de Dados (SGBD) que
a informação guardada nos ficheiros se tornou flexível e os dados

Figura 2 - Correspondência entre um arquivo de fichas e um ficheiro de base de dados


podem ser separados e organizados de forma independente em
relação aos programas de aplicação.

Página 3 de 19
Dados e Informação

No dia a dia, os termos dados e informação são utilizados como


sinónimo, mas em termos informáticos, não são a mesma coisa.

Dados: são designações de entidades (objectos, pessoas, etc), factos,


valores numéricos, representações simbólicas de entidades, etc.

Informação: conjunto de dados articulados entre si, com


determinado sentido ou significação.

Enquanto os dados são como que partículas ou elementos que podem


surgir desgarrados uns dos outros, sem nexo por si mesmo ou em
relação à realidade, a informação consiste em dados que se
articulam uns com os outros e ganham sentido ou significação.

Figura 3 - Dados e Informação

Base de dados

Uma base de dados (BD) é um sistema de organização de informação


que pode integrar vários ficheiros ou conjunto de dados, que podem
ter estruturas diferentes, mas que se interrelacionam.

O sistema de base dados têm uma característica fundamental – os


dados estão organizados num único conjunto, onde os dados se
encontram integrados numa só unidade de armazenamento.

Numa base de dados, um ficheiro corresponde a uma tabela com um


conjunto de instâncias. Cada instância contém um conjunto de
atributos correspondentes aos atributos da entidade em causa.

Exemplos: Agenda de contactos, lista de pacientes de uma clínica


médica, lista de stock de um armazém.

Página 4 de 19
Sistemas de Gestão de Base de Dados (SGBD)

Os SGBD são programas ou conjuntos integrados de


programas que permitem criar e manipular base de dados,
em que os dados são estruturados com independência
relativamente aos programas de aplicação que os manipulam.

A independência dos dados num SGBD significa que é possível alterar


a estrutura dos dados de uma base de dados, quer
a nível físico quer a nível conceptual, sem que isso
implique a necessidade de reformular as aplicações que operam com
os dados.

Exemplos: Microsoft Access, Microsoft Visual FoxPro, Oracle, etc.

Vantagens dos SGBD

a) Segurança – deve proteger a BD de utilizadores não


autorizados;

b) Integridade dos dados – proteger a BD de utilizadores


autorizados, evitando que estes executem tarefas que
ponham em risco a integridade da informação
(não permitindo, por exemplo, que se apaguem
dados de um sítio que são necessários noutro
sítio da BD);

c) Controlo e acesso dos utilizadores aos dados – num


sistema com muitos utilizadores, a partilha de dados tem
de ser feita de modo que cada utilizador a use
como se estivesse sozinho;

d) Recuperação/tolerância a falhas – sempre que ocorram


falhas, por exemplo do momento em que ocorreu a falha.

Os três níveis da arquitectura de um sistema de gestão de base


de dados

Página 5 de 19
O SGBD pode ser (metaforicamente) visto como um edifício com uma
arquitectura de três níveis:

Nível de
Visualização

Nível
Conceptual

Nível Físico

Figura 4 - Níveis de arquitectura de um SGBD

 Nível Físico: corresponde ao modo de armazenamento dos


ficheiros de dados em suportes informáticos (disco,
disquetes, CD-ROM, etc.) e à forma como eles se encontram
organizados nesses suportes.

Figura 5 - Nível físico

 Nível Conceptual: corresponde à forma como os dados são


estruturados ou organizados ao nível da sua concepção
lógica, de forma a que a informação fique disponível para
ser actualizada e consultada pelos utilizadores finais. Por
exemplo a definição de campos de uma tabela e as relações
entre tabelas constitui o nível conceptual.

Página 6 de 19
Figura 6 - Nível Conceptual

 Nível de Visualização: corresponde à forma como os dados


são apresentados aos utilizadores finais, através de
interfaces gráficos proporcionados de aplicação ou rotinas
do SGBD. Este é o nível de abstracção mais elevado da
“arquitectura” da base de dados.

Figura 7 - Nível de Visualização

Modelo Entidade-Relação

A ideia de criar bases de dados, em alternativa a colocar os dados em


ficheiros independentes, trouxe várias vantagens, mas também
trouxe o problema de saber qual a melhor maneira de organizar e
relacionar os dados para formar a base. Ao longo dos anos, vários
têm sido os modelos propostos, no entanto existe um modelo ao qual
facilmente se adapta a maioria das situações. É o Modelo Entidade-
Relação, ou Modelo ER, que foi desenvolvido pelo professor Peter
Chen em 1976, na sequência dos trabalhos do matemático que
trabalhava para a IBM, Edgar Frank Codd, sobre o Modelo
Relacional.

Página 7 de 19
Figura 8 - Professor Peter Chen

Como se pode observar na Figura 9, o Modelo ER é constituído por


Entidades, Atributos, Chaves e Relacionamentos.

Figura 9 - Partes constituintes do Modelo ER

Entidades

O primeiro conceito do Modelo ER é o conceito de entidade. Uma


entidade corresponde à representação de todo e qualquer
substantivo, concreto ou abstracto, sobre o qual é necessário
armazenar informações.

Por exemplo, os livros de uma Biblioteca não são idênticos,


pois possuem características diferentes, mas eles podem ser
reflectidos num modelo que represente todos os livros e os tipos de
informação ou de características que se conhece sobre
eles: a entidade LIVRO. Assim, a entidade LIVRO é
formada por todos os objectos que podem ser classificados
como um livro. A entidade LEITOR, por outro lado, é formada por
todos os objectos que podem ser considerados como um leitor.

Cada entidade é uma palavra que representa um substantivo


concreto ou abstracto. Animal, pessoa, funcionário, residência,
electrodoméstico, móvel, imóvel, material, avião e aluno são
exemplos de substantivos concretos que representam objectos
simples e do mesmo tipo, sendo, portanto, entidades.

Página 8 de 19
No entanto, algumas entidades podem ser mais abstractas porque
representam as informações sobre acontecimentos de um negócio,
como contrato, pedido de vendas, cliente, depósito de dinheiro, etc.

Entidades: Podem representar


a) Pessoas: funcionários, alunos, etc.
b) Organizações: empresas, escolas, etc.
c) Coisas: produtos, livros, etc.

Atributos

A entidade FUNCIONÁRIO representa um tipo, no qual são


classificados todos os funcionários da Biblioteca. No entanto, cada
indivíduo possui características próprias
que devem ser diferenciadas, como por
exemplo o facto de que cada funcionário
possuir um número de funcionário, um
nome, uma morada, um número de telefone, uma data de
nascimento, entre outras coisas. Essas características do mesmo tipo
são utilizadas pela Biblioteca para contratar e administrar os
funcionários.

Esses tipos de características (ou tipos de informação) são


denominados atributos de uma entidade.

Assim, a entidade LIVRO possui os atributos Título, Autor, ISBN,


Editora, etc. Mesmo considerando
que o conteúdo de cada livro varie,
os tipos de informação são os
mesmos.

Pegando na analogia que foi feita mais atrás, se cada entidade é uma
palavra que representa um substantivo concreto ou abstracto, então
o atributo é o seu adjectivo, pois ele caracteriza a entidade.

Página 9 de 19
Atributo: Elemento ou propriedade que caracteriza a
entidade.

Instâncias

Para a entidade LIVRO foram vistos os seus atributos: Título, Autor e


ISBN. Se pretendermos especificar, ou concretizar, essa entidade,
basta fornecer exemplos concretos da mesma. Ou seja, a entidade
LIVRO é composta por: “Os Maias”, de Eça de Queirós, com o ISBN
457698744; “Manhã Submersa”, de Vergílio Ferreira, com o ISBN
7428756123; “Hamlet”, de Shakespeare, com o ISBN de 987895659;
etc.

Figura 10 - Exemplo de instâncias do atributo Livro

Instância: Ocorrência concreta de uma determinada


entidade, ou seja, é o valor do atributo.

Representação gráfica de entidades e atributos

A representação gráfica do Modelo ER é feita através dos Diagramas


ER. Estes diagramas são a forma de representação mais
característica deste tipo de modelo. As entidades são representadas
por rectângulos e os atributos são representados por elipses. Os
atributos estão ligados às entidades por linhas.

Página 10 de 19
Figura 11 - Representação gráfica de entidades e atributos

Chave

Já vimos que uma entidade possui um conjunto de atributos. Entre


esses atributos pode existir um ou mais que identificam de forma
unívoca a nossa entidade. No nosso exemplo da Biblioteca, tínhamos
a entidade FUNCIONÁRIO. Todo
funcionário da Biblioteca possui um
número de funcionário; através deste
número é possível identificar cada um dos indivíduos (distintos) sem
risco de ambiguidades ou confusão, ou seja, este atributo é chave
primária para a entidade funcionário. Os atributos nome ou morada,
não podem identificar univocamente o funcionário, pois podem
existir funcionários com o mesmo nome ou com a mesma morada
(podem os funcionários serem casados e terem a mesma morada!).

Olhando agora para a entidade LIVRO, podíamos classificar o


atributo Cota como atributo identificador
unívoco. Mas por outro lado, também o
atributo ISBN pode ser classificado como tal.
Neste caso dizemos que os atributos Cota e ISBN são chaves
candidatas. Assim sendo, uma destas chaves candidatas será eleita
a chave primária.

Portanto, toda entidade deve possuir um identificador único ou chave


primária. Este identificador único é um dos critérios para identificar
uma entidade. A chave primária pode ser composta por vários
atributos, neste caso chama-se chave primária composta. Quando a

Página 11 de 19
chave primária é constituído apenas por um atributo, chama-se
chave primária simples.

Chave primária: Atributo (ou conjunto de atributos) único


e não nulo que identifica uma entidade.

Representação gráfica de chave primária

Os Diagramas ER são a forma de representação mais característica


do Modelo ER. A chave primária num diagrama ER é representada
através de sublinhar o atributo. Como podemos ver na Figura 12 o
atributo Cota está sublinhado.

Figura 12 - Representação gráfica da chave primária

Relacionamentos: Tipo de relacionamentos

O Modelo ER que estamos a estudar é uma abreviatura de Modelo


Entidade-Relação. Já estudámos anteriormente as entidades (que são
caracterizadas por atributos), falta-nos então estudar os
relacionamentos. Os relacionamentos são feitos entre as entidades,
ou seja, as entidades relacionam-se de determinada maneira.

O relacionamento mais comum entre duas entidades designa-se por


relacionamento binário. No entanto, existem também
relacionamentos unários – que se estabelecem entre os elementos
de uma mesma entidade – e relacionamentos ternários – que se
estabelecem entre três entidades envolvidas nesse relacionamento.
Em geral, um relacionamento entre n entidades designa-se por

Página 12 de 19
relacionamento n-ário. Vejamos seguidamente exemplos dos tipos de
relacionamentos referidos.

Figura 13 - Relacionamento unário, binário e ternário

Na Figura 13 podemos ver um exemplo de um relacionamento unário.


Neste caso, temos um leitor que se relaciona com outro leitor,
significando isto que, por exemplo, dois leitores da Biblioteca são
casados e existe o atributo Cônjuge na entidade LEITOR que regista
esse facto. Na mesma figura podemos ver um relacionamento
binário, ou seja, a entidade Leitor está de alguma maneira
relacionada com a entidade Livro, por exemplo, um leitor lê um livro.
O relacionamento ternário exemplifica as situações em que três
entidades participam num acontecimento, por exemplo, a requisição
de um livro, em que o funcionário regista que livro é requisitado pelo
leitor.

Relacionamentos: Cardinalidade de relacionamentos

Como se classificam os relacionamentos em relação à cardinalidade?


Ou seja, qual o número de vezes que cada elemento de cada entidade
pode participar no relacionamento? Depende! Podem ser
relacionamentos um para um (1:1), relacionamentos um para
muitos (1:N), ou relacionamento muitos para muitos (N:M).
Seguidamente vamos ver três exemplos de cardinalidade em
relacionamentos binários, no entanto ela também pode ser aplicada a
relacionamentos unários e ternários.

Página 13 de 19
Figura 14 - Relacionamento um para um

Figura 15 - Relacionamento um para muitos

Figura 16 - Relacionamento muitos para muitos

Em cada uma das figuras anteriores encontra-se descrito a forma


correcta de ler o relacionamento. Ao ler a relação da esquerda para a
direita, a entidade à esquerda deve estar no singular e a relação a
ter em conta é a relação da direita. Quando se lê a relação da direita
para a esquerda, a entidade à direita deve estar no singular e a
relação a ter em conta é a relação da esquerda.

Representação gráfica de relacionamentos

Os relacionamentos são representados por losangos e a cardinalidade


é representada pela indicação do número junto à entidade. Na

Página 14 de 19
Figura 17 podemos observar um diagrama ER completo: as
entidades representadas com rectângulos, os atributos
representados com elipses, as chaves primárias estão sublinhadas e
as entidades estão relacionadas através de um losango com a
cardinalidade indicada.

Figura 17 – Representação gráfica de relacionamentos

Modelo Relacional

O modelo relacional surgiu com o intuito de organizar os dados de


uma forma mais simples e, ao mesmo tempo, mais flexível, usando
para esse efeito as tabelas. As tabelas, numa base de dados
relacional, correspondem às entidades do Modelo Entidade-Relação
(Modelo ER). As colunas das tabelas representam campos de
informação, o que corresponde aos atributos das entidades no
Modelo ER. Por sua vez, as linhas das tabelas representam as
ocorrências concretas da entidade, o que corresponde às instâncias
das entidades no Modelo ER. Na Figura 18 podemos observar um
esquema do que foi anteriormente descrito.

Figura 18 - Correspondência entre o Modelo ER e o Modelo Relacional

Página 15 de 19
Tendo em conta a Figura 18 podemos então transformar um
Diagrama Entidade Relação (Diagrama ER) num Diagrama
Relacional. Na Figura 19 observamos à esquerda um Diagrama ER
constituído por uma entidade e três atributos e à direita o modelo
relacional correspondente constituído por uma tabela
(correspondente à entidade), três colunas (correspondentes aos
atributos) e três registos (correspondentes às instâncias que não
estão representadas no Diagrama ER).

Figura 19 - Correspondência entre o Diagrama ER e o Diagrama Relacional

Vamos ver ainda outro exemplo um pouco mais complexo. Na figura


seguinte vemos duas entidades relacionadas entre si por um
relacionamento 1:N.

Figura 20 - Diagrama ER de um relacionamento 1:N

Qual será o correspondente Diagrama Relacional? Como estamos


presentes perante uma relação 1:N é necessário introduzir a chave
primária da tabela Leitor na tabela Livro. O atributo Nº Leitor
presente na tabela Livro passar-se-á a chamar chave externa.

Página 16 de 19
Chave externa: Atributo (ou conjunto de atributos) que é
chave primária de uma outra tabela
(entidade) relacionada.

Na figura seguinte encontra-se o diagrama relacional que


corresponde à Figura 20.

Figura 21 - Modelo Relacional do Diagrama ER da Figura 20

Vejamos ainda mais um exemplo de correspondência entre o Modelo


ER e o Modelo Relacional. Na Figura 22 podemos observar duas
entidades relacionadas através de um relacionamento N:M.

Figura 22 - Diagrama ER de um relacionamento N:M

Ora nestes casos é necessário criar uma terceira tabela cuja chave
primária seja formada pela união das chaves primárias das outras
duas tabelas. Assim, foi necessário criar a tabela Requisição e
relacioná-la com as tabelas Leitor e Livro através das respectivas

Página 17 de 19
chaves primárias. Na figura seguinte pode ser observado o que foi
dito anteriormente.

Figura 23 – Modelo Relacional do Diagrama ER da Figura 22

Preservação da integridade da Informação

O modelo relacional obriga a que a realização das operações de


actualização numa base de dados deve decorrer de forma a que a
informação se mantenha consistente. Para esse efeito a base de
dados relacional deve assegurar dois tipos de integridade:
integridade de entidade e integridade referencial.

A integridade de entidade impõe que os valores dos atributos que


correspondem à chave primária de uma entidade não podem ser
nulos nem iguais a outros já existentes na tabela. A introdução de um
valor nulo numa chave primária ou a inclusão nessa chave de um
valor igual a outro já existente faria com que a chave deixasse de
identificar de modo unívoco os registos da tabela, portanto, deixaria
de poder funcionar como chave. Na Figura 24 podemos observar dois
exemplos de violação de integridade de entidade, pois a leitora Ana
Lopes não possui valor para a chave primária e a leitora Joana Vieira

Página 18 de 19
possui um valor de chave primária que já foi atribuído ao leitor João
Silva. Qualquer um destes exemplos ilustra uma situação que não
pode acontecer numa base de dados.

Figura 24 - Violação da integridade de entidade

A integridade referencial impõe que um valor de uma chave


externa tem obrigatoriamente de existir como elemento constituinte
da chave primária da tabela relacionada com aquela chave externa.
Na Figura 25 podemos observar que as chaves externas da tabela
Requisição, não existem nas tabelas em que são chaves primárias.
Esta situação leva a um caso de inconsistência ou, dito por outras
palavras, a uma violação da integridade referencial.

Figura 25 - Violação da integridade referencial

Página 19 de 19

Você também pode gostar