André Luiz do Vale Soares

Livre

0
3
82
1 year ago
Preview
Full text

  26/09/2014

  1 Modelos de Dados André Luiz do Vale Soares Roteiro 

  Contextualização de Modelos de Dados 

  Classificação de Modelos de Dados 

  Modelo de Dados Entidade- Relacionamento 

  

Modelo de Dados ER Estendido (EER)

  Modelo de Dados Relacional

  

Contexto do uso de Modelo de Dados

  Abstração 

  Separação de detalhes conceituais de detalhes físicos 

  Arquitetura de 3 camadas: 

  Níveis: Interno, Externo e Conceitual 

  Modelo de Dados: 

  Conjunto de conceitos que podem ser usados para

descrever a estrutura de um banco de dados, fornecendo o significado necessário para permitir a abstração Categoria dos Modelos de Dados 

  Alto Nível: 

  Modelos de Dados Conceituais ou Modelos Lógicos com Base em Objetos 

  Baixo Nível: 

  Modelos de Dados Físicos 

  Intermediários: 

  Modelos de Dados Representacionais ou de Implementação ou Lógicos com Base em Registros 

  São utilizados para classificar os SGBDs quanto ao modelo de dados adotado Modelos de Dados de Alto Nível 

  Possuem conceitos que descrevem os

dados como os usuários os percebem

  Utilizam conceitos como Entidades, Atributos e Relacionamentos 

  Exemplo: Modelo Entidade- Relacionamento

  

Modelos de Dados de Baixo Nível

  Descrevem como os dados são armazenados em arquivos de computador

   Não são manipulados pelos usuários ou aplicações de bancos de dados

  

Exemplos: Modelo Unificado ( unifying

) e o Modelo de Partição de model Memória ( frame-memory model )

  

Modelos de Dados Representacionais

  Oferecem conceitos que podem ser entendidos pelos usuários finais, mas não estão distantes da forma como os dados estão organizados no computador

   Ocultam detalhes de armazenamento dos

dados, mas podem ser implementados em

um sistema de computador de maneira direta

  

Modelos de Dados Representacionais

  São os mais utilizados nos SGBDs comerciais tradicionais 

  Existem várias ferramentas “ case” que

auxiliam na sua construção por computador

através de interface gráfica

   Exemplos: Modelo Relacional, Modelo de Rede, Modelo Hierárquico e Modelo de Dados Orientado a Objetos (muito próximo dos

modelos de alto nível) e Objeto-Relacionais

  

Modelo Entidade-Relacionamento

  Descreve os elementos do mundo real (entidades) com uma existência independente, suas propriedades (atributos) e a forma como estes elementos se inter- relacionam (relacionamentos)

   Obtido a partir de requisitos de dados e funcionais dos usuários após a etapa de levantamento e análise de requisitos

  

Modelo Entidade-Relacionamento

  Entidades 

  Representa uma classe de elementos do mundo real a qual desejamos guardar dados 

  

Cada elemento representado é chamado de

instância

   Exemplo de entidades: Banco, Cia. Aérea, Universidade.

   Exemplo de instâncias: Itaú, Bradesco, Gol, TAM, UEA, UFAM.

  

Modelo Entidade-Relacionamento

  Atributos 

  São propriedades que descrevem cada instância de uma entidade.

   Representam de fato cada dado a ser armazenado.

   Domínio: conjunto de valores possíveis para o atributo.

   Exemplo: Nome do Banco, Endereço da Universidade, Valor do Salário do Empregado, Nota do Aluno, Número de matrícula do aluno.

   Relacionamentos também podem ter atributos.

  

Modelo Entidade-Relacionamento

  Tipos dos elementos: 

  Entidades 

  Regulares ou Fracas 

  Atributos 

  Simples ou Compostos 

  Monovalorados ou Multivalorados 

  Armazenados ou Derivados 

  Relacionamentos 

  Binários ou Ternários 

  Identificadores ou Comuns

  

