Bancos de Dados Aula #2 - Modelos Conceituais de Dados

Documentos relacionados
Modelos Conceituais de Dados

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

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

Conceitos Básicos de Banco de Dados

Bancos (Bases) de Dados Aula #5 - Projeto do BD Relacional pelo

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

Bancos (Bases) de Dados Aula #4 Modelo Relacional

Banco de Dados I Curso: Sistemas de Informação

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

Modelagem de dados usando MER. Andre Noel

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

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

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

Mapeamento: Modelo Entidade Relacionamento para o Modelo Relacional

Modelo Entidade-Relacionamento. Aécio Costa

Modelagem Conceitual e o Modelo Entidade-Relacionamento

Modelo Entidade-Relacionamento

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

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

Aula 3 - Modelo Entidade-Relacionamento

BANCO DE DADOS. Engenharia da Computação Univasf. Modelo Entidade-Relacionamento. Aula 2. Conjuntos de Entidades - Representação Exemplo:

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;

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE BANCO DE DADOS MODELO ENTIDADE- RELACIONAMENTO

Unidade 2 Modelo Conceitual

MODELAGEM DE DADOS PARTE 2

MER e DER Entidades Relacionamentos Atributos Ferramentas CASE Exemplos de DERs Exemplo de Minimundo. Banco de Dados. Aula 1.

O MODELO ENTIDADE RELACIONAMENTO. Tiago Alves de Oliveira

Modelo Entidade- Relacionamento

Modelagem de Dados Usando o Modelo Entidade-Relacionamento (ME-R)

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

Análise e Projeto de Sistemas I

Projeto de Banco de Dados

Computação Instrumental

Projeto de Banco de Dados

Banco de Dados I 2007 Módulo II: Modelagem Entidade- Relacionamento versus Relacional. (Aula 1) Clodis Boscarioli

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Revisando Banco de Dados. Modelo Relacional

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Capítulo 2 Modelo Entidade- Relacionamento. Prof. Mario Dantas

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

Modelagem Conceitual parte I

Fundamentos de Banco de Dados e Modelagem de Dados

Modelagem Conceitual parte I

Banco de Dados Modelagem de Dados. Prof. Joel da Silva

Modelo Relacional. Aula 02

Ciclo de Desenvolvimento de BD

Análise Estruturada. Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.

Modelagem de Dados. Modelagem Conceitual

Análise e Projeto de Sistemas

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

Apostila de Modelagem de Banco de Dados

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

Modelo Entidade Relacionamento

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 1

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

Projeto Banco de Dados

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1/64

Modelo Entidade- Relacionamento. Hugo Barros

Modelo Entidade-Relacionamento

MC536. Modelo Entidade- Relacionamento

P R O J E T O: C A R N A V A L. 2. Informações Básicas sobre o Sistema a ser Desenvolvido

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

PROJETO: CONFERÊNCIA ACADÊMICA. 2. Informações Básicas sobre o Sistema a ser Desenvolvido

Tópico: Modelagem CONTEÚDO PROGRAMÁTICO

Faculdade Ieducare. 5º Semestre Sistemas de Informação. Professor: Rhyan Ximenes. Banco de Dados II 1. Banco de Dados II

Modelo de Dados Wendel Melo

BANCO DE DADOS. Bacharelado em Sistemas de Informação MODELAGEM DE DADOS. Profº Luciano Roberto Rocha. Itararé, 2º período

Banco de Dados. Modelagem de Dados. Prof.: Salustiano Rodrigues

Extensões do Modelo Entidade-Relacionamento

Mapeamento do Modelo Entidade-Relacionamento para o Modelo Relacional

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

01 - Quais as principais vantagens da utilização de um Sistema de Banco de Dados em relação aos sistemas tradicionais de gerenciamento de arquivos?

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

Restrições de Integridade. Prof. Jefferson Silva CEFET.PHB - PI

MATA60 BANCO DE DADOS Aula 6- Mapeamento Relacional. Prof. Daniela Barreiro Claro

BANCO DE DADOS I. Prof. Luiz Antônio Vivacqua C. Meyer

PCS3413 Engenharia de Software e Banco de Dados

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

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

Banco de Dados Modelagem de Dados

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

Análise de Sistemas 2º Bimestre (material 2)

GBD PROF. ANDREZA S. AREÃO

