Arquivos de Categoria: Artigos

Banco de Dados I – Aula 08C

Dado a seguinte figura, defina as tabelas utilizando as seguintes formas normais: 1FN, 2FN e 3FN:

Exercicio_NF

 
GitHub

https://github.com/rodrigoksaito/anchieta/tree/master/BancoDados_I/Aula08

Anúncios

Banco de Dados I – Aula 05A

Estudo de Caso 1 (Exercício 03)

Projete o Modelo Entidade Relacionamento e Modelo Relacional que atenda às necessidades de controle dos cinemas e filmes em uma determinada empresa de distribuição de filmes.

Após várias reuniões com os futuros usuários do sistema, relacionamos uma série de regras do negócio e que serão a base para o desenvolvimento do diagrama ER.

– A empresa de distribuição possui vários cinemas em diversas localidades;

– Cada cinema possui uma identificação única, um nome fantasia, um endereço completo, incluindo rua, avenida, bairro, município, estado e sua capacidade de lotação;

– Os filmes podem ser dos mais variados tipos e gêneros;

Cada filme é registrado com um título original, e se for filme estrangeiro, possuirá também o título em português, o gênero, sua duração, sua impropriedade e seu país de origem, informações sobre os atores que compõem seu elenco, e o seu diretor. Existirá um único diretor para cada filme;

– Alguns cinemas apresentam mais de um filme em cartaz, sendo, nesses casos, sessões alternadas com um filme e outro;

– As sessões possuem horário que variam de acordo com a duração do filme, havendo sempre um intervalo de aproximadamente 15 minutos entre elas;

– Os atores de um filme pode obviamente atuar em diversos filmes, assim como o diretor de um filme pode também ser ator nesse filme, ou, ainda mais, ser ator em outro filme. Um ator possui as seguintes características: um número de identificação, um nome, uma nacionalidade e uma idade;

– As sessões de cinema devem ter seu público registrado diariamente, para que se permita a totalização dos assistentes (telespectadores) quando o filme sair de cartaz, ou a qualquer instante.

Nas reuniões de levantamento, os usuários nos passaram as seguintes necessidades de informação:

– Apuração do público por município, por cinema e por sessão de cada cinema;

– Permitir uma forma de consulta, que dado um determinado ator, sejam localizados os cinemas onde estão em cartaz os filmes em que esse ator atua; Ex: “Quais cinemas (nomes) passam filmes que atue a atriz “Julia Roberts”? Queremos obter somente os nomes dos cinemas, independentemente dos filmes.” Para testarmos esta solicitação utilizaremos SQL (voltaremos nesse caso após aprender os conceitos de SQL)

– Em quais cinemas está sendo exibido um determinado gênero de filme;

– Em quais cinemas estão sendo exibidos filmes nacionais;

 

Referência bibliografia

Machado F, Abreu M. Projeto de Banco de Dados – Uma visão prática. Editora Érica Ltda, São Paulo, SP, 2007, p. 134

 

Vídeo 01

 

Os arquivos apresentados podem ser baixados em:

https://github.com/rodrigoksaito/anchieta/tree/master/BancoDados_I/Aula05

 

Banco de Dados I – Aula 04B

EXERCÍCIOS: Modelo Entidade Relacionamento e Modelo Relacional

  • A partir dos cenários mostrados, faça o MER conforme regras vistas em aula e posteriormente faça o Modelo Relacional;

 

EXERCÍCIO 1

  • Em um determinado imóvel, há 5 salas que servem para que determinados médicos façam o atendimento de seus clientes particulares. No local, há uma única secretária a qual é responsável pela agenda de cada médico. Somente um único médico faz o atendimento em sua sala, a qual a sala ele é locatário. Nesse imóvel, não é possível que hajam especialidade de médicos iguais. Na agenda física que a secretária gerencia, é marcada a data da consulta, hora da consulta, o médico que irá atender e paciente a ser atendido. Os pacientes são cadastrados por cpf, nome e sobrenome, telefones.  Os médicos possuem CRM, Nome e especialidade. Desenvolva um MER que atenda o cenário mostrado, otimizando possivelmente entidades e atributos desnecessários;

 