Modelo Entidade-Relacionamento

  Representação 

  Diagrama de Entidade-Relacionamento – DER (criado por Peter Chen em 1976) 

  Notações mais utilizadas 

  Peter Chen 

  James Martin ou Engenharia da Informação

  

Modelo Entidade-Relacionamento

  Elementos (conforme notação de Peter Chen)

  <<nome>>

  Entidade regular

  <<nome>>

  Entidade fraca

  <<nome>>

  Relacionamento

  <<nome>>

  Relacionamento Identificador

  

Modelo Entidade-Relacionamento

  Elementos (conforme notação de Peter Chen)

  <<nome>>

  Atributo simples

  <<nome>>

  Atributo multivalorado

  <<nome>>

  Atributo composto

  <<nome>>

  Atributo derivado

  <<nome>> <<nome>>

  Atributo Chave

  Entidade Regular Entidade Fraca Modelo Entidade-Relacionamento 

  Exemplo

  sigla ano período nome nome código Aluno Matriculado Disciplina

  Carga_horária telefones

   Nome da entidade: singular, indicando a classe de elementos representados pela mesma

   Nome do relacionamento: ação ou relação entre as entidades envolvidas.

   Top-Down

   Left-Right

  

Modelo Entidade-Relacionamento

Exemplo: Entidade Fraca

  Curso Disciplina possui código nome sigla nome

  Carga_horária Professor Ministrada_por nome matrícula

  

Modelo Entidade-Relacionamento

  Exemplo 

  Auto-Relacionamento 

  Professor código nome coordena coordenador subordinado

Importante: Identificar papéis (funções de cada entidade) no relacionamento

  Modelo Entidade-Relacionamento 

Exemplo: Relacionamento Ternário

  Professor código nome Turma Disciplina

  Aluno matrícula nome sigla nome ano período

  

Modelo Entidade-Relacionamento

  Mapeamento de Cardinalidade 

  

Expressa a quantidade de elementos de cada

entidade no relacionamento com as demais.

   Forma de descrição

   Notação de Peter Chen

   Ligação entre a entidade e o relacionamento e

   Razão de cardinalidade ou 

  Restrição estrutural de participação 

  Notação de James Martin 

  “pés de galinha”

  

Modelo Entidade-Relacionamento

  Razão de Cardinalidade 

  Utiliza a quantidade máxima de elementos de uma entidade que participam do relacionamento, que pode ser:

  

  1

  • – Indica que a entidade participa com no máximo 1 elemento no relacionamento

   N

  • – Indica que a entidade pode participar com muitos elementos no relacionamento.

   Caso seja conhecida a quantidade máxima de elementos que uma entidade participa em um relacionamento, esta quantidade (constante) pode ser utilizada.

  

Modelo Entidade-Relacionamento

  Restrição Estrutural de Participação 

  Utiliza as cardinalidades mínima e máxima de elementos que uma entidade pode se relacionar: 

  (<<mínimo>>,<<máximo>>)

  

Modelo Entidade-Relacionamento

  

Mapeamento de Cardinalidade (Peter Chen)

Participação parcial de E1 em

  E1 R E2

  R e total de E2 em R

  1 N

  Razão de cardinalidade 1:N

  E1 R E2

  para E1:E2 em R Restrição Estrutural de

  (0,n) (1,1) E1 R E2

  participação (0,n) de E1 em R

  

Modelo Entidade-Relacionamento

  Exemplo 

  Razão de Cardinalidade 

  Restrição Estrutural de Participação

  Curso Possui Disciplina código nome sigla nome

  Carga_horária

  Curso Possui Disciplina código nome sigla nome

  Carga_horária

  (0,N) (1,1) Modelo Entidade-Relacionamento 

  Exemplo

  Professor código nome coordena coordenador subordinado

  Professor código nome coordena coordenador subordinado

  (0,N) (0,1)

  1 N

  

