Skip navigation

Monthly Archives: setembro 2014

  • deduzir dependências funcionais a partir de um conjunto dado;
  • junção sem perda e preservação de dependências funcionais;
  • projeto relacional por síntese;

 

Fecho de DF – F+
Seja F o conjunto de dependências funcionais que são especificadas no esquema de relação R, o conjunto de todas as dependências que incluem F e todas as dependências que podem ser deduzidas de F, é chamado de fechamento de F, ou fecho de F, sendo denotado por F+.
Obs.: uma DF X → Y é deduzida de um conjunto de dependências F especificado em R, SE:
Sempre que r satisfizer todas as dependências em F,  ENTÃO X → Y também se mantém em r.

 

Fecho de DF – F+ – Exemplo
F = {(Dep_nr → Cpf_gerente), (Cpf_gerente → Telefone_ger)}
F |= (Dep_ nr → Telefone_ger); % Lê-se: de F deduzimos…
Como não há mais DF a deduzir de F, temos que:
F+ = F ∪ {(Dep_ nr → Telefone_ger)}

 

Regras de inferência em DF

Captura de Tela 2014-09-24 às 20.50.22

 

Fecho de X sob F – X+

Captura de Tela 2014-09-24 às 20.52.40

 

X+ sob F – Exemplo

 

Captura de Tela 2014-09-24 às 20.53.40

Equivalência de conjuntos de DF

 

Captura de Tela 2014-09-24 às 20.54.28

 

Equivalência de conjuntos de DF –
Exemplo/Exercício calcule F+ e G+

 

 

Captura de Tela 2014-09-24 às 20.55.38

 

Conjunto mínimo de DF

 

Captura de Tela 2014-09-24 às 20.56.02

 

Cobertura mínima de F

 

Captura de Tela 2014-09-24 às 20.57.11

 

Alg. 16.2 – Cobertura mínima de F
Alg. 16.2a – Chave

Captura de Tela 2014-09-24 às 21.05.08

 

Decomposição de R

O conjunto F de dependências funcionais que devem ser mantidas nos atributos de R é especificado pelos projetistas de banco de dados e se torna disponível aos algoritmos de projeto.
Ao utilizar as dependências funcionais, os algoritmos decompõem o esquema de relação universal R em um conjunto de esquemas de relação D = {R1, R2, …, Rm}, que se tornará o esquema do banco de dados relacional; D é chamado de decomposição de R.

 

Preservação de atributo

D = {R1, R2, …, Rm}, temos de garantir que cada atributo em R aparecerá em pelo menos um esquema de relação Ri na decomposição, de modo que nenhum atributo seja perdido. Formalmente, temos

Captura de Tela 2014-09-24 às 21.09.52

Esta é chamada de condição de preservação de atributo de uma decomposição.

 

Preservação de dependência – Intuição

Seria útil se cada dependência funcional X→Y especificada em F aparecesse diretamente em um dos esquemas de relação Ri na decomposição D ou pudesse ser deduzida das dependências que aparecem em alguma Ri.
Informalmente, essa é a condição de preservação de dependência

 

Preservação de dependência – Definição

Captura de Tela 2014-09-24 às 21.11.17

 

Preservação de dependência e 3FN

 

Captura de Tela 2014-09-24 às 21.13.09

 

Junção sem perda (não aditiva)

Captura de Tela 2014-09-24 às 21.14.23

Alg. 16.3 – Testa junção não aditiva 

 

Captura de Tela 2014-09-24 às 21.16.31

 

Captura de Tela 2014-09-24 às 21.17.17

 

Teste de junção não aditiva para
decomposições binárias

 

Captura de Tela 2014-09-24 às 21.18.12

 

 

Decomposições sucessivas

Captura de Tela 2014-09-24 às 21.18.51

 

Preservação de dependência e 3FN

O Algoritmo 16.4, a seguir, cria uma decomposição de preservação de dependência D = {R1, R2, …, Rm} de uma relação universal R com base em um conjunto de dependências funcionais F, tal que cada Ri em D está na 3FN.
Isso garante apenas a propriedade de preservação de dependência; mas não garante a propriedade de junção não aditiva.

 

Alg. 16.4 – Síntese para 3FN com preservação de dependência

Captura de Tela 2014-09-24 às 21.20.32

 

 

 

Motivação: alguns problemas de redundância não
são detectados pelas DF
Então, outras dependências são definidas, por
exemplo:
 Dependências Multivaloradas
 Dependências de Junção
 Dependências de Inclusão

 

Dependência Multivalorada –  O Problema

Seja a relação CPL(curso, professor, livro), onde:
– O professor P pode lecionar o curso C
– O livro L é recomendado para o curso C

Captura de Tela 2014-09-24 às 19.15.07

Chave é CPL

Livros e professores são independentes

Está na FNBC, mas há redundância

Sugere outra FN que nos leve a normalização de CPL para CP e CL

 

Dependência Multivalorada – Intuição

Sejam r, R, X e Y conforme definido, a dependência multivalorada X → → Y é válida  sobre r de R se para cada valor de X em r está  associado um conjunto de valores de Y e esse  conjunto é independente dos valores de Z=R – (X∪ Y)

• Intuitivamente o valor de um atributo determina  um conjunto de valores de outro atributo!!!

 

Dependência Multivalorada – Definição

Captura de Tela 2014-09-24 às 19.17.44

 

15: as tuplas t1, t2, t3 e t4, não são necessariamente distintas.

 

Dependência Multivalorada-Exemplo 1

Captura de Tela 2014-09-24 às 19.19.18

 

Dependência Multivalorada–Exemplo 2

 

 

Captura de Tela 2014-09-24 às 19.20.05

 

Dependência Multivalorada – Definição alternativa

Se X → → Y Então
πYZ(σX=x(R))=πY(σX=x(R)) x πZ(σX=x(R)).
Garante que dado o valor de X os valores de Y e Z  são independentes.
Se existe ti com (X=A e Y=B) e existe tj com (X=A e Z=C) Então deve existir  tk com (X=A, Y=B e Z=C).

 

Dependência Multivalorada – Propriedades

• toda dependência funcional é dependência multivalorada mas o recíproca não é necessariamente verdadeira

• Se (X→ → Y) e (Z=R-X ∪ Y) então X → → Z
• Se Y for subconjunto de X ou R=(X ∪ Y) então a MVD (X → → Y) é trivial
• Se a MVD não for trivial, para garantir a MVD,  teremos que repetir valores em tuplas, gerando redundância…isto leva à 4FN

 

Quarta forma normal – 4FN

 

Captura de Tela 2014-09-24 às 19.22.29

Dependência de Junção

 

 

Captura de Tela 2014-09-24 às 19.22.56

 

Quinta forma normal – 5FN

