MODELO DE DADOS. 1. Modelo de Dados. É uma imagem gráfica de toda a base de informações necessárias para um determinado empreendimento. - PDF
Download "MODELO DE DADOS. 1. Modelo de Dados. É uma imagem gráfica de toda a base de informações necessárias para um determinado empreendimento."
Marisa Lagos Fonseca
1 MODELO DE DADOS 1. Modelo de Dados É uma imagem gráfica de toda a base de informações necessárias para um determinado empreendimento. 2. Modelo de Entidade Relacionamento É a principal ferramenta gráfica para representação do Modelo de Dados e foi proposto por Peter Chain. Tem a finalidade de identificar entidades de dados e seus relacionamentos. 3. Modelagem de Dados Técnica aplicada à construção de modelos de dados. 4. Entidade Objeto ou evento do mundo real, distintamente identificado e tratado como uma categoria definida, acerca da qual armazenamos dados. Ex.: 1) Entifísico ou Jurídico (Funcionário, Cliente, Aluno, etc.) 2) Documento (Nota Fiscal, Ordem de Serviço, etc.) 3) Local (Departamento, Unidade, etc.) 4) Histórico (Histórico escolar, diário, Vendas Acumuladas, etc.) 5) Enti-Material (Matéria-prima, produto, etc.) Sua representação:
2 4.1 - Entidade de Dados (Supertipos) Podem ser subdivididas em diversas categorias de elementos (Subtipos), cada uma se caracterizando por atributos específicos. Pessoa Física Jurídica Tipos de Entidade 1) Fundamental; Empregado 2) Associativa ou derivada de relacionamento; Reclamação Rec_Ass Assinante 3) Atributiva; 4) Fortes e Fracas (entidade forte) Banco (entidade fraca) Agência 5. Atributos Dados elementares que permitem descrever a entidade ou relacionamento. Podem ser monovalorados ou multivalorados. Monovalorados são aqueles que possuem uma única opção. Ex. Identidade. Multivalorados são aqueles que podem mais de uma opção. Ex.: Sexo : Masculino ou Feminino.
3 6. Domínio Conjunto de valores possíveis do atributo. 7. Tupla É o elemento do conjunto de uma entidade. É uma estrutura de atributos intimamente relacionados e interdependentes que residem em uma entidade específica. É similar a um registro num arquivo comum. 8. Chave ou identificador É o atributo contido na tupla que a personaliza e individualiza. 9. Chave Primária É o atributo ou grupamento de atributos cujo valor identifica unicamente uma tupla dentre todas as outras de uma identidade. Deve ter conteúdo reduzido e valor constante no tempo. 10. Chave Candidata É o atributo ou grupamento de atributos que tem a propriedade de identificação única. Pode vir a ser a chave primária. 11. Chave Alternativa É a chave candidata que não é a chave primária. 12. Chave Estrangeira É quando um atributo de uma entidade é a chave primária de outra entidade. 13. Chave Composta ou Concatenada É formada pelo grupamento de mais de um atributo. 14. Chave Secundária É o atributo que não possui a propriedade de identificação única.
4 15. Relacionamento É a associação, com um significado, entre duas ou mais entidades Tipos de Relacionamento - Total ou obrigatório; - Parcial ou opcional Cardinalidade - Representa a quantidade de elementos da entidade A associados a quantidade de elementos da entidade B e vice-versa. Ex.: 1 para 1 1 para N N para 1 N para N 16. Auto-Relacionamento É o relacionamento estabelecido entre uma entidade e ela mesma.
5 NORMALIZAÇÃO É o processo formal passo a passo que examina os atributos de uma entidade, com o objetivo de evitar anomalias observadas na inclusão, exclusão e alteração de tuplas exclusivas. Objetivos 1º) Minimização de redundâncias e inconsistências; 2º) Facilidade de manipulações do Banco de Dados; 3º) Facilidade de manutenção do Sistema de Informações. 1ª Forma Normal (1FN) Uma relação está na 1FN se somente todos os dominios básicos contiverem somente valores atômicos (não contiver grupos repetitivos). Procedimentos: a) Identificar a chave primária da entidade; b) Identificar o grupo repetitivo e removelo da entidade; c) Criar uma nova entidade com a chave primária da entidade anterior e o grupo repetitivo. A chave primária da nova entidade será obtida pela concatenação da chave primária da entidade inicial e a do grupo repetitivo. Ex.: Pedido (numero_pedido; data_pedido; cod_cliente; nome_cliente; endereco_cliente; (codigo_produto; numero_produto; quantidade_produto; preco_produto; total_produto) total_pedido) Pedido => (numero_pedido; data_pedido; cod_cliente; nome_cliente; endereco_cliente) Item_Pedido => (numero_pedido; cod_produto; nome_produto; quantidade; preco_produto; total_produto) Dependência Funcional
6 Dada uma relação R, o atributo X de R é funcionalmente dependente do atributo X de R se somente se sempre que duas tuplas de R combinarem em seus valores de X elas também combinarem no valor de X. 2ª Forma Normal (2FN) Uma relação R está na 2FN se e somente se ela estiver na primeira e todos os atributos não chave forem totalmente dependentes da chave primária (dependente de toda a chave e não apenas de parte dela). Procedimentos: a) Identificar os atributos que não são funcionalmente dependentes de toda a chave primária. b) Remover da entidade todos esses atributos identificados e criar uma nova entidade com eles. A chave primária da nova entidade será o atributo do qual os atributos do qual os atributos removidos são funcionalmente dependentes. Produto => ( cod_produto, nome_produto, preco_produto) Dependência Transitiva Sejam A, B e C três atributos de uma entidade X. Se C depender de B e B depender de A então dizemos que C é transitivamente dependente de A. 3ª Forma Normal (3FN) Uma relação R está na 3FN se somente estiver na 2FN e todos os atributos não chave forem dependentes não transitivos da chave primária (cada atributo for funcionalmente dependente apenas dos atributos componentes da chave primária ou se todos os seus atributos não chave forem independentes entre si). Procedimentos: a) Identificar todos os atributos que são funcionalmente dependentes de outros atributos não chave; b) Remove-los e criar uma nova entidade com os mesmos. A chave primária da nova entidade será o atributo do qual os atributos removidos são funcionalmente dependentes. Cliente (cod_cliente; nome_cliente; endereco_cliente)
7 Produto (cod_produto; nome_produto; preco_produto) Pedido (numero_pedido; data_pedido; <cod_cliente>; total_pedido) Cliente Pedido Itens_Pedido Produto