BANCO DE DADOS - CONCEITOS
ASSUNTOS TRATADOS
Arquiteturas de Banco de dados
Projeto de banco de dados
Modelo relacional
Algebra relacional
BANCO DE DADOS - CONCEITOS
Modelos de redes
Empregado (luiz , Rua xxxx , 261-23)(
)(
Dependente (pedro, filho, 12-10-1978)(
) (
)
)
Dependente (pedro, filho, 12-10-1978)(
Dependente (pedro, filho, 12-10-1978)(
(
)(
)
) (
)(
) (
)
)
Os registros tem endereços fisicos para serem usados nas estruturas de navegaçao
BANCO DE DADOS - CONCEITOS
Criação do grupo CODASYL - padronização
- padronização das estruturas de navegação
- abordagem po niveis de abstração
modelo ANSI/SPARC (American National Standards Institute)
SPARC (Standards Planning And Requirements Committee).
- Modelo “duro para alteraçoes” e de alta performace de acesso.
BANCO DE DADO CONCEITOS
 Fundamentado
na teoria de conjuntos, combinado com a idéia que não é
relevante para o usuário saber onde os dados estão nem como os dados
estão armazenados. O usuário, para lidar com estes objetos, conta com
um conjunto de operadores e funções de alto nível, constantes na álgebra
relacional.
Definição Matemática de Relação
Sejam conjuntos, não necessariamente disjuntos D1, D2, ..., Dn de
valores atômicos
R é uma relação sobre estes conjuntos (domínios de R), se e somente
se R é um conjunto de n-uplas (tuplas) ordenadas <d1, d2, ... , dn>, tal que
para i=1,2,...,n di pertence a Di
Exemplo:

A = {1, 2, 3, 4, 5}
R = B é o dobro de A
B = {2, 3, 4, 6, 7}
R = {(2,1), (4,2), (6,3)}
Modelo Relacional
 Relação = Tabela bi-dimensional, composta de linhas e colunas de dados.
 Relação recursiva = relaciona o objeto a si mesmo.
 Atributo = Coluna
 Grau de uma relação = Número de atributos
 Tupla = Cada linha da relação
 Domínio de um atributo = Conjunto ao qual pertence os valores de um
atributo
 Valor nulo de um atributo de uma tupla = Atributo inaplicável ou com
valor desconhecido
 Esquema de Banco de Dados Relacional = Nomes das relações seguidos
pelos nomes dos atributos, com os atributos chaves sublinhados e com as chaves
estrangeiras identificadas.
Banco de Dados
Relacional
Modelo Relacional
Atributo Identificador:
A atributo ou conjunto de atributos que será utilizado para identificar instâncias de
uma entidade. Faz parte do modelo conceitual.
Chave:
designa o conceito de item de busca, isto é, um atributo ou conjunto de atributos
que será utilizado nas consultas à base de dados.
É um conceito lógico da aplicação.
Índice:
É um recurso físico que visa otimizar a recuperação de uma informação, via um
método de acesso. Seu objetivo principal está relacionado com a performance de
uma aplicação.
 Uma chave pode ser utilizada como índice, mas um índice não é, necessariamente,
uma chave
Modelo Relacional
 Chave Candidata
– Deve ser única, ou seja, nenhuma tupla de uma mesma relação pode ter o mesmo
valor para o atributo escolhido como chave candidata
– Deve ser irredutível, nenhum subconjunto da chave candidata pode ter sozinho a
propriedade de ser único.
– Pode ser :
 Simples : quando é composta por apenas um atributo
 Composta : quanto possui mais de um atributo para formar a chave
 Chave primária
– É um caso especial da chave candidata. É a escolhida entre as candidatas para
identificar unicamente uma tupla.
 Chave estrangeira
– É quando um atributo de uma relação é chave primária em outra.
– Constitui um conceito de vital importância no modelo relacional: é o elo de ligação
lógica entre as tabelas (relacionamentos)
– Através das operações com as chaves estrangeiras que se garante a INTEGRIDADE
REFERENCIAL do banco de dados:
Modelo Relacional
Regras de Integridade
Regras que devem ser obedecidas em todos os estados
válidos da base de dados (podem envolver uma ou mais linhas de uma ou mais tabelas)

Integridade da Entidade
 O valor da chave não pode ser vazio
 A chave primária serve como representante na base de dados de uma entidade – se a
chave primária for vazia, alinha não corresponde a nenhuma entidade

Integridade de Chave Primária
 O chave primária tem que ser única