EXERCÍCIO 1.1 (Variação do exercício 1)

  • Em um determinado imóvel, há salas que servem para que médicos façam o atendimento de seus clientes particulares. No local, há uma única secretária a qual é responsável pela agenda dos médicos. Os médicos possuem agenda flexíveis, as quais uma sala atende vários médicos em diferentes horários. Nesse imóvel, é possível que hajam especialidade de médicos iguais, porém em horários diferentes. Na agenda que a secretária gerencia, é marcada a data da consulta, hora da consulta, o médico que irá atender, paciente a ser atendido e a sala que o paciente será atendido . Como as consultas particulares, é colocado um valor de consulta padrão para todos os atendimentos realizados, a qual tem reajustes de ano em ano. Os pacientes são cadastrados por cpf, nome e sobrenome, telefones.  Os médicos possuem CRM, Nome e especialidade.

 

EXERCÍCIO 2

  • A empresa Engenho ABC Ltda presta serviços de projetos civis residenciais e comerciais, sendo ela dividida em departamentos que são cadastrados por um nr, descrição do departamento e localização. Os funcionários da empresa são contratados, a qual um contrato associa cada funcionário ao departamento onde ele trabalha. A contratação possui uma data de contratação e quantidade de dias de contratação. Os funcionários são cadastrados pelo CPF, nome, endereço, cargo e salário. Dentre os funcionários se destacam os engenheiros que possuem dois atributos adicionais: o CREA e a especialidade.  Os engenheiros são alocados para gerenciar projetos da empresa a partir de determinada data. Esses projetos inclusive podem ser dirigidos paralelamente dependendo da complexidade. Os projetos possuem um código, título, descrição, localização geográfica, prazo de entrega e custo. Os projetos são solicitados pelos clientes que são cadastrados por um código, nome, endereço e fones.

 
Video – Parte 01

Video – Parte 02

Banco de Dados I – Aula 04A

Modelo Relacional

  • Banco de Dados representado por um conjunto de tabelas também chamadas de relações (relacionam um conjunto de valores).
  • Cada linha de uma tabela também é chamada de uma tupla. (n-upla).
  • Esquema de um BD Relacional: definição do conjunto de tabelas e seus atributos que irão compor a base de dados (estrutura do BD relacional)
  • Instância de um BD Relacional: conjunto de dados armazenados no BD em um determinado momento.

Exemplo de um esquema de um BD Relacional

usuários ( código inteiro [chave primária],
                   nome caracteres [30],
                   end_rua caracteres [20],
                   end_número inteiro,        ….)

livros ( código  inteiro [chave primária],
             título caracteres[20],
             editora caracteres[10],
             ano_pub inteiro)

empréstimos ( cod_usuário inteiro [chave primária],
                           cod_livro inteiro [chave primária],
                           data_ret   data [chave primária],
                          data_dev   data )

Obs: tipos de campos e descrição das chaves ainda são opcionais

Exemplo: Instância

Untitled

Mapeando MER para o Modelo Relacional

  • Um Diagrama de Entidade Relacionamento pode ser representado por um conjunto de tabelas (esquema do Modelo Relacional)
  • Conjunto de Entidades: cada conjunto de entidades do DER gera uma tabela no Modelo Relacional.
  • Entidades Fortes: tabela com seus atributos próprios
    • Exemplo:

Untitled

Contas (Número, saldo)

  • Entidades fracas: tabela com chave primária da entidade forte da qual ela depende  mais seus atributos próprios
    • Exemplo:

Untitled

Carros (chassi, marca, modelo, ano, cor, placa)
Reparos (chassi, data, tipo, valor, oficina)