Modelo Entidade-Relacionamento

  Exemplo 

  Seria possível ?

  Professor código nome coordena coordenador subordinado

  

Modelo Entidade-Relacionamento

  Mapeamento de Cardinalidade (James Martin) 

  Quanto à cardinalidade

Um

  | Muitos

  ⪪ 

  Quanto à obrigatoriedade Ocorrência opcional Ocorrência obrigatória

  |

  

Modelo Entidade-Relacionamento

Exemplo

  Curso Disciplina código nome sigla nome

  Carga_horária

  

Modelo Entidade-Relacionamento

  Possibilidades

  E E E E

Modelo Entidade-Relacionamento

  Entidade Regular Entidade

  Proprietária Relacionamento

  (0,1) (0,n) Atributo

  Multivalorado Atributo derivado

  Entidade Fraca Relacionamento

  Identificador Atributo

  Chave Atributo

  Composto Atributo

  Simples Monovalorado

  Atributo Simples

  Monovalorado Atributo Simples

  Monovalorado

  1 n Atributo

  Chave

   Elementos:

  

Modelo Entidade-Relacionamento

  Exemplo: 

  Necessitamos modelar os dados de avaliações de provas de candidatos de um concurso para cargos de professor em uma universidade pública estadual

   O objetivo do modelo é registrar os dados de avaliações das provas dos candidatos, para permitir conhecer a classificação de cada um no concurso.

  

Cada candidato pode realizar quantas inscrições quiser.

  As provas são avaliadas por três professores, que atribuem notas às mesmas. A nota de cada avaliação é obtida pela média aritmética das notas dos avaliadores.

  

Cada área e sub-área do concurso possui uma banca

avaliadora.

  

Modelo Entidade-Relacionamento

  Exemplo: 

  Informações sobre os candidatos: número da inscrição, nome, RG, orgão expedidor do RG, UF e CPF.

   Informações sobre os avaliadores: nome, Universidade a que pertence e titulação.

  

Um professor pode participar de mais de uma banca

avaliadora, em sub-áreas diferentes

   Cada Sub-Área possui duas provas: uma escrita e uma didática

   Toda banca avaliadora deve possuir um Presidente, que também atribui nota às avaliações.

   As provas são aplicadas para cada área e sub-área do concurso em datas específicas, possuindo a prova escrita várias questões. Modelo Entidade-Relacionamento

  Candidato Prova Faz

  Professor

  Formada_por É_Realizada n n

  1 (0,3) (0,n)

  Inscrição Nome

  RG Expedidor UF

  Data Média

  Tipo Nome

  Universidade Titulação

  Nota Questões

  Número Área

  Sub-Área Área

  Sub-Área Avaliação

  3 n Esquema ER para o banco de dados CONCURSO

Banca

  Presidida_por (0,1) (0,n)

  

Modelo Entidade-Relacionamento

Exercício: 

  Considere um sistema de controle acadêmico de uma universidade fictícia

 Deseja-se manter informações sobre alunos, cursos, disciplinas e departamentos

 Deseja-se manter informações sobre a associação de alunos a cursos, de disciplinas a cursos, de disciplinas a departamentos bem como de disciplinas a suas disciplinas pré – requisitos.

   Cada disciplina possui exatamente um departamento responsável e um departamento é responsável por muitas disciplinas, podendo não ser responsável por nenhuma (departamento recém-criado ou desativado).

   Um aluno está inscrito em exatamente um curso e um curso pode ter nele inscritos muitos alunos (inclusive nenhum)

   Uma disciplina pode possuir diversos pré-requisitos, mas não são todas as disciplinas que possuem pré-requisitos

   Uma disciplina pode ser pré-requisito de muitas outras disciplinas, mas nem todas as disciplinas são pré-requisitos de outra disciplina

   Uma disciplina pode aparecer no currículo de muitos cursos (inclusive nenhum) e um curso pode possuir muitas disciplinas em seu currículo (inclusive nenhuma)  Dados de disciplina: sigla, nome e carga horária. Dados de alunos: Matrícula e nome.

  

