A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Projecto de bases de dados relacionais:

Apresentações semelhantes


Apresentação em tema: "Projecto de bases de dados relacionais:"— Transcrição da apresentação:

1 Projecto de bases de dados relacionais:
Tradução de diagramas entidade-associação para esquemas relacionais Gabriel David / João Pascoal Faria FEUP ( ) , 2001

2 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 2222 Maria 3333 Miguel 4444 Pedro Titular bi número Conta número saldo entidade entidade associação n  m

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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'   

11 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' 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

12 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


Carregar ppt "Projecto de bases de dados relacionais:"

Apresentações semelhantes


Anúncios Google