1. Bases de Dados Multiutilizador
Bases de Dados Relacionais
2. 2
Dos ficheiros às Bases de Dados
Antes de existirem bases de dados armazenadas em
computadores, os dados eram organizados
manualmente – Ficheiros Manuais.
3. 3
Dos ficheiros às Bases de Dados
Nome: Rui Silva
Endereço: R. Santa,12
CP: 4535 Sanguêdo
Telef: 915491
Nome: Jorge Santos
Endereço: Rua 21, 89
CP: 4500 Espinho
Telef: 720011
Nome: Daniela Silva
Endereço: Rua 23, 12
CP: 4500 Espinho
Telef: 721172
Nome: Carlos Sousa
Endereço: R. Boa, 13
CP: 4000 Porto
Telef: 448844
Nome: Bernardo Cruz
Endereço: R. Velha, 71
CP: 1900 Lisboa
Telef: 996699
Nome: Ana Santos
Endereço: R. Nova, 12
CP: 1900 Lisboa
Telef: 669966
Exemplo: Caderneta com as fichas individuais dos alunos
4. 4
Dos ficheiros às Bases de Dados
Com a nova era da
informação e o
desenvolvimento das
aplicações
informáticas, os dados
passaram a ser
armazenados em
computadores, sob a
forma de Bases de
Dados.
5. 5
Bases de Dados
Nos sistemas informáticos a informação é organizada sob a
forma de ficheiros. Numa Base de Dados pode-se ter um ou
mais ficheiros de dados.
Base de Dados
Conjunto de ficheiros de dados com determinada estrutura, que
se relacionam entre si. A informação existente numa base de
dados pode ser consultada e actualizada através de programas
executados em computador.
Ficheiro de Dados
Conjunto de registos do mesmo tipo que correspondem à
informação produzida e manipulada pelos utilizadores.
6. 6
Bases de Dados
Numa Base de Dados um ficheiro de dados pode ser
visto como um arquivo de fichas.
Cada uma das fichas corresponde a um registo de uma
entidade ou objecto.
Cada um dos registos contém um conjunto de campos
de informação, com os atributos com que são
definidas as entidades.
7. 7
Bases de Dados
Registo
Conjunto de campos que descrevem uma entidade ou objecto.
Campo
Conjunto de bytes que descrevem a informação sobre uma
entidade ou objecto.
9. 9
Bases de Dados
Numa BD os ficheiros de dados podem representar-se por
tabelas, em que as linhas contêm os registos e as colunas
definem os campos.
10. 10
Modelos de Bases de Dados
O desenvolvimento de uma BD pode ser
efectuado segundo diferentes modelos
conceptuais.
Entre estes modelos destaca-se o Modelo
Entidade-Relacionamento (Modelo E-R).
Este procura criar uma simulação ou
representação da realidade através dos
conceitos de entidade e de relacionamento.
11. 11
Modelo Entidade-Relacionamento(E-R)
O modelo E-R é bastante útil ao nível da 1ª fase de
concepção de uma BD, antes da sua implementação
num SGBD, para definir o esquema ou design geral
dessa BD.
Modelo E-R
Representa a realidade através de entidades e
relacionamentos entre essas entidades.
12. 12
Entidade
Entidade
Pode representar pessoas, instituições ou objectos, sobre os
quais se pretende registar informação.
As entidades são compostas ou caracterizadas por atributos.
Exemplos:
Entidades que representam pessoas – alunos, funcionários, etc.
Entidades que representam instituições – escolas, empresas, etc.
Entidades que representam objectos – livros, produtos, etc.
13. 13
Atributo
Atributo
Elemento ou propriedade que caracteriza as entidades.
Exemplo:
Atributos da entidade Aluno: “Nome”, “Morada”, “Telefone”,
“Data de Nascimento”, e outros que possam ser considerados
importantes consoante a finalidade da BD.
15. 15
Modelo Entidade-Relacionamento(E-R)
Quando definimos uma entidade no modelo E-R,
normalmente, estamos a definir uma classe de
entidades e não uma entidade concreta.
Exemplo:
Ao definir a entidade Aluno, caracterizada pelos seguintes
atributos: nome, morada, telefone, data de nascimento, etc.,
estamos a definir um determinado conjunto de alunos e não
um aluno concreto.
16. 16
Modelo Entidade-Relacionamento(E-R)
É fácil de reconhecer que:
Uma entidade ou classe de entidades corresponde a uma
tabela;
Os atributos da entidade correspondem aos campos da
tabela;
Os vários elementos da entidade corresponde aos registos.
Exemplo:
A entidade “Aluno” define uma classe de entidades – os vários alunos de
uma escola. Essa mesma classe de entidades pode ser representada por uma
tabela com estrutura de campos e registos.
17. 17
Modelo Entidade-Relacionamento(E-R)
Aluno 1:
Nome: Ana Castro
Morada: Rua das Flores,
n.º 7
Telefone: 226004526
Data Nascimento: 09-
11-1985
Aluno 2:
Nome: Hugo Fernandes
Morada: Rua de S. Gens,
n.º 38.
Telefone: 229514785
Data Nascimento: 20-03-
1984
Aluno 3:
Nome: Sandra Faria
Morada: Rua da Ponte,
n.º 5
Telefone: 962906587
Data Nascimento: 06-
05-1985
Nome Morada Telefone Data Nasc.
Ana Castro Rua das Flores, nº 7 226004526 09-11-1985
Hugo Fernandes Rua de S. Gens, nº 38 229514785 20-03-1984
Sandra Faria Rua da Ponte, nº 5 962906587 06-05-1985
18. 18
Relacionamentos entre entidades
Após a identificação das entidades que se pretendem
representar no esquema da BD, bem como os
atributos que definem cada entidade, temos
igualmente de perceber e definir o modo como essas
entidades se relacionam entre si.
20. 20
Relação unária
Relação unária
Relacionamento de uma classe de entidades consigo própria.
Exemplo:
Numa BD concebida para registar
os jogos entre equipas de futebol de
um campeonato, podemos
considerar que existe uma única
entidade – “Equipas” – que jogam
entre si.
Equipas
21. 21
Relação binária
Relação binária
Relacionamento entre duas entidades ou classe de entidades.
Exemplo:
Os livros da
biblioteca e as
requisições
efectuadas pelos
utentes dessa
biblioteca.
Livros
Requi
sições
22. 22
Relação binária
Estas são as relações mais comuns. Dentro deste tipo de
relações há a considerar várias situações distintas,
dependendo do modo como as entidades participam
na relação.
Esta é uma questão muito importante porque interfere
na estrutura da BD, nomeadamente no número de
tabelas que se tem em cada caso.
23. 23
Relação binária
Considerando o número de elementos de uma
entidade que podem relacionar-se com os elementos
da outra entidade, temos os seguintes tipos de
relações binárias:
Relações um-para-um (1:1)
Relações um-para-vários (1:n)
Relações vários-para-vários (n:m)
exemplo: um aluno pertence a uma turma
exemplo: um aluno requisita vários livros
exemplo: um aluno tem várias disciplinas e uma
disciplina tem vários alunos
24. 24
Relação ternária
Relação ternária
Relacionamento entre três entidades ou classe de entidades.
Exemplo:
Base de dados para registar os filmes feitos por uma agencia de
publicidade, os realizadores desses filmes e os actores que entraram
nesses filmes. Ao definir-se uma relação ternária entre as entidades
“Filmes”, “Realizadores” e “Actores”, a BD pode responder a
perguntas como: Quais os filmes realizados pelo realizador X em que
entrou o actor Y? Quais os actores que entraram no filme do
realizador Z?
26. 26
Modelo Relacional
Este é o modelo mais difundido e utilizado nos sistemas
de BD’s actualmente existentes – por isso mesmo
designados por Sistemas de Bases de Dados
Relacionais (ou SGBD’s Relacionais).
27. 27
Modelo Relacional
Modelo Relacional
Modelo de BD´s baseado em registos, onde a
informação se encontra estruturada em tabelas
relacionadas entre si através de ligações.
Exemplo de SGBD relacional:
Microsoft Access.
28. 28
Tabelas como elementos fundamentais do
Modelo Relacional
Os elementos fundamentais de uma BD elaborada
segundo este modelo são as tabelas - em que a
informação é estruturada em campos e registos.
Cada tabela é designada por um nome único dentro da
BD e corresponde a uma classe de entidades ou a um
relacionamento entre entidades.
29. 29
Tabelas como elementos fundamentais do
Modelo Relacional
Uma tabela é definida por um conjunto de colunas
correspondentes aos campos ou atributos de uma
entidade ou classe de entidades.
Cada coluna ou campo da tabela tem um nome único
dentro da tabela, mas podem existir campos com o
mesmo nome em tabelas distintas.
30. 30
Tabelas como elementos fundamentais do
Modelo Relacional
As linhas de uma tabela correspondem aos registos ou
ocorrências de entidades concretas.
As várias linhas podem conter dados repetidos em
alguns campos, mas, considerando o conjunto de
todos os campos, não podem existir duas linhas iguais
– cada linha representa uma entidade única ou
relacionamento único entre entidades.
31. 31
Tabelas como elementos fundamentais do
Modelo Relacional
Podemos assim fazer a correspondência entre os termos
usados na informática tradicional e nas bases de
dados relacionais:
Informática
Tradicional
BD Relacionais
Ficheiro Tabela
Registo Linha
Campo Coluna
32. 32
Tabelas como elementos fundamentais do
Modelo Relacional
Tabela (Ficheiro)
Elemento fundamental de uma BD em que a
informação é estruturada em colunas (campos) e linhas
(registos). Designada por um nome único dentro da
BD e correspondente a uma classe de entidades ou
relacionamento entre entidades.
33. 33
Tabelas como elementos fundamentais do
Modelo Relacional
Coluna (Campo)
Corresponde aos atributos de uma entidade ou classe de
entidades. É designada por um nome único dentro da tabela.
Linha (Registo)
Corresponde às ocorrências de entidades concretas. Cada linha
representa uma entidade única ou relacionamento único entre
entidades.
34. 34
Propriedades das tabelas e regras da sua
constituição
Para que uma tabela esteja correctamente constituída, no
modelo relacional, deve respeitar as seguintes regras:
Não pode haver duas colunas (campos) com o mesmo
nome - cada coluna é identificada de modo único;
Não deve haver campos vazios – caso o valor de um
campo seja desconhecido ou não aplicável deve então
ser preenchido com um valor nulo especial;
35. 35
Propriedades das tabelas e regras da sua
constituição
Não é permitido incluir mais do que um valor em
cada campo de cada registo;
Cada linha da tabela representa uma entidade ou
ocorrência única, por isso não deve haver registos
duplicados.
36. 36
Chaves de uma tabela
Como foi dito na última regra das tabelas, cada linha
representa uma entidade ou ocorrência única, não
podendo por isso haver registos duplicados.
Vamos considerar, por exemplo, a tabela seguinte,
relativa aos fornecedores de uma empresa.
37. 37
Chaves de uma tabela
A tabela “Fornecedores” está correctamente constituída – não
existem duas linhas ou registos iguais, embora haja dados
repetidos (a cor de laranja).
Nome Localidade Telefone
Castro Maia 229551236
Fernandes Maia 229551478
Faria Gondomar 224837845
Megre Gondomar 224835689
Castro Gondomar 224832552
Fernandes Gondomar 224836958
Fornecedores
38. 38
Chaves de uma tabela
Mas agora coloca-se um problema: algum dos atributos ou
campos da tabela nos permite identificar de modo único cada
registo ou linha da tabela?
A resposta é negativa, uma vez que, em qualquer campo da tabela,
aparecem valores repetidos.
A solução seria criar um atributo que permitisse identificar de
modo único cada entidade concreta ou registo da tabela –
chave da tabela.
39. 39
Chaves de uma tabela
Chave
Atributo ou conjunto de atributos que permite
identificar de modo único os registos de uma tabela.
Chave Candidata
Todas as chaves possíveis de uma tabela ou entidade.
40. 40
Chaves de uma tabela
Entre as chaves candidatas existentes numa tabela, uma
delas será a mais indicada ou a escolhida para
desempenhar o papel de chave – chave primária.
Chave Primária
Atributo ou conjunto de atributos que assume a
função de identificar de modo único as entidades ou
registos de uma tabela.
41. 41
Chaves de uma tabela
É frequente que, entre os atributos naturais de uma
entidade, não se encontre nenhum que possa
desempenhar o papel de chave.
Por exemplo na entidade “Aluno” não é seguro ter o
atributo “Nome” como chave porque pode haver dois
alunos com nomes iguais.
Nestas situações é muito usual recorrer a um atributo
artificial, como por exemplo “N.º de Aluno”.
42. 42
Chaves de uma tabela
Na tabela do exemplo - “Fornecedores” – poderíamos acrescentar
um campo “Código” para registar o código de fornecedor e
esse campo passaria a desempenhar o papel de chave da tabela.
Código Nome Localidade Telefone
101 Castro Maia 229551236
102 Fernandes Maia 229551478
103 Faria Gondomar 224837845
104 Megre Gondomar 224835689
105 Castro Gondomar 224832552
106 Fernandes Gondomar 224836958
Fornecedores
43. 43
Relacionamentos e chaves externas
A característica essencial do modelo relacional é que
permite estabelecer relacionamentos entre entidades
ou tabelas de entidades.
Esses relacionamentos são estabelecidos precisamente
através dos atributos ou campos que desempenham o
papel de chaves primárias nas respectivas tabelas.
44. 44
Relacionamentos e chaves externas
Vamos considerar, por exemplo, as duas seguintes entidades e os
respectivos atributos:
Alunos (NumAluno, Nome, Morada, Telefone)
Livros (CodLivro, Titulo, Autor, Editora)
Pretende-se que a BD seja capaz de responder a questões como as
seguintes:
Quais os livros requisitados por um aluno X?
Quantos alunos requisitaram o livro Y?
45. 45
Relacionamentos e chaves externas
Para tal, temos que estabelecer um relacionamento entre
as duas entidades ou tabelas de entidades.
Neste caso, temos um relacionamento do tipo vários-
para-vários (ou N-para-N), visto que:
Cada aluno pode requisitar mais que um livro;
Cada livro pode ser requisitado por mais que um
aluno (em tempos diferentes claro!).
46. 46
Relacionamentos e chaves externas
Para traduzir este relacionamento entre as tabelas,
necessitamos de ter 3 tabelas: para além das 2 tabelas
correspondentes às entidades em causa – Alunos e
Livros – precisamos de uma 3ª tabela, onde se irá
registar o relacionamento entre estas 2 entidades, ou
seja, as requisições feitas por cada aluno.
Alunos Livros
requisitam
47. 47
Relacionamentos e chaves externas
As linhas que unem as tabelas correspondem aos relacionamentos
entre as entidades.
Esses relacionamentos são realmente estabelecidos através dos
atributos-chave das entidades.
Os atributos-chave das tabelas das entidades aparecem na tabela
de relacionamentos como chaves externas.
Alunos
NumAluno
Nome
Morada
Telefone
Requisições
NumAluno
CodLivro
Data
Livros
CodLivro
Titulo
Autor
Editora
48. 48
Relacionamentos e chaves externas
Nº aluno Nome Morada Telefone
1 Ana Rua 1 226004526
2 Hugo Rua 2 229514785
3 Sandra Rua 3 962906587
4 Sónia Rua 4 917892356
Alunos
Cod. Livro Titulo Autor Editora
111 AI - 11º Augusto Azul Porto Editora
222 ITI 1 Ana Antas Constância Editora
333 ITI 2 Ana Antas Constância Editora
444 Tecnologias Augusto Azul Porto Editora
Livros
Nº aluno Cod Livro Data
1 111 12-Nov
2 222 11-Nov
2 333 11-Nov
3 444 10-Nov
Requisições
49. 49
Relacionamentos e chaves externas
A tabela de relacionamentos deverá incluir, entre os
seus campos, as chaves das tabelas das entidades que
entram no relacionamento.
Quando uma chave de uma tabela é incluída como
campo numa outra tabela trata-se de uma chave
externa, do ponto de vista da ultima tabela.
50. 50
Relacionamentos e chaves externas
Chave Externa
Chave primária de uma tabela original incluída como
campo de outra tabela.
51. 51
Relacionamentos e chaves externas
É fundamentalmente através da inclusão de atributos,
que são chaves primárias nas suas tabelas de origem,
noutras tabelas (onde são chaves externas) que são
estabelecidos os relacionamentos entre as diferentes
entidades de uma BD relacional.
52. 52
Preservação da integridade da informação
Quando se realizam operações de actualização numa BD, estas
devem decorrer de forma a que a informação se mantenha
consistente.
A manutenção da consistência ou integridade da informação
numa BD deve ser assegurada pelo SGBD ou pelas aplicações
que forem criadas a partir desse SGBD.
Uma BD relacional deve assegurar dois tipos de integridade:
Integridade de entidade;
Integridade referencial.
53. 53
Preservação da integridade da informação
A integridade da 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 único os registos da
tabela, logo deixaria de funcionar como chave.
54. 54
Preservação da integridade da informação
A integridade referencial impõe que um valor de uma
chave externa tem obrigatoriamente de existir na
chave primária da tabela relacionada com aquela chave
externa.
Uma chave externa referencia uma entidade existente
numa outra tabela (onde é chave primária).