Captura de Tela 2014-09-24 às 19.24.04

 

Dependência de Junção – Exemplo

 

Exemplo: Seja X = (ecod, pno) e Y=(ecod, place)
e SKILL = X natural join Y

● DJ(X, Y) é uma dependência de junção em SKILL
● SKILL (ecod, pno, place) não está na 5FN pois X e Y não contêm uma superchave de SKILL
● Como vimos anteriormente, SKILL sequer está na 4FN. De fato a dependência multivalorada é um caso particular de dependência de junção, generalizando: DJ(X, Y) ≡ (X∩ Y) → → (X-Y)

Quinta forma normal – 5FN – Exemplo

Exemplo: está na 5FN
emp(ecod, ename, title)
proj(pno, pname, budget)
asg(ecod, pno, resp, dur)
pay(title, sal)
Obs: – uma relação na 5FN não pode ser decomposta sem perda de informação
– dependência de inclusão: define que algumas colunas estão contidas em outras. Chave estrangeira é um exemplo de dependência de inclusão

 

Normalização 2 – Considerações finais

A decomposição multivias para a 5FN é restrição semântica bastante peculiar e a normalização para a 5FN raramente é feita nestes termosUma alternativa à decomposição da relação universal é utilizar ferramentas de projeto conceitual e mapeamento para o relacional.
Por exemplo, um mapeamento do Modelo de Entidades e Relacionamentos para o Modelo Relacional gera esquemas de BD na terceira forma normal.

 

 

 

Identificação Formula H Fórmula G
Dupla Negativa ¬(¬E) E
Propriedades de Identidade
E ∨ False
E ∧ True

 

E
E

 

Propriedades Complementares
E ∨ ¬ E
E ∧ ¬ E
True
False
Leis de DeMorgan
¬(E ∧ R)
¬(E ∨ R)
¬E ∨ ¬R
¬E ∧ ¬R
Contraposição E → R ¬R → ¬E
Propriedades de Substituição
E → R
E ↔ R
¬E ∨ R
(E → R) ∧ (R → E)
Propriedades Comutativas
E ∨ R
E ∧ R
R ∨ E
R ∧ E
Propriedades Associativas
E ∨ (R ∨ S)
E ∧ (R ∧ S)
(E ∨ R) ∨ S
(E ∧ R) ∧ S
Propriedades Distributivas
E ∨ (R ∧ S)
E ∧ (R ∨ S)
(E ∨ R) ∧ (E ∨ S)
(E ∧ R) ∨ (E ∧ S)
Prova Condicional E → (R → S) (E ∧ R) → S

 

Exercício: Sejam P e Q ∈ L∅. Demonstre, com o auxílio das equivalências clássicas, que as fórmulas abaixo são equivalentes: E = Q → (Q ∧ P) e G = (¬Q ∨ Q) ∧ (¬Q ∨ P).
Solução: Q → (Q ∧ P)
 ⇔ ¬Q ∨ (Q ∧ P) (aplicando a Propriedade de Substituição do →)
 ⇔ (¬Q ∨ Q) ∧ (¬Q ∨ P) (aplicando a Propriedade Distributiva)
Métodos de Validação de Fórmulas
  • Tabela-Verdade
A tabela-verdade é um método de validação baseada na força bruta. Isso ocorre, porque devemos mapear todas as possíveis combinações dos símbolos/variáveis proposicionais.
Assim, seja P uma fórmula proposicional e α o conjunto de variáveis proposicionais existentes em P (α = {X1, X2, …, XN}). A tabela-verdade de P é uma tabela com pelo menos N+1 colunas e exatamente 2N linhas. As N primeiras colunas representam as variáveis proposicionais, enquanto a (N+1)-ésima coluna representa a fórmula P. Cada linha representa uma possível combinação de valores (T ou F) das variáveis pertencentes a α e o valor verdade de P resultante desta combinação.
TABELA-VERDADE X PROPRIEDADES SEMÂNTICAS
1- Uma fórmula é uma tautologia se a última coluna de sua tabela-verdade contém somente
valores T ou 1.
2- Uma fórmula é uma contradição se a última coluna de sua tabela-verdade contém somente
valores F ou 0 (zero).
3- Uma fórmula é factível se a última coluna de sua tabela-verdade contém pelo menos um valor
T ou 1.
4- Duas fórmulas são equivalentes semanticamente quando, para cada linha da tabela-verdade,
suas colunas apresentam o mesmo valor.
5- Uma fórmula G implica semanticamente na fórmula H se, para toda linha cujo valor da coluna
de G é verdadeiro, o valor da coluna de H também é verdadeiro.
  • Árvore Semântica
Este método determina a validade de uma fórmula a partir de uma estrutura denominada árvore.
Uma árvore é um conjunto de nós (vértices) ligados por arestas. Os nós finais são chamados “folhas”, o nó inicial é denominado “raiz”, enquanto os demais nós são intermediários.
Exemplo de Árvore:

Captura de Tela 2014-09-22 às 18.23.40

Durante a validação, as arestas que ligam o nó raiz aos outros nós recebem um rótulo, indicando os possíveis valores de uma determinada variável proposicional, escolhida aleatoriamente. Se a partir de uma interpretação for possível obter o valor da fórmula, este é associado ao nó folha correspondente. Caso não seja possível tal aferição, cria-se mais duas arestas, aumentando a ramificação da árvore. Para a rotulação dessas arestas, escolhemos uma outra variável proposicional. Este processo é repetido até que todos os nós folhas tenham valores associados à fórmula.

Exercício: Demonstre, através de árvores semânticas, a validade de H = (P → Q) ↔ (¬Q ∧ ¬P).
Solução:
Captura de Tela 2014-09-22 às 18.24.55
ÁRVORE SEMÂNTICA X PROPRIEDADES SEMÂNTICAS
1- Uma fórmula é uma tautologia se só têm valores T ou 1 em seus nós folhas.
2- Uma fórmula é uma contradição se só têm valores F ou 0 (zero) em seus nós folhas.
3- Uma fórmula é factível se pelo menos um nó folha com valor T ou 1.
4- Duas fórmulas G e H são equivalentes semanticamente, se a árvore semântica
correspondente à fórmula G ↔ H for uma tautologia.
5- Uma fórmula G implica semanticamente na fórmula H, se a árvore semântica correspondente
à fórmula G → H for uma tautologia.

 

  • Método da Negação ou Absurdo
