Revisão e Exercícios. Relacionamento. Projeto de Bancos de Dados. Chave e Domínio. Tipos de Atributos

Documentos relacionados
Modelo Entidade-Relacionamento

Modelo Relacional. Relacionamento. Processo de Projeto de. Programa. Modelo Entidade Relacionamento

MATA60 BANCO DE DADOS Aula 5- Modelo Relacional. Prof. Daniela Barreiro Claro

Bancos (Bases) de Dados Aula #4 Modelo Relacional

MODELO DE BANCO DE DADOS RELACIONAL

Sistemas de Banco de Dados Prof. Flávio de Oliveira Silva, M.Sc. O esquema de uma relação é escrito da seguinte forma:

Modelo Entidade Relacionamento

Modelo Entidade Relacionamento

Modelo Entidade Relacionamento

Modelo de Dados Relacional

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

Modelo Entidade-Relacionamento. Aécio Costa

Banco de Dados. Aula 3 - Prof. Bruno Moreno 26/08/2011

Banco de dados. Conteúdo: Modelo relacional Prof. Patrícia Lucas

INTRODUÇÃO AO MODELO RELACIONAL

18/03/2012. Independência de Dados: capacidade de modificar a definição dos esquemas em. determinado nível, sem afetar o esquema do nível superior;

Introdução. Modelo de dados conceitual para o projeto de BD

Introdução ao Modelo Relacional

Restrições do modelo relacional

Modelo Entidade- Relacionamento (MER) Adão de Melo Neto

O que é modelo lógico. Tipos de modelo

Modelagem Conceitual e o Modelo Entidade-Relacionamento

Modelo Relacional. Banco de Dados 2º trimestre Prof. Patrícia Lucas

MC536. Modelo Relacional

BANCO DE DADOS I/MODELAGEM DE DADOS Prof. Ricardo Rodrigues Barcelar

SISTEMA DE INFORMAÇÃO Modelo Conceitual. Prof. Luiz Fernando Laguardia Campos FMS

Sistemas de Informação e Bases de Dados 2012/2013. Modelo Relacional. Alberto Sardinha 2012 IST

Bancos de Dados Aula #2 - Modelos Conceituais de Dados

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade.

Parte II Modelo de Dados Relacional. Evandro E. S. Ruiz

Modelo Relacional Prof. Msc Denival A. dos Santos

Modelo Lógico de Dados. Modelo Relacional

Bases de Dados. Parte III. O Modelo Relacional

MC536. Modelo Entidade- Relacionamento

Modelo Relacional. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012

Revisando Banco de Dados. Modelo Relacional

Modelagem semântica permite aproximar o modelo obtido do mundo real Exemplo de modelos:

MODELO RELACIONAL Prof.: Jacson Tiola Técnico em Redes de Computadores

Unidade 2 Modelo Conceitual

Modelo de dados relacional e as restrições de um BD relacional

Modelagem de dados usando MER. Andre Noel

Aula 4 SBD Modelo Entidade Relacionamento Parte 2. Profa. Elaine Faria UFU

Abordagem relacional. Capítulo 4

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO PROJETO DE BANCO DE DADOS RELACIONAL. Profº Erinaldo Sanches Nascimento

Bancos de Dados. 7. Mapeamento ER/ERE para Relacional

Computação Instrumental

Modelo Entidade-Relacionamento DCC011. Modelo Entidade-Relacionamento. Processo de Projeto de Bancos de Dados

Bibliografia. Bases de Dados 2012/2013 Modelo Relacional. Helena Galhardas. Raghu Ramakrishnan, Database Management Systems, Cap. 3 10/2/ IST

Modelo Relacional Wendel Melo

Fundamentos de Banco de Dados e Modelagem de Dados

GEE051 - Banco de Dados Projeto de BD Projeto Conceitual. Ilmério Reis da Silva UFU/FACOM /2

IEC Banco de Dados I Aula 08 Modelo E. E. R.

MODELAGEM DE DADOS UNIDADE 4 Modelo Entidade-Relacionamento. Luiz Leão

MODELAGEM DE DADOS -PROJETO CONCEITUAL DE BD. Prof. Angelo Augusto Frozza, M.Sc.

Banco de Dados. Aula 7 - Prof. Bruno Moreno 13/09/2011

Modelo de Dados Relacional

2. Revisão e Dicas de Modelagem Conceitual

Conceitos Básicos de Banco de Dados

Modelo Entidade Relacionamento Estendido (ERE)

