SlideShare uma empresa Scribd logo
1 de 54
Bases de Dados Multiutilizador
Bases de Dados Relacionais
2
Dos ficheiros às Bases de Dados
Antes de existirem bases de dados armazenadas em
computadores, os dados eram organizados
manualmente – Ficheiros Manuais.
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
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
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
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
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.
8
Bases de Dados
Bases
de
Dados
Ficheiro
de
Dados
Registo Campo
contém contém contém
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
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
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
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
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.
14
Relacionamento
Relacionamento
Procura traduzir as relações entre as entidades consideradas.
Exemplo:
Relação entre os alunos e os livros que requisitam da biblioteca
da escola.
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
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
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
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.
19
Tipos de relacionamentos
Quanto ao nº de entidades na relação:
 Relação unária
 Relação binária
 Relação ternária
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
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
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
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
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?
25
Relação ternária
Realiza
dores
Filmes
Actores
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Relacionamentos e chaves externas
Chave Externa
Chave primária de uma tabela original incluída como
campo de outra tabela.
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
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
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
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).

Mais conteúdo relacionado

Semelhante a Bases de Dados Multiutilizador e Relacionais

Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Vitor Hugo Melo Araújo
 
Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]Miguel Aquino
 
Conceitos essenciais de bases de dados
Conceitos essenciais de bases de dadosConceitos essenciais de bases de dados
Conceitos essenciais de bases de dadosPatrícia Morais
 
Introdução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoIntrodução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoDaniel Brandão
 
7882195 banco-de-dados-uma-ampla-abordagem
7882195 banco-de-dados-uma-ampla-abordagem7882195 banco-de-dados-uma-ampla-abordagem
7882195 banco-de-dados-uma-ampla-abordagemGabriel Azuirson
 
1. Introdução a Sistemas de BD
1. Introdução a Sistemas de BD 1. Introdução a Sistemas de BD
1. Introdução a Sistemas de BD Marília Mendes
 
Considerações preliminares sobre dados quantitativos de pesquisa
Considerações preliminares sobre dados quantitativos de pesquisaConsiderações preliminares sobre dados quantitativos de pesquisa
Considerações preliminares sobre dados quantitativos de pesquisaLeticia Strehl
 
Conceitos geraiss gestão de base dados
Conceitos geraiss gestão de base dadosConceitos geraiss gestão de base dados
Conceitos geraiss gestão de base dadosBruno Pereira
 
Lista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdf
Lista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdfLista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdf
Lista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdfMárcio Finamor
 
Modelo Conceitual MER
Modelo Conceitual MERModelo Conceitual MER
Modelo Conceitual MERJoel Santos
 
Pnaic caderno 7
Pnaic caderno 7Pnaic caderno 7
Pnaic caderno 7weleslima
 
Introducao Base Dados Ii
Introducao Base Dados IiIntroducao Base Dados Ii
Introducao Base Dados Iiguest3118b2
 
Introducao Base Dados Ii
Introducao Base Dados IiIntroducao Base Dados Ii
Introducao Base Dados Iiguest3118b2
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoRademaker Siena
 

Semelhante a Bases de Dados Multiutilizador e Relacionais (20)

Modelos de base de dados
Modelos de base de dadosModelos de base de dados
Modelos de base de dados
 
CURSO BANCO DADOS
CURSO BANCO DADOSCURSO BANCO DADOS
CURSO BANCO DADOS
 
Bases De Dados
Bases De DadosBases De Dados
Bases De Dados
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER
 
Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]
 
Conceitos essenciais de bases de dados
Conceitos essenciais de bases de dadosConceitos essenciais de bases de dados
Conceitos essenciais de bases de dados
 
Introdução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoIntrodução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel Brandão
 
7882195 banco-de-dados-uma-ampla-abordagem
7882195 banco-de-dados-uma-ampla-abordagem7882195 banco-de-dados-uma-ampla-abordagem
7882195 banco-de-dados-uma-ampla-abordagem
 
1. Introdução a Sistemas de BD
1. Introdução a Sistemas de BD 1. Introdução a Sistemas de BD
1. Introdução a Sistemas de BD
 
Considerações preliminares sobre dados quantitativos de pesquisa
Considerações preliminares sobre dados quantitativos de pesquisaConsiderações preliminares sobre dados quantitativos de pesquisa
Considerações preliminares sobre dados quantitativos de pesquisa
 
Estatística
EstatísticaEstatística
Estatística
 
Slides Estatística
Slides EstatísticaSlides Estatística
Slides Estatística
 
Conceitos geraiss gestão de base dados
Conceitos geraiss gestão de base dadosConceitos geraiss gestão de base dados
Conceitos geraiss gestão de base dados
 
Lista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdf
Lista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdfLista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdf
Lista 3 - Exercícios de Modelagem Conceitual - GABARITO.pdf
 
Resource Description and Access (RDA)
Resource Description and Access (RDA)Resource Description and Access (RDA)
Resource Description and Access (RDA)
 
Modelo Conceitual MER
Modelo Conceitual MERModelo Conceitual MER
Modelo Conceitual MER
 
Pnaic caderno 7
Pnaic caderno 7Pnaic caderno 7
Pnaic caderno 7
 
Introducao Base Dados Ii
Introducao Base Dados IiIntroducao Base Dados Ii
Introducao Base Dados Ii
 
Introducao Base Dados Ii
Introducao Base Dados IiIntroducao Base Dados Ii
Introducao Base Dados Ii
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 

Bases de Dados Multiutilizador e Relacionais

  • 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.
  • 14. 14 Relacionamento Relacionamento Procura traduzir as relações entre as entidades consideradas. Exemplo: Relação entre os alunos e os livros que requisitam da biblioteca da escola.
  • 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.
  • 19. 19 Tipos de relacionamentos Quanto ao nº de entidades na relação:  Relação unária  Relação binária  Relação ternária
  • 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).