O método da negação ou absurdo é um método geral de demonstração. Ele consiste em negar a afirmação que se deseja provar e, a partir de um conjunto de deduções, concluir um fato contraditório ou absurdo (ex: I[P] = T e I[P] = F).
A aplicação deste método é recomendada nos casos onde a negação da afirmação nos leva a casos determinísticos, ou seja, com uma única possibilidade de interpretação para a fórmula, pois isto simplifica a demonstração. Tal situação ocorre quando a negação acarreta a falsidade dos conectivos → e ∨ e a veracidade do conectivo ∧.
Exercício: Demonstrar, através do método da negação, a validade da Lei de Transitividade do
conectivo →: H = ((P → Q) ∧ (Q → R)) → (P → R)
Solução: validade = tautologia. Logo, devemos provar que ∀ I | I[H] = T.
 Supondo que H NÃO é tautologia, então ∃ I | I[H] = F.
I[((P → Q) ∧ (Q → R)) → (P → R)] = F ⇒ I[((P → Q) ∧ (Q → R))] = T e I[(P → R)] = F
 Para I[(P → R)] = F ⇒ I[P] = T e I[R] = F
 Para I[((P → Q) ∧ (Q → R))] = T ⇒ I[P → Q] = T e I[Q → R] = T
 Se I[P → Q] = T ⇒ I[P] = F e/ou I[Q] = T, mas como I[P] = T, logo:   I[Q] = T
 Se I[Q → R] = T ⇒ I[Q] = F e/ou I[R] = T, mas como I[R] = F, logo:   I[Q] = F
 ABSURDO: Q NÃO pode assumir dois valores (T e F) no mesmo instante.
Portanto, a suposição inicial está errada e H é tautologia.
O objetivo deste método é deduzir uma contradição / absurdo a partir da negação da fórmula em prova. Entretanto, nem sempre isto ocorre. Nestes casos, NADA se pode concluir sobre a veracidade da asserção inicial. Além disso, quando existem mais de uma possibilidade testada, originada de cláusulas e/ou, todas devem gerar uma contradição.
MÉTODO DA NEGAÇÃO OU ABSURDO X PROPRIEDADES SEMÂNTICAS
1- Uma fórmula H é uma tautologia se a suposição ∃ I | I[H] = F gerar contradição.
2- Uma fórmula H é uma contradição se a suposição ∃ I | I[H] = T gerar contradição.
3- Uma fórmula H é factível quando ela não for tautologia, nem contradição. Neste caso, basta
apresentar duas interpretações para H (I e J), onde I[H] = T e J[H] = F.
4- Duas fórmulas G e H são equivalentes semanticamente, se for possível provar que a fórmula
G ↔ H for uma tautologia.
5- Uma fórmula G implica semanticamente na fórmula H, se for possível provar que a fórmula
G → H for uma tautologia.
  • Princípio da Indução Finita
Apesar de não fazer parte da lógica, este princípio é um dos principais métodos utilizados na demonstração de resultados. Na ciência da computação, tal princípio é usado para demonstrar resultados em linguagens formais, teoria de algoritmos, teoria dos códigos, etc.
Paradigma da Indução
Considere um conjunto de peças de dominó enfileiradas e enumeradas. Elas estão dispostas de modo que, se o dominó 1 é derrubado para direita, então o subseqüente (dominó 2) também cai, e assim sucessivamente.
Diante disto, surge a pergunta: “O que é suficiente para um dominó N cair?”
Resposta: que qualquer um dos dominós que o antecede caia para direita, ou seja, existem (N-1) condições suficientes.
Suponhamos que o dominó 1 caia para direita, logo o dominó N também cai. Agora surge outra pergunta: “Qual é a condição necessária para que o dominó 1 possa cair para direita?”.
Resposta: que os dominós subseqüentes possam ser derrubados.
A partir deste cenário, observamos que existem várias condições suficientes para que todos os dominós sejam derrubados. Exemplo:
Se o dominó 1 é derrubado para direita, então o dominó N cai, ou simplesmente, D1 → DN.
Dentre eles, destacamos 2 conjuntos:
1º conjunto:
     • Condição básica: O dominó 1 é derrubado para direita.
     • Condição indutiva: Seja N um nº arbitrário. Se o dominó N é derrubado para direita, então o dominó N+1 também cai.
2º conjunto:
     • Condição básica: O dominó 1 é derrubado para direita.
     • Condição indutiva: Seja N um nº arbitrário. Se todos os dominós até N são derrubados para direita, então o dominó N+1 também cai.
Note, que ambos tem a mesma condição básica. Entretanto, a condição indutiva é ligeiramente modificada.
O princípio da indução finita possui 2 formas que correspondem a estes conjuntos. Neste curso iremos abordar apenas a 1ª forma.
  • 1a Forma de Indução
Suponha que para cada N (N ≥ 1), seja dada a asserção A(N). Para concluirmos que A(N) é verdadeira para todo inteiro N, deve ser possível demonstrar as seguintes propriedades:
• Base da Indução: A asserção A(1) é verdadeira.
• Passo Indutivo: Dado um inteiro N (N ≥ 1), se A(N) é verdadeira, então A(N+1) também é verdadeira.
Exercício: Demonstre, através do princípio da indução finita, que: dada a progressão geométrica ai+1 = ai+q, para q ≠ 1. A soma dos N primeiros termos desta progressão pode ser calculada por:
Captura de Tela 2014-09-23 às 04.18.36
Formas Normais
 
As fórmulas da lógica proposicional podem ser expressas utilizando vários conjuntos de conectivos completos. Além disso, também podemos representá-las através de estruturas pré-definidas, denominadas formas normais. São elas:
• Forma Normal Disjuntiva (FND): se a fórmula é uma disjunção de conjunções de literais
(símbolos proposicionais ou suas negações).
• Forma Normal Conjuntiva (FNC): se a fórmula é uma conjunção de disjunções de literais.
Ex: H = (¬P ∧ Q) ∨ (¬R ∧ ¬Q ∧ P) ∨ (P ∧ S) FND
 G = (¬P ∨ Q) ∧ (¬R ∨ ¬Q ∨ P) ∧ (P ∨ S) FNC
Obtenção das Formas Normais
 
Considere a fórmula: H = (P → Q) ∧ R. Podemos escrever H1 e H2, de modo que H1 seja H na FND e H2 seja H na FNC, com segue:
P Q R H
F F F F
F F T T
F T F F
F T T T
T F F F
t F T F
T T F F
T T T T

2º Passo: Geração de H1 (FND).