Integridade Referencial
 As chaves estrangeiras tem que ser respeitadas, ou seja, se existe um determinado
valor para o atributo na tabela onde ele é chave estrangeira este valor deve existir na
tabela onde ele é chave primária

Restrições de Integridades Semânticas
 Todas as demais regras que devem ser obedecidas por todos os estados válidos da
base de dados
Principais características de um SGBD
 Restrições de Integridade
“A maioria dos SGBD provem certas restrições de
integridade que devem ser aplicadas aos dados. O SGBD
deve ter mecanismos para possibilitar a definição das
restrições e assegurar o respeito a estas. Um exemplo de
restrição de integridade é a definição de um tipo de dado
(data type) para cada item de dado.

Exemplo:
Ao definir o tipo cores como: azul, vermelho, amarelo e
verde. E em seguida definir um atributo cor_parede como
do tipo cores. O SGBD aceitará apenas os tipos definidos
ou seja azul, vermelho, amarelo e verde como válidos para
este atributo.
Pergunta: o que aconteceria se o usuário informasse a cor
branco para o atributo cor_parede?
PROJETO (DESIGN) DE BANCOS DE DADOS
Foco : dados
Mini-Mundo
Coleta e Análise
de Requisitos
Requisitos de Dados
Projeto Conceitual
Independente
de SGBD
Esquema Conceitual
Projeto Lógico
Específico para
um SGBD
Esquema Lógico
Projeto Físico
Esquema Físico
Arquitetura de três esquemas
• A arquitetura de três esquemas possui três níveis:
– Nível interno : descreve a estrutura de armazenagem
física do banco de dados através da descrição completa
dos dados armazenados e dos caminhos de acesso para
o banco de dados,
– Nível conceitual : descreve a estrutura de um banco de
dados corporativo para uma comunidade de usuários. O
esquema conceitual esconde os detalhes das estruturas
físicas de armazenagem e concentrando-se nas
descrições da entidades, tipos de dados,
relacionamentos, operações do usuário e restrições.
– Nível externo : descreve uma parte do banco de dados
de interesse de um grupo de usuários em particular e
esconde o resto do banco de dados para esse grupo.
Arquitetura de Três Esquemas
Usuários finais
Esquema EXTERNO
Visão
Externa 1
...
mapeamento
externo/conceitual
Esquema CONCEITUAL
Esquema Conceitual
mapeamento
conceitual/interno
Esquema INTERNO
Esquema Interno
Visão
Externa n
Visões
Exemplo: Empresa aérea
–
Aplicações:
1- Funcionários
(Nome, CPF, DataNasc, Telefone, DataAdmissão)
2- Equipamentos
(NumAvião, Marca, Tipo, Capacidade,
NumTripulação, DataRevisão)
3- Funções
(NomeFunção, Salário, Qualificação,
TipoEquipam)
4- Vôo
(NumVôo, Linha, Equipamento, NumHoras,
ServiçoBordo, HorárioSaída)
• Folha pagamento
(1,3)
• Equipe tripulação
(1,2,3)
• Manutenção equip
(1, 2, 3)
• Reserva vôo
(2,4)
• Escala manutenção
(1,2,3)
Independência de Dados ( reformulando......)
 Capacidade de mudar o esquema num nível de um sistema de
banco de dados sem ter que mudar o esquema no nível seguinte mais
alto.

Independência lógica de dados:
Capacidade de mudar o esquema conceitual sem ter que mudar
esquemas externos ou programas de aplicação.

Independência física de dados:
Capacidade de mudar o esquema interno sem ter que mudar o
esquema conceitual
Principais características de um SGBD
 Independência de Dados
“Consiste na capacidade de permitir que haja
evolução na descrição dos dados da empresa, sem
que os sistemas ou aplicações tenhas que ser
alterados”
“Imunidade das aplicações às mudanças na estrutura
de armazenagem e estratégias de acesso”
A independência dos dados em relação a aplicação
representa o um avanço no sentido de tornar qualquer
modificação das estruturas dos arquivos imperceptível
para os programas. Desta forma, as mudanças na
organização dos dados não gera qualquer necessidade
de alteração dos programas que o manipulam.
Exemplo:
Inclusão de um novo campo (atributo) em
um arquivo (tabela) é feita sem que sejam alterados os
programas, pois nos programas não estão definidos as
estruturas dos arquivos.
Convertendo o Diagrama ER para Tabelas
Relacionais

