Depois de obtido o diagrama E/A há que estabelecer o esquema relacional correspondente.



Documentos relacionados
Construir um modelo de dados é: - Identificar, Analisar e Registar a política da organização acerca dos dados

Obrigatoriedade de participação de uma entidade numa associação. Uma entidade pode participar numa associação de duas formas:

INF Fundamentos de Banco de Dados Exercícios sobre normalização

Modelo de Entidade e Relacionamento (MER) - Parte 07

Ciclo de vida de um banco de dados relacional

ENGENHARIA DA COMPUTAÇÃO

Computadores e Sistemas de Informação. Bases de Dados Relacionais (linguagem SQL)

- O atributo Cursos contém valores não atómicos!!!

Capítulo 11. Conceitos de Orientação a Objetos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Banco de Dados Modelo Conceitual, Lógico, Físico, Entidade- Relacionamento (ER) Hélder Nunes

EXAME DE 1ª ÉPOCA Semestre de Verão 2004/ Junho 2005 duração: 2h30m

ferramentas de produtividade

MANUAL DO UTILIZADOR

Prof.: Clayton Maciel Costa

Rock In Rio - Lisboa

O Manual do ssc. Peter H. Grasch

1) O QUE NÃO É BANCO DE DADOS?

Descreve relacionamentos entre objetos de dados; conduz à modelagem de dados; atributos de cada objeto => Descrição de Objetos de Dados;

Curso Superior em Tecnologia de Análise e Desenvolvimento de Sistemas. Campus Alegrete. Banco de Dados I. Cristhiano Bossardi de Vasconcellos.

Modelo Entidade-Relacionamento

MC536 Bancos de Dados: Teoria e Prática

Conjunto de objetos da realidade modelada sobre os quais deseja-se. dados.

Orientação a Objetos

Modelo Entidade-Relacionamento

Tarefa Orientada 14 Subconsultas

Disciplina: Unidade III: Prof.: Período:

Modelagem de dados usando o modelo BANCO DE DADOS 1º TRIMESTRE PROF. PATRÍCIA LUCAS

Simulado Banco de Dados I Bimestre 1 Capítulo 1 Projeto Lógico de Banco de Dados

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br. Aula 3. Prof. Rafael Dias Ribeiro.

O Modelo de Entidades e Relacionamentos (MER) é um modelo conceitual usado para projeto de aplicações de banco de dados.

Microsoft Access Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento

EXERÍCIOS DE MODELAGEM DE BANCO DE DADOS

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Modelo Relacional. Aécio Costa

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

Especificação de Requisitos

MICROSOFT ACCESS MICROSOFT ACCESS. Professor Rafael Vieira Professor Rafael Vieira

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento

Profa. Daniela Barreiro Claro

Engenharia de Software. Diagramas de Entidade- Relacionamento (E-R) Estruturação de dados

Sistema de Informação Integrado da Universidade de Évora

Modelagem Conceitual Exercício resolvido 02 Modelagem Conceitual

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores

Conceitos Básicos de Banco de Dados

Sistema de Informação de Licenciamento de Operações de Gestão de Resíduos

Propriedades de entidades

Sistemas de Informação

Lista de exercícios 01

Diagrama de Entidade Associação ou Relacionamento

Projeto de Banco de Dados

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

1. Desenvolva o Diagrama Entidade-Relacionamento para as seguintes situações:

Feature-Driven Development

Modelo Relacional. Modelo Relacional. Tabelas

UML (Unified Modelling Language) Diagrama de Classes

Base de Dados para Administrações de Condomínios

GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática

Projeto Conceitual (geralmente no modelo E-R):

Plataforma de Benefícios Públicos Acesso externo

descreve relacionamentos entre objetos de dados; conduz à modelagem de dados; atributos de cada objeto => Descrição de Objetos de Dados;

Roteiro. Modelagem de Dados: Usando o Modelo Entidade-Relacionamento. BCC321 - Banco de Dados I. Processo de Projeto de Banco de Dados.

Prof.: Clayton Maciel Costa

Arquitetura de Rede de Computadores

BANCO DE DADOS. Fixação dos conteúdos Integridade Referencial Normalização Exercícios

Todos os imóveis são comprados pela imobiliária para, então, serem colocados a venda.

Guia para a declaração de despesas no Programa SUDOE

Desenvolvimento de uma base de dados. Relação. Modelo lógico: SGBD relacional

Tecnologias e Linguagens para Banco de Dados I. Expressão do Relacionamento. Expressão do Relacionamento

Novo Order Manager para o Software NobelProcera

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

a 1 x a n x n = b,

Banco de Dados Lista de Exercícios 01

Lógica de Programação

Bases de Dados. Parte III: O Modelo Relacional