– Extrair as linhas da tabela-verdade onde I[H] = T. Para cada linha N, gerar uma fórmula YN, formada apenas pela conjunção de literais, de modo que I[YN] = T, como apresentado abaixo:
2ª linha: I[P] = F, I[Q] = F, I[R] = T ⇒ Y2 = (¬P ∧ ¬Q ∧ R).
4ª linha: I[P] = F, I[Q] = T, I[R] = T ⇒ Y2 = (¬P ∧ Q ∧ R).
8ª linha: I[P] = T, I[Q] = T, I[R] = T ⇒ Y2 = (P ∧ Q ∧ R).
– Gerar H1 a partir da disjunção das fórmulas geradas no item anterior.
H1 = (¬P ∧ ¬Q ∧ R) ∨ (¬P ∧ Q ∧ R) ∨ (P ∧ Q ∧ R) 
3º Passo: Geração de H2 (FNC).
– Extrair as linhas da tabela-verdade onde I[H] = F. Para cada linha N, gerar uma fórmula XN, formada apenas pela disjunção de literais, de modo que I[XN] = T, como apresentado abaixo:
1ª linha: I[P] = F, I[Q] = F, I[R] = F ⇒ X1 = (P ∨ Q ∨ R).
3ª linha: I[P] = F, I[Q] = T, I[R] = F ⇒ X3 = (P ∨ ¬Q ∨ R).
5ª linha: I[P] = T, I[Q] = F, I[R] = F ⇒ X5 = (¬P ∨ Q ∨ R).
6ª linha: I[P] = T, I[Q] = F, I[R] = T ⇒ X6 = (¬P ∨ Q ∨ ¬R).
7ª linha: I[P] = T, I[Q] = T, I[R] = F ⇒ X7 = (¬P ∨ ¬Q ∨ R).
– Gerar H2 a partir da conjunção das fórmulas geradas no item anterior.
H2 = (P ∨ Q ∨ R) ∧ (P ∨ ¬Q ∨ R) ∧ (¬P ∨ Q ∨ R) ∧ (¬P ∨ Q ∨ ¬R) ∧ (¬P ∨ ¬Q ∨ R) 
 
 
Dedução de Teoremas
O processo de prova por dedução consiste em demonstrar que, dadas algumas expressões como verdadeiras (hipóteses ou premissas), uma nova sentença também é verdadeira. Quando isso ocorre, dizemos que a sentença provada é um teorema com respeito às hipóteses.
A prova de um teorema consiste em derivar a expressão desejada H a partir das hipóteses β, utilizando os recursos disponíveis em algum dos sistemas de dedução válidos (β |– H).
Definição (sistemas de dedução): também denominados sistemas formais, são completos (se β ⇒ H, então β |– H) e corretos (se β |– H, então β ⇒ H) e estabelecem estruturas que permitem a representação e dedução do conhecimento.
  • TIPOS DE SISTEMAS DE DEDUÇÃO
Os sistemas de dedução podem ser divididos em 2 grupos, como segue:
     • Sistemas de difícil implementação computacional:
          Sistema Axiomático
          Dedução Natural
     • Sistemas mais adequados para implementação computacional:
          o Tableaux Semânticos
          o Resolução
Neste curso, apresentaremos o sistema axiomático e a resolução.
Sistema Axiomático
 
O sistema axiomático é uma estrutura para representação e dedução do conhecimento baseado em axiomas. Ele é definido pela composição de 4 elementos:
     • Alfabeto da lógica proposicional;
     • Conjunto de fórmulas proposicionais (Hipóteses)
     • Subconjunto de fórmulas, denominados axiomas; e
     • Conjunto de regras de inferência.
HIPÓTESES
As hipóteses ou premissas são fórmulas proposicionais tidas (assumidas) como verdadeiras.
Assim, caso se descubra que uma das hipóteses pode ser falsa, toda prova feita a partir desta hipótese perde sua validade.
AXIOMAS
 
Os axiomas representam o conhecimento dado a priori. No caso do sistema axiomático, este conhecimento é representado por tautologias.
O conjunto de fórmulas axiomáticas pode variar entre os sistemas axiomáticos. Porém, independente do conjunto adotado, o mesmo deve assegurar o sistema axiomático seja completo e correto.
Neste curso, adotaremos um sistema cujos axiomas são determinados pelos esquemas:
• Ax1 = ¬(H ∨ H) ∨ H ⇔ (H ∨ H) → H
• Ax2 = ¬H ∨ (G ∨ H) ⇔ H → (G ∨ H)
• Ax3 = (¬(¬H ∨ G)) ∨ ((¬(E ∨ H)) ∨ (G ∨ E)) ⇔ (H → G) → ((E ∨ H) → (G ∨ E))
sendo, H, G e E quaisquer fórmulas preposicionais.
REGRAS DE INFERÊNCIA
 
As regras de inferência são implicações semânticas. Elas são utilizadas para fazer inferências, ou seja, executar os “passos” de uma demonstração ou dedução.
Assim como os axiomas, o conjunto de regras de inferência adotado em um sistema axiomático pode variar, desde que mantenham as propriedades de completude e correção. Quanto menor o conjunto de regras de inferência, mais elegante é o sistema axiomático.
Abaixo serão listadas algumas regras de inferência que podem ser utilizadas em um sistema
axiomático:
Captura de Tela 2014-09-22 às 19.10.05

Captura de Tela 2014-09-22 às 19.10.29

OBS: A maioria dos sistemas axiomáticos costuma utilizar apenas o Modus Ponens (MP) como regra de inferência.
PROVA EM UM SISTEMA AXIOMÁTICO
Uma prova ou demonstração através do sistema axiomático consiste em apresentar a seqüência de passos necessários para derivar a fórmula desejada a partir das hipóteses. Cada passo pode ser a geração de um axioma ou a aplicação de uma regra de inferência.
Proposição: dado um teorema com as hipóteses H1, H2, …, HN e a fórmula a ser provada C. Ele é verdadeiro sempre que:
Captura de Tela 2014-09-22 às 19.11.39
Exercício 1: Prove P → (S ∨ G) através de um sistema axiomático que utiliza todas as regras de
inferência apresentadas acima e com o seguinte conjunto de hipóteses:
P → (Q ∨ R)
Q → S
R → G
Solução:
– considerando as hipóteses:
P → (Q ∨ R) (1)
Q → S (2)
R → G (3)
– Aplicando o dilema construtivo entre (2) e (3), temos:
(Q ∨ R) → (S ∨ G) (4)
– Aplicando o silogismo hipotético entre (1) e (4), temos:
P → (S ∨ G) c.q.d
PROVA POR ABSURDO
Neste tipo de prova, nega-se a fórmula que se deseja provar, a inclui no conjunto de hipóteses e aplica as regras de inferência até se obter um absurdo.
Exercício: A partir das hipóteses abaixo e utilizando apenas o Modus Ponens (MP) como regra de inferência, prove P.
¬S → P
R ∨ ¬P
¬S
Solução:
– Considerando as hipóteses:
     ¬S → P (1)
     R ∨ ¬P (2)
     ¬S (3)
     ¬P (4) Negação do teorema
– Aplicando a equivalência (G → H ⇔ ¬H → ¬G) em (1), temos:
     ¬P → S (5)