Obs: Quando transfornado para MR, deve-se atentar aos campos que irão compor a chave primária

  • Conjunto de Relacionamentos: podem ou não gerar tabelas:

 

  • Relacionamentos Múltiplos ou Relacionamentos Binários de n para n: geram tabelas com as chaves primárias das entidades envolvidas mais os atributos próprios do relacionamento.Exemplo: Relacionamentos Binários de N para N:Untitled
    Usuários (COD, nome, fone)
    Livros  (No_tombo, título, ano, editora)
    Empréstimos (COD, No_tombo, data_ret, data_dev)

    Obs: No MR, é necessário analisar os campos que irão compor a chave

 

  • Relacionamentos Binários de 1 para n ou de 1 para 1:
    • Não geram tabelas.
    • Para associar as tuplas das tabelas no Modelo Relacional deve-se transpor a chave de um conjunto de entidades para o outro ( a chave da entidade do lado com 1 é transposta para a entidade do lado n).
    • A chave transposta nesse caso não compõe a chave primária da entidade que a recebeu (é uma chave estrangeira).
    • Obs: no caso da transposição de chave entre a entidade forte e a entidade fraca que dela depende, a chave transposta compõe a chave primária da entidade fraca).
    • Exemplo: Relacionamentos 1 para N:Untitled

Países (código, nome, continente)
Cidades ( código, nome, população, código_país)

OBS: Relacionamentos Binários de 1 para n podem gerar tabela quando                                 não há totalidade na associação.

  • Generalização e Especialização: há duas maneiras de definir as tabelas para uma generalização ou especialização:
    • Define-se uma tabela para o conjunto de entidades do nível mais alto (com os atributos comuns) e uma tabela para cada entidade do nível mais baixo (com seus atributos próprios + a chave primária da entidade do nível mais alto).
    • Exemplo: Generalização e EspecializaçãoUntitled 

      Contas (número, saldo)
      Contas_corrente (número, limite)
      Contas_poupança (número, data_base)

  • Generalização e Especialização: segunda maneira
    • Define-se tabelas apenas para os conjuntos de entidades do nível mais baixo (com seus atributos próprios, mais todos os atributos herdados do conjunto de entidades do nível mais alto). Essa opção só é permitida se a generalização / especialização for mutuamente exclusiva (uma entidade não pertence a mais do que um dos subconjuntos) e total (todas as entidades do nível mais alto pertencem a um dos subconjuntos do nível de baixo)
    • Exemplo: Generalização e EspecializaçãoUntitledContas_corrente (número, saldo, limite)
      Contas_poupança (número, saldo, data_base)
  • Atributos Multivalorados: novas tabelas devem ser criadas para armazená-los juntamente com a chave primária da entidade que os possui.
    • Exemplo: Atributos MultivaloradosUntitled                           Livros (No_tombo, título, ano, editora)
      Autores (No_tombo, autor)

 

  • Agregação: como a agregação é a representação de um conjunto de relacionamentos como se fosse um conjunto de entidades, o mapeamento para tabelas é semelhante ao mapeamento aplicado em entidades e relacionamentos normais.
  • Relacionamentos de 1 para 1: para decidir como será feita a transposição de chaves, deve-se observar a participação total com relação ao relacionamento
    • Exemplo: Relacionamentos de 1 para 1Untitled
    • Todo país tem uma capital, mas nem toda cidade é capital de um país, portanto a tabela de países é que deve receber a código da cidade que é capital.
      Países (código, nome, continente, código_capital)
      Cidades ( código, nome, população)

 

Para onde deve ser transportada a chave?

PAIS
COD NOME COD_CAP
1 BRASIL ?
2 JAPAO ?
3 ARGENTINA ?
4 USA ?

 