Dados de curso: sigla, nome e área. Dados de Departamento: sigla e nome.

  

Modelo Entidade-Relacionamento

Exercício: 

  Projete um esquema ER para o banco de dados “Empresa”, descrito da seguinte maneira:  A empresa é organizada em departamentos; 

  Cada departamento tem um nome, um número e um empregado que o

gerencia. Armazena-se a data de início que o empregado começou a

gerenciar o departamento. Um departamento pode ter diversas localizações;

   Um departamento controla inúmeros projetos, sendo que cada um tem um nome, um número e uma localização;

   Do empregado armazena-se o nome, o número do RG, endereço, salário, sexo e data de nascimento. Todo empregado é associado a um departamento, mas pode trabalhar em diversos projetos, que não são

necessariamente controlados pelo mesmo departamento em que o

empregado trabalha. Armazena-se, também, o número de horas que o empregado trabalha em cada projeto. Mantém-se, ainda, a indicação do

supervisor direto do empregado, que também é um empregado da

empresa;

   Os dependentes de cada empregado são armazenados para propósito dos benefícios. Para cada dependente será armazenado o nome, sexo, data de nascimento e o parentesco com o empregado. Modelo Entidade-Relacionamento 

  Entidade Associativa: 

Não é considerada válida por alguns autores

  Entidade 1 Entidade 2

  Relacionamento1 Relacionamento2

  Entidade Associativa Modelo Entidade-Relacionamento 

  Entidade Associativa 

  Exemplo: 

  Vamos modelar um banco de dados que deve refletir o seguinte fato: 

  Um médico atende um paciente, durante uma consulta, podendo prescrever medicamentos.

   Um médico pode atender vários pacientes, mas um por vez.

   Um paciente pode ser atendido por vários médicos, mas um por vez. Modelo Entidade-Relacionamento 

  Entidade Associativa 

  Exemplo: 

  Dados a serem armazenados: 

  Do médico: CRM, nome e especialidade 

  Do paciente: RG, nome e data de nascimento  Do medicamento: Código, nome e laboratório. Modelo Entidade-Relacionamento 

  Entidade Associativa 

Primeira proposta:

  Médico Paciente

  Atende Medicamento

  CRM Nome

  Especialidade RG

  Nome DataNasc

  Código Nome

  Laboratório Modelo Entidade-Relacionamento 

  Entidade Associativa 

  Primeira proposta NÃO está correta, pois: 

  Modela, em um único relacionamento, o fato de atendimento e prescrição, o que não é correto, pois a prescrição do medicamento SÓ deve ser efetuada a partir de um fato prévio, que é o atendimento ao paciente. Modelo Entidade-Relacionamento 

  Entidade Associativa 

Segunda proposta:

  Médico Paciente

  Atende CRM

  Nome Especialidade

  RG Nome

  DataNasc Código

  Nome Laboratório Modelo Entidade-Relacionamento 

  Entidade Associativa 

  Segunda proposta também NÃO está correta, pois: 

  Modela a prescrição como dados pertinentes ao atendimento, e não como um fato. Ou seja, neste modelo, apenas o atendimento ao paciente é o fato a ser considerado. Modelo Entidade-Relacionamento 

  Entidade Associativa 

Terceira proposta:

  Médico Paciente

  Atende Medicamento

  CRM Nome

  Especialidade RG

  Nome DataNasc

  Código Nome

  Laboratório Prescrição Modelo Entidade-Relacionamento 

  Entidade Associativa 

  Terceira proposta NÃO está correta, pois: 

  Relacionamentos ligam entidades, e não relacionamentos ! Modelo Entidade-Relacionamento 

  Entidade Associativa 