Em cada entidade onde o limite inferior para a cardinalidade é 0 e o limite superior é
1, temporariamente classifique o limite superior como N.
Aplique as regras abaixo, observando apenas os valores máximos para as cardinalidades
Para cardinalidade 1:1
Incluir todos os atributos numa tabela simples. O nome da tabela relacional pode ser
o nome de uma das entidades que participam do relacionamento, um nome
composto formado pela combinação dos nomes das duas entidades ou um novo
nome que represente o significado dos dados na tabela.
Para cardinalidade 1:N
Incluir o “identificador”do lado “um” como um atributo no lado “muitos”. O dentificador
colocado do lado “muitos” é chamado de chave estrangeira.
Para cardinalidade N:M
Criar uma nova tabela e colocar as chaves primárias de cada uma das entidades como
atributos na nova tabela. A nova tabela é chamada de tabela associativa. O
identificador da tabela é uma chave composta formada pelas chaves primárias das
duas tabelas que participam do relacionamento. Cada identificador colocado na nova
tabela é uma chave estrangeira.
Convertendo o Diagrama ER para Tabelas
Relacionais
Faculdade
N
0:1
0:4
ensina
Curso
0:7
Estes são rótulos
temporários para
os limites de
cardinalidade
superior.
matricula
0:N
1:1
Aluno
N
0:1
1:N
Tem
Alu_Esp
1:1
Endereço
Residencial
1:1
Especialização
utiliza
N
0:1
Armario
Convertendo o Diagrama ER para Tabelas
Relacionais
Sobrenome
Nome
NumMatr
Aluno
1:1
Tem
CPF
Street
1:1
Rua
Endereço
residencial
Cidade
Colocando Atributos
Aluno (NumMatr, CPF, Nome, Sobrenome, Rua, Cidade , Estado)
Estado
Convertendo o Diagrama ER para Tabelas
Relacionais
Cidade
Estado
NumMatr
Rua
Sobrenome
Aluno
1:N
1:1
Alu_Esp
Especialização
Descrição
Nome
CPF
Colocando chave
estrangeira
Cd-ident
Especialização (Cd-ident, Descrição)
Aluno (NumMatr,CPF, Cd-ident, Nome, Sobrenome, Rua, Cidade, Estado)
Convertendo o Diagrama ER para Tabelas
Relacionais
Estado
Creditos
Cidade
CPF
Rua
NomeCurso
Curso
1:7
0:N
matricula
Sobrenome
Aluno
Nome
NumMatr
Cd_id
Colocando chaves
estrangeiras
Aluno (NumMatr,CPF, Nome, Sobrenome,
Rua, Cidade, Estado)
Curso (Cd-id, NomeCurso, Creditos)
Matricula (Cd_id, NumMatr)
Nova tabela de associação
ALGEBRA RELACIONAL
( {conjunto de elementos},
{conjunto de operações},
{propriedades das operações} )
EXEMPLO:
a álgebra dos naturais
({conjunto dos naturais},{ +,-,*,/}
,{associativa, distributiva, neutro,...})
Os operadores da álgebra relacional podem ser
divididos em dois grupos:
•Operadores de Conjuntos: são operadores
típicos definidos pela álgebra para conjunto, tais
como união, interseção, diferença e produto
cartesiano.
• Operadores de relações: são operadores
especiais definidos especialmente para a
manipulação de tuplas, tais como, Select, Project
e Join.
SELEÇÃO (): operação aplicada sobre uma relação de
modo a selecionar um sub-conjunto de tuplas (com todos
os seus atributos) que satisfaçam a um determinada
condição (simples ou composta).
O sub-conjunto selecionado forma uma relação
resultante temporária. Esta condição aplica-se apenas em
uma única relação sendo verificada individualmente para
cada tupla da relação. Exemplo: Dado uma relação dos
funcionários da empresa, selecionar aqueles que
recebem salário > 1000,00 reais.
A operação SELECT é denotada por:
 <condição de seleção> ( <nome da relação> )
A letra grega ∏ representa a operação project, <lista de
atributos> representa a lista de atributos que o usuário
deseja selecionar e <nome da relação> representa a relação
sobre a qual a operação project será aplicada.
Sequencialidade de Operações
As operações project e select podem ser utilizadas
de forma combinada, permitindo que apenas
determinadas colunas de determinadas tuplas
possam ser selecionadas.
A forma geral de uma operação sequencializada é:
∏<lista de atributos> (<condição de seleção> (<nome da relação>))
Download

modelo relacional