CIDADE
COD NOME POPULAC COD_PAIS
1 JUNDIAI 400 ?
2 TOKYO 2000 ?
3 BRASILIA 1000 ?
4 W. D. C. 800 ?
5 BUENOS AIRES 300 ?
6 RIO DE JANEIRO 2500 ?
7 DALLAS 400 ?

 

PS: Apostila adotada dos professores Cláudio e Carrilho, baixada em 03/2006

 

Video – Parte 01

 

 

 

 

Banco de Dados I – Aula 03A

Entidades Associativas

Há um caso específico para as Entidades Associativas: sempre que, além do simples relacionamento entre as duas entidades fundamentais, houver outras informações específicas da nova entidade criada (como, por exemplo, a quantidade e o valor entre pedido x produto ou bimestre, nota e faltas do aluno x matéria), ela será chamada de entidade Associativa Atributiva.

No catálogo de CD dado como exemplo, podemos identificar facilmente duas entidades: CD e Música.

Atributos

  • Os atributos são informações básicas que qualificam uma entidade e descrevem seus elementos ou características.
  • Quando transpostos ao modelo físico (ao banco de dados), chamamos os atributos de campos ou colunas.
  • Note que todas as entidades devem possuir os atributos necessários ao andamento das operações da empresa, do contrário a entidade não será necessária para o sistema.
  • Esses atributos devem representar o objeto na sua totalidade.
  • Há uma tendência a confundir Entidade e Atributo.
  • Tenha sempre em mente que um Atributo é uma característica, logo não contém um grupo de informações.
  • Por sua vez, uma Entidade sempre é um grupo.
  • No mínimo são necessários dois atributos para criar uma entidade.
  • Uma entidade com um único atributo normalmente será agregada a outra entidade existente ao modelo.

Exemplos de Atributos

Exemplos de atributos as entidades:

Entidade Pessoa: nome, endereço, documento, data de nascimento, telefone, e-mail;

Entidade Nota Fiscal: série, número, data e emissão e cliente;

ScreenHunter_92 Aug. 27 22.54

Um atributo chave é um dos atributos de um CE especialmente projetado para identificar de forma única qualquer entidade do CE.

É importante enfatizar a expressão acima especialmente projetado, porque a unicidade do valor do atributo determinante deve ser garantida para qualquer conteúdo futuro do CE e não apenas para a instancia atual do CE.

Exemplo de representação dos atributos

Funcionário (numf, RG, CPF, nome, end, salário)

ScreenHunter_93 Aug. 27 22.56

 

Tupla

  • É uma estrutura de atributos intimamente relacionados e interdependentes que residem em uma entidade.
  • Quando transposta ao modelo físico, uma tupla equivale a um registro ou linha da tabela.

Chave

  • É um atributos utilizado para indexar dados.
  • Há três tipos de chaves:
    • Primária
    • Estrangeira;
    • Secundária;

Chave primária

  • É o atributo que permite identificar uma única ocorrência de uma tupla em uma Entidade.
  • Dessa forma, seu conteúdo deve ser único, exclusivo e imutável para cada linha dessa Entidade. Todos os demais atributos da entidade devem depender unicamente desse atributo.
  • Caso não exista um atributo que possa assumir a posição de chave primária, é preciso cria-lo. Veja que nem todos campos é uma boa chave.
  • Eventualmente uma chave primária pode conter mais de um atributo.
  • Nesse caso, a chave conterá mais de um atributo, mas será considerada a chave da tabela.
  • A união dos dois atributos é que deve garantir o acesso a uma única linha da entidade.
  • Esse caso de chave primária é chamado de Chave Concatenada ou Chave Composta;

Chave estrangeira

  • É o atributo que estabelece a relação de uma Entidade com a Chave Primária de outra Entidade e permite uma relação entre entidades.
  • Isto ocorre quando uma Entidade dependente herda a chave da Entidade Fundamental exatamente para estabelecer o relacionamento entre elas.

ScreenHunter_94 Aug. 27 22.58