Quarta proposta:

  RG CRM Atende Nome

  Médico Paciente

  Nome DataNasc

  Especialidade CONSULTA

  Prescrição Medicamento

  Código Laboratório

  Nome Modelo Entidade-Relacionamento 

  Entidade Associativa 

  A quarta proposta é bastante utilizada por muitos autores, mas outros afirmam que não é permitida em modelagem ER.

   Utiliza o conceito de “Entidade Associativa”, que descreve uma entidade obtida a partir de um fato ou relacionamento.

   Como entidade, pode ser ligada a outras através de relacionamentos. Modelo Entidade-Relacionamento 

  Entidade Associativa 

Quinta proposta:

  Médico Paciente

  Atende Medicamento

  CRM Nome

  Especialidade RG

  Nome DataNasc

  Código Nome

  Laboratório Prescrição

  Consulta Modelo Entidade-Relacionamento 

  Entidade Associativa 

  A quinta proposta é apontada por muitos autores como a representação correta em modelagem ER do tipo de situação apresentada. Modelo Entidade-Relacionamento Estendido 

  Criados para representar mais precisamente aspectos do mundo real em banco de dados.

   Inclui conceitos de:

   Superclasse e Subclasse

   Generalização e Especialização

   Categoria ou Tipo de União Modelo Entidade-Relacionamento Estendido 

  Superclasse e Subclasse 

  São agrupamentos entre entidades onde uma ou mais entidades (subclasses) possuem todas as características de outras entidades (superclasses), mas possuem características próprias, que podem envolver tanto atributos quanto relacionamentos específicos.

   Também podem ser originadas quando se deseja representar atributos e comportamentos oriundos de mais de uma entidade. Modelo Entidade-Relacionamento Estendido 

  Generalização e Especialização 

  Utilizados justamente quando uma entidade possui todo o comportamento de outra, mas adicionalmente possui características próprias, quer sejam

atributos, quer sejam relacionamentos. Modelo Entidade-Relacionamento Estendido 

  Notação para Generalização e Especialização:

  Superclasse

  O d

  Sub-Classe Sub-Classe Sub-Classe Sub-Classe Sub-Classe

  Disjunta Disjunta Conjunta Conjunta Modelo Entidade-Relacionamento Estendido 

  Exemplo

  Professor Concursado Temporário

  Coordenador

  d

  Matrícula Nome

  DtIniContrato DtFimContrato Nível

  DtIniMandato DtFimMandato

  Projeto Liderado_por

  Código DtInício Validade

  Modelo Entidade-Relacionamento Estendido 

  Notação para Especialização Reticulada e União ou Categoria: Especialização Reticulada União ou Categoria

  Sub-Classe Sub-Classe Sub-Classe Sub-Classe Disjunta Disjunta Conjunta Conjunta

  U

  Subclasse Subclasse

  Compartilhada De União Modelo Entidade-Relacionamento Estendido 

  Exemplo

  Mamífero Aquático Professor Técnico

  Cetáceo Funcionário

  U Modelo Entidade-Relacionamento Estendido 

Exemplo

  Mamífero Aquático Professor Técnico Cetáceo

  Funcionário Modelo Entidade-Relacionamento Estendido 

  

Sugestão para Atualização de nosso

Modelo ER para EER:

  Prova Tipo

  Questões

  d

  Prova Prova Escrita Didática Modelo Entidade-Relacionamento Estendido (EER)

  Candidato Prova Faz

  Avaliação

  (0,1) (0,n)

  (0,3) (0,n) Presidida_por

  Esquema EER para o banco de dados CONCURSO Formada_por

  d

  Didática

  Escrita Prova

  3 n Prova

  Área Sub-Área Presidente

  Professor

  Área Sub-Área

  Questões Número

  Titulação Nota

  Nome Universidade

  Data Média

  RG Expedidor UF

  1 Inscrição Nome

  É_Realizada n n