I Requisitos de um modelo conceitual: - clareza (facilidade de compreensão) - exatidão (formal)

ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL

Bases de Dados. Parte II: Os Modelos ER e EER

Servidores Virtuais. Um servidor à medida da sua empresa, sem investimento nem custos de manutenção.

Programação SQL. Introdução

Lato Sensu Tecnologia de Desenvolvimento de Sistemas. SENAC Rio Preto

Banco de Dados. Modelagem de Dados com MER. Prof. Walteno Martins Parreira Jr

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Fernando Fonseca Ana Carolina

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II

BANCO DE DADOS I AULA 6. Wlllamys Araújo willamysaraujo7@gmail.com

Criação de Páginas Web - MS Word 2000

Tarefa Orientada 16 Vistas

Novo Formato de Logins Manual de Consulta

MODELO ENTIDADE - RELACIONAMENTO

Processo de Projeto Bottom-Up. esquema conceitual do BD. engenharia reversa do esquema relacional. esquema relacional integrado do BD (esquema global)

Processo de Projeto Bottom-Up. esquema conceitual do BD. engenharia reversa do esquema relacional. esquema relacional integrado do BD (esquema global)

Roteiro. Modelo de Dados Relacional. Processo de Projeto de Banco de Dados. BCC321 - Banco de Dados I. Ementa. Posicionamento.

Modelagem dos dados. entendo. Reino Real. Reino. Representação

Engenharia de Software III

Base de dados I. Uma base de dados é um simples repositório de informação relacionado com um determinado assunto ou finalidade

Funcionários. Funcionários. PrimeiroNome NomesDoMeio ÚltimoNome. CPF Nome Salário. CPF PrimeiroNome NomesDoMeio ÚltimoNome Salário

Este material traz a teoria necessária à resolução das questões propostas.

Só Matemática O seu portal matemático FUNÇÕES

Transcrição:

4. Modelo Entidade Associação 4.1. Introdução 4.2. Propriedades das associações 4.3. Decomposição de Associações vários : vários (M:N) 4.4. Associações Complexas 4.5. Situações Ambíguas 4.6 Esquema Relacional Depois de obtido o diagrama E/A há que estabelecer o esquema relacional correspondente. Modelo de dados = Diagrama Entidade/Associação + Esquema relacional Associações 1:1 Suponhamos que os carros de uma companhia são atribuídos numa relação de 1 para 1: - nenhum carro é partilhado entre empregados - nenhum empregado utiliza mais do que um carro 1 1 usa Carro i) Ambas as entidades são obrigatórias - todo o carro é usado por um empregado - todo o empregado tem um carro da companhia Basta uma tabela para representar a situação. Os atributos de carro podem ser vistos como atributos adicionais de empregado. 130

1 1 Usa* Carro * Coloca-se um * nas associações ou entidades que não dão origem a uma tabela. ( N_emp,..., N_carro,... ) Outros atributos de empregado Outros atributos de Carro Exercício: Indique duas chaves candidatas para a tabela empregado. ii) Só uma das entidades é obrigatória - todo o carro é usado por um empregado - nem todo o empregado tem um carro da companhia. 1 1 Usa* Carro Os atributos de carro só são atributos de alguns empregados.. Duas tabelas, uma para cada entidade.. Colocar o identificador da entidade não obrigatória na tabela correspondente à entidade obrigatória. Porque não colocar o (N_emp,... ) identificador de Carro na tabela Carro ( N_carro,...,N_emp) empregado? 131

iii) Nenhuma entidade é obrigatória - Um empregado não tem necessariamente um carro; - Um carro não tem necessariamente que ser usado. 1 1 Usa Carro. Três tabelas, uma para cada entidade e uma para a associação. (N_emp,... ) Carro ( N_carro,... ) Usa (N_emp, N_carro,...)! Associações 1:N Seja a afectação de doentes às enfermarias de um hospital: Enfermaria 1 N Contém Paciente Só com registos de doentes actuais. i) Entidade do lado N obrigatória - Cada paciente tem que pertencer a uma enfermaria. Enfermaria 1 N Contém* Paciente Enfermaria ( Nome_enf,... ) Paciente( N_paciente,... Nome_enf ) 132

ii) Entidade do lado N não obrigatória Suponhamos que alguns pacientes não pertencem a uma enfermaria: Três tabelas: Enfermaria ( Nome_enf,... ) Paciente ( N_paciente,... ) Contém ( N_paciente, Nome_enf,... )! Associações M:N Professor M Estuda com N Estudante Professor ( Nome_professor,... ) Estudante( N_est,... ) Estuda_com ( Nome_prof, N_est,... ) Identificadores das associações:. Geralmente o identificador da associação pode ser obtido por concatenação dos identificadores das entidades associadas;. Uma excepção ocorre quando a mesma ocorrência de uma entidade é associada várias vezes com a mesma ocorrência de outra entidade. Exemplo: Associação Consulta entre as entidades Médico e Paciente Chave? E se um paciente pudesse ter mais do que uma consulta no mesmo dia com o mesmo médico? 133

