UNIPAC 2º SEMESTRE 2007 Técnica de BD – Modelagem (3) Christien Lana Racid 5.3.1 Exemplo 2 - Construção de um Modelo Entidade Relacionamento a partir de uma Contextualização “Nossa empresa vende produtos para todo o país e está dividida em quatro regiões de vendas: Norte, Sul, Leste e Oeste. Cada região é divida em distritos, cada distrito é dividido em territórios e cada território está separado em áreas de vendas. Nós temos vendedores que são responsáveis por uma ou mais áreas e possuem uma cota de venda específica. Também temos gerentes que são responsáveis por um ou mais distritos e pelos territórios dentro deles. Os diretores de vendas são responsáveis por uma ou mais regiões. As responsabilidades de nossos empregados não são sobrepostas. Às vezes alguns de nossos empregados estão em missões especiais, e nesses casos, eles ficam dispensados de suas responsabilidades de vendas e administrativas.” Christien Lana Racid 5.3.2 Exemplo 2 - Construção de um Modelo Entidade Relacionamento a partir de uma Contextualização “Nossa empresa vende produtos para todo o país e está dividida em quatro regiões de vendas: Norte, Sul, Leste e Oeste. Cada região é divida em distritos, cada distrito é dividido em territórios e cada território está separado em áreas de vendas. Nós temos vendedores que são responsáveis por uma ou mais áreas e possuem uma cota de venda específica. Também temos gerentes que são responsáveis por um ou mais distritos e pelos territórios dentro deles. Os diretores de vendas são responsáveis por uma ou mais regiões. As responsabilidades de nossos empregados não são sobrepostas. Às vezes alguns de nossos empregados estão em missões especiais, e nesses casos, eles ficam dispensados de suas responsabilidades de vendas e administrativas.” Christien Lana Racid 5.3.3 Exemplo 2 - Construção de um Modelo Entidade Relacionamento a partir de uma Contextualização (Continuação) AREA Representada por #* codigo Responsável por * nome VENDEDOR #* codigo * nome Dentro de * cota Formado por TERRITORIO #* codigo * nome Dentro de Formado por DISTRITO #* codigo Representada por Responsável por * nome GERENTE #* codigo * nome Dentro de Formada por REGIAO #* codigo * nome DIRETOR Representada por Responsável por Christien Lana Racid #* codigo * nome 5.3.4 Exemplo 3 - Construção de um Modelo Entidade Relacionamento a partir de uma Contextualização “Nossa empresa aluga pequenos caminhões e utilitários. Nós possuímos 347 escritórios em todo o território nacional e a nossa frota é de 5.780 veículos. Cada escritório tem um nome próprio e um código numérico com 3 dígitos, pode possuir vários veículos sob sua responsabilidade, mas cada veículo deve pertencer a apenas um único escritório. A empresa trabalha com cinco tipos diferentes de veículos: caminhões pequenos, médios e grandes, e utilitários cabine simples e dupla. Cada tipo possui código próprio e nós precisamos manter informações sobre a data da última manutenção e a data do vencimento do registro para todos os veículos. Para os caminhões precisamos saber a leitura do odômetro, a capacidade do tanque e se possui rádio ou não. A nossa empresa aluga veículos para pessoas físicas ou para outras empresas, e para cada veículo alugado é efetuado um contrato. Das empresas locatárias precisamos armazenar apenas o nome e o endereço. Das pessoas físicas precisamos armazenar o nome, endereço, telefone e o N° da habilitação. Cada contrato de aluguel é identificado pelo número do escritório de origem mais um número de identificação do contrato, e nós precisamos armazenar também a data do aluguel, a duração provável, o escritório de retirada, o escritório para entrega, o depósito efetuado e as taxas diárias e por quilômetro.” Christien Lana Racid 5.3.5 Exemplo 3 - Construção de um Modelo Entidade Relacionamento a partir de uma Contextualização (Continuação) PESSOA CONTRATO #* num #* habilitacao para Parte de * data * nome * duracao * endereco * entrega o telefone * deposito para Parte de * tx_dia #* num o tx_km Encaminhado para para * nome * endereco Originado de Alugado via A origem de que CONTRATO recebe a chave primária de ESCRITÓRIO #* id_num * reg_num * data ult. manut. ESCRITORIO * data venc. reg. #* num * nome *Obs.: significa VEICULO * O receptor de EMPRESA Responsável por Pertence a CAMINHÃO * odometro * endereco * radio * tanque Christien Lana Racid Se enquadrar TIPO #* num englobar * desc. 5.3.6 Relacionamentos de Muitos-para-Muitos (N:M) • Durante a Modelagem Conceitual podem surgir relacionamentos do tipo de muitos-para-muitos, que devem ser resolvidos antes do Projeto Lógico. TITULO Fornecido por O fornecedor de FORNECEDOR #* codigo #* numero * nome * nome • Este Problema é solucionado, criando-se uma Entidade de Interseção. TITULO #* codigo * nome ITEM Disponível como * preco Referente a Christien Lana Racid FORNECEDOR Referente a Fornecedor de #* numero * nome 5.3.7 Resolvendo Relacionamentos de Muitos-para-Muitos Identificando o Problema TITULO FORNECEDOR Fornecedor de #* codigo * nome Fornecido por #* codigo * nome • Algumas informações específicas podem não ser fornecidas pelo modelo. • Qual o fornecedor de determinado título? • Alguns atributos parecem pertencer ao relacionamento e não às entidades. • Um atributo “preço” seria colocado em TITULO ou em FORNECEDOR? Nesses casos deve ser criada uma Entidade de interseção. Christien Lana Racid 5.3.8 Entidades de Interseção ITEM * preco Refere-se a Refere-se a Relacionado em Relacionado em TÍTULO FORNECEDOR #* codigo #* codigo * nome * nome • A entidade de interseção fica com o lado “muitos” dos relacionamentos. • Os relacionamentos são sempre obrigatórios a partir da interseção. • Ocasionalmente pode não haver atributos para a entidade de interseção. Nesses casos ela será uma referência cruzada das ocorrências das outras entidades. Esta é uma exceção à regra de que toda entidade deve possuir atributos. • Ao final da fase de análise de seu desenvolvimento, todos os relacionamentos muitos-para-muitos deverão estar resolvidos Christien Lana Racid 5.3.9 Identificadores Únicos ITEM Referir-se a Relacionado em ITEM #* codigo * preco * preço Referir-se a OU Relacionado em Referir-se a Relacionado em Referir-se a Relacionado em TITULO FORNECEDOR TITULO FORNECEDOR #* codigo #* codigo #* codigo #* codigo * nome * nome * nome * nome • O identificador único de uma entidade de interseção é freqüentemente composto pelos relacionamentos com as entidades geradoras. • Se os relacionamentos não forem adequados ou suficientes para identificar unicamente uma instância, podem ser incluídos um ou mais atributos necessários. Christien Lana Racid 5.3.10 Resumo • O desenvolvimento de Sistemas de Banco de Dados envolve a utilização de Métodos, Técnicas e Ferramentas. • O Modelo Conceitual é elaborado sob o ponto de vista do Negócio e o Projeto Lógico sob o ponto de vista do Sistema. • O Modelo Conceitual deve ser independente de HW e de SW. • A Técnica de Modelagem Conceitual para Aplicativos de BD Relacionais utiliza o Modelo Entidade Relacionamento - MER. • Uma Entidade é algo significativo para o Negócio, que possua Atributos e sobre o qual se necessite armazenar e recuperar alguma informação. • O Relacionamento é uma Associação entre Entidades. • Relacionamentos de muitos-para-muitos devem ser resolvidos e simplificados, isto é, substituídos. Christien Lana Racid 5.3.11