Banca

  Exercício 

  Banco de dados “Hotel” 

  Um hotel mantém o cadastro de seus clientes com RG, nome, fone e sexo. Os clientes podem reservar quartos do hotel para uma determinada data e por uma certa quantidade de dias. Os quartos são cadastrados por número, andar, tipo, descrição e preço. Para os quartos já ocupados pelos clientes, é mantida a data/hora de entrada e de saída do quarto, isto é, existe um registro diferenciado de quartos reservados e quartos ocupados. Para um cliente ficar cadastrado é suficiente que tenha feito uma reserva alguma

vez embora não tenha ocupado efetivamente o quarto.

   Os clientes que ocupam um quarto do hotel podem solicitar determinados serviços que são registrados associados ao quarto ocupado para posterior cobrança. Destes serviços são armazenados um código, tipo, descrição e valor. Modelo Relacional 

  Modelo Representacional 

  Utiliza o conceito de Relação Matemática, com base teórica em Teoria dos Conjuntos e Lógica de Predicados

   Sucessor dos modelos de dados hierárquicos e de rede

   São os mais implementados pelos SGBDs disponíveis no mercado

  Modelo Relacional 

  Conceitos: 

  Representa o banco de dados como uma coleção de relações 

  

Cada relação é formada, por sua vez, por um

conjunto de atributos e de tuplas, descrevendo os dados e suas propriedades no banco de dados

   Possibilita representar o domínio dos atributos, bem como as restrições inerentes ao banco de dados, baseadas em modelo Modelo Relacional 

  Relação: 

  Apresentada de forma tabular: tabela 

  Atributos: colunas da tabela 

  Tuplas: linhas da tabela 

  O nome da relação e seu conjunto de atributos definem um Esquema de Relação: R (A1,A2,…,An) 

  O domíno de um atributo da relação é indicado por dom(A1) 

  Formalmente, uma relação é o subconjunto do produto cartesiano dom(A1) X dom(A2) X … X dom(An) 

  

O conjunto de tuplas da relação em um dado instante descrevem o Estado da Relação Modelo Relacional 

  Relação: 

Exemplo: Candidato (Inscrição, Nome, RG_numero, RG_expedidor, RG_UF)

  Nome da relação Tuplas

  Atributos CANDIDATO Inscrição Nome RG_numero RG_expedidor RG_UF

  EST-0040 André Luiz do Vale Soares 0999717-2 SSP AM EST-0050 Flávio José Mendes Coelho 1234567-8 SSP PA EST-0060 Danielle Pompeu Noronha 1112223-3 SSP AM Modelo Relacional 

  Restrições: 

  Restrições de Estado: 

  Restrição de Domínio 

  Restrição de Chave ou em Valores Nulos 

  Restrição de Integridade de Entidade 

  Nenhum valor de Chave Primária deve ser nulo 

  Restrição de Integridade Referencial 

  Utiliza o conceito de Chave Estrangeira 

  Restrição de Integridade Semântica 

  Restrições de Transição Modelo Relacional 

  Restrições de Estado: 

  Restrição de Domínio: 

  Dentro de cada tupla, um atributo A deve ter um valor atômico dentro de dom(A).

   Por exemplo: se para um atributo RG seu domínio for “Inteiro”, não deverá ser possível atribuir um valor fora deste domínio, como “XYZ”. Modelo Relacional 

  Restrições de Estado: 

  Restrição de Chave: 

  Superchave é um subconjunto de atributos de um esquema E com a propriedade de que duas tuplas, em qualquer relação R de E, não tenham as mesmas combinações de valores para esses atributos

   T1[SK]≠T2[SK], onde SK é um subconjunto de atributos

   Garante restrição de unicidade Modelo Relacional 

  Restrições de Estado: 

  Restrição de Chave: 

  

Chave: uma chave K é uma superchave com a

propriedade adicional de, ao remover qualquer atributo A de K, o conjunto de atributos K’ restante não é mais superchave de R

   Chave e superchave mínima: Se qualquer atributo for removido, a restrição de unicidade não é mantida

   Um esquema de relação pode ter mais de uma chave

   Cada uma é chamada de chave candidata

  

