Professional Documents
Culture Documents
De
Bases de dados
Paulo Leocádio
Índice
A informática na empresa
Paulo Leocádio 2
Teoria de Bases de Dados
SGBD
Base de Dados
Utilizadores
ORGANIZAÇÃO X
Aplicação A Aplicação B Aplicação C Aplicação D Aplicação E
Departamento X Departamento Y
SGBD
*
Departamento Z
Paulo Leocádio 4
Teoria de Bases de Dados
Paulo Leocádio 5
Teoria de Bases de Dados
Organização da
informação em tabelas e
Nível Conceptual relacionamentos
Armazenamento da
Paulo Leocádio 6
Teoria de Bases de Dados
O trabalho com uma base de dados implica diversos tipos de operações sobre os
ficheiros e os dados que eles contêm, tais como:
9 Inserir novos registos;
9 Procurar e visualizar um registo;
9 Eliminar registos existentes;
9 Seleccionar registos e/ou campos;
9 Ordenar os registos de um ficheiro;
9 Juntar ou intercalar registos de ficheiros diferentes;
9 Fazer cópias ou duplicações de ficheiros;
9 Alterar a estrutura de campos de um ficheiro;
9 Eliminar ficheiros;
Paulo Leocádio 7
Teoria de Bases de Dados
Têm a ver com a atribuição ou supressão dos direitos de acesso aos dados em
relação a utilizadores ou grupos de utilizadores.
Nível de Visualização
• Operações de manipulação
d e d a d os ;
Nível Conceptual
• Operações de criação e
alteração da estrutura da
base de dados
Nível Físico
Paulo Leocádio 8
Teoria de Bases de Dados
De um modo geral, pode-se definir uma Base de Dados como sendo um conjunto de
dados ou informações relacionados entre si e organizados de forma a facilitar a sua
utilização por parte do utilizador.
Ou ainda, como um sistema cuja finalidade é registar, actualizar, manter e
disponibilizar a informação relevante para a actividade de uma organização.
Este conjunto de informações será partilhado e utilizado para diferentes objectivos e
por diferentes utilizadores. No entanto, os utilizadores não só partilham informações como
também têm necessidades e perspectivas diferentes dessas informações.
Quando se cria uma base de dados tem-se como objectivos:
- Diminuir o espaço ocupado pela informação;
- Facilitar a actualização da informação;
- Aumentar a velocidade de pesquisa;
- Evitar a redundância de informação.
- Recuperação, backup e rasteio de dados: por vezes pode acontecer que se percam
dados relevantes para a base de dados. Nestes casos é importante que hajam
mecanismos de recuperação dos mesmos, de forma a ser possível o seu restauro. É
importante, também, que a base de dados permita a execução de backups, isto é, de
cópias de segurança da informação armazenada;
- Simplificação e aperfeiçoamento da segurança: a segurança é crucial nos dias de
hoje. Não só para prevenir ataques externos à base de dados, mas também como
forma de restringir o acesso aos dados por parte de utilizadores sem privilégios para
tal;
- Melhor integridade dos dados: apresentar os dados com rigor e qualidade.
Paulo Leocádio 10
Teoria de Bases de Dados
Esquema: Consiste no design ou estrutura lógica com que a base de dados é definida, o
modo como é concebida a organização da informação.
Instância: Refere-se aos dados concretos que a base de dados contém a cada momento, os
quais podem variar com a utilização da base de dados.
Modelo Hierárquico
- Uma base de dados concebida segundo o modelo hierárquico consiste numa
colecção de registos que se encontram relacionados entre si, através de relações;
- A estrutura hierárquica de ligação entre os registos toma o aspecto de uma árvore
invertida;
- Cada registo (excepto o primeiro) encontra-se ligado a um outro denominado de
superior hierárquico;
- Se um superior hierárquico for eliminado todos os que se encontram abaixo dele na
estrutura hierárquica serão eliminados.
Modelo de rede
- Uma base de dados concebida segundo o modelo hierárquico também consiste
numa colecção de registos que se encontram relacionados entre si, através de
relações;
- A estrutura de ligação dos registos já não se apresenta em forma de árvore mas
sim em forma de rede, o que implica uma maior flexibilidade em relação à forma
como se podem ligar os registos.
Paulo Leocádio 12
Teoria de Bases de Dados
Modelo Entidade-Relacionamento
O modelo E-R é baseado na percepção de que o mundo real é constituído por dois
objectos: entidades e relacionamentos.
Entidades
São elementos relevantes, abstractos ou concretos, sobre os quais é necessário
guardar informação.
Por exemplo:
9Pessoas ( Fornecedores, Empregados, Clientes, Alunos, etc...)
9Organizações ( Empresas, Hospitais, Escolas, Farmácias, etc...)
9Objectos ( Carro, Factura, Produtos, Boletim de Incrição, etc...)
Relacionamentos
Após a identificação das entidades a incluir no esquema da BD, e dos atributos que as
definem, é necessário perceber o modo como estas entidades se relacionam entre si.
Assim, um relacionamento é uma associação existente entre entidades.
Paulo Leocádio 13
Teoria de Bases de Dados
Atributos e Ocorrências
Uma entidade é definida por um conjunto de dados que de alguma forma se
encontram relacionados.
Os dados numa entidade encontram-se divididos em campos ou atributos que são os
elementos que a caracterizam.
A cada ocorrência relativa a uma entidade dá-se o nome de registo.
Campo
Exemplo:
O nome próprio de uma pessoa: Ana, Maria, João, Francisco, etc...
O estado civil de uma pessoa: Solteiro, casado, divorciado.
Exemplo:
Os valores para a idade de uma pessoa só podem ser numéricos, nunca
podendo conter valores alfanuméricos. Assim, o seu domínio será o dos
números inteiros.
Paulo Leocádio 14
Teoria de Bases de Dados
Tipos de atributos
Os atributos de uma entidade podem ser de dois tipos:
COMPOSTOS – São atributos que podem ser decompostos em unidades mais elementares.
Exemplo:
- O nome completo de uma pessoa pode ser decomposto em nome próprio,
sobrenome e restantes.
- A data que pode ser decomposta em dia, mês e ano.
- A hora que pode ser decomposta em hora, minuto e segundo.
Atributo Identificador
Entre os diversos atributos que definem uma entidade deve existir um ou mais
campos que identifiquem inequivocamente cada registo. A este(s) atributo(s) dá-se o nome
de Atributo Identificador.
Paulo Leocádio 15
Teoria de Bases de Dados
Chave Primária
Não Redundante – No caso de uma chave composta não devem ser incluídos mais
campos do que os necessários.
Não Nula – Nenhum dos valores que compõem a chave primária pode conter valores
nulos.
Paulo Leocádio 16
Teoria de Bases de Dados
Entidade Atributo
Atributo chave
Relacionamento -----
Paulo Leocádio 17
Teoria de Bases de Dados
Título
Intérprete
Título Nº Faixa Duração
Editora
Nº Cd Nº Cd Género
Tipos de Relacionamentos
São as formas como as entidades se relacionam num determinado modelo de
informação. As associações podem classificar-se em unárias, binárias e complexas.
EQUIPA joga
pertence
ALUNO TURMA
Paulo Leocádio 18
Teoria de Bases de Dados
ATLETA PROVA
disputa
MODALIDADE
Tem-se que um atleta que pratica uma determinada modalidade disputa uma prova
dessa modalidade.
Observação: Regra geral, uma associação do tipo complexa ternária dá origem a uma
entidade associativa.
Grau de Relacionamento
É a participação máxima (limite superior) de cada uma das entidades nas
associações a que está ligada.
O grau de relacionamento é independente do tipo de associação.
Tendo em conta o seu grau, os relacionamentos classificam-se em:
Relacionamento 1:1 Relacionamento 1:N Relacionamento M:N
(um para um) (um para muitos) (muitos para muitos)
Observação: Regra geral, uma associação de grau M:N dá origem a uma entidade associativa.
Paulo Leocádio 19
Teoria de Bases de Dados
Qualidade de participação
É a participação mínima (limite inferior) da entidade na associação a que está ligada.
A participação de cada entidade é ou pode ser diversa de associação para associação.
A qualidade de participação de uma entidade classifica-se em obrigatória e não
obrigatória.
OBRIGATÓRIA quando não pode haver qualquer ocorrência que não esteja associada
a alguma ocorrência da outra entidade que participa na associação.
NÃO OBRIGATÓRIA quando pode haver ocorrências numa entidade, mesmo que não
associadas a alguma ocorrência da outra entidade que participa na associação.
Derivação de tabelas
Analisando o grau de relacionamento e a qualidade de participação é possível
identificar o número de tabelas necessárias para cada relacionamento.
Assim:
UMA TABELA
9 Relacionamentos de 1:1 com participação obrigatória de ambas as
entidades.
DUAS TABELAS
9 Relacionamento de 1:1 com participação obrigatória de uma das
entidades, em que nesta é adicionada uma chave externa;
TRÊS TABELAS
A terceira tabela é responsável pelo relacionamento entre as outras duas e
nela serão incluídas como chaves externas as chaves primárias das outras duas.
A esta tabela dá-se o nome de Entidade Associativa.
Paulo Leocádio 20
Teoria de Bases de Dados
9 Relacionamentos de N:N;
Paulo Leocádio 21
Teoria de Bases de Dados
Normalização de tabelas
Existe uma hierarquia de formas normais que pode ser apresentada através de um conjunto
de círculos concêntricos.
1FN
Se estiver na 1FN e se
Todos os atributos
2FN
todos os atributos que não
assumem apenas
pertencem à chave
valores atómicos ou 3F primária dependem da
elementares, isto é,
totalidade da chave e não
não podem ser tipo 2FN de nenhum dos seus
subconjunto. elementos ou conjuntos
1FN isoladamente.
Se estiver na 2FN e se
dos atributos que não
pertencem à chave forem
independentes entre si.
Paulo Leocádio 22
Teoria de Bases de Dados
Repetição do processo até que todas as entidades estejam na forma normal pretendida.
Esta tabela não obedece à primeira forma normal (1FN), uma vez que o atributo
Disciplinas admite conjuntos de valores. Consideremos a tabela com alguns dados como
exemplo:
Paulo Leocádio 23
Teoria de Bases de Dados
Esta tabela não obedece à primeira forma normal (1FN) porque, embora todos os
campos sejam atómicos, existem campos repetidos para a mesma categoria. Consideremos
a tabela com alguns dados como exemplo:
Paulo Leocádio 24
Teoria de Bases de Dados
A tabela ALUNOS agora está na 1FN, pois todos os atributos contêm apenas valores
elementares.
Apresenta, no entanto, grande redundância de informação, que se reflecte na
repetição dos identificadores dos nomes e moradas dos alunos. Para além desse
inconveniente, podem apontar-se ainda os seguintes:
Dependência funcional
Paulo Leocádio 25
Teoria de Bases de Dados
Temos que:
- Nome e Morada são dependentes de CodAluno
- Disciplina é dependente de CodDisciplina
• todos os atributos que não pertencem à chave, dependem da chave através de uma
dependência funcional elementar, isto é, dependem da totalidade da chave e não de um
dos seus atributos ou subconjuntos isoladamente.
Esta condição evidentemente só se aplica no caso da chave ser composta por mais
de um atributo. Caso a chave seja constituída por um único atributo, chave simples, a
condição imposta é que os restantes atributos dependam funcionalmente da chave.
Paulo Leocádio 26
Teoria de Bases de Dados
• A tabela DETALHE não se encontra na 2ª FN, porque existem alguns atributos não-chave
que dependem funcionalmente de parte da chave;
Paulo Leocádio 27
Teoria de Bases de Dados
• nenhum atributo não-chave depender funcionalmente de algum outro atributo que não
seja a chave, isto é, todos os atributos não-chave dependem funcionalmente apenas da
chave;
Paulo Leocádio 28
Teoria de Bases de Dados
- tem uma chave simples o que implica que todos os atributos não-chave dependem da
totalidade da chave (2ª FN);
- os atributos não-chave não dependem de nenhum outro atributo não-chave (3ª FN);
Paulo Leocádio 29