Prof. Fabiano Taguchi

Tornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance.

DCC011 Revisão: Modelagem de Dados

Modelagem Entidade Relacionamento Estendida. Evandro E.S. Ruiz, Ph.D.

Unidade 3 23/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

DCC011 Introdução a Banco de Dados. Construindo o Esquema. 1. Propriedades de Modelos ER. Construindo Esquema Conceitual

Banco de Dados. Modelo de Dados Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai DCC-IME-USP

SUMÁRIO. Introdução Modelo de Dados Esquema Geral de Modelagem de BD; ME-R: Conceitos gerais; DE-R Representação e exemplos.

MODELAGEM DE DADOS PARTE 2

Aula 7 SBD ER para Relacional. Profa. Elaine Faria UFU

Modelo de Dados Wendel Melo

Informática. Banco de Dados Relacional. Professor Julio Alves.

BANCO DE DADOS II SQL Básico. COTEMIG Gerson Borges

Retrospectiva (Aula 2) O Modelo Entidade-Relacionamento. O Modelo Entidade- Relacionamento. O Modelo Entidade- Relacionamento

Ciclo de Desenvolvimento de BD

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

MODELAGEM DE DADOS. Projeto de Banco de Dados Modelo Conceitual. Prof. Rosemary Melo

Modelo Relacional Wendel Melo

BANCO DE DADOS E APLICAÇÕES EM NEGÓCIOS: Modelagem usando o Modelo Entidade Relacionamento. Evandro Eduardo Seron Ruiz, Ph.D.!

Projeto de Banco de Dados

Projeto de Banco de Dados

Banco de Dados I (MAB489)

Projeto Banco de Dados

Modelo Relacional. Aula 02

Análise e Projeto de Sistemas I

modelo introduzido por E. F. Codd Meados da década de 70: protótipos. INGRES (UC Berkeley, 73 77) System R (IBM Research at San Jose, 74 78)

Prof.: Clayton Maciel Costa

Análise e Projeto de Sistemas

Banco de Dados. André Luís Duarte Capítulo 2. exatasfepi.com.br

GBD PROF. ANDREZA S. AREÃO

MODELAGEM DE DADOS PARTE 1

Banco de Dados. Modelo Entidade Relacionamento. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger

Modelagem de Dados. Modelagem Conceitual

GES013 Sistema de Banco de Dados. Modelo Relacional (R) Ilmério Reis da Silva ilmerio arroba ufu.br UFU/FACOM

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

Modelagem de Dados MODELAGEM DE DADOS. Projeto de Banco de Dados Modelo Conceitual. Profa. Rosemary Melo

Banco de Dados. Aula 4 - Prof. Bruno Moreno 02/09/2011

Banco de Dados I 3 Modelagem de Dados Lógico e Físico

Modelagem de Dados MODELAGEM DE DADOS. Projeto de Banco de Dados Modelo Conceitual. Profa. Rosemary Melo

Transcrição:

Projeto de Bancos de Dados Mini Mundo DCC011 Revisão e Exercícios Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br Independente de SGBD Específico para um SGBD Análise de Requisitos Requisitos it Funcionais i Requisitos it do BD Análise Funcional Projeto Conceitual Especificação das Transações Esquema Conceitual (em alto nível) (em um modelo de dados de alto nível) Projeto das Aplicações Projeto Lógico Esquema Lógico (em um modelo de dados lógico) Projeto Físico Implementação Esquema Físico (para um SGBD específico) Programas 2 Modelo Entidade Relacionamento 1. Entidades, atributos 2. Relacionamentos 3. Restrições sobre relacionamentos 4. Papéis e relacionamentos recursivos 5. Entidade fraca 6. Generalização e especialização 7. Restrições sobre Hierarquias de Especialização/Generalização 1. Entidades, atributos Entidades Objetos do mundo real que são de interesse para alguma aplicação Atributos Propriedades para descrever uma entidade 4 Tipos de Atributos Simples ou compostos Ex. Endereço Monovalorados ou multivalorados l Ex. Profissão Armazenados ou derivadosd Data de Nascimento Idade, Empregados trabalhando no departamento t NumeroDeEmpregados Valores Null Não aplicável: Número do apartamento Desconhecido: Telefone de casa Endereço End_Rua Cidade Estado CEP Rua Nro Apto Chave e Domínio Chave de um tipo de entidade Atributo que possui valor único para cada entidade (instância) Ex. Nome da companhia, identidade do empregado Chave pode ser formada por vários atributos: chave composta Registro do Veiculo: Numero de Registro e Estado Domínio de um atributo Conjunto de valores que podem ser atribuídos a um atributo para cada entidade individualmente Ex. Idade do Empregado: (16, 70); Nome do Empregado:String 5 6