UERJ Oscar Luiz Monteiro de Farias 1. Bancos de Dados. Mestrado em Engenharia de Computação área de concentração Geomática

BCD29008 Banco de dados

SISTEMAS DE BANCO DE DADOS CONCEITOS DE MODELAGEM CONCEITUAL DE DADOS

Projeto de Bancos de Dados

Marcelo Henrique dos Santos

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

Prof. Fabiano Taguchi

BANCO DE DADOS. TÁSSIO JOSÉ GONÇALVES GOMES

MODELAGEM DE DADOS UNIDADE 2 Projeto de Banco de Dados. Luiz Leão

O que é modelo lógico. Tipos de modelo

Modelagem de Dados. Abordagem Entidade-Relacionamento - Conceitos

Prof. Fabiano Taguchi

Transcrição:

Bancos de Dados Aula #2 - Modelos Conceituais de Dados Prof. Eduardo R. Hruschka * Slides baseados no material elaborado pelas professoras: Cristina D. A. Ciferri Elaine P. M. de Souza

Motivação Objetivo da abordagem de BD: oferecer abstração dos dados; separar aplicações dos usuários dos detalhes de hardware; ferramenta utilizada: modelo de dados Modelo de dados: conjunto de ferramentas conceituais para a descrição: dos dados; dos relacionamentos existentes entre os dados; da semântica e das restrições que atuam sobre os dados / relacionamentos. 2

Categorias de Modelos de Dados Divisão baseada nos tipos de conceitos oferecidos para descrever a estrutura do BD; Modelo de dados conceitual: modelo de alto nível; oferece conceitos próximos aos conhecidos pelos usuários; exemplo: modelo entidade-relacionamento (MER). 3

Categorias de Modelos de Dados Modelo de dados de implementação: oferece conceitos que podem ser facilmente utilizados por usuários finais; tais conceitos não estão distantes da maneira na qual os dados estão organizados dentro do computador. é implementado de maneira direta; exemplo: modelo relacional. Modelo de dados físico: modelo de baixo nível; descreve como os dados estão armazenados fisicamente no computador. 4

Modelo de Dados e o Projeto de BD independe do SGBD depende do SGBD Mini-mundo conjunto de necessidades esquema conceitual esquema em linguagem de implementação análise de projeto mapeamento projeto requisitos conceitual para modelo físico Modelo Entidade Relacionamento (MER) Mapeamento MER - Modelo Relacional Modelo Relacional 5

Projeto de BD Análise de requisitos: entrevistas a usuários de BD; documentação do sistema. Projeto conceitual: utiliza modelo de dados de alto nível; descreve de maneira concisa as necessidades dos usuários; inclui descrições detalhadas dos tipos de dados, relacionamentos e restrições; é fácil de ser entendido. 6

Projeto de BD... Mapeamento para modelo: tradução do esquema conceitual em uma linguagem de alto nível para uma linguagem de implementação. Projeto físico: especificação de estruturas internas de armazenamento; especificação das formas de organização de arquivos para o BD. 7

Modelo Entidade-Relacionamento (MER) Características foi desenvolvido para facilitar o projeto lógico do BD; permite a representação da estrutura lógica global do BD; é um dos modelos de dados com maior capacidade semântica; representa um problema como um conjunto de entidades e relacionamentos entre estas entidades; Diagrama de Entidades-Relacionamentos (DER). 8

Entidade Qualquer coisa do mundo real envolvida no problema; Possui existência independente; Pode ser um objeto com: existência física: uma pessoa, um carro; existência conceitual: uma companhia, um emprego, um curso, etc. Descrita por propriedades particulares: atributos. 9

Atributos Caracterizam uma entidade ou um relacionamento. exemplo: tipo-entidade cliente atributos: Domínio de um atributo: nome_cliente endereço_cliente data_nascimento conjunto de valores possíveis para o atributo; pode assumir valor nulo (i.e., null); exemplos: nome_cliente: varchar(50) data_nascimento: date 10

Exemplos Tipo-entidade cliente atributos: nome_cliente, endereço_cliente, data_nascimento entidade e 1 : nome_cliente: Márcia endereço_cliente: Rua X, 1 data_nascimento: 12/03/1970 entidade e 2 : nome_cliente: Romualdo endereço_cliente: Rua Floriano Peixoto, 10 data_nascimento: 10/10/1982 11