– Aplicando MP entre (4) e (5), temos:
     S (6)
Como (6) contradiz (3), conclui-se que a suposição inicial (¬P) é falsa. Logo β |– P c.q.d.
DERIVAÇÃO SEM HIPÓTESES
Além das provas onde uma fórmula G é derivada a partir de um conjunto de hipóteses β (β |– G), existem casos onde o sistema axiomático não possui hipóteses (β é vazio) e a fórmula desejada é derivada somente a partir dos axiomas, denotamos: |– G.
Ex: Utilizando um sistema axiomático sem hipóteses e apenas com Modus Ponens como regra de inferência, prove (P ∨ ¬P).
– Para gerar uma sentença que contenha a fórmula a ser derivada, utilizamos o Ax3 com H = (P ∨ P), E = ¬P e G = P, temos:
     ((P ∨ P) → P) → ((¬P ∨ (P ∨ P)) → (P ∨ ¬P)) (1)
– Note que a parte antecedente de (1) pode ser gerada a partir de Ax1 para H = P:
     (P ∨ P) → P (2)
– Aplicando MP entre (2) e (1), temos:
      ((¬P ∨ (P ∨ P)) → (P ∨ ¬P)) (3)
– A parte antecedente de (3) pode ser gerada a partir de Ax2 para H = P e G = P:
     ¬P ∨ (P ∨ P) (4)
– Aplicando MP entre (4) e (3), temos:
     (P ∨ ¬P) c.q.d.
Resolução
Ao contrário do sistema axiomático, no método de resolução não se tem axiomas. Portanto, este método é definido pela composição dos seguintes elementos:
• Alfabeto da lógica proposicional;
• Conjunto de cláusulas, geradas a partir de fórmulas proposicionais (Hipóteses)
• Regra de inferência.
A resolução é um método de prova aplicado sobre fórmulas que estão na forma de conjunções de disjunções, conhecida como forma normal conjuntiva (FNC).
Ex: H = (P ∨ ¬Q ∨ R) ∧ (R ∨ Q) ∧ (¬P ∨ ¬R ∨ ¬P)
Cada fórmula é, então, representada na forma de conjunto de cláusulas (FCC). Nesta notação, cada disjunção é um subconjunto (cláusula), onde o conectivo ou é trocado por uma vírgula. Além disso, as vírgulas entre os subconjuntos representam a conjunção (conectivo e) das disjunções.
Ex: H = {{P, ¬Q, R}, {R, Q}, {¬P, ¬R}}
Note que no exemplo acima, {¬P, ¬R} representa (¬P ∨ ¬R ∨ ¬P). Isto ocorre, pois não se representa duplicidade na notação de conjuntos (FCC).
REGRA DE INFERÊNCIA
O mecanismo de inferência da resolução utiliza apenas uma regra, denominada regra de resolução, como segue:
Captura de Tela 2014-09-22 às 19.19.43
Captura de Tela 2014-09-22 às 19.19.58

Site da disciplina de SBD do prof. Ilmério da Facom-UFU

 

http://www.facom.ufu.br/~ilmerio/sbd

O Trabalho é individual e deve ser entregue manuscrito.

 

1. OBJETIVO
Implementar o protótipo de uma aplicação usando um SGBD conforme instruções a
seguir.
2. O QUE DEVE SER FEITO
• Definir o assunto da aplicação considerando um problema com o mínimo de cinco entidades, incluindo relacionamentos totais, parciais, de diferentes cardinalidades, além de especializações de entidades;
• Elaborar um diagrama conceitual DER para a aplicação;
• Mapear o diagrama conceitual para o modelo relacional;

3. O QUE DEVE SER ENTREGUE EM PAPEL(OU EM MEIO DIGITAL
EM FORMATO PDF)
• o modelo conceitual(Diagrama DER);

• O diagrama do modelo relacional
• uma análise de dependências funcionais e normalização do esquema relacional gerado por meio do mapeamento do EER;

 

Data de Entrega: Semana seguinte à da prova.

 

“O Objetivo básico do projeto de banco de dados é possibilitar ao usuário obter a informação exata em um limite aceitável de tempo, de maneira a executar sua tarefa dentro da organização” (Teorey e Fry)
“O Objetivo do projeto de um banco de dados relacional é gerar um conjunto de esquemas relacionais que nos permita armazenar informações sem redundância desnecessária, apesar de nos permitir recuperar a informação facilmente” (Korth e Silberschatz)

  • Ciclo de vida para o Desenvolvimento de Sistemas de Bancos de Dados
  1. Análise das Necessidades
  2. Projeto Conceitual (DER)
  3. Projeto Físico
  4. Implementação
  5. Monitoração
  6. Sintonização
  7. (Manutenção -> retorna ao 1)

Sistemas de Gerenciamento de Base de Dados (SGBD) encapsulam do 3 ao 5 em um único processo, necessitando apenas ser Sintonizado (ou configurado)

  • Perigos potenciais no projeto de Banco de Dados Relacionais
    • Repetição da informação
      • Informações repetidas consomem espaço de armazenamento e dificultam a atualização
    • Incapacidade de representar parte da informação
      • Por vezes há a necessidade de se incluir valores nulos
    • Perda de Informação
      • Projetos mal elaborados sugerem a decomposição de esquemas relacionais com muitos atributos
  • Dependências Funcionais
    • Dada uma relação R, o atributo Y de R é funcionalmente dependente do atributo X de R, ou:
      • R.X -> R.Y
    • Se e somente se cada valor X em R for associado precisamente a um mesmo valor Y em R, a qualquer momento
    • (Y e X podem ser compostos)

 

Regras para encontrar Dependências Funcionais

 

 

Separação
A -> BC então A -> B e A -> C Exemplo:
CPF -> nome, endereço então CPF -> nome e CPF -> endereço
Leia o exemplo acima da seguinte maneira:
Se com um número de CPF eu encontro o nome e o endereço de uma pessoa, então com este mesmo número eu posso encontrar apenas o nome e com este mesmo número eu posso encontrar apenas o endereço.

Acumulação
A -> B então AC -> B
Exemplo:
CPF -> endereço então CPF, idade -> endereço
Leia o exemplo acima da seguinte maneira:
Se com um número de CPF eu encontro o endereço de uma pessoa, então com este mesmo número mais a idade da pessoa eu posso encontrar o endereço também.

Transitividade
A -> B e B -> C então A -> C
Exemplo:
CPF -> código-cidade e código-cidade -> nome-cidade então CPF -> nome-cidade
Leia o exemplo acima da seguinte maneira:
Se com um número de CPF eu encontro o código da cidade de uma pessoa, e com o código da cidade eu encontro o nome da cidade, então com o número do CPF eu posso encontrar o nome da cidade.