2. Relacionamentos Associações entre duas ou mais entidades distintas (instâncias) com um significado Exemplo: Empregado John Smith trabalha para Departamento pesquisa Empregado Fred dbrown gerencia Departamento t pesquisa Departamento pesquisa controla Projeto X Figura 3.9 Algumas instâncias do conjunto de relacionamento TRABALHA_PARA, que representa um tipo relacionamento TRABALHA_PARA entre EMPREGADO e DEPARTAMENTO. 7 8 3. Restrições sobre relacionamentos Limitam as possíveis combinações de entidades que podem participar no conjunto de relacionamentos Cardinalidade: número de instâncias de um tipo de relacionamento do qual uma entidade d pode participar i Participação: se a existência de uma entidade depende de seu relacionamento com outra entidade d através de um tipo de relacionamento parcial ou total Ex. Todo empregado deve trabalhar p/ um departamento (total) Ex. Nem todo empregado gerencia um departamento (parcial) Cardinalidade d + Participação i Restrições Estruturais t Figura 3.12 Relacionamento GERENCIA 1:1 9 10 4. Papéis e Relacionamentos Recursivos Entidades atuam com um determinado papel Significado do papel é dado por um nome, atribuído a cada tipo de entidade Nomes só são necessários em tipos de relacionamento que envolvam mais de uma vez o mesmo tipo de entidade relacionamentos recursivos Exemplo: Supervisão, onde Empregado tem os papéis de Supervisor e Subordinado Figura 3.13 Relacionamento TRABALHA_EM, M:N 11 12

5. Entidade Fraca todo E trabalha_para 1 D todo D trabalha_para N E Tipos de entidade d que não têm chave própria As instâncias são identificadas através do relacionamento com entidades d de outro tipo, chamado de dono ou identificador, juntamente com os valores de alguns atributos (chave parcial) Exemplo: Dependente um E supervisiona 1 E p um E supervisor N E Esquema conceitual um E gerencia 1 D todo D gerencia 1E M um D controla NP todo P controla 1 D 13 14 6. Especialização e Generalização 7. Restrições sobre Hierarquias de Especialização/Generalização Especialização Processo de definição de um conjunto de sub classes (sub tipos) de um tipo de entidade Generalização Processo de definição de um tipo de entidade genérico (super classe ou super tipo) a partir de um conjunto de tipos de entidade Exemplo: {secretária, engenheiro, técnico} é uma especialização de Empregado; ou Empregado é uma generalização de {secretária, engenheiro, técnico} Definida id por atributo ou usuário Disjução: Sub classes podem ser disjuntas ou sobrepostas Completude: A cobertura da super classe em relação às sub classes pode ser total ou parcial Restrições possíveis: Disjunta/Total Disjunta/Parcial Sobreposta/Total Sobreposta/Parcial 15 16 d = disjunção Um Empregado é Secretária OU Técnico OU Engenheiro o = sobreposição Uma peça é fabricada E/OU fornecida Figura 4.4 4 Notação do diagrama EER para uma especialização definida por atributo em TipoTrabalho. Figura 4.5 Notação de diagrama EER para uma especialização sobreposta (não disjunta). 17 18

TOTAL TODO Empregado é Assalariado OU Horista Restrições sobre Hierarquias de Especialização/Generalização Hierarquia Toda sub classe participa como uma sub classe em apenas um relacionamento classe/sub classe Reticulado lattice, herança múltipla, grade de especialização Uma sub classe pode participar i em mais de um relacionamento classe/sub classe Figura 4.1 Notação de diagrama EER para representar as subclasses e a especialização. 19 20 IMPORTANTE 21 Figura 4.7 Um reticulado de especialização, com herança múltipla, para um banco de dados UNIVERSIDADE. Modelo Conceitual CONCEITOS, ABSTRAÇÕES ENTIDADE, ATRIBUTO, RELACIONAMENTO Piloto, equipe, país, circuito, corrida Piloto representa País Equipe sede em País SE país é uma entidade; Piloto e equipe possuem atributo País? Mas a especificação diz!!!!???? N modelos conceituais para um cenário Modelo tem APENAS o que está na especificação Restrições, exceções, peculiaridades, viagem na maionese: OUTRO MODELO Pecar por excesso x Pecar por falta 22 Processo de Projeto de Bancos de Dados Requisitos de Dados Modelo Relacional (3 rd ed: 7.1 7.2; 5 th ed: 5.1 5.2) 1. Introdução 2. Conceitos do Modelo Relacional 3. Restrições de Integridade Básicas 4. Esquema do BD Relacional 5. Restrições de Integridade do Esquema 6. Operações sobre Relações 7. Violações de Restrições Independente de SGBD SGBD Específico Esquema Conceitual Modelo de dados de alto nível Esquema Lógico (Conceitual) em um modelo de dados de um SGBD específico DCC011 profa. 24 Mirella M. Moro