Classificação dos Atributos Simples versus Compostos atributo simples ou atômico: não pode ser decomposto (dividido) em atributos mais básicos; exemplo: sexo {M, F} atributo composto: pode ser decomposto (dividido) em atributos mais básicos; possui como valor a concatenação dos valores dos atributos simples que o formam; exemplo: atributo endereço: nome_rua, nro_casa, complemento, nome_bairro,... 12

Classificação dos Atributos Monovalorados versus Multivalorados: atributo monovalorado: possui um único valor para cada entidade; exemplo: idade. atributo multivalorado: possui múltiplos valores para cada entidade; exemplo: atributo telefone (222-0000, 222-0001,...) pode possuir limites inferior/superior com relação à multiplicidade dos valores assumidos exemplo: nro_min = 0, nro_max = 3 13

Classificação dos Atributos Armazenado versus Derivado atributo armazenado: está realmente armazenado no BD; atributo derivado: pode ser determinado através de outros atributos ou através de entidades relacionadas. exemplos: idade = data_atual - data_nascimento; nro_empregados = soma de entidades ; pode ou não ser armazenado no BD. 14

Tipo-Entidade Conjunto de entidades do mesmo tipo; Descrito por um nome e uma lista de atributos; entidades de um tipo-entidade (conjunto de entidades): compartilham os mesmos atributos; possuem seus próprios valores para cada atributo; Exemplo: os empregados de uma empresa são as entidades de um tipo-entidade denominado Empregado. É usual se referir ao conjunto de todas as entidades pelo mesmo nome do tipo-entidade, e.g. Empregado. 15

Representação CPF_empregado EMPREGADO tipo-entidade: Empregado nome_empregado endereço_empregado entidades (instâncias) CPF_empregado: 192876433-0 nome_empregado: Maria endereço_empregado: Rua X CPF_empregado: 150150150-0 nome_empregado: José endereço_empregado: Rua Y 16

Restrição de Chave Chave primária: Conjunto mínimo de atributos que identificam de maneira única uma determinada entidade; Escolhida pelo projetista do BD como o principal meio de identificação de um tipo-entidade; Principal meio de acesso a uma entidade. Exemplo: CPF_empregado EMPREGADO nome_empregado endereço_empregado 17

Relacionamento e Tipo-relacionamento Quando um atributo de uma entidade x refere-se a um atributo da entidade y há um relacionamento; Relacionamento: associação entre entidades. Tipo-relacionamento: conjunto de relacionamentos do mesmo tipo. Exemplo: Empregado trabalha para Departamento Trabalha para 18

Exemplo de relacionamento Empregado: nome, CPF, sexo, endereço, data de nascimento, nome do departamento. Departamento: nome, número, gerente. Relacionamentos: r 1 ={e 1,d 2 }; r 2 ={e 2,d 3 }; r 3 ={e 3,d 2 }; r 4 ={e 4,d 1 }; etc. Empregados e 1 e e 3 trabalham no mesmo departamento (d 2 ). Tipo-Relacionamento é o conjunto de associações (relacionamentos) individuais entre entidades particulares. Cada instância de relacionamento r i inclui exatamente uma entidade de cada Tipo-entidade. 19

Restrições nos Tipos-Relacionamento Limitam as combinações possíveis de entidades que podem participar dos tipos-relacionamento; Derivadas do minimundo sendo analisado: Exemplos: Um empregado deve necessariamente trabalhar para algum departamento; Um empregado não precisa ser, necessariamente, um gerente. Restrições estruturais: Cardinalidade; Participação. 20

Restrição de Cardinalidade Determina o número máximo de instâncias de relacionamento em que uma entidade pode participar; Cardinalidades: um-para-um ( 1 : 1 ) 1 empregado gerencia no máximo 1 departamento; 1 departamento é gerenciado por no máximo 1 empregado. um-para-muitos ( 1 : N ) - ou alternativamente (N : 1) 1 departamento emprega N (N {0,1,...}) funcionários; 1 funcionário trabalha para (no máximo) 1 departamento. muitos-para-muitos ( M : N ) 1 departamento emprega N funcionários (N {0,1,...}); 1 funcionário trabalha em M departamentos (M {0,1,...}). 21

Representação da Restrição de Cardinalidade EMPREGADO 1 1 gerencia DEPARTAMENTO EMPREGADO N 1 trabalha DEPARTAMENTO EMPREGADO M desenvolve N PROJETO 22