Pseudo-Transitividade
A -> B e BC -> D então AC -> D
Exemplo:
CPF -> código-funcionário e código-funcionário, mês -> salário-funcionário então CPF, mês -> salário-funcionário
Leia o exemplo acima da seguinte maneira:
Se com um número de CPF eu encontro o código do funcionário, e com o código do funcionário mais um certo mês eu encontro o salário que ele recebeu naquele mês, então com o número do CPF mais um certo mês eu posso encontrar o salário que ele recebeu naquele mês.

 

  • Normalização
    • Processo de transformações das relações (tabelas representando entidades e relacionamentos) em novas relações pela aplicação de projeções (quebra e granularização das tabelas)
    • Consequências:
      • Diminuem problemas de anomalias e inconsistências
      • Relações simplificadas e estrutura regular
      • Aumento da integridade dos dados
      • Necessidade de realização de agregamentos
      • Eventual queda na performance
    • 5 Formas normais
    • 1a. Forma Normal:
      • Todos os atributos admitem apenas valores atômicos1ec455344c8a1517c98c97f5a583641e
    • 2a. Forma Normal
      • Cada atributo não chave é dependente de toda a chave primária238e398f3558556612e5c8d287375225
      • Problemas Solucionados
        • Inserção
          • Fornecedor somente poderá ser cadastrado quando fornecer pelo menos 1 peça
        • Remoção:
          • Ao se remover algum pedido remove-se também a informação de localidadeassociadaao fornecedor a que se refere o pedido
        • Atualização
          • Redundância de informações em diversas tuplas. Ex: Mudança do endereço de um fornecedor
    • 3a. Forma Normal
      • Cada atributo chave é dependente não transitivo da chave primáriac55fdeda421c251c152ab89f7ce9b8d0
      • Problemas Solucionados 3a. FN
        • Inserção:
          • Não se pode registrar o fato de uma cidade ter um determinado porte até que haja um fornecedor daquela cidade
        • Remoção:
          • Removendo-se o último fornecedor de uma cidade perde-se a informação porte
        • Atualização:
          • Quando uma cidade muda de porte pode ser necessário atualizar diversas tuplas de fornecedor

 

Captura de Tela 2014-09-17 às 20.35.10

 

 

    • Restrições de Integridade
      • Integridade de Chave
      • Integridade de Entidade
      • Integridade Referencial
    • Tipos:
      • Restrições implícitas
      • Restrições Explícitas
        • Especificação procedimental
        • Especificação declarativa
        • Especificação de Triggers
  •  Forma normal de Boyce-Codd – FNBC
    Uma relação R está na forma normal de Boyce-Codd
    se para toda dependência funcional X → Y associada
    com R uma das seguintes afirmações é verdadeira:

    • Y ⊆ X (i.e, X → Y é DF trivial);ou
    •  X é superchave de R;

Exemplo:
Está na FNBC: emp(ecod, ename, title), pay(title, sal),
É raro uma relação estar na 3FN e não estar na
FNBC, mas vejamos dois exemplos.

 

Exemplo de normalização até a FNBC
Seja o esquema de lotes a venda em um Estado:
lotes(propriedadeNum, cidade, loteNum, area, preco, imposto)
chaves primária: propriedadeNum;
DF1: propriedadeNum é chave primária
DF2: (cidade, loteNum) é chave candidata
DF3: cidade → imposto; % imposto fixo por cidade
DF4: area → preco; % preço por área independente
.                                   % dos demais atributos
DF5: area → cidade; % domínio de tamanhos
.                                     % disjuntos por cidade

Está na 1FN? E na 2FN? E na 3FN? E na FNBC?

Exemplo lotes: 1FN

lotes(propriedadeNum, cidade, loteNum, area, preco, imposto)
Está na 1FN, mas não na 2FN, pois:
DF2: (cidade, loteNum) → propriedadeNum, area, preco, imposto
DF3: cidade → imposto
Imposto é parcialmente dependente da chave
(cidade, loteNum)

Exemplo lotes1 e lotes2: 2FN
lotes1(propriedadeNum, cidade, loteNum, area, preco)
lotes2(cidade, imposto)
lotes2 está na 3FN;
lotes1 está na 2FN, mas não na 3FN, pois:
DF4: area → preco;
– area não é superchave e preço não é atributo principal

Exemplo lotes1 e lotes2: 3FN
lotes1a(propriedadeNum, cidade, loteNum, area)
lotes1b(area, preco)
lotes2(cidade, imposto)
Lotes1a, lotes1b e lotes2 estão na 3FN, mas
lotes1a não está na FNBC, pois:
DF5: area → cidade;
Observe que lotes1a está na 3FN porque, embora area
não seja superchave, cidade é atributo principal.
Entretanto isso não é relevante para a FNBC

 

Exemplo lotes na FNBC
lotes1ax(propriedadeNum, loteNum, area)
lotes1ay(area, cidade)
lotes1b(area, preco)
lotes2(cidade, imposto)
Observe que a DF2 foi perdida nesta decomposição

Outro Exemplo de 3FN x FNBC
ensina(aluno, disciplina, professor)
DF1: {aluno, disciplina} → professor;
DF2: professor → disciplina; % cada professor
% leciona uma disciplina
1FN: atributos são atômicos? Sim
2FN: há dependência parcial? Não, logo está na 2FN
3FN: dependências de superchaves ou apontando para
atributos principais? sim, logo está na 3FN
FNBC: dependências de superchaves? Não, veja DF2
Como decompor ensina?

Alternativas de decomposição na FNBC
1. (aluno, professor), (aluno, disciplina)
2. (disciplina, professor), (aluno, disciplina)
3. (disciplina, professor), (aluno, professor)
Todas perdem DF1, mas em 3. evitamos tuplas falsas após
uma junção. Ex. de instância:

 

Captura de Tela 2014-09-17 às 21.10.57

 

 

 

Estudo para a Prova:

Construa um Diagrama Modelo Entidade Relacionamento tabular (Relacional) agrupando os atributos nas tabelas que vão representar as entidades e os relacionamentos do seu banco de dados

Construa os diagramas de dependências funcionais para as tabelas propostas (Diagrama relacional)
Garanta que cada atributo será atômico (isto, é, não pode ser dividido) para se obter um modelo na 1a. FN
Elimine as dependências parciais da chave primária em suas tabelas para obter um projeto na 2a. FN
Elimine as dependências transitivas nas tabelas (se houver), obtendo um esquena na 3a. FN

 

regras para mapeamento do Modelo Conceitual de Alto Nivel para o modelo Relacional (de mais baixo nivel)