Regras gerais: - Evitar ocorrências em que os identificadores de outras entidades tenham valores nulos. - Não criar tabelas de modo a que identificadores de outras entidades se repitam. - Criar tabelas para as associações apenas quando tal seja necessário para não violar os princípios anteriores. Uma associação sem atributos dá origem a uma tabela quando: - É uma associação 1:N com entidade do lado N não obrigatória; - É uma associação 1:1 com ambas as entidades não obrigatórias; - É uma associação M:N. Associações Unárias: Associações 1:1 Pessoa Esposa 1 1 Marido Casamento A entidade Pessoa tem dois papeis : Marido e Esposa Pessoa( N_BI,... ) Casamento ( BI_mulher, BI_marido,...! 134

Associações 1:N - Um empregado pode ser supervisor e/ ou subordinado; - Alguns empregados não supervisionam outros mas todo o empregado tem um supervisor (o empregado mais antigo supervisiona-se a si próprio). Supervisor 1 N Subordinado Supervisiona * (N_empregado,..., N_emp_supervisor) Associações M:N A fabricação de peças é feita a partir de outras peças. Peça Peça_menor M N Peça_maior Estrutura Peça (N_peça,...) Estrutura ( Peça_maior, Peça_menor) 135

Questões para discussão:?.19 Porque é que a entidade Peça não é obrigatória quer no papel de Peça_maior quer no papel de Peça_Menor??.20 s de uma companhia podem opcionalmente ser membros de um clube desportivo da companhia. Um empregado é identificado por um nº de empregado e um membro do clube tem um número de sócio. -Desenhe um esquema de tabelas mostrando a associação entre as entidades e Sócio. - Como é representada a associação??.21 Suponha que no exercício anterior os sócios do clube são identificados por n_empregado. Qual seria a alteração à resposta anterior??.22 Suponha um modelo conceptual de uma sociedade monogâmica contendo as entidades, Homem, Mulher e a associação Casamento, mostrando os casamentos em vigor. Cada individuo é identificado pelo nº do bilhete de identidade. - Qual o grau da associação Casamento? - Qual o tipo de participação da cada entidade na associação? - Construa o esquema de tabelas. 136

?.23 Suponhamos que Casamento é tratado como uma entidade identificada por licença de casamento. Considerando só os casamentos actuais, qual é o grau da associação entre as entidades Casamento e Pessoa numa sociedade monogâmica??.24 Desenhe um esquema de tabelas para casamentos vigentes numa sociedade poliândrica Usa a entidade Pessoa, identificada por BI, e a associação Casamento.?.25 Será a resposta à questão anterior alterada se, em vez da entidade Pessoa, se utilizar a entidade Pessoa_casada? 137

4.7 Afectação de atributos a esboços de esquemas de relação Em princípio: - os atributos de uma entidade irão para a tabela correspondente; - os atributos de uma associação irão para a tabela correspondente quando exista. Verificar se: - Todos os atributos do sistema estão identificados; - Existem atributos identificados sem que se saiba a que E/A pertencem. Para cada tabela garantir que: - Não contém grupos repetitivos; - Quando a chave é composta qualquer dos restantes atributos deve depender da totalidade da chave; - Não deve haver dependências entre atributos não chave. Isto é, as tabelas devem estar Normalizadas. Pode haver a necessidade de reformular tabelas. Atenção a: - Tabelas sem atributos; - Não existência de qualquer tabela para conter um atributo; - Os ajustes no sistema de tabelas devem ser repercutidos no diagrama E/A. 138

Questões para discussão:?. 26 Seja o modelo: 1 1 Usa* Carro ( n_emp, nome_emp, total_km_emp) Carro ( n_carro, marca, total_km_carro, km_carro, n_emp ) - Km_carro é o número de km que o actual utilizador já andou com o carro (no actual período de uso). - Total_km_emp é o total de km que o empregado já andou em carros da companhia. a) Suponha que a associação Usa é representada por uma tabela? - Reescreva o esquema de tabelas. b) Suponha que a maior parte dos empregados nunca são autorizados a usar carro da companhia. Discuta cada um dos seguintes modelos: A B C ( n_emp, nome_emp total_km_emp) Carro ( n_carro, marca, total_km_carro, km_carro, n_emp) ( n_emp, nome_emp ) Carro ( n_carro, marca, total_km_carro, km_carro, total_km_emp, n_emp) ( n_emp, nome_emp ) Emp_utiliza_carro (N_emp, total_km_emp) Carro ( n_carro, marca, total_km_carro, km_carro, n_emp) 139