Um delas é indicada como chave primária Modelo Relacional 

  Restrições de Estado: 

  Restrição de Chave: 

  Exemplos: 

  Superchaves: 

  

{RG, Nome, DataNascimento}

  {RG, Nome, Sexo} 

  {RG, Nome, DataNascimento, Sexo} 

  Chave: 

  {RG} Modelo Relacional 

  Restrições de Estado: 

  Restrição de Integridade de Entidade 

  

Dado um BD relacional com esquema S

definido como um conjunto de relações

  S = {R1, R2, ..., Rn} 

  Os atributos que compõem a chave primária PK de cada relação R em S não podem ter valores nulos em nenhuma tupla de r(R).

  

t[PK] ≠ nulo para toda tupla t em r(R) Modelo Relacional 

  Restrições de Estado: 

  Restrição de Integridade Referencial 

  

Restrição envolvendo tuplas entre duas

relações 

  Tuplas em uma relação R1 tem atributos que compõem FK (chamados chave estrangeira), que por sua vez referencia atributos chave primária PK de uma outra relação R2.

   Uma tupla t1 em R1 referencia outra tupla t2 em R2 se t1[FK] = t2[PK] Modelo Relacional 

  Restrições de Estado: 

  Restrição de Integridade Referencial 

  Exemplo: Departamento

  CodDepartamento NomeDepartamento Gerente

  Empregado

  RG Nome DataNascimento Departamento Sexo

  Dependente

  RG Nome DataNascimento Parentesco Sexo Modelo Relacional 

  Restrições de Estado: 

  Restrição de Integridade Semântica  Baseada na semântica da aplicação.  Não pode ser expressa no modelo em si. 

  Exemplos: 

  “O número máximo de horas trabalhadas por um empregado não pode ultrapassar 40 horas por semana”

   “O salário de qualquer empregado da empresa não pode ser maior do que o salário de seu supervisor direto” Modelo Relacional 

  Restrições de Transição: 

  São restrições que só podem ser validadas através da visão de dois ou mais estados do banco de dados.

   Exemplo:

   “O salário de um empregado não pode ser diminuído”. Modelo Relacional 

  Operações: 

  Duas categorias: atualização e recuperação 

  Atualização: 

  Não devem violar as restrições de integridade especificadas no esquema de banco de dados 

  Básicas: Insert , Delete e Modify 

  Recuperação: 

  Baseadas em operações da Álgebra Relacional Modelo Relacional 

  Atualizações: Ações em caso de violações 

  Cancelar a operação que causa a violação de restrições 

  Realizar a operação informando o usuário 

  

Propagar as atualizações para corrigir

violação 

  Executar um programa especificado pelo usuário para correção Modelo Relacional 

  Insert: 

  Inserção de tupla com valores de atributos inválidos: viola restrição de domínio 

  Inserção de tupla com chave já existente: viola restrição de chave 

  Inserção de tupla com chave nula: viola Restrição de integridade de entidade 

  Inserção de tupla com chave estrangeira inválida: viola restrição de integridade referencial Modelo Relacional 

  Delete: 

  Remoção de tuplas podem violar restrições de integridade referencial.

   Por exemplo: remover um departamento que tenha empregados associados através de chave estrangeira.

   Para estes casos, deve-se escolher o que fazer quando a remoção for efetuada:

   Não fazer a remoção (RESTRICT)

   Propagar a remoção para as relações associadas (CASCADE)

   Atribuir o valor NULO para os atributos componentes da chave estrangeira (SET NULL) Modelo Relacional 

  Modify: 

  Modificação de atributos não chave para valores não válidos: viola restrição de domínio 

  Modificação valor de chave primária: similar a remover tupla e inserir uma nova tupla 

  Modificação valor de chave estrangeira: pode violar restrição de integridade referencial.

   SGBD verifica se o valor da chave refere-se a alguma tupla existente na relação referida. Modelo Relacional 

  Mapeamento: 

  Utilizando um algoritmo de mapeamento, gera-se o modelo relacional a partir do modelo entidade-relacionamento

   Processo apoiado pelo uso de ferramentas

