Você está na página 1de 13

04-01-2010

Tecnologias da Informação e Comunicação


10º ano

Módulo 2

Gestão de Base de
Dados – Microsoft Office
Access (Parte 2)
1

Nome: Carlos
Nome: Bernardo
Nome: Ana
Correspondência entre um Endereço: R. Nova, 17
arquivo de fichas e um ficheiro CP.Localidade: 1900 Lisboa
Telef: 6789543
de bases de dados, em que
cada ficha corresponde a um
registo de uma tabela

Campos

Nome Endereço CP. Localidade Telef


Ana R. Nova, 17 1900 Lisboa 6789543
Registos Bernardo R. Velha, 71 1900 Lisboa 7890655
Carlos R. Escura, 35 4000 Porto 1234556

1
04-01-2010

Modelo Relacional – modelo E-R


O modelo relacional tornou-se no modelo de bases de dados mais
difundido e utilizado nos sistemas de bases de dados actualmente
existentes - por isso mesmo designados por:

•Bases de Dados Relacionais


•Sistema de Gestão de Bases de Dados Relacionais (SGBD)

Este modelo revelou-se ser o mais flexível e adequado ao solucionar


os vários problemas que se colocam ao nível da concepção e
implementação das bases de dados.
(Nota: o modelo relacional permite uma articulação com o modelo E R – Entidade/Relacionamentos )

Os elementos fundamentais deste modelo são as tabelas, campos


e registos.

Cada tabela é designada por um único nome dentro da base de


dados.

Conceitos genéricos sobre Bases de Dados


Tabela ou Entidade - é um conjunto de objectos do
mesmo tipo (concretos, abstractos ou
Exemplos de entidades e possíveis atributos que
acontecimentos), acerca dos quais se pretende
costumam defini-las :
recolher e registar informação.
(Exemplo de entidades: Pessoas, Clientes, Alunos, EMPRESAS (nome, nº de contribuinte, endereço
Produtos, Fornecedores, Empregados, Livros, telefone, fax)
Cidades, etc. )
PESSOAS (nome, nº de contribuinte, endereço, telef,
data de nasc., idade, naturalidade,
Campos ou Atributos - são os diferentes elementos habilitações, vencimento)
ou propriedades caracterizadoras de uma
determinada entidade. PRODUTOS (código, nome, modelo, cor, preço)
(Os atributos permitem identificar uma entidade
concreta) Graficamente uma entidade costuma ser representada
por um rectângulo com o nome da entidade seguida por
uma lista com os seus atributos
Registo ou Tuplo - é o conjunto de valores
atribuídos aos campos ou atributos de uma entidade.

Empregado É fácil reconhecer que :


Nome 1. Uma entidade corresponde a uma tabela
Idade 2. Os atributos da entidade correspondem aos campos da
Cargo tabela
Vencimento
Os vários elementos da entidade correspondem aos registos

2
04-01-2010

Para que cada tabela esteja correctamente constituída,


no modelo relacional, deve respeitar as seguintes regras:

1. Não pode haver duas colunas (campos ou atributos) com o mesmo nome;
cada coluna é identificada de modo único;

2. Cada linha da tabela representa


2 colunas com o mesmo nome
uma ocorrência única; por isso,
não pode haver registos
duplicados; Nº Nome Disciplina Disciplina
101 Abel Port Mat

201 Ana Port Ing


Registos
3. Não deve haver campos vazios; 220 Rui Ing Mat duplicados
201 Ana Port Ing

4. Não é permitido incluir mais do 228 Port, Ing, Mat

que um valor em cada campo


por registo.
Campos Mais que
vazios um valor
por campo

Tabelas
 Forma utilizada para estruturar ou organizar os dados numa BD

Parte integrante de uma base de dados, é utilizada para guardar


informação relativa a um assunto específico, como, por exemplo, alunos,
livros, autores, países, códigos postais, etc.

A informação guardada numa tabela deve ser coerente com os critérios