?. 27 Uma biblioteca guarda informação acerca dos seus livros e sócios e que livros estão emprestados a que sócios. Cada exemplar é identificado por um número de exemplar e cada sócio por um número de sócio. Outros atributos são título, data_de_aquisição preço_de_aquisição, data_empréstimo, nome_sócio, limite_sócio. Um exemplar tem um só título. O limite_sócio é o número máximo de livros que um sócio pode ter emprestados ao mesmo tempo. Não é necessariamente igual para todos os sócios. -Desenhar um modelo E/A usando Sócio e Exemplar como tipos de entidades. Extensão do esquema relacional Exemplo. Seja o modelo: Enfermaria 1 N Contém* Paciente Enfermaria (nome_enf, tipo_enf, nº_de_camas) Paciente (n_paciente, nome_paciente, data_nascimento, data_admissão, nome_enf) Suponha que é necessário incluir os atributos código de operação e nome de operação, onde código de operação determina nome de operação. - Um paciente pode submeter-se a várias operações e uma enfermaria não está restrita a um tipo de operação. Redefina o modelo. 140

Enfermaria 1 N Contém* Paciente M Operado N Tipo_operação Enfermaria (nome_enf, tipo_enf, nº_de_camas) Paciente (n_paciente, nome_paciente, data_nascimento, data_admissão, nome_enf) Tipo_Operação ( cod_operação, nome_operação) Operado (n_paciente, cod_operação) Tabela supérfluas Exemplo M Cat_do_ emp N Categoria (n_emp, nome_emp, endereço) Categoria (nome_categoria) Cat_do_emp ( N_emp, nome_categoria) A tabela da entidade Categoria é simplesmente uma lista de categorias. - Será necessário manter esta tabela? 141

Dois critérios: 1º - No futuro será necessário introduzir no modelo atributos que dependam funcionalmente de nome_categoria? (Por exemplo, aumento_salário) -Em caso afirmativo, Categoria deverá permanecer uma entidade. 2º - A entidade Categoria é obrigatória na associação? - Se a lista de categorias inclui valores que nenhum empregado possui, deverá manter-se. - Caso contrário, se as únicas categorias que interessam são as dos empregados existentes pode eliminar-se a tabela. Se não é necessário representar a entidade por uma tabela poder-se-á a) Colocar um * na tabela correspondente: M N Cat_do_ emp Categoria * b) Redesenhar o diagrama: 1 N E_C* Categoria do empregado. Cada ocorrência de categoria_do_empregado é o nome de uma categoria de um determinado empregado 142

Sub-entidades Exemplo. Suponha que cada empregado tem um n_emp, nome_emp, endereço_emp, categoria, data_nascimento e salário. Mas só os vendedores têm associada uma quota_de_vendas e um bónus_de_vendas. Um vendedor que exceda a sua quota recebe um bónus além do seu salário. Quota e bónus são diferentes para cada empregado. Modelos possíveis: Vendedor ( n_emp, nome_emp, endereço_emp, categoria, data_nascimento, salário, quota_vendas, bónus_vendas) Não_vendedor ( n_emp, nome_emp, endereço_emp, categoria, data_nascimento, salário) Ou ( n_emp, nome_emp, endereço_emp, categoria, data_nascimento, salário) _Vendedor ( n_emp, quota_vendas, bónus_vendas) (associação 1:1) _Vendedor pode ser visto como uma sub-entidade de porque a informação de _Vendedor juntamente com a de dá-nos toda a informação do vendedor No exemplo anterior: (Página 142) 1 N E_C* - Categoria_Emp pode ser vista como sub-entidade de empregado Categoria do empregado 143

Questões para discussão:?.28 Quais das seguintes restrições podem ser aplicadas ao uso do termo sub-entidade? a) Uma sub-entidade tem que ter o mesmo identificador que a entidade principal. b) O identificador da entidade principal tem que formar todo ou parte do identificador da sub-entidade. c) O identificador de uma sub-entidade tem que ser parte do identificador da entidade principal d) A sub-entidade tem que ter participação obrigatória na associação com a entidade principal. e) A sub-entidade tem que ter participação não obrigatória na associação com a entidade principal.?.29 Dados acerca de empregados incluem, n_emp, nome, endereço, data_nascimento, data_inicio_categoria, categoria, habilitação, salário_anual, pagamento_mensal. É necessário um histórico de categorias e data de início em cada uma delas. Um empregado tem um só salário anual mas pode ter até 12 valores de pagamento mensal representando o total pago nos 12 meses anteriores após deduções. Um empregado pode possuir várias habilitações. - Desenhe um diagrama E/A usando uma entidade, e várias sub-entidades para potenciais grupos de repetição. 144