Chave Secundária

  • Esta chave é utilizada como meio de classificação e pesquisas em entidades.
  • Sempre que houver a necessidade de buscar informações semelhantes, em ordem crescente ou decrescente, em função de datas, valores ou status predefinidos, criam-se chaves secundárias.
  • Podem também ser concatenadas a outras chaves secundárias para extrair a informação desejada.

Tipos de Atributos

  • Um atributo pode conter vários subatributos. Nesse caso ele se diz itens de grupo ou composto. Por exemplo:
  •   Atributo: endereço
    •   Subatributos: Local(Rua, Número,   Complemento), Cidade, CEP.
  • A representação gráfica desse atributo composto é:ScreenHunter_95 Aug. 27 23.00
  • Transformação em tabela:
    • endereco(rua, número, complemento, cidade, cep)
  • Se um atributo de uma entidade pode tomar diversos valores então se diz multivalorado. Por exemplo:
  • Atributo:   Telefone
    • Valores:   (11) 4521-8444
    •                   (11) 4588-8754
  • Essa propriedade pode ser indicada colocando-se um * após o nome do atributo multivalorado.
    • Funcionário (numf, nome, telefone*)

 

Para identificar as entidades, tente seguir os passos a seguir

  • 1 – Examine os substantivos. Eles são objetos com significa próprio;
  • 2 – Dê um nome a cada Entidade;
  • 3 – Há informações relevante a respeito da entidade necessária às operações da empresa?
  • 4 – Cada instância da entidade possui um identificador único (chave)?
  • 5 – Escreva uma descrição da suposta Entidade (CD é o produto básico de venda da empresa. Exemplos cd CDs são: Mais do Mesmo e Bate Boca);
  • 6 – Faça um diagrama com, pelo menos, alguns de seus atributos;

 

Relacionamentos

  • Sempre que duas entidades apresentarem interdependência (por exemplo, autor da música ou música do CD), indica-se um relacionamento entre elas.
  • Deve-se perguntar a cada par de entidades se elas se relacionam.
  • Cada entidade 1 {deve ter ou pode ter} relacionamento {uma ou mais ou uma única} entidade2;
  • Assim, podemos dizer que:
    • 1 – Cada CD deve ser gravado por uma única gravadora;
    • 2 – Cada gravadora pode ter gravado um ou mais CDs; 
    • 1 – Cada autor pode ter escrito uma ou mais músicas;
    • 2 – Cada música pode ser escrita por um ou mais autores;
    • 1 – Cada música pode estar gravada em um ou mais CDs.
    • 2 – Cada CD deve conter uma ou mais músicas. 
  • Conforme você pode notar, cada relacionamento contém um nome (normalmente um verbo como ser gravado, conter, ter escrito), a determinação de opcionalidade (deve ou pode) e um grau ou cardinalidade (uma única ou uma ou mais).

Análise dos tipos de Relacionamentos

  • Há três tipos de relacionamentos (também muito conhecido como CARDINALIDADE):
    • – Um para um (1:1);
    • – Um para Muitos (1:N);
    • – ou muitos para muitos (N:N);

Relacionamento 1:1

  • Ocorre sempre que uma entidade tiver uma única ocorrência para cada ocorrência na outra entidade.
  • Sempre que houver esse relacionamento, deve-se perguntar se realmente são duas entidades distintas ou se elas podem ser unidas.
  • Normalmente, ao checarmos a chave de ambas as entidades, chegamos facilmente à conclusão se as entidades devem ou não ser unidas.
  • Da mesma forma, deve-se perguntar se esse relacionamento sempre será um para um ou se existe a possibilidade de, amanhã, vir a ser um para muitos.

Exemplo de Relacionamento 1:1

ScreenHunter_96 Aug. 27 23.05

  • se uma entidade de um CE só pode estar associada a uma única entidade de outro CE e vice-versa, dizemos então que o relacionamento é de cardinalidade 1 para 1 ou 1:1.