Restrição de Participação Determina se a existência de uma entidade depende ou não do fato dela participar de um relacionamento; Tipos de participação: Total: EMPREGADO N 1 trabalha DEPARTAMENTO Parcial: EMPREGADO 1 1 gerencia DEPARTAMENTO 23

Exercício Diferencie semanticamente as duas modelagens representadas a seguir: a) FUNCIONÁRIO cod_funcionário nome_funcionário nro_telefone b) FUNCIONÁRIO m utiliza n TELEFONE cod_funcionário nro_telefone nome_funcionário 24

Grau de Tipo-Relacionamento Grau de um tipo-relacionamento: número de tipos-entidade participantes; Unário (ou recursivo): relaciona um tipo-entidade com ela mesma; indicado utilizar nome de papel (ajuda a explicar o significado do relacionamento): EMPREGADO N subordinado 1 supervisor supervisiona 25

Um pouco mais sobre os papéis... Cada conjunto de entidades que participa de um conjunto de relacionamentos tem um PAPEL neste; Indicação opcional, mas que pode facilitar entendimento da modelagem: Matrícula Pessoa Matricula Disciplina Matriculada em 26

Um pouco mais sobre os papéis... Indicação de papéis deve ser feita sempre que houver ambigüidade na interpretação do conjunto de relacionamentos. Contrata Contratado por Empresa Contrata Curso Contratada por Contrata?? 27

Um pouco mais sobre os papéis... Auto-Relacionamento: um mesmo conjunto de entidades desempenha mais de um papel num mesmo conjunto de relacionamentos. tem pré-requisito Pré - Requisito Disciplina é pré-requisito 28

Grau de Tipo-Relacionamento... Binário: relaciona um tipo-entidade a outro tipo-entidade; grau de relacionamento mais utilizado. Exemplo: EMPREGADO M desenvolve N PROJETO 29

Grau de Tipo-Relacionamento... Ternário: relaciona três tipos-entidade. Exemplo: CLIENTE M CCA N CONTA 1 AGÊNCIA 30

Relacionamentos Ternários Regra para a determinação das multiplicidades: fixa-se dois elementos (dois tipos-entidade); verifica-se quantos elementos do outro tipo-entidade podem surgir com relação a um elemento de cada tipo- entidade fixada; se a quantidade for indeterminada ou variável: então considera-se N; senão considera-se 1. 31

Relacionamentos Ternários... Dado um professor e uma disciplina, pode existir uma quantidade variável (0,1,...,N) de alunos monitores para esta. Aluno N Monitora Disciplina? Professor 32

Relacionamentos Ternários... Dado um professor e um aluno monitor, existe no máximo uma disciplina que esse aluno monitora. Aluno N Monitora 1? Professor Disciplina 33

Relacionamentos Ternários... Dada uma disciplina e um aluno monitor, a quantidade de professores no relacionamento é variável. Aluno N 1 Monitora? N Professor Disciplina 34

Relacionamentos Ternários... Um relacionamento ternário em geral representa informações diferentes das dos três tiposrelacionamento binários: DEPARTAMENTO 1 DEP N EMPREGADO DEP 001 JOSÉ P03 1 PROJETO 35

Relacionamentos Ternários... DEPARTAMENTO 1 N emprega EMPREGADO 1 N desenvolve 1 PROJETO 1 trabalha emprega trabalha desenvolve 001 JOSÉ JOSÉ P03 P03 004 Decisão: depende da semântica do problema. Departamentos diferentes! 36

Atributo de Tipo-Relacionamento Tomemos como motivação o exemplo abaixo: Pessoa Matricula Disciplina Nome No. USP Sigla Nome Número Créditos Onde inserir um atributo relativo à nota? 37

Atributo de Tipo-Relacionamento... Se fosse um atributo de Pessoa, cada pessoa teria uma nota única para qualquer disciplina. Pessoa Matricula Disciplina Nome No. USP Nota Sigla Nome Número Créditos 38

Atributo de Tipo-Relacionamento... Se fosse um atributo de Disciplina, todas as pessoas matriculadas numa disciplina teriam a mesma nota. Pessoa Matricula Disciplina Nome No. USP Nota Sigla Nome Número Créditos 39