utilizados para a sua criação – conter apenas os dados que digam respeito
ao assunto, a que se dá o nome de entidade.
Ex.: A tabela Alunos deve conter unicamente dados relativos aos alunos. A
entidade é Alunos.
6

3
04-01-2010

Tabelas

Registo

 Conjunto de campos relacionados.

 Cada linha de uma tabela corresponde a um registo.

 Ex.: Na tabela de Alunos existe um registo relativo ao

aluno Número 16, de Nome Miguel Jerónimo, do 5 Ano,


Turma F e que tem 10 anos de Idade.

4
04-01-2010

Campo ou Atributo

 Elemento constituinte de uma tabela (Formam as colunas).

 É utilizado para especificar os diversos tipos de dados, ou categorias,

em que dividimos a informação que pretendemos utilizar.

Ex.: Número, Nome, Ano, Turma, Idade

Dado

É o resultado da recolha de informações, um acontecimento ou facto


sobre um determinado assunto, sem nenhum tratamento adicional.

Um dado, quando isolado, não tem significado.

Num SGBD podemos utilizar vários tipos de dados, nomeadamente:


Numéricos, Data/Hora, Alfanuméricos e Lógicos.

Ex.: 16, Miguel Jerónimo, 5, F, 10

10

5
04-01-2010

Exemplo:

11

RELACIONAMENTOS ENTRE
ENTIDADES

Após termos identificado as entidades que pretendemos


representar no nosso esquema de base de dados, bem como
os atributos que definem cada entidade, temos igualmente
que perceber e definir o modo como essas entidades se
relacionam entre si.

12

6
04-01-2010

Noção de relação

 Associação estabelecida entre campos comuns (colunas) de duas

tabelas, permitindo que a consistência da informação seja garantida.

 O relacionamento entre os campos comuns das tabelas permite


garantir que a consistência da informação não seja colocada em
causa e também associar os dados de duas ou mais tabelas para a
visualização, edição ou impressão da informação.

13

Tipos de Relacionamento
Quanto ao nº de entidades na relação

Unários – Relacionamentos que se Alunos


estabelecem entre os elementos de uma
mesma entidade/tabela.

Binários – Relacionamentos que se


estabelecem entre duas entidades/tabelas. Alunos Disciplinas

Ternários – Relacionamentos que se


estabelecem entre três entidades/tabelas. Alunos Disciplinas

Professores

14

7
04-01-2010

Chaves de Entidades/Tabelas

 Chave - é um atributo/campo ou um conjunto de atributos que permite identificar de


modo unívoco (ou único) os registos de uma tabela.

 Chave simples - é uma chave constituída por um único atributo.

 Chave composta (ou chave concatenada) - é uma chave constituída por mais do
que um atributo.

 Chave primária - é um atributo ou um conjunto de atributos que assume a função


de identificar de modo unívoco os registos de uma tabela. Esta chave é usualmente
sublinhada.

 Chave externa ou secundária - é um atributo que é chave primária de uma tabela e


que vai aparecer como atributo de uma outra tabela.

15

Exemplos de chaves
Nota: Nesta tabela, não há nenhum atributo que, por si
Nome Morada Localidade Telef
só, possa desempenhar a função de chave, visto que
Silva R. Nova Lisboa 12345
podemos ter pessoas com os mesmos nomes, portanto o
Nunes R. Velha Lisboa 67896
atributo nome não é seguro como chave.
Paulo R. Nova Porto 90876
Nestas situações é muito usual recorrer-se a um atributo
artificial como por exemplo: Silva R. Nova Porto 98765

CódigoFornecedor; CódigoCliente; CódigoProduto


CodCliente Nome Morada Localidade Telef
Então à tabela anterior acrescentamos o campo 101 Silva R. Nova Lisboa 12345
CodForn, que permite identificar de modo unívoco os 102 Nunes R. Velha Lisboa 67896
registos de uma tabela, e por isso passa ser a sua
103 Paulo R. Nova Porto 90876
chave primária.
104 Silva R. Nova Porto 98765

