Projecto de bases de dados relacionais:

Slides:



Advertisements
Apresentações semelhantes
Mapeamento Modelo ER – Modelo Relacional
Advertisements

T I  C Módulo 2 Base de dados
Base de Dados para a Gestão de Informação de Natureza Pedagógica
Sistemas de Informação
1 Gabriel David FEUP - Rua dos Bragas, Porto Codex - PORTUGAL Tel Fax: URL:
1 LEIC, LBD 2002, Gabriel David, Ana Paiva, Luis Paulo Reis Geração da base de dados lógica n A ferramenta de transformação do modelo EA para o modelo.
Modelo Entidade-Relacionamento
Modelo relacional noções básicas tradução do modelo de objectos
Banco de Dados Aplicado ao Desenvolvimento de Software - BDD
Modelo de Banco de Dados
Sistemas de Informação (SI)
1 Gabriel David FEUP - Rua dos Bragas, Porto - PORTUGAL Tel Fax: URL: Modelo.
0781- ANÁLISE DE SISTEMAS DIAGRAMA ENTIDADE ASSOCIAÇÃO FORMADOR: PEDRO MARQUES FORMANDO : JOÃO P J A CORREIA Nº8 JUNHO DE 2010 Curso Técnico de Informática.
Bases de dados relacionais
Salário, Sexo, R$200,00, Veículos, Idade, Marco Antônio, Masculino, R$600,00, Funcionário, Marca, 18 anos, Livros, Motoristas, Maria do Carmo, Endereço,
Modelo de Entidade-relacionamento
 O Modelo E-R (Entidade-Relação)
1 BD 2006, Gabriel David Bases de Dados Modelo relacional Gabriel David
1 MEI, ARMD 2003, Gabriel David Armazéns de Dados Suporte à interrogação de AD Gabriel David
Categorias Computacionais N Um modelo categorial para bancos de dados Vítor De Araújo
Supervisão e Redes Industriais Tutorial E3 Elipse Capítulo 14 ARMAZENAMENTO DE DADOS Felipe Domeni, Gabriel Martin, Leandro Gomes Rafael Benoliel, Tiago.
Normalização. CONCEITOS  Decomposição de esquemas para evitar anomalias de atualizações;  Processo de avaliação campos de uma tabela, com o objetivo.
Prof. Abraão Florêncio Revisão Geral - IFPI Matemática.
Escrever aqui o título do seu trabalho sem passar de duas linhas
Relacionamentos Avançados do Modelo Entidade-Relacionamento
Sistemas de Gestão de Bases de Dados
Álgebra Relacional Vania Bogorny.
Banco de Dados I Modelagem Relacional
Modelo relacional: noções básicas (relação, base de dados relacional, esquema relacional) restrições de integridade álgebra relacional Gabriel David
Sistemas de Informação
Banco de Dados Modelo de Dados
Universidade Federal de Santa Catarina Mapeamento ER- Relacional
Introdução OO.
Universidade Federal de Santa Catarina
Análise e Projeto de Sistemas II
Escrever aqui o título do seu trabalho sem passar de duas linhas
Métodos Formais em Engenharia de Software Utilização da Ferramenta VDMTools Lite João Pascoal Faria
Modelo entidade-associação
3.1 Classes e Objetos Em um programa orientado a objetos normalmente existem vários objetos de um mesmo tipo. Por exemplo, um programa de controle de.
Tema 4 - Modelagem ER: Técnicas e Ferramentas
Escola SESI de São Carlos “Fernando de Arruda Botelho”– 2016 – 8º ano
Diagrama de Casos de Uso (Use Cases)
Universidade Federal de Santa Catarina Mapeamento ER- Relacional
Sistemas de Gestão de Bases de Dados
Tema 3 - Modelagem ER: Conceitos e Fundamentos
Organização de um Relatório
BANCO DE DADOS Araújo Lima Nov / 2017 Araújo.
Modelagem de Banco de Dados através do ERwin
Modelos de Banco de Dados
Unidade 2 Modelo Conceitual
Escrever aqui o título do seu trabalho sem passar de duas linhas
MER – Modelo de Entidade Relacionamento
Universidade Federal de Santa Catarina Mapeamento ER- Relacional
POLÍGONOS Definição; Polígonos Convexos e não-Convexos;
Universidade Federal de Santa Catarina
Access Bd TransTic.
Programação Funcional
Sistemas de Informação
Professora Roberta Bonamichi Guidi Garcia
Linguagem de Programação I
Curso básico de PHP. 1 Vantagens: Gratuito Multiplataforma Estável Rapidez Comunicação.
Módulo III Capítulo 2: SQLite
Modelagem Entidade-Relacionamento (MER)
Prof. Marcio Ferreira Modelagem de dados II
Programação Funcional
Escrever aqui o título do seu trabalho sem passar de duas linhas
Modelagem de Banco de Dados
Introdução ao Modelo Relacional Capítulo 2 - Database System Concepts – 6ª. Ed - Silberschatz et al Curso: Ciência da Computação Disciplina: Banco de Dados.
Sistemas de Informação
Aula 10 Professores: Conteúdo: Dante Corbucci Filho
Transcrição da apresentação:

Projecto de bases de dados relacionais: Tradução de diagramas entidade-associação para esquemas relacionais Gabriel David (gtd@fe.up.pt) / João Pascoal Faria (jpf@fe.up.pt) FEUP (http://www.fe.up.pt ) , 2001

EA versus relacional Pessoa Conta titular entidade entidade bi número nome saldo data_nasc titular Pessoa Conta Pessoa bi nome data_nasc 1111 João 53-03-24 2222 Maria 54-09-11 3333 Miguel 80-03-01 4444 Pedro 83-05-29 Titular bi número 1111 1327 1111 6498 1111 9185 2222 9185 2222 5623 3333 8998 Conta número saldo 1327 23 000 6498 78 000 9185 127 000 5623 41 000 8998 5 000 entidade entidade associação n  m

Tradução conjunto de entidades E associação A = (E1, ..., Ek) ex: conj. entidades Pessoa se E tiver chave emprestada, incluir esses atributos na relação ex: Turma associação A = (E1, ..., Ek) ligação ex: associação titular relação, esquema = atributos de E tuplo Pessoa( bi, nome, data_nasc ) Turma( curso, ano, letra ) relação, esquema = atributos nas chaves de E1, ..., Ek, renomeando iguais Titular( bi, numero ) entidades relações associações só um conceito, maior uniformidade, menos operadores

Exemplo dos cursos Curso Turma Disciplina Professor Aluno segue plano codcurso segue letra Curso Turma designacur ano plano lecciona atribuído coddis Disciplina sigla designadis BI nome BI morada nome Professor Aluno telefone morada habilitação telefone inscrito resultado grupo data_nasc

Tradução do exemplo [Entidades] [Associações] 1 Curso(codcurso, designacur) 2 Disciplina(coddis, sigla, designadis) 3 Turma(codcurso, ano, letra) 4 Professor(bip, nome, morada, telefone, habilitação, grupo) 5 Aluno(bia, nome, morada, telefone, data_nasc) [Associações] 6 Plano(codcurso, coddis) 7 Inscrito(coddis, bia, resultado) 8 Atribuido(bia, codcurso, ano, letra) 9 Lecciona(bip, coddis, codcurso, ano, letra) 10 Segue(codcurso, ano, letra) na associação Segue elimina-se o atributo repetido; o resultado é igual a Turma

Conteúdo das chaves [Entidades] [Associações] 1 Curso(codcurso, designacur) 2 Disciplina(coddis, sigla, designadis) 3 Turma(codcurso, ano, letra) 4 Professor(bip, nome, morada, telefone, habilitação, grupo) 5 Aluno(bia, nome, morada, telefone, data_nasc) [Associações] 6 Plano(codcurso, coddis) 7 Inscrito(coddis, bia, resultado) 8 Atribuido(bia, codcurso, ano, letra) 9 Lecciona(bip, coddis, codcurso, ano, letra) 10 Segue(codcurso, ano, letra) chave primária chave candidata Quando os esquemas das relações são uma tradução do modelo EA: relação vinda de um conjunto de entidades: a chave da entidade é a chave da relação relação vinda de uma associação muitos-para-muitos: chave inclui, frequentemente, todos os atributos relação vinda de entidade fraca: chave inclui a chave da entidade forte associação um-para-um entre E e F: tanto a chave de E como a de F podem ser chave para a relação associação muitos-para-um de E1, ..., Ek-1 em Ek: frequentemente, os atributos E1, ..., Ek-1 formam uma chave

Tradução (cont.) Aluno Atribuido Aluno (novo) tuplo pendente Simplificação - Duas relações com uma chave candidata em comum podem ser combinadas numa só relação cujo esquema é a reunião dos outros dois. poupa espaço perguntas envolvendo atributos das duas relações têm resposta mais rápida Aluno bia nome ... 243 João 12 321 Rui 31 427 Tiago 5 575 Luis 40 Atribuido bia curso ano letra 243 CG 10 A 321 CG 11 B 427 CG 10 A Aluno (novo) bia nome … curso ano turma 243 João … CG 10 A 321 Rui ... CG 11 B 427 Tiago … CG 10 A 575 Luis ...    tuplo pendente  - valor nulo

Regras práticas entidade  relação ex: Disciplina, Aluno associação m  1 (binária)  atributo do lado m ex: atribuído  Aluno associação m  n (ou m  1 > binária)  relação ex: plano, lecciona

Esquema relacional de Cursos Relações recombinadas 1 Curso(codcurso, designacur) 2 Disciplina(coddis, sigla, designadis) 3 Turma(codcurso, ano, letra) 4 Professor(bip, nome, morada, telefone, habilitação, grupo) 5 Aluno(bia, nome, morada, telefone, data_nasc, codcurso, ano, letra) 5 + 8 6 Plano(codcurso, coddis) 7 Inscrito(coddis, bia, resultado) 9 Lecciona(bip, coddis, codcurso, ano, letra) Associação Segue: está contida em Turma e portanto desaparece

Tradução alternativa de hierarquias todas as especializações numa tabela reunir numa única tabela os atributos da generalização e das especializações, renomeando se necessário acrescentar um atributo obrigatório Tipo com tantos valores quantas as especializações os atributos das especializações são optativos; em cada entidade só se especificam os valores dos atributos da especialização correspondente vistas para manipular especializações vista LIVRO = PUBLICAÇÃO(nr, titulo, ano, editor) condição tipo='L' vista REVISTA = PUBLICAÇÃO(nr, titulo, ano, vol, no) condição tipo='R' título nr ano Publicação isa isa Livro Revista editor volume número Publicação nr titulo ano tipo editor vol no 327 'Os Maias' 1983 'L' Bertrand   581 'Software' 1994 'R'   

Hierarquias (cont.) especializações em tabelas separadas Livro Revista uma tabela por especialização, incluindo os atributos próprios mais os herdados generalização acessível por uma vista contendo a reunião das especializações (só para consulta) vista PUBLICAÇÃO = LIVRO (nr, titulo, ano)  REVISTA (nr, titulo, ano) alterações são feitas directamente nas especializações Livro nr titulo ano editor 327 'Os Maias' 1983 'Bertrand' Revista nr titulo ano vol no 581 'Software' 1994 41 2 uma tabela várias tabelas • tudo junto • acesso simples • muitos nulos • integridade via programação • integridade mais explícita • subconjuntos menores • muitas tabelas • problemas com a vista reunião

Associação característica FEUP/MEAM Sistemas de Informação Associação característica A classe D tem chave emprestada se, para definir a sua chave de utilizador, for necessário recorrer à chave de outra classe C que seja o lado um de uma associação de que D é o lado muitos caso da turma num curso: turma 2B da LEIC e 2B da LGEI a existência de objectos em D depende da existência de objectos em C, enquanto que os objectos em C existem independentemente de D diz-se que D corresponde a uma entidade fraca e que entre D e C existe uma associação característica exemplo: entidade Facturas e entidade Linhas (das facturas) Gabriel David