1. Introdução O modelo relacional representa um banco de dados como um conjunto de relações Informalmente uma relação = uma tabela de valores 2. Conceitos do Modelo Relacional Linhas de uma relação (tabela) = tuplas Cabeçalho de cada coluna = atributo Conjunto de valores que pode aparecer em cada coluna = domínio cada linha representa uma coleção de dados relacionados cada linha de uma tabela representa um fato que tipicamente corresponde a uma entidade ou relacionamento do mundo real Figura 7.1 Os atributos e as tuplas de uma relação ALUNO. 25 26 3. Restrições de Integridade Básicas Restrições de domínio Especificam que o valor de cada atributo A de uma relação deve ser um valor atômico do domínio dom(a) Restrições de chave Um esquema de relação pode ter mais de uma chave chaves candidatas Dentre as chaves candidatas de um esquema de relação, uma delas é indicada como chave primária e as demais constituem as chaves alternativas Restrições em valores null Especifica se a um atributo é permitido ter valores null Exemplo: todo Aluno deve ter um nome válido, não null 4. Esquema de um BD Relacional Um esquema de BD relacional S define: um conjunto de esquemas de relação R = {R 1, R 2,..., R n }, e um conjunto de restrições de integridade I S = (R, I) 27 28 5. Restrições de Integridade do Esquema Restrição de integridade de entidade Nenhum componente de uma chave primária pode ser nulo Restrição de integridade referencial Usada para manter a consistência entre tuplas de duas relações Uma tupla em uma relação que se refere a outra relação deve referenciar uma tupla existente nesta outra relação Aparecem devido aos relacionamentos entre entidades Figura 7.7 Restrições de integridade referencial exibidas no esquema de um banco de dados relacional EMPRESA. 29 30

Notação NomeTabelaPrincipal 6. Operações sobre Relações Chave Atributo 1 Atributo n NomeTabelaReferenciada Atributo 1 Atributo n Chave NomeTabelaPrincipal (Chave, Atributo1,..., AtributoN) AtributoN referencia NomeTabelaReferenciada NomeTabelaReferenciada (Chave, Atributo1,..., AtributoN) As operações sobre um BD relacional podem ser classificadas em: Operações de recuperação (consulta) Operações de atualização Operações de atualização (sobre tuplas): Inserção (insert) Remoção (delete) Modificação (update) Em qualquer operação, a integridade da base de dados relacional deve ser mantida 31 32 7. Violação de Restrições Violação de Restrições Restrições de integridade não podem ser violadas!!! Inserção Restrição de Domínio: valor fora do domínio Restrição de Chave: valor já existe Restrição de integridade de entidade: se chave for null Restrição de integridade referencial: se chave estrangeira referencia tupla inexistente Ação default: rejeitar inserção (com explicação) Remoção Tupla excluída é referenciada por chaves estrangeiras Ação default: bloqueia/rejeitar a remoção (com explicação) OUTRAS OPÇÕES???? Propagar remoção de tuplas que violem uma restrição de integridade referencial Efeito cascata Modificar o valor da chave estrangeira para nulo 33 34 Violação de Restrições Notação NomeTabelaPrincipal Modificação Modificar o valor de um atributo que não é chave primária ou estrangeira não causa problemas (se o valor for do domínio, e, se for null, que este valor seja permitido) Modificar a chave primaria é igual a excluir uma tupla e inserir outra Modificar chave estrangeira: SGBD deve verificar se novo valor do atributo referencia tupla existente Chave Atributo 1 Atributo n p NomeTabelaReferenciada Atributo 1 Atributo n Chave NomeTabelaPrincipal (Chave, Atributo1,..., AtributoN) AtributoN referencia NomeTabelaReferenciada por propagação NomeTabelaReferenciada (Chave, Atributo1,..., AtributoN) 35 36