Atributo de Tipo-Relacionamento... Solução: inserir nota em Matricula. Pessoa Matricula Disciplina Nome No. USP Nota Sigla Nome Número Créditos 40

Atributo de Tipo-Relacionamento... Valor determinado pela combinação das entidades participantes em uma instância do relacionamento. Outro exemplo: horas_trabalhadas EMPREGADO M desenvolve N PROJETO CPF_empregado nome_empregado nro_projeto nome_projeto 41

Exercício Dados os tipos-entidade curso e disciplina: atributos de curso: código_curso, nome_curso; atributos de disciplina: código_disciplina, nome_disciplina, carga_horária. Faça duas diferentes modelagens, de acordo com as especificações a seguir: uma disciplina é obrigatória ou optativa, independentemente do curso (modelagem 1); uma disciplina pode ser obrigatória para um curso e optativa para outro curso (modelagem 2). 42

Tipo-Entidade Fraca Entidades de um tipo-entidade fraca: não podem ser distinguíveis porque a combinação dos valores de seus atributos pode ser idêntica; são identificadas através da relação que possuem com entidades pertencentes a tipos-entidade forte (identificador, proprietário, pai, dominante); Representa dependência de existência: um tipo-entidade fraca (filho, subordinado) sempre tem uma restrição de participação total com respeito ao relacionamento identificador. 43

Dependência de Existência Se uma entidade x depende da existência de uma entidade y, então: x : entidade subordinada; y : entidade dominante. Se y for removida então x também deve ser removida. Exemplos: empregado e dependente; conta e transações. 44

Tipo-Entidade Fraca Entidade forte: tem chave primária. Entidade fraca: possui somente uma chave parcial; Chave primária de uma entidade fraca chave primária da entidade forte correspondente + chave parcial da entidade fraca 45

Representação EMPREGADO 1 N possui DEPENDENTE CPF_empregado nome_dependente nome_empregado sexo_dependente Chave primária de empregado: CPF_empregado; Chave primária de dependente: CPF_empregado + nome_dependente. Entidade fraca (subordinada): Dependente; Entidade forte (dominante): Empregado. 46

Resumo da Notação tipo entidade forte atributo multivalorado tipo entidade fraca tipo relacionamento identificador de relacionamento atributo... E 1 R E 2 atributo derivado atributo composto participação total de E 2 em R atributo chave E 1 1 R N E 2 cardinalidade 1:N 47

Exemplo: CPF_empregado nome_empregado 1 supervisor EMPREGADO 1 gerencia 1 N trabalha 1 sigla_depto nome_depto DEPARTAMENTO N subordinado 1 M data_início N supervisiona possui desenvolve controla M N N DEPENDENTE horas_trabalhadas PROJETO nome_dependente sexo_dependente nro_projeto nome_projeto 48

Projeto Lógico de BD Identificar tipos-entidade e atributos: tipos-entidade possuem informações descritivas; atributos devem ser relacionados às entidades que eles descrevem. Identificar chaves primárias; Identificar tipos-relacionamento e seus atributos: determinar o grau dos tipos-relacionamento; identificar as restrições que se aplicam sobre cada tiporelacionamento: Cardinalidade; Participação. Identificar tipo-entidade forte e tipo-entidade fraca. 49

Exercícios 1. Projetar um DER para um BD que mantém controle dos times e jogos de um campeonato. Assumir que: a) não necessariamente todos os jogadores de um time participam de todos os jogos; b) se deseja controlar quais jogadores participaram de quais jogos; c) se deseja armazenar os resultados dos jogos. 50

Exercícios... 2. Projetar um BD para uma instituição financeira (I) cujas características são: a) I é organizada em agências. Cada agência está localizada numa cidade e tem um nome. Seus ativos são monitorados por I. b) Clientes são identificados por um número. I armazena para cada cliente: nome, rua, cidade. Clientes podem ter contas e fazer empréstimos. Um cliente pode ter um gerente pessoal. c) Para cada funcionário de I são armazenados: número, nome, telefone, dependentes, número de seu gerente, data de admissão. d) Cada cliente de I pode possuir mais de uma conta, e cada conta pode possuir mais de um cliente. Cada conta recebe um número. I mantém controle sobre o saldo de cada conta e sobre a data de seu último acesso. e) Cada empréstimo tem um número e se origina numa agência, podendo ser mantido por mais de um cliente. I controla os pagamentos efetuados para cada empréstimo. 51