ScreenHunter_97 Aug. 27 23.06

 

Relacionamento 1:N (ou N:1)

  • Ocorre sempre que uma entidade se relacionar com uma ou mais tuplas da outra entidade e esta outra se relacionar apenas com uma tupla daquela entidade.
  • Esse relacionamento é mais comum e fácil de ser analisado. Nesse caso, a parte onde o relacionamento é 1 contém os dados básicos da entidade (pois é a chave primária dessa entidade) e o lado muitos fará parte da lista de atributos não chave.

Exemplo de Relacionamento 1:N (ou N:1)

ScreenHunter_98 Aug. 27 23.08

 

ScreenHunter_99 Aug. 27 23.08

Relacionamento N:N (ou N:M)

  • Ocorre sempre que uma entidade se relacionar com várias tuplas de outra entidade e esta, por sua vez, relacionar-se com várias tuplas daquela entidade.
  • Esse relacionamento somente é possível na modelagem lógica de dados, uma vez que não se consegue implanta-lo em banco de dados relacionais.
  • Ele será transformado em dois relacionamentos: um para muitos (1:n) e uma Entidade Associativa Atributiva será identificada, caso haja outras informações que devam ser agregadas a esta nova entidade

Exemplos de Relacionamento N:N (ou N:M)

ScreenHunter_102 Aug. 27 23.13

ScreenHunter_103 Aug. 27 23.13

Relacionamento N:N (ou N:M)

  • A transformação à qual nos referimos fera com que para cada um dos relacionamentos anteriores seja criado um item que terá o relacionamento um para muitos (1:n), com cada uma das outras entidades.
  • As novas entidades criadas serão formadas pela união das chaves primárias das entidades e, eventualmente, por novos atributos necessários.
  • Não esqueça que casos novos atributos sejam identificados na entidade associativa, esta será considerada atributiva.

Exemplos de Relacionamento N:N (ou N:M)

ScreenHunter_104 Aug. 27 23.14

ScreenHunter_105 Aug. 27 23.14

  • Relacionamentos podem ter atributos. Por exemplo, o relacionamento N:N para indicar a associação de Materiais com seus Fornecedores pode indicar para cada par do relacionamento, o preço, o prazo e lote (quantidade) que o fornecedor estabelece para fornecer o material.
  • A Figura abaixo mostra a representação gráfica desse relacionamento.

ScreenHunter_106 Aug. 27 23.16

Conjunto de entidades fracos

  • Há casos em que a existência de um CE está vinculada à existência de outro CE.
  • Um exemplo típico é o registro, para fins de seguro-saúde ou imposto de renda, dos dependentes de um funcionário.
  • Nesse caso o registro só faz sentido para a empresa porque o dependente está ligado ao funcionário.
  • Diz-se, então, que o CE “Dependentes” é um conjunto de entidades fraco.
  • O CE funcionários é as vezes chamado conjunto pai conjunto mestre e dependentes é as vezes chamado de conjunto detalhe.

ScreenHunter_107 Aug. 27 23.17

Auto-relacionamentos

  • Muitas vezes queremos fazer o relacionamento de um CE consigo mesmo. Por exemplo, dado o CE “Peças” queremos saber quais peças são componentes de uma dada peça ou, dada peça quais peças tem a têm como componente.
  • Observe que cada uma das ligações do losango com o CE Peças recebeu um rótulo.
  • O primeiro rótulo significa: “uma peça é um componente” de outra peça, e o segundo rótulo significa “uma peça tem como componente” outra peça.
  • Os rótulos de ligações explicitam o papel que a peça desempenha no relacionamento, Este papel é normalmente evidente nos relacionamentos.
  • Observe também que o relacionamento é de cardinalidade N;N, isto é, uma peça pode ter vários componentes e uma dada peça pode ser componente de várias peças.

ScreenHunter_108 Aug. 27 23.18