1: Do Diagrama Conceitual (DER)
Tipos de Entidade (E)
Mapeadas em Relacionamentos (R)
Usando todos os atributos encontrados em (E)
A chave primária de E se torna chave primária em R
Atributos compostos de E possuem suas folhas mapeadas em R
Todos os outros atributos simples são mapeados na relação R
Atributos Multivalorados não são aplicados a essa regra
2: Se tivermos um atributo multivalorado
Cria-se uma relação com o nome do atributo multivalorado
Ex: Grau de escolaridade
Chave Estrangeira (ex: Profissional_ID)
Intenção da Relação (Nome do Grau de Escolaridade)
Ambas são uma chave primária composta
3a. Regra: Tipos de Entidades Fracas
Tipos de Entidades Fracas:     Tipos entidade que não têm seus próprios atributos-chave são chamados tipos entidade fraca
Entidades, que pertencem a um tipo entidade fraca, são identificadas por estarem relacionadas a entidades específicas do outro tipo entidade, por meio da combinação com valores de seus atributos
Chamamos esse outro tipo entidade identificador ou tipo entidade proprietária, e chamamos o tipo relacionamento entre o tipo entidade fraca e seu tipo proprietário de relacionamento identificador do tipo entidade fraca.
Sempre possui uma restrição de participação total (dependência de existência) em relação a seu relacionamento identificador, porque uma entidade fraca não poderá ser identificada sem um tipo proprietário
Nem toda a dependência de existência resulta em um tipo entidade fraca.: Por exemplo, uma entidade CARTEIRA_HABILITACAO não poderá existir a menos que esteja relacionada a uma entidade PESSOA, embora tenha sua própria chave (NumeroLicenca) e conseqüentemente não seja uma entidade fraca.

Segue a regra número 1:
Pega-se a chave primária da entidade fraca (pertencente à entidade pai) e a transforma em uma chave primária parcial do Relacionamento da Entidade Fraca
Atributos compostos de E possuem suas folhas mapeadas em R
Todos os outros atributos simples são mapeados na relação R

Adendo:
Verificar o tipo de relacionamento entre o Tipo Entidade Forte e Fraca:
Compõe a chave primária um código primário derivado da entidade pai e
Verificar se o relacionamento entre a entidade forte e fraca possui atributos
atributos podem fazer parte da chave primária

4a. Regra: O que se fazer com um relacionamento 1:1
Chave estrangeira pode estar em qualquer um (mas em apenas um) dos relacionamentos.
Normalmente utiliza-se discernimiento do contexto para identificar em qual
Excessão:
Quando o relacionamento possui atributos (ver regra 6)

5a. Regra: O que se fazer com um relacionamento 1:muitos
Chave estrangeira:
O relacionamento “muitos” é quem levará a chave estrangeira, sendo essa a chave primária do relacionamento “1”
Excessão:
Quando o relacionamento possui atributos:
atributos seguem a chave estrangeira (permanecendo no lado: “muitos”)

6a. Regra: O que se fazer com um relacionamento muitos:muitos
Cria-se uma tabela de relacionamento… (ou um relacionamento de relacionamento)
(inclui excessão à regra 4)

7a. Regra: Herança
Funciona como um tipo entidade fraca.

Álgebra Relacional
Importante pois:
Satisfaz o processo matemático para o componente manipulativo proposto por Codd
É o “ancestral” das linguagens manipulativas (SQL)
Não está “morta”, é usada mais para otimização e prova
Usada para
Mover ou manipular grupos de dados
Séries de Operações
Operações tradicionais de Conjuntos
União, Intersecção, Subtração e Produto Cartesiano
Os 3 primeiros requerem que as 2 tabelas manipuladas sejam compativeis em União:
Possuem o mesmo grau
Um atributo de uma tabela está no mesmo domínio da outra tabela
União
A+B = C
Intersecção
A.B = D
Subtração
A-B = E tal que E.B = Vazio
Produto Cartesiano <A,B>
Tabelas de Diferente Graus (ou não compatíveis em União)
Grau resultante = G(A)+G(B)
Cardinalidade resultante = C(B)*C(B)

Outros Operandos
Operadores Relacionais Especiais em Tabelas

 

Renomear (ρ)

Renomeia a tabela para o novo nome. Muito util para renomear tabelas resultantes que serão utilizadas mais de uma vez

ρ novo nome (tabela original)
Restrição (Selecione atributo de tabela Condicionado a…)
Simbolo Sigma (σ)
Subscrito é a condição
Superscrito é a Tabela
Select relação with condição given tabela
Projeção (π)
Remove colunas reduzindo o grau da tabela
Pode ser combinado com o operador de restrição
Usa-se o símbolo pi (produtório)
Subscrito as colunas a se recuperar
Superscrito a tabela
projection (a1,a2) from (tabela)
Junção Natural(Join)
O atributo Join deve ser compatível com produto
(Chave Estrangeira em uma tabela e Chave Primária em outra)
Atributo de Agregação devem estar no mesmo domínio
Realiza-se um produto cartesiano e remove-se as tuplas que não se encaixam
Usa-se o símbolo(Ψ)
T1 Ψ(T1.att1=T2.attx) T2
Join R1 Using R1.att with R2 Using R2.att

 

divisão 

• Divisão de duas relações R e S
– todos os valores de um atributo de R que fazem referência a todos os valores de um atributo de S
• Utilizada para consultas que incluam o termo para todos ou em todos

 

Liste os números dos clientes que já foram atendidos por todos os vendedores.

 

Captura de Tela 2014-09-17 às 10.42.23

 

agregação

Permite a utilização de funções de agregação

 

Modelo de Dados Relacional (Modelo Lógico)
O mais importate
Do tipo de modelos lógicos
Proposto por E. F. Codd (Ganhou o prêmio Phillips pela proposta) (1970)
Proposta seria corrigir os problemas dos modelos anteriores
Modelo Matemático utilizando Teoria dos Conjuntos
Dados são representados em Tabelas (tb chamados relacionamentos ou visões)
Cada linha é uma tupla (tb chamada de registro)
Cada coluna é chamada de atributo e identificada por nomes
Colunas não precisam estar em uma ordem especificada
Em uma tabela não se pode ter duas colunas com o mesmo nome
Em tabelas diferentes sim
Pode ser associada a outra tabela
Possui chave primária
          Domínio de Atributos