Clientes Vendas
CodCliente NºFactura
NomeCliente Data
Morada CodCliente
Telef
Chave Externa

16
16

8
04-01-2010

Tipos de relacionamentos binários

 Relações de um-para-um (1:1)

 Relações um-para-vários (1:N)


ou vários-para-um (N:1)

 Relações vários-para-vários (N:N)

17

Relações de um-para-um (1:1)

1 1
Cidadãos B.I.

Cada cidadão tem apenas um


nº de B.I. e cada B.I. só diz
respeito a um único cidadão.

18

9
04-01-2010

Relações um-para-vários (1:N) ou


vários-para-um (N:1)

1 N
Localidades Cidadãos

Cada cidadão nasceu apenas


numa localidade mas em cada
localidade podem nascer vários
cidadãos.

19

Relações de vários-para-vários (N:N)

N N
Cliente Conta

Cada cliente pode ter mais do que uma conta


bancária e cada conta bancária pode
pertencer a vários clientes

N N
Fornecedores Produtos

Cada fornecedor pode fornecer mais do que


um produto e cada produto pode ser fornecido
por vários fornecedores

20

10
04-01-2010

Relações de vários-para-vários (N:N)

Como não é viável implementar uma relação de N:N, isto


porque o SGBD não contempla (não consegue lidar
directamente com situações do tipo N:N ), o relacionamento
transforma-se numa tabela chamada Tabela de
Relacionamento .

A relação converte-se para situações do tipo 1:N ou N:1.

A Tabela de Relacionamento deverá incluir, entre os seus


campos, as chaves das tabelas ou entidades que relaciona.

21

Relações de vários-para-vários (N:N)

1 N N 1
Cliente Cliente/Conta Conta

1 N N 1
Fornecedores Encomendas Produtos

22

11
04-01-2010

Preservação da integridade da informação

Uma base de dados relacional deve assegurar dois tipos de integridade:


- integridade de entidade
- 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 integridade referencial impõe que um valor de uma chave externa tem


obrigatoriamente de existir como elemento da chave primária da tabela
relacionada com aquela chave externa.

23

Preservação da integridade da informação

Fornecedores ForneceProdutos Produtos

CodForn Nome Localidade CodForn CodProd Preço CodProd Nome Modelo

101 Silva Lisboa 101 T1 10 T1 Torneira TX

102 Nunes Lisboa 101 C1 5 T2 Torneira TW

103 Paulo Porto 102 C2 7 C1 Cano CK

104 Silva Porto 103 T2 15 C2 Cano CJ

103 C2 9

104 T1 11

Sempre que é introduzido um valor num campo que é chave externa de uma tabela, o SGBD tem de
certificar-se que esse valor existe na chave primária da tabela referenciada por aquela chave externa.
Caso contrário, a base de dados passaria a ter uma inconsistência ou uma falha de integridade referencial.

24
24

12
04-01-2010

Preservação da integridade da informação


Vejamos alguns exemplos de casos de violação da integridade referencial:

 Se na tabela ForneceProdutos introduzirmos no campo CodForn o valor 110,


estamos a violar a integridade referencial, porque na tabela Fornecedores onde o
CodForn é chave primária esse registo com o código 110 não existe; portanto a
informação que introduzimos tem uma falha de integridade referencial (referencia de
algo que não existe na base de dados ).

 Se eliminarmos na tabela Produtos o registo com o código C2, e se o mantivermos


nas outras tabelas, estamos a criar uma falha de integridade referencial (a tabela
ForneceProdutos tem registos que referenciam produtos que não existem na tabela
Produtos).

 O mesmo acontece se alterarmos um registo.

O SGBD que estiver a gerir a base de dados deve estar preparado para evitar estas situações em
que a informação perde inconsistência ou integridade referencial, enviando mensagens ao utilizador
que lhe permitam rectificar a operação.

25

13

Você também pode gostar