Grau de relacionamento

  • Os exemplos vistos até agora são de relacionamento envolvendo dois CE´s. Eles são ditos binários ou de grau 2 e são os mais comuns na prática. O grau de um relacionamento é um número de CE´s envolvidos no relacionamento. A figura abaixo mostra um relacionamento de grau 3, ou triplo, entre professores, alunos e disciplinas.
  • A cardinalidade desse relacionamento, 1 : N : N, pode ser interpretada da seguinte forma:
    • dado um professor e uma determinada disciplina temos diversos alunos;
    • dado um professor e um determinado aluno, temos diversas disciplinas;
    • dado um aluno e uma certa disciplina, temos um único professor; 

ScreenHunter_109 Aug. 27 23.20

  • A figura mostra um relacionamento triplo chamado MRP entre Materiais, Pedidos e Requisições

ScreenHunter_110 Aug. 27 23.21

Agregações

  • Há casos em que relacionamentos de grau superior a 2 não capturam as regras de negócio desejadas.
  • Por exemplo, no relacionamento triplo MRP visto anteriormente em materiais, requisições e pedidos (ordens de compra), uma requisição está relacionada com um ou mais materiais e com um ou mais pedidos (ou com nenhum deles), o que é artificial
  • Esta separação de funções implica na existência de dois relacionamentos distintos; o segundo é chamado de agregação porque o relacionamento de Materiais com Requisição é agregado em um pseudo CE, que por sua vez se relaciona com Pedidos através do relacionamento “Itens de pedidos”

ScreenHunter_111 Aug. 27 23.22

Especificação

  • As técnicas de orientação a objetos tiveram várias influencias sobre o projeto de bases de dados.
  • Uma delas é o conceito de subclasse e herança.
  • Muitas vezes queremos registrar características especiais de certos subconjuntos de um CE.

ScreenHunter_112 Aug. 27 23.23

  • Esses novos CE´s são também chamados de especializações do CE Funcionários. Como o nome “é-um” indica, o relacionamento significa que uma secretária “é uma” funcionária, isto é, possui todos os atributos do CE funcionário.
  • O símbolo “+” indica que a especialização é do tipo “ou exclusivo”, ou seja, um funcionário pode ser especializado em apenas um dentre “Secretárias”, “Técnicos” e “Gerentes”.

Integridade referencial

  • É um mecanismo utilizado para manter a consistência das informações gravadas.
  • Dessa forma, não são permitidas a entrada de valores duplicados nem a existência de uma referência a uma chave inválida em uma entidade.
  • É também necessário que cada valor de chave estrangeira possua uma ocorrência na outra entidade à qual faz referência.
  • Se isso não ocorrer, fica claro que estaremos perdendo uma informação importante para o sistema.
  • A maior parte dos bancos de dados relacionais estabelece esse tipo de relacionamento e impede que durante uma inclusão, exclusão ou alteração uma chave estrangeira de uma entidade não tenha correspondente na chave primária da outra entidade.
  • No caso de uma alteração ou exclusão na chave primária da entidade, deve-se verificar se há registros dependentes (chave estrangeira) nas demais tabelas.
  • Se houver, deve-se excluir todos os registros dependentes ou altera-los, dependendo do caso

 

Video

Aprendendo Programação

Algorítmos, Linguagem C, C++,Pascal, Python

WikiDBA

by Virendra Yaduvanshi - Microsoft SQL Server Database Architect | Consultant | Blogger | Specialist | DBA | Speaker

Blog - Fabiano Neves Amorim

SELECT * FROM [Coisas Da Minha Cabeça] WHERE dbo.fn_TempoParaPost() < dbo.fn_TempoLivre()

ROMANO DBA

Administração de Bancos de Dados

Tércio Costa, Oracle Developer, OCE SQL

Guia de estudos para certificação ORACLE SQL Expert(1Z0-047) e PL/SQL(1Z0-144)

Strate SQL

Data Adventures with an Architect