Todas os valores possiveis do atributo
Ex: Nota = 0.0 a 100.0
Fáceis (Nota)
Difíceis (Nome) (que tipo de nome?)
Facilitando:
Domínio dos Primeiro Nomes
Domínio das Iniciais do Meio
Domínio dos Sobrenomes
Grau de uma Tabela
Número de atributos de uma tabela
Difere do Grau do modelo Semântico
Uma tupla é uma agregação de valores de todas as informações (ou descrições) de um determinado dado
Cardinalidade
Número de tuplas em uma tabela
Difere do modelo semântico
3 Objetivos:
Independência de Dados
Independência Física
Comunicabilidade
Modelo fácil de entender
Modelo Sectarizado
Tudo é uma tabela
Processo matemático (Codd era um matemático)
Independência de Implementação
Relacionamentos seriam realizados de forma lógica
Linguagens de Alto nível para criar e manipular dados (DDL – DML)
Deve responder a um conjunto de regras para manutenção de integridade
Normalização
3 componentes chaves
Componente estrutural
Mais que uma tabela 2D
Ordem dos atributos ou das tuplas não importam
Não se pode ter 2 atributos com o mesmo nome na mesma tabela
Tratamento sistemático de valores NULL
Cada tupla deve ser distinta
Identificador de unicidade (chave primária)
valor de atributo deve ser escalar
Nao ha multiplos valores
não há atributos compostos
Atributos devem ser atomicos

Componente de Integridade
Integridade de Entidade
Chave primária para ident. cada tupla distinta
Não pode ter valores NULL
Integridade Referencial
Chave Estrangeira
Pode ser NULL
Integridade Definida pelo Usuário
O Modelo em Si deve prover algum meio de integridade definida pelo usuário (ou regras de negócio)

Componente Manipulativo – componente chave
Deve se ter uma Linguagem de Definição de Dados e Linguagem de Manipulação de Dados (LDD e LMD) mínimas
Opera-se em um sistema matemático fechado
T1 op T2 = T3 op T4 = T5 op T6 =T7
Inicialmente criaram o SQL que já supriram os requerimentos

1. Introdução

. O que e um banco de dados (BD)
. O que e um sistema de gerencia de banco de dados (SGBD)
. Paradigmas de SGBD
. Aplicações para um BD

O que é um sistema:
Um conjunto de processos que trabalham em conjunto para um determinado fim
Quais seriam os componentes de um sistema? (falar de sistemas comuns)
Todos os sistemas possuem os mesmos componentes em comum
Entrada
Processo (um laço de retroalimentação) e
Saída
Um sistema pode ser um supersistema, onde os processos são por si só sistemas
Em um Sistema de Informação as entradas são denominadas de Dados, uma coleção de elementos que não possuem significado.
Dados passam pelo processo que é a aplicação ou algoritmo e é transformada em algo significativo para um usuário.

Nesse contexto: O que seria um Sistema de Banco de Dados?
E um Sistema de Gerenciamento de Banco de Dados?

Pensem por um tempo enquanto os paradigmas são apresentados:

     Modelo de Dados do tipo Lógico
Modelos são abstrações de uma entidade do mundo real
Seus benefícios:
Tem complexidade reduzida
São mais baratos
Mais importante: Modelos são criados para que a sua idéia abstrata seja quebrada
Novas e melhores idéias abstratas do modelo seja criada
Modelo de Dados Lógico
Modelos de baixo nível um passo distante dos produtos que os implementam
Um exemplo são os Sistemas de Arquivos, responsáveis por persistirem os dados desejados no disco rígido, USB, CD/DVD, disquetes, Fitas Magnéticas, etc.
Em uma abstração eles são basicamente um sistema de arquivos real, como o baseado em papéis, pois era como sabíamos como organizar os dados sobre o espaço.
Resulta em diversos problemas. (Discutir os problemas)
O que acontece quando o modelo lógico de um programa tenta se comunicar com outro modelo lógico de outro programa?
IBM tentou solucionar o problema criando o modelo de dados Hierárquico (B-Trees, B+-Trees)
Geralmente produtos baseados em Arquiteturas de Mainframes e altamente acoplado com o sistema (COBOL)
Apresenta um problema (Relacionamentos um pra um ou um pra muitos, ok, mas e muitos pra muitos? Explicar com uma árvore no quadro)
Para se alcançar ou caminhar de uma entidade a outra era muitas vezes necessário utilizar códigos de localização previamente escrito (previamente planejado)
O que aconteceria ao se remover (ou incluir) um nó?

Era efetivo?
Foi como começou a se pensar organização de dados
O processo de ligações codificadas foi um ensinamento que permitiu saber que se torna bem rápido

Modelo de Dados em Rede (Grafo)
Ainda Codificado com o sistema

Modelo de dados Relacional
Modelo Matemático (teoria dos conjuntos)

     Modelo de dados Conceitual
Um modelo de abstração mais alta e mais abrangente

Arquitetura ANSI-SPARC
Modelos lógicos criam o problema de Dependencia dos dados
Problema de reescrita do programa quando estrutura dos dados mudava
Como resolver esse problema?   Foi enviado à ANSI para resolver
Solução em um nível de hierarquia mais alta de responsabilidades
Arquitetura similar à MVC (Explicar)
Esquema de Visão (Modelo de Interação)
Esquema Conceitual (Modelo Lógico)
Esquema Interno (modelo físico)

Modelo de Dados Semânticos
Modelos de nível mais alto com mais significados
Peter Chang DER (1976)
Esquema conceitual respresentado pelo DER
DER Estrutura simples
Tipos de abstrações como Entidades (Retângulos), Atributos (Oval) ou associações (forma de diamente)
Atributos Simples ou Compostos
Atributos de Múltiplos Valores (duplo oval)
Atributos Processados (Oval pontilhado)
Diferentes tipos de atributos
Chaves: Candidatas ou Alternativas
Candidata te identifica unicamente
Não precisa ser apenas um atributo, pode ser um grupo de
Alternativa pode te identificar unicamente, mas depende da primeira
Conceito de Multiplicidade e Cardinalidade (um a um, um a muitos, muitos a muitos)
Captura de Tela 2014-09-17 às 10.12.36
Grau de um relacionamento
Como os relacionamentos se relacionam com as entidades
União: Relacionamento em uma mesma entidade:
Empregado – gerencia – Empregado
Binário: 2 entidades
Estudante – Cursa – Disciplina
Ternários…
N-Ários
Informações podem ser quebradas em outras informações estáticas
Informações Dinâmicas (Transações)
Muito bom para modelar informações estáticas, mas não as dinâmicas.

Modelo de Dados Relacional
O mais importate
Do tipo de modelos lógicos
Proposto por E. F. Codd (Ganhou o prêmio Phillips pela proposta)
Proposta seria corrigir os problemas dos modelos anteriores
Modelo Matemático utilizando Teoria dos Conjuntos
Dados são representados em Tabelas (tb chamados relacionamentos ou visões)
Cada linha é uma tupla (tb chamada de registro)
Cada coluna é chamada de atributo e identificada por nomes
Colunas não precisam estar em uma ordem especificada
Em uma tabela não se pode ter duas colunas com o mesmo nome
Em tabelas diferentes sim
Pode ser associada a outra tabela
Possui chave primária
Deve responder a um conjunto de regras para manutenção de integridade