Escola Secundária de Albufeira Diagrama Entidade Associação Modelo Relacional (Páginas Web Dinâmicas: PHP e MySQL) Carlos Nunes ([email protected]) 0 200 01 2 / 9 Elementos do DEA Um DEA consiste em 3 objectos: as Entidades, as Associações e os campos. Entidade - Identifica o objecto de interesse do sistema, ou seja, a representação abstracta de um objecto do mundo real sobre o qual desejamos guardar informações. Associação - Representa a associação entre entidades. Campo (ou atributo) - Informações que desejamos guardar sobre a Entidade. Carlos Nunes 2 Exemplo O João está matriculado na disciplina de Base de Dados João - Elemento do conjunto de valores do campo Nome do aluno da entidade Aluno Base de Dados - Elemento do conjunto de valores do campo Nome da disciplina da entidade Disciplina matriculado - Ligação existente entre um aluno e uma disciplina Carlos Nunes 3 Representação Gráfica do dea Entidade Associação Campo Carlos Nunes 4 Exemplo Nome Data Código Aluno matric ulado Disciplina Nº Morada Nome Carlos Nunes 5 Cardinalidade das associações Representa a frequência com que existe a associação 1-1 1-N N-N Carlos Nunes 6 Associação 1-1 Exemplo: O João é casado com a Maria Homem 1 casa 1 Mulher Carlos Nunes 7 Associação 1-N Exemplo: O João trabalha no departamento de pessoal Empregado N trabalha 1 Departamento Carlos Nunes 8 Associação N-N Exemplo: O João está matriculado na disciplina Base de Dados Aluno N matric ulado N Disciplina Carlos Nunes 9 Exercicio 1 Para uma oficina é necessária uma base de dados que guarde informação de clientes, carros e motores. Cada cliente é identificado por um nº de cliente, nome, morada e data de nascimento. Cada carro é identificado por nº de chassis, marca, modelo, ano e nº portas. Cada motor é identificado pelo seu nº de motor, cilindrada e pelo nº de cavalos. Carlos Nunes 10 Exercicio 2 É necessária uma base de dados para a secretaria da escola. Essa base de dados deve guardar os dados dos alunos, professores, turmas e disciplinas. Carlos Nunes 11 Exercicio 3 Pretende-se uma base de dados para gerir uma empresa que possui um frota de barcos, sabendo que: Deve-se guardar os dados acerca dos barcos. Cada barco é identificado univocamente pela sua matrícula e detêm ainda um nom um peso e um tipo de barco; Interessa guardar o nº de funcionário (único), o nome, a morada, o n de telefone e o salário de cada tripulante; De entre os tripulantes, existe um que é responsável pelo barco e qu é designado por mestre; O sistema deve possuir um registo das espécies de peixe a pescar caracterizados univocamente pelo nº de espécie e conter a sua denominação; Cada pescaria diz respeito a um único barco e caracteriza-se por um nº identificador único e deve ainda guardar a data da sua realização; Em cada pescaria é apanhada uma determinada quantidade de cada espécie, que interessa guardar; O sistema deve guardar a relação dos tripulantes que são membros do sindicato e os respectivos dados, caracterizados pelo nº de 12 associado e conter ainda a data de filiação e a quota mensal. Após termos desenhado o DEA devemos transformá-lo no modelo relacional. ■ Esta transformação efectua-se em 2 fases ■ Carlos Nunes 13 1ª Fase – Criar tabelas ■ O primeiro passo consiste em transformar cada entidade numa tabela, cada uma com os seus campos. FA C T U R A Nº factura Data Estado V E N D A N º Ve n d a Data P R O D U T O Nº Produto Preço F OR N EC ED OR Nº fornecedor N o m e Carlos Nunes 14 2ª Fase – Analisar associações Para cada associação devemos fazer uma modificação às tabelas. ■ O tipo de modificação depende do tipo de associação que estamos a analisar. ■ Existem algumas excepções às regras que se seguem. ■ Carlos Nunes 15 Associação 1 - N ■ ■ Acrescentamos um campo na tabela do lado do N. Esse campo deverá ser a chave primária da entidade do lado do 1. FACTURA Nº factura Data Estado VENDA Nº Venda Data PRODUTO Nº Produto Preço Nº Fornecedor FORNECEDOR Nº fornecedor Nome Carlos Nunes 16 Associação 1 - 1 ■ ■ Unimos as duas tabelas da relação. Passamos todos os campos da tabela que nos parecer menos importante para a outra e eliminamos essa tabela menos importante. Nota: Caso existam duas associações entre as mesmas duas entidades, esta associação deve ser tratada como sendo 1 - N FACTURA Nº factura Data Estado VENDA VENDA Nº Venda Venda Nº Data Data Nº factura Data Estado PRODUTO Nº Produto Produto Nº Preço Preço Nº Fornecedor FORNECEDOR Nº fornecedor Nome Carlos Nunes 17 Associação N - N Criamos uma nova tabela cuja chave será composta por todas as chaves das duas entidades. ■ Essa nova tabela também poderá ter como campo, todos os campos ligados directamente à associação. ■ V/P Nº venda Nº produto Quantidade VENDA Nº Venda Data Nº factura Data Estado PRODUTO Nº Produto Preço Nº Fornecedor FORNECEDOR Nº fornecedor Nome Carlos Nunes 18