conceito básicos

Propaganda
BANCO DE DADOS – WILLIAM
ZACARIOTTO
4- ABSTRAÇÃO DE DADOS
MODULO I- CONCEITOS BÁSICOS
VISÃO
1
VISÃO
2
VISÃO
3
1- SISTEMAS DE PROCESSAMENTO DE
ARQUIVOS
-
Redundância e inconsistência
Problema de integração
Associação a aplicações
Dificuldade de acesso ( solicitações não
usuais )
Isolamento dos dados
Múltiplos usuários ( atualização simultâneas )
Segurança de acesso
NÍVEL
CONCEITUAL
NÍVEL
FÍSICO
Quais dados são
armazenados e
quais os
relacionamentos
Como os dados
são armazenados
2- BANCO DE DADOS - CONCEITUAÇÃO
Date : Sistemas de armazenamento de dados
baseado em computador
Korth : Coleção de dados que contém informação
sobre um empreendimento particular
DADO : Valor fisicamente registrado
INFORMAÇÃO : Significado de um valor para
um usuário
5- MODELOS DE DADOS
Coleção de ferramentas conceituais para
descrição, relacionamento, semântica e restrições
dos dados
GRUPOS DE MODELOS DE DADOS:
a)
3- SISTEMA DE GERENCIAMENTO DE
BANCO DE DADOS ( SGBD )
DATA BASE MANAGEMENT SYSTEM
( DBMS )
Coleção de arquivos inter-relacionados e um
conjunto de programas, que permitem a
diversos usuários acessar e modificar esses
arquivos.
b) MODELOS DE DADOS BASEADOS EM
REGISTROS
Modelo Relacional
Modelo de Rede
Modelo Hierárquico
c)
PROGRAMA
usuário
SGBD
PROGRAMA
BANCO
DE
DADOS
MODELOS LÓGICOS BASEADOS EM
OBJETOS:
Modelo Entidade-Relacionamento
Modelo Binário
Modelo Semântico de Dados
Modelo Infológico
E vários outros. . .
MODELOS DE DADOS FÍSICOS
Modelo unificador
Memória em "Frames"
6- INDEPENDÊNCIA DE DADOS
-
INDEPENDÊNCIA FÍSICA:
Capacidade de se modificar o esquema físico
sem alterar os programas de aplicação
-
INDEPENDÊNCIA LÓGICA:
Capacidade de se modificar o esquema
conceitual sem alterar os programas de
aplicação
usuário
7- LINGUAGEM DE DEFINIÇÃO
DADOS ( LDD)
DATA DEFINITION ( DDL )
-
DE
dicionário de Dados ( ou Diretório )
8- LINGUAGEM DE MANIPULAÇÃO DE
DADOS ( LMD )
DATA MANIPULATION LANGUAGE
( DML )
- PROCEDIMENTAL:
Específica quais dados são desejados e como
chegar a eles
-
NÃO PROCEDIMENTAL:
Especifica quais dados são desejados, sem
especificar como chegar a eles
9- USUÁRIOS DO BANCO DE DADOS
-
Programadores de aplicação
Usuários simples
Usuários ocasionais
Usuários especializados
Data Base Administrador ( DBA )
USUÁRIOS
Programas
de
Aplicação
Banco de Dados
PROGRAMADORES
DE APLICAÇÃO
Chamadas de
Rotina
10- FUNÇÕES DO DBA
-
Definição do esquema
Definição da estrutura de armazenamento e
do método de acesso
Modificação da organização física e do
esquema
Concessão de autorização para acesso
Especificação de restrições de integridade
11- SISTEMA GERENCIADOR DE BANCO
DE DADOS
OBJETIVO:
Proporcionar um ambiente que seja conveniente e
eficiente na inserção e na recuparação de
informações do banco de dados.
TAREFAS EXECUTADAS:
- Integração com o gerenciados de arquivos.
- Garantia de integridade.
- Garantia de segurança de acesso.
- Garantia de recuperação.
- Controle de concorrência.
MODULO
II
METOLOGIAS
DESENVOLVIMENTO DE SISTEMAS
DE
1- ENFOQUES PARA DESENVOLVIMENTO
DE UM SISTEMA
2- A NECESSIDADE DE METODOLOGIAS
DE DESENVOLVIMENTO DE SISTEMAS
O "PROBLEMA" DO SISTEMA:
- Tecnicamente ruim
- De difícil manutenção
- Tecnicamente bom, mas. . .
"Não era bem isso eu eu queria. . ."
- Custos crescentes
- Obsolecência
AS CAUSAS:
- Pouca interação usuário-analista
- Usuário não sabe P.D
- Analista não conhece a área da aplicação
- Documento que especifica o sistemas não é
facíl de ser entendido
- Grande ênfase no "como fazer", pouca no
"que fazer"
- Não existe uma maneira sistemática de se
registrar as necessidades e preferências do
usuário.
3- ANÁLISE DE DADOS
UTILIDADE:
- Para prover um melhor conhecimento do
problema.
- Para evitar os problemas causados pela
redundância
- Para permitir a administração dos dados
como recurso da empresa
- Para permitir o compartilhamento dos dados
por vários sistemas
ABRANGÊNCIA:
Pode ser usada para obter um modelo de dados de:
- Toda a empresa
- Da parte da empresa
- De um grupo de sistemas
- De um sistemas
QUEM FAZ A ANÁLISE DE DADOS:
- O analista, durante o projeto lógico ( proposta
de Gane )
-
Os usuários, orientados por
( proposta de Marlin e Finkelstein )
O administrador de dados
TÉCNICAS DE ANÁLISE DE DADOS:
- Modelo Entidade-Relacionamento
- Normalização de relações
analista
COMPLEMENTO DA DEFINIÇÃO:
. . . e, para o qual, há necessidade de serem
armazenados dados
MODULO III - MODELO ENTIDADE
RELACIONAMENTO
1-
MOTIVOS DA ESCOLHA DO MODELO
Modelo simples
Abrangente
Amplamente utulizado
Introduzido por:
Chen, Peter - The Entity-Relationship
Model
1976
Extensão do Diagrama de Estrutura de Dados de:
Bachman, C. W. - Data Structure, Diagrams
1969
2- SERVENTIA DO MODELO
Serve para a representação das estruturas de
informações, não contendo uma linguagem para
representação das manipulações.
-
4- CONJUNTO DE ENTIDADES
Kort:
É um grupo de entidades do mesmo tipo.
Setzer:
É um grupo de entidades que têm características
semelhantes.
EXEMPLOS:
Conjunto de funcionários
Conjunto de clientes
Conjunto de contas
SIMBOLOGIA NO M.E.R.:
DENOMINAÇÃO:
Normalmente um substantivo no plural,às vezes
acompanhado de uma palavra modificadora. Por
costume, a inicial é maiúscula.
Representação gráfica:
3- ENTIDADE
Setzer:
"Uma entidade é uma representação abstrata de
um objeto do mundo real um ser, um fato, uma
coisa, um organismo social, etc)."
Korth:
Uma entidade é um objeto que existe e é
distinguível de outros objetos.
Furtado:
Uma entidade é um objeto que tem existência
própria, quando-considerado no ontexto das
atividades de uma empresa.
EXEMPLOS:
Funcionário
Cliente
Peça
Produto
Aluno
Professor
Pedido
Recibo de caixa
Conjunto de pontos, um ponto para cada
funcionário.
PARA EVITAR REDUNCANCIA;
Cada "objeto" do mundo real deve ser
representado por uma única entidade de um único
conjunto de entidades.
5- ATRIBUTOS
Chen:
"Funções que levam um ponto de um conjunto de
entidades a um ponto de um conjunto - de valores
( ou seja, registram o que se deseja descrever
sobre uma entidade".
Korth:
"Atributo é uma funçào que mapeia um conjunto
de entidades em um domínio".
DOMÍNIO:
Conjunto de valores permissíveis de um
determinado atributo.
entidades e elementos de outro conjunto de
entidades".
EXEMPLO:
6- DESCRIÇÃO DE ENTIDADES
11- CONJUNTO DE RELACIONAMENTOS
Cada entidade é descrita por um conjunto de pares
( atributo, valor ), um par para cada atributo do
conjunto de entidades.
EXEMPLO:
Cliente = { ( nome, JOSÉ ),
( número - RG, 10128243 ),
( rua, FLORES ),
( cidade, SÃO PAULO ) }
7- COMPOSIÇÃO DE ATRIBUTOS
Korth:
"É um grupo de relacionamentos do mesmo tipo ".
Tendo E1, E2, . . . , En conjuntos de entidades,
então, um conjunto de relacionamentos R é um
subconjunto de ( e1, e2, . . . , en ) E1 e E2 e E2, . .
, en e En
Nde e1, e2, . . . en é um relacionamento
Betzer:
Conjunto de pares ordenados que indicam que um
elemento de um conjunto de entidades está
relacionado com um elemento de outro conjunto
de entidades.
Um atributo pode ser composto de um ou mais
sub-atributos.
EXEMPLO:
Endereço - concatenação dos valores dos atributos
- folha.
8- ATRIBUTO MULTIVALORADO:
É um atributo que é representado poruma função
multivalente.
Conjunto de relacionamentos LOTAÇÕES:
É o conjunto de pares ( f,d ) onde f Funcionários e
d E Departamentos e tal que o par represente o
fato de f estar lotado em d
12- RESTRIÇÕES DE MAPEAMENTO
FUNÇÕES MULTIVALENTES:
Funções que levam um ponto de um conjunto de
entidades a um subconjunto qualquer do conjunto
de valores.
CARDINALIDADE DE MAPEAMENTO, ou
CLASSE DO RELACIONAMENTO, ou GRAU
DO RELACIONAMENTO
É o número de entidades ao qual outra entidade
pode estar associada via um relacionamento.
9- ATRÍBUTO DETERMINANTE
Um atributo que é uma função biunívoca.
Seja um atributo determinante.
Então, para um elemento de um conjunto de
entidades E, t ( d ) assume um só valor v do
conjunto de valores e, dado v há um só d de E tal
que t ( d ) = v
UM PARA UM ( 1: 1 )
UM PARA MUITOS ( 1: N )
MUITOS PARA MUITOS ( M : N )
MUITOS PARA UM ( M : 1 )
13-DEPENDÊNCIA EXISTENCIAL
10- RELACIONAMENTO
Korth:
"É uma associação entre entidades ".
Betzer:
"É uma estrutura abstrata que indica as
associações entre elementos de um conjunto de
Se X depende de Y, então X é existencialmente
dependente de Y.
Y- entidade dominante
X - entidade subordinada
14- CONCEITO DE CHAVES
SUPERCHAVES:
Conjunto de um ou mais atributos que, tomados
em conjunto, permite identificar unicamente uma
entidade no conjunto de entidades.
CHAVES CANDIDATAS:
Superchaves menores possíveis, em que nenhum
subconjunto próprio é superchave.
CHAVE PRIMÁRIA:
Chave candidata escolhida pelo projetista do
banco de dados como mecanismoprincipal para a
identificação de entidades no conjunto de
entidades.
ENTIDADE FORTE ( DOMINANTE ):
Aquela que possui chave primária.
ENTIDADE FRACA ( SUBORDINADA ):
Aquela que não possui chave primária.
DISCRIMINADOR:
Conjunto de atributos que permite a distinção
entre entidades fracas.
19- GENERALIZAÇÃO E ESPECIALIZAÇÃO
GENERALIZAÇÃO:
Resultado da união de dois ou mais conjuntos de
entidades de nível mais baixo, produzindo um
conjunto de entidades de nível mais alto.
ESPECIALIZAÇÃO:
Resultado da separação de um sub-conjunto de
entidades de nível mais alto, formando um
conjunto de entidades de nível mais baixo.
15- RELACIONAMENTOS PARCIAIS E
TOTAIS
Se um elemento E deve estar obrigatoriamente em
uma relação R, diz-se que R é total em E. Caso
contrário, diz - se que R é parcial em E.
Relacionamento
Lotações
Lotações
Gerenciamentos
Gerenciamentos
Participações
Participações
Restrições
Total
Parcial
Total
Parcial
Total
Parcial
Em relação a
Funcionários
Deptos.
Deptos.
Funcionários
Projetos
Funcionários
Os atributos da entidade de nível mais altos são
herdados pelas entidades de nível mais baixos, às
quais podem ser gregados outros atributos.
16- ATRIBUTOS DE RELACIONAMENTOS
20- AGREGAÇÕES
17- AUTO-RELACIONAMENTO ( PAPEL )
18- RELACIONAMENTOS MULTIPLOS
Agregação é uma abstração através da qual
relacionamentos são tratados como entidades de
nível mais alto.
21- REDUÇÃO DE DIAGRAMAS E-R A
TABELAS
22- SEQUÊNCIA DE PASSOS DA ANÁLISE
DE DADOS
-
Identificar as entidades
Identificar os relacionamentos
Construir o gráfico E-R
Identificar e representar as cardinalidades
Identificar os atributos das entidades e dos
relacionamentos
Determinar os atributos identificadores
Descrever os elementos identificados no
Dicionário de Dados
23- ABRANGÊNCIA DA ANÁLISE DE
DADOS ( AD )
-
QUANDO O SISTEMA NÃO
COMPARTILHA DADOS:
Pode ser aplicada nos limites definidos na
"Análise de Contexto"
-
QUANDO O SISTEMA COMPARTILHAR
DADOS:
A AD deve ser adotada num nível mais
abrangente, envolvendo todos sistemas que
atuam no ambiente de dados compartilhados.
A AD pode se restringir aos limites do
sistemas e seu modelo deve ser incorporado
ao modelo global.
24- INTERAÇÃO COM O DICIONÁRIO DE
DADOS
DOCUMENTAÇÃO DE ENTIDADES:
- Descrição
- Restrições de integridade
- Volume
- Evento de inclusão
- Evento de exclusão
- Responsável
- Atributos
- Atributos identificadores
DOCUMENTAÇÃO DE RELACIONAMENTO:
- Descrição
- Responsável
- Entidade e cardinalidade
- Atributos
- Atributos identificadores
-
Permitem elos implícitos ou explícitos
Permitem elos 1:N ( maioria )
Permitem elos M:N ( alguns )
Não só diretamente implementáveis:
- Relacionamentos de grau variável
- Auto - relacionamentos
- Tipos diferentes de entidades exercendo o
mesmo papel
MODULO IV- INTRODUÇÃO AOS SGBDs
CONCEITOS DE COMPUTAÇÃO vs. MER
-
Arquivo ( - ) Conjunto de Entidades
Registro ( - ) Entidade
Tipo ( - ) Atributo
ORGANIZAÇÃO DE ITENS ( CAMPOS )
Alguns SGBDs admitem:
Itens estruturados ( atributos compostos )
Itens repetitivs ( atributos multivalorados )
7- SUPORTE BÁSICO PARA MANIPULAÇÃO
DE BDs
- Estruturas
- Operações primitivas
ESTRUTURAS:
- Arquivos de dados
- Arquivos de elos
- Arquivos de inversões
OPÇÕES COMPLEXAS NÃO ADMITIDAS
Registros heterogêneos ( atributos específicos de
generalização / especialização )
Itens heterogêneos ( natureza dos atributos )
RELACIONAMENTO
Encontram soluções diferentes nos BDs
Realizam - se as soluções com o contato de:
-
Ligação entre dois registros de um mesmo
arquivo ou de arquivos diferentes.
MODALIDADES DE ELOS
LÍCITOS:
Ndo há um item ou grupo de itens os valores são
comparavéis ao item grupo de itens do outro
registro.
EXPLÍCITOS:
Ligações efetivas entre registros ( o elo explícito é
dito "elo essencial"
- é o único portador da informação de
relacionamento )
Quais empregados estão lotados em "Vendas"
Acessar "Vendas" em Departamentos Operação
primitiva de seleção
Acesso por valor ( "nome" é chave )
Localizar a classe de registros r
Acessar todos registros de empregados
referenciados na classe obtida
Foi usado acesso por relacionamento
Quais empregados são engenheiros?
Utilizar arquivos de inversões
Tipos de acesso: por valor
Por relacionamento
Serial
OPERAÇÕES PRIMITIVAS:
6- DIFERENÇAS ENTRE SGBDs
Manuseio de arquivos / elos / inversões:
- criação
-
cancelamento
duplicação
classificação
-
Manuseio de registros:
-
Inserção
Seleção
Remoção
Alteração
-
Apoio
-
Ativar BD
Desativar BD
Copiar BD
Restaurar BD
8- PARA UTILIZAR O BD
-
Linguagem de Manipulação de Dados
(LMD), ou
Linguagem, hospedeira, com operações
primitivas
MODULO V- MODELO HIERÁRQUICO
Ordem de acesso: A, B, F, G, H, C, I, D, E, J, K
1- INTRODUÇÃO
Um usuário vê um banco de dados hierárquico
como um conjunto de árvores.
6- RELACIONAMENTOS INDIVIDUAIS
DIAGRAMA E-R
Quando dois registros são unidos por um elo, um
dos registros é coinsiderado descendente ( pai ) e
o outro descendente ( filho )
2- TERMINOLOGIA NÃO PADRONIZADA
Arquivo / registro / item
Conjunto de dados / segmento / campo
DIAGRAMA DE ESTRUTURA DE ARVORE
3- CARACTERÍSTICAS DO MODELO
-
Os pelos são, obrigatoriamente, 1:N
As ligações não tem nome
As raízes são os únicos registros que não tem
pai
Nenhum nível de ascendentes pode faltar
A rede não pode Ter ciclos
Um registros só pode ser do tipo detalhe em
uma única ligação
Dependendo dos tipos de consultas possíveis, é
necessário criar-se outra estrutura:
4- SITUAÇÕES NÃO PERMITIDAS
7- REPRESENTAÇÃO DE ESTRUTURAS
NÃO HIERÁRQUICAS
5- ESTRUTURAS HIERÁRQUICA
Observações:
a) Fornecedores é "pai físico" de fornecimentos.
Materiais é "pai lógico "de Fornecimentos
( cada ri liga-se apenas com um mj, Ao passo
que cada mj temos vários ri ligação 1:N de
Materiais para Fornecimentos )
b) Como as cadeias não se fecham, há a
necessidade de se Ter um apontador de cada
ri para seu pai.
RESOLUÇÃO DO PROBLEMA DO IMS:
Através da colocação de características de rede no
modelo hierárquico, como uma estrutura
denominada "pairing" ( emparelhamento )
EMPARELHAMENTO FÍSICO:
- São introduzidos apontadores de Rb para A
de Ra para B
- As chaves podem permanecer nos B ( chaves
físicas ) ou não ( chaves virtuais )
EXEMPLO: Fornecedores e Materiais
Pares a ser representados:
( f1.m1 ) ( f1.m2 ) ( f2.m1 ) ( f2.m3 )
( f2.m4 ) ( f3.m2 ) ( f3.m3 )
Duplicação de representação de pares:
M1=rf1, rm2=rf3, etc
EMPARELHAMENTO VIRTUAL:
Evita a redundância da representação dos atributos
do relacionamento
Combinam - se ligações hierárquicas com ligações
feitas com cadeias de apontadores
c)
Nos elementos ri há espaço para os atributos
de relacionamento (não há mais redundância)
d) Como navegações hierárquicas são mais
eficientes que navegações em rede, pode ser
mais interessante fixar Materiais como "pai
físico"se as consultas partirem mais de
Materiais que de Fornecedores.
e) O usuário tem, sempre, uma visão hierárquica
dos dados
8- MEIOS PARA RECUPERAÇÃO DE
DADOS
ÁREAS DE PROGRAMA
- Gabaritos de registros
Um para cada tipo de registro acessado
- Ponteiros correntes
Um para cada árvores, contendo o endereço
do registro mais recentemente acessado, não
importando o tipo
- Status Flag
Indica o resultado da última operação. Se = 0,
a operação foi bem realizada.
COMANDOS DE LEITURA
- Get First
- Get Unique
- Get Next
- Get next within parent
SINTAXE ( APROXIMADA )
GET UNIQUE ( árvore )
WHERE ( condição )
GET UNIQUE FORNECEDORES
WHERE CIDADE= "BRASILIA"
Pesquisa em sub-árvore
A raiz da sub-árvore á ultimo registro que foi
localizado com o comando GET FIRST ou com o
comando GET NEXT
GET NEXT WITHIN PARENT < tipo registro >
[ WHERE <condição> ]
d) Imprimir o saldo total de todas contas
pertencentes a " GOUVEIA":
e) COMA = 0;
Dada a hierarquia:
GET FIRST CLIENTE
WHERE CLIENTE.NOME = "GOUVEIA";
GET NEXT WITHIN PARENT CONTA;
WHILE DB - STATUS = O DO
BEGIN
SOMA = SOMA + CONTA.SALDO;
GET NEXT WITHIN PARENT CONTA;
END;
PRINT SOMA;
a)
CRIAÇÃO DE NOVOS REGISTROS
Imprimir o endereço do cliente "OLIVEIRA"
GET FIRST CLIENTE
WHERE CLIENTE.NOME = "OLIVEIRA"
PRINT CLIENTE. ENDEREÇO
b) Imprimir o número da conta de
"FERREIRA", cujo saldo seja maior que
$10.000 ( se existir ):
GET FIRST CONTA
WHERE CLIENTE. NOME = "FERREIRA"
AND CONTA.SALDO> - 10000;
IF DB-STATUS = 0
THEN PRINT CONTA.NUMERO;
1- Montar os valores apropriados no gabarito
correspondente
2- Adicionar o registro à árvore do banco:
INSERT < tipo registro >
[ WHERE < condição > ]
a ) Incluir ao cliente "JOAQUIM" na agência
"IMIRIM"
CLIENTE.NOME = "JOAQUIM"
CLIENTE.RUA = "AVANHANDAVA"
CLIENTE.CIDADE = "SÃO PAULO";
INSERT CLIENTE
WHERE NOME.AGÊNCIA= "IMIRIM"
Para localizar outros registros:
GET NEXT ( tipo registro )
[ WHERE ( condição ) ]
c)
Imprimir o número de todas as contas com
saldo > = 50000
GET FIRST CONTA
WHERE CONTA.SALDO > = 50000;
WHILE DB-STATUS = O DO
BEGIN
PRINT CONTA.NUMERO;
GET NEXT CONTA
WHERE CONTA.SALDO > =50000;
END;
b) Incluir a conta número "655"para o cliente
"JOAQUIM"
CONTA.NUMERO = 655;
CONTA.SALDO = 100;
INSERT CONTA
WHERE CLIENTE.NOME = "JOAQUIM"
MODIFICAÇÃO DE REGISTRO EXISTENTE
REPLACE ( GET HOLD )
a)
Trocar o endereço do cliente "BORGES" para
"R ANTILHAS":
GET HOLD FIRST CLIENTE
WHERE CLIENTE.NOME = "BORGES";
CLIENTE.RUA = "R ANTILHAS";
REPLACE;
REMOÇÃO DE UM REGISTRO
DELETE
a)
-
DIAGRAMA DE OCORRÊNCIAS
Ou Instância do Banco de Dados
Remover a conta 561:
GET HOLD FIRST CONTA
WHERE CONTA.NUMERO = 561;
DELETE;
MODULO VII
1- INTRODUÇÃO
Referência a um determinado modelo.
Proposto por um gurpo de estudos formados para
estabelecer um padrão de estruturas e linguagem
para GBDs.
Grupo formado pela comissão COBOL da
CODASYL ( "Conferente on Data Systems
Language" ), conhecido por DBTG ( "Data Base
Task Group").
Assim, o modelo de redes é conhecido como:
MODELO CODASYL, ou
MODELO DBTG.
No modelo de rede os elos podem ser M:N.
2- CARACTERÍSTICAS DO MODELO
-
-
As ligações entre conjuntos de dados são
físicas ( implementadas através de cadeias de
apontadores )
As ligações são binárias
As ligações são de classes 1:N ( Donos e
Membros )
As ligações não tem atributos
As ligações não tem nome
Donos e membros devem ser registros de
tipos diferentes
Um mesmo registro pode aparecer em mais
de um conjunto ( como dono ou mambro )
Os SGBDs CODASYL permitem mais
apontadores
Apontadores mínimos do DBTG
Permitem percursos e inserções eficientes
Apontadores dos detalhes para seus mestres
4- ATRIBUTOS MULTIVALORADOS
Em diagrama de esquema:
3- DIAGRAMA PARA REPRESENTAÇÃO
DAS LIGAÇÕES
-
DIAGRAMA DO ESQUEMA
Ou Diagrama de Estruturas de Dados
Especifica a tonalidade da estrutura lógica do
Banco de Dados
5- AUTO RELACIONAMENTOS
8- GENERALIZAÇÃO E ESPECIALIZAÇÃO
6- RELACIONAMENTOS MÚLTIPLOS
7- AGREGAÇÕES
9- MODELOS DE REDES RESTRITAS
( TOTAL )
Além das características do modelo de Rede, este
modelo possui mais uma restrição fundamental:
Se um conjunto de dados é mestre em uma ligação
qualquer, ele deve ser mestre em todas outras
ligações em que ocorre, e, similarmente, se for
detalhe.
A rede, então, passa a Ter somente dois níveis
Usando-se os nomes para referência às colunas, a
ordem destas é é irrevelante;
Cada relação recebe um nome, distinto do nome
de qualquer outra relação;
Os valores de uma coluna são retirados todos um
mesmo conjunto, denominado domínio;
Duas ou mais colunas distintas podem ser
definidas sobre o mesmo domínio.
3- ESQUEMA DE UMA RELAÇÃO
É descrito pelo identificador da relação e pelo
conjunto de nomes de suas colunas, conforme:
R ( C1, C2, . . . , Cn )
MODULO VII - MODELO RELACIONAL
1- O MODELO RELACIONAL
Proposto por E.F.Codd. em 1970.
Divisão do Modelo Relacional:
O Modelo Relacional Normalizado ( MRN )
O Modelo Relacional Não Normalizado (MRNN)
4- CARACTERÍSTICAS ESSENCIAL DO
MODELO RELACIONAL
ITENS DE BUSCA:
- Uma relação pode Ter vários itens de busca;
- Um item de busca pode ser composto
( englobar várias colunas concatenadas numa
ordem especificada pelo projetista ).
. MODELO RELACIONAL NORMALIZADO
DEFINIÇÕES BÁSICAS:
MRN pode ser definido como um modelo de
dados no qual:
Os conjuntos de dados são representados por
TABELAS DE VALORES;
Cada tabela é denominada RELAÇÃO;
Cada tabela é organizada em linhas e colunas;
O número de colunas é denominado GRAU DA
RELAÇÃO;
Cada linha ( registro ) é denominada TUPLA;
O conjunto de valores do qual são retirados os
elementos das células de uma coluna é
denominada DOMÍNIO.
2- PROPRIEDADES DO MRN
Cada célula só pode conter, no máximo, um único
valor ( podendo ser vazia );
do ponto de vista do usuário, a ordem das linhas é
irrevelante;
Não há duas linhas iguais;
Cada coluna tem um nome;
Duas colunas distintas devem Ter nomes
diferentes;
5- CHAVES
Dada uma relação R, dizemos que uma coluna D,
ou uma concatenação D de colunas de R é uma
chave R se D satisfazer as seguintes restrições:
a- D é um item de busca;
b- D não é vazio para nenhuma linha de R;
c- Dado um valor de D, existe apenas uma linha
de R com esse valor em D.
( restrições 2 e 3: restrição de integridade de
identidade )
6- INDICAÇÃO DE CHAVES NOS
ESQUEMAS
Sublinham -se colunas que as compõe. Se a chave
é composta de mais de uma coluna, indica - se a
ordem de concatenação ( se não for da esquerda
para a direita ), e unem - se os grifos.
CHAVE:
Item de busca, acrescido da estrição de
integridade de identidade.
ITEM DE BUSCA:
Produz uma organização interna especial dos
arquivos, de forma a se obter maior eficiência na
busca segundo valores ou condições sobre valores
dessas colunas.
Seleção
Projeção
Produtos cartesiano
União
Diferença
Seleção e projeção são chamadas operações
UNÁRIAS, uma vez que operam em uma relação.
Produto cartesiano, união e diferença são
chamadas operações BINÁRIAS, uma vez que
operam em pares de relações.
-
7- LIGAÇÕES
Sejam duas relações R1 e R2 do MRN.
Diz - se que existe uma ligação entre R1 e R2
através das colunas ( ou sequência de colunas ) C1
de R1 e C2 de R2 se:
a- C1 e C2 têm os mesmos domínios;
b- Existem, em alguns instantes, valores comuns
em C1 e C2.
Operações adicionais ( não acrescentam
qualquer poder à álgebra relacional, porém
simplificam consultas comuns ):
Intersecção
Junção theta
Junção natural
Divisão
10- SELEÇÃO
11- Seleciona tuplas que satisfazem um dado
predicado.
Se uma linha L1 de R1 tem em C1 o mesmo valor
que uma linha L2 de R2 em C2, diz - se que L1 e
L2 são LINHAS LIGADAS.
Korth: Predicado ( Relação Argumento )
8- LINGUAGENS DE MANIPULAÇÃO
12- PROJEÇÃO
ALGEBRA RELACIONAL
As operações com os dados são expressas por
meio de expressões algébricas cujos operandos
são relações.
O resultado T é uma relação que contém apenas as
colunas indicadas.
CÁLCULO RELACIONAL
Definem - se às relações usando - se predicados
da lógica, na mesma linha das definições usuais
de conjuntos.
Furtado: Relação Argumento [ atributos ]
9- ÁLGEBRA RELACIONAL
Furtado: Relação Argumento ( predicado )
Korth: atributos ( Relação Argumento )
As tuplas em duplicata que seriam criadas, por
não serem considerados os outros domínios, são
eliminadas.
Resultado de uma operação de álgebra relacional
é sempre uma nova relação.
13- PRODUTO CARTESIANO
OPERAÇÕES DE ALGEBRA RELACIONAL
A relação T conterá todas as tuplas de R1
concatenadas com todas as tuplas de R2.
Operações fundamentais (suficientes para
expressar qualquer consulta em álgebra
relacional):
A resultante nem sempre apresenta combinações
reais.
Na expressão de álgebra relacional de use a
operação intersecção pode ser substituída por um
par de operações de diferença, como segue:
17- JUNÇÃO
14- UNIÃO
O resultado T é uma relação que contém todas as
tuplas de R1 e R2, sem repetição (isto é, todas as
tuplas que aparecem em uma ou nas duas
relações)
O resultado T é uma relação que contém,
concatenadas, as tuplas de R1 e R2 que satisfazem
uma comparação sobre os domínios indicados.
As repetições ou duplicatas ( na mesma relação )
são proibidas no modelo relacional porque uma
relação ) é definida como conjunto de tuplas e, em
conjuntos, cada elemento só pode aparecer uma
vez.
18- DIVISÃO
Para uma operação R U S ser legal, é necessário
que duas condições sejam asseguradas:
- As relações R e S devem ser do mesmo grau,
isto é, devem possuir o mesmo número de
atributos.
- Os domínios de cada atributo devem ser os
mesmos.
O resultado T é uma relação que contém apenas as
tuplas da relação dividendo que contenham todo o
domínio da coluna indicada da relação divisor. A
relação resultante conterá apenas as colunas
complementares à coluna dividendo.
ESQUEMA DA OPERAÇÃO:
-
15- DIFERENÇA
O resultado T é uma relação que contém as tuplas
que aparecem em R1 mas em R2 ( as relações
devem ser união - compatíveis )
-
-
16- INTERSECÇÃO
O resultado T é uma relação que contém apenas as
tuplas que aparecem em R1 e R2. As relações
devem ser união - compatíveis.
Agrupam -se as tuplas de N que têm o mesmo
valor para as colunas complementares à
coluna dividendo ( cn ).
Cria-se a projeção DCcd].
Verificam - se quais os grupos de tuplas de N
que que contenham todos os valores de cd na
coluna cn.
Copia -se na resultante T as colunas
complementares da tupla que satisfaz a
condição anterior.
UNITÁRIO, PREÇO TOTAL ), TOTAL DO
PEDIDO )
Para que a relação "PEDIDO" esteja na 1FN é
necessário desmembra-la em duas relações.
PEDIDO ( NÚMERO DO PEDIDO, DATA DO
PEDIDO, DATA DA ENTREGA, CGC DO
CLIENTE, NOME DO CLIENTE, ENDEREÇO
DO CLIENTE, TOTAL DO PEDIDO )
LINHA DO PEDIDO ( NÚMERO DO PEDIDO,
CÓDIGO DO ITEM, QUANTIDADE, PREÇO
UNITÁRIO, PREÇO TOTAL )
MODULO VIII - NORMALIZAÇÃO DE
RELAÇÕES
1- NORMALIZAÇÃO DE RELAÇÕES
Técnica para simplificação de relações com o fito
de evitar as anomalias de atualização.
4- DEPENDÊNCIA FUNCIONAL
Um domínio ( ou sequência de domínios B
depende funcionalmente de um domínio ( ou
sequência de domínios ) A se para cada valor a de
A só existe um valor que possa aparecer junto
com a nas tuplas da relação sendo considerada.
2- ANOMALIAS DE ATUALIZAÇÃO
NOTAÇÃO:
NA INCLUSÃO:
Repetição da informação.
F:A-B
B é funcionalmente dependente de A, ou
A determina funcionalmente B
NA ALTERAÇÃO:
Alteração de várias tuplas.
GENERALIZAÇÃO:
NA EXCLUSÃO:
Perda de informações.
F : A1, . . . , Na - B
Um conjunto de domínios A1, . . . , Na determina
funcionalmente B
3- PRIMEIRA FORMA NORMAL
Diz-se que B é parcialmente dependente de A1, . .
. , An se nem todos os domínios A1, . . . , Na são
necessários para determinar B
Uma relação está na primeira forma normal (1FN)
se não possuir grupos de repetição ( ou seja, se
todos atributos na relação estiveram baseados em
domínios simples ).
SOLUÇÃO: Desmembrar a relação em uma ou
mais relações sem grupos de repetição.
Exemplo:
PEDIDO ( NÚMERO DO PEIDO, DATA DO
PEDIDO, DATA DA ENTREGA, CGC DO
CLIENTE, NOME DO CLIENTE, ENDEREÇO
DO CLIENTE, ( CÓDIGO DO ITEM, NOME
DO ITEM, QUANTIDADE, PREÇO
5- SEGUNDA FORMA NORMAL
Uma relação está na Segunda forma normal (2FN)
se:
a) Estiver na 1FN, e,
b) Se todos atributos que não existe são chaves
são dependentes de toda a chave e não apenas
de parte dela.
SOLUÇÃO: Desmembrar a relação de modo que
não haja atributo não chave dependente de apenas
parte da chave.
LINHA DO PEDIDO ( NÚMERO DO PEDIDO,
CÓDIGO DO ITEM, QUANTIDADE, PREÇO
TOTAL )
ITEM ( CÓDIGO DO ITEM, NOME DO ITEM,
PREÇO UNITÁRIO )
6- DEPENDÊNCIA TRANSITIVA
Se A, B e C são domínios, diz - se que C é
transitivamente dependente de A se:
A - B, B - C e B- A
7- TERCEIRA FORMA NORMAL
Uma relação está na terceira forma normal ( 3FN )
se:
a) Estiver na 2FN, e,
b) Nenhum atributo não - principal está com
dependência transitiva em relação a alguma
chave ( ou seja , se todos atributos não-chaves
são independentes entre si )
SOLUÇÃO:
PEDIDO ( NÚMERO DO PEDIDO, DATA DO
PEDIDO, DATA DA ENTREGA, CGC DO
CLIENTE, TOTAL DO PEDIDO )
CLIENTE ( CGC DO CLIENTE, NOME DO
CLIENTE, ENDEREÇO DO CLIENTE )
LINHA DO PEDIDO ( NÚMERO DO PEDIDO,
CÓDIGO DO ITEM, QUANTIDADE, PREÇO
TOTAL )
Download