Capítulo 5 Complemento Fundamentos de Bancos de Dados: Modelo de Entidade e Relacionamento - MER 5.1 Laudon, Cap. 5
Modelo mais utilizado: simplicidade e eficiência. Banco de dados relacional. Base: percepção de mundo real = coleção de objetos básicos <entidades> e relacionamentos entre esses objetos. Pode-se usar ou não um software para modelagem de dados. 5.2 Laudon, Cap. 5
Modelagem de dados análises conceituais e lógicas para encontrar a melhor disposição possível de armazenamento e manutenção das informações no banco de dados. Envolve profundo estudo de caso, seguido da análise de projeto, que pode ser dividida em duas etapas: Análise de Entidades Análise de Relacionamentos 5.3 Laudon, Cap. 5
Uma entidade pode ser algo concreto como Clientes e Produtos ou algo abstrato como Locação e Venda. Entidade = objeto existente no mundo real, com uma identificação distinta e significado próprio. Coisas que existem no negócio, que descrevem o negócio em si. Se algo existe e proporciona algum interesse em manter dados sobre ele, isto caracteriza como uma Entidade do negócio. 5.4 Laudon, Cap. 5
Análise de entidades: para identificar os elementos com algum significado próprio. Ex: Clientes, Produtos, Pedidos, Locação, etc. Análise de relacionamentos: para definir como e quando as entidades se relacionam, isto é importante a fim de dar maior entendimento do problema 5.5 Laudon, Cap. 5
Uma entidade é uma tabela em um banco de dados. Ao identificar as entidades, define-se quais serão as tabelas que devem ser criadas no banco de dados. José da Silva, CPF nº 111.111.111-22, é uma entidade, uma vez que só pode existir uma única pessoa com o mesmo nome e CPF. Ex: Entidades em um Banco de dados de uma empresa: Cliente, Funcionário, Departamento, fornecedor, etc. Cada entidade representa objetos com as mesmas características. Um banco de dados compreende uma coleção de conjuntos de entidades do mesmo tipo. 5.6 Laudon, Cap. 5
Atributos Propriedades (características) que identificam as entidades. Uma entidade é representada por um conjunto de atributos. Exemplos Atributos da entidade Clientes = Nome, endereço, telefone, cidade Atributos da entidade Funcionários = salário, cargo, departamento 5.7 Laudon, Cap. 5
Tipos de atributos: Simples Composto Multivalorado Atributo Simples - não possui qualquer característica especial. Determinante A maioria dos atributos são simples. Quando um atributo não é composto, recebe um valor único como nome, por exemplo e não é um atributo chave, então ele será atributo simples. 5.8 Laudon, Cap. 5
Tipos de atributos: Simples Composto Multivalorado Determinante Exemplo: Endereço. Atributo Composto - o seu conteúdo é formado por vários itens menores. Seu conteúdo poderá ser dividido em vários outros atributos, como: Rua, Número, Complemento, Bairro, Cep e Cidade. 5.9 Laudon, Cap. 5
Tipos de atributos: Simples Composto Multivalorado Determinante Atributo Multivalorado - o seu conteúdo é formado por mais de um valor. Exemplo: Telefone. Uma pessoa poderá ter mais de um número de telefone. É indicado colocando-se um asterisco precedendo o nome do atributo. 5.10 Laudon, Cap. 5
Tipos de atributos: Simples Composto Multivalorado Determinante Atributo Determinante - identifica de forma única uma entidade, ou seja, não pode haver dados repetidos. É indicado sublinhando-se o nome do atributo. Exemplo: CNPJ, CPF, Código do fornecedor, Número da matrícula, etc. Os atributos determinantes serão as chaves primárias no banco de dados e seu uso tem implicações na normalização de dados. 5.11 Laudon, Cap. 5
Chaves primárias no banco de dados conjuntos de um ou mais campos, cujos valores nunca se repetem e que podem ser usadas como um índice para os demais campos da tabela do banco de dados. Em chaves primárias, não pode haver valores nulos nem repetição de registros (tuplas). Quando a chave primária é simples - formada por um único campo da tabela, esse campo não pode ter dois ou mais registros de mesmo valor, e também não pode conter nenhum registro nulo. Se a chave primária é composta formada por mais de um campo, os valores de cada campo podem se repetir, mas não a combinação desses valores. Exemplo: a tabela 'Livros_Autores' tem como chave primária (cod_livro, cod_autor). Podem existir nessa tabela os registros: (5, 9), (5, 10), (4, 9), (9, 5) Mas não podem existir dois registros (5, 9). 5.12 Laudon, Cap. 5
Normalização de dados Passos que se segue no projeto de um banco de dados que permite um armazenamento consistente e um eficiente acesso aos dados em um banco de dados relacional. Reduz a redundância de dados e as chances dos dados se tornarem inconsistentes. 5.13 Laudon, Cap. 5
Dicionário de dados - Modelo de entidade e relacionamento Junto com o modelo de Entidade e relacionamento, é necessário que se mantenha um documento com a explicação de todos os objetos nele criados. Dicionário de Dados: permite que os analistas obtenham informações sobre todos os objetos do modelo de forma textual, contendo explicações por vezes difíceis de incluir no diagrama. Ex: 5.14 Laudon, Cap. 5
Relacionamento entre entidades é o tipo de ocorrência existente entre entidades. O símbolo que representa o relacionamento no modelo E-R é um losango com o nome do relacionamento escrito no seu interior. Em um MER nem todas as entidades serão relacionadas, há casos em que não há relacionamento entre entidades, nestes casos consideramos como entidades isoladas. 5.15 Laudon, Cap. 5
Tipos de relacionamento entre entidades: um-para-um um-para-muitos muitos-para-muitos 5.16 Laudon, Cap. 5
Relacionamento um-para-um O relacionamento um-para-um é usado quando uma entidade A se relaciona com uma entidade B e viceversa. representado pelo sinal: 1:1 5.17 Laudon, Cap. 5
Relacionamento um-para-muitos O relacionamento um-para-muitos é usado quando uma entidade A pode se relacionar com uma ou mais entidades B. representado pelo sinal: 1:N 5.18 Laudon, Cap. 5
Relacionamento muitos-para-muitos O relacionamento muitos-para-muitos é usado quando várias entidades A se relacionam com várias entidades B. representado pelo sinal: N:N ou N:M 5.19 Laudon, Cap. 5
Cardinalidade para ajudar a definir o relacionamento define o número de ocorrências em um relacionamento. Para determinar a cardinalidade, fazer a pergunta relativa ao relacionamento em ambas as direções. Um departamento possui quantos empregados? - no mínimo 1 e no máximo N. Um empregado está alocado em quantos departamentos? - no mínimo em 1 e no máximo em 1 Somando-se as cardinalidades, define-se o resultado final do relacionamento, ou seja, 1:N 5.20 Laudon, Cap. 5
Modelagem de Dados Construção de Modelos ER: 1. Enumerar as entidades 2. Identificar os relacionamentos 3. Definir as cardinalidades máximas 5.21 Laudon, Cap. 5
Modelagem de Dados Modelo de Clientes e Pedidos Cliente 1 N Pedido 1 Item N N 1 Peça 5.22 Laudon, Cap. 5
SOFTWARES PARA MODELAGEM DE DADOS Ferramentas CASE (Computer-Aided Software Engineering) classificação que abrange todas ferramentas baseadas em computadores que auxiliam atividades de engenharia de software, desde análise de requisitos e modelagem até programação e testes. Ferramentas automatizadas para auxiliar o desenvolvedor de sistemas em uma ou várias etapas do ciclo de desenvolvimento de software. Melhoria da qualidade de software Aumento da produtividade no processo de desenvolvimento de software 5.23 Laudon, Cap. 5
Ferramentas CASE Ferramentas de Prototipagem PageMaker, NetBeans, JBuilder, Delphi, Visual Basic Suporte a programação Compiladores - JDK Banco de Dados Oracle, MySQL, Postgres Teste - JUnit Automação de tarefas: Apache Ant, Apache Maven Exemplos de ferramentas CASE: Designer 2000 (Oracle) Dr.CASE (Squadra) ERwin (Logic Works) CASE Studio (CASE Studio) 5.24 Laudon, Cap. 5