“case”, como DB-Main, ER-Win, Data Studio, Acqua, entre outras. Modelo Relacional 

  Esquema Relacional do banco de dados “Concurso”:

  Area SubArea Tipo Questao Enunciado

  Professor Inscrição Area SubArea Tipo Nota

  Banca_Membros

  Area SubArea Membro

  Provas_Candidato

  Inscrição Area SubArea Tipo

  Prova_Escrita_Questões

  Banca

  Inscrição Nome RG_Número RG_Expedidor RG_UF

  Area SubArea Presidente

  Professor

  Nome Titulação Universidade

  Prova

  Area SubArea Tipo Data

  Candidato

  Avaliação Modelo Relacional BANCA Area Subarea Presidente Computação 05.03.05 Joyce Martins Mendes Battaglia

  Computação 05.03.06 Edjair de Souza Mota Matemática 05.02.01 Denis Gabos

  05.02.01 EST-0060 Didática 8,4

  Estado do banco de dados CONCURSO PROFESSOR Nome Titulação Universidade Joyce Martins Mendes Battaglia Doutora UNIP/SP

  EST-0040 André Luiz do Vale Soares 0999717-2 SSP AM EST-0050 Flávio José Mendes Coelho 1234567-8 SSP PA EST-0060 Danielle Pompeu Noronha 1112223-3 SSP AM

  1 Prove que P = NP CANDIDATO Inscrição Nome RG_numero RG_expedidor RG_UF

  05.02.01 Escrita

  1 Fale sobre QuickSort Matemática

  2 Exemplifique modelos Computação 05.03.06 Escrita

  1 Fale sobre Modelos Computação 05.03.05 Escrita

  PROVA_ESCRITA_QUESTOES Area Subarea Tipo Questao Enunciado Computação 05.03.05 Escrita

  05.02.01 EST-0060 Escrita 9,2 Guiou Kobayashi Matemática

  PROVAS_CANDIDATO Inscrição Area Subarea Tipo EST-0040 Computação 05.03.05 Escrita EST-0040 Computação 05.03.05 Didática EST-0050 Computação 05.03.06 Escrita EST-0060 Matemática

  

Edjair de Souza Mota Computaçao 05.03.06 EST-0050 Escrita 7,0

Edjair de Souza Mota Computaçao 05.03.06 EST-0050 Didática 8,5

Denis Gabos Matemática

  05.02.01 Didática 11/12/2007 AVALIACAO Professor Area Subarea Inscrição Tipo Nota

José Luiz de Souza Pio Computaçao 05.03.05 EST-0040 Escrita 6,0

  05.02.01 Escrita 09/12/2007 Matemática

  Computação 05.03.05 Didática 05/12/2007 Computação 05.03.06 Escrita 02/12/2007 Computação 05.03.06 Didática 06/12/2007 Matemática

  05.02.01 Guiou Kobayashi PROVA Area Subarea Tipo Data Computação 05.03.05 Escrita 02/12/2007

  05.02.01 Denis Gabos Matemática

  BANCA_MEMBROS Area Subarea Membro Computação 05.03.05 Joyce Martins Mendes Battaglia Computação 05.03.05 Ernande Ferreira de Melo Computação 05.03.05 José Luiz de Souza Pio Computação 05.03.06 Edjair de Souza Mota Matemática

  05.02.01 Didática

  05.02.01 Escrita EST-0060 Matemática

  José Luiz de Souza Pio Doutor UFAM Ernande Ferreira de Melo Mestre UEA Edjair de Souza Mota Doutor UFAM Denis Gabos Doutor USP Guiou Kobayashi Doutor UF do ABC

  Modelo Relacional 

  Normalização: 

  Minimização de redundância 

  Minimização de anomalias de inserção, exclusão e atualização 

  Aliadas a outros fatores, garante um bom projeto de banco de dados

Novo documento