FACE - FUMEC Curso de Graduação Superior em Tecnologia de Processamento de Dados Armazenamento de Informações *** Versão 2.03 *** Maio / 2000 Professor: Roberto Luís Capuruço Gattoni FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações ÍNDICE 1. Dado X Informação ............................................................................................. 1 2. Categorias dos Sistemas de Informação .............................................................. 7 3. Administração de Dados ....................................................................................... 8 3.1. O Futuro da Administração de Dados .................................................................................... 9 3.2. O Futuro da Administração de Bancos de Dados ................................................................. 10 4. Ferramentas Voltadas a Dados .......................................................................... 11 4.1. Dicionários de Dados ............................................................................................................ 11 4.2. Avaliando Ferramentas de Bancos de Dados ....................................................................... 13 5. Modelagem de Dados........................................................................................... 14 6. Entidades de Dados ............................................................................................. 18 7. Relacionamentos .................................................................................................. 21 8. Atributos ............................................................................................................... 25 9. Referências Bibliográficas .................................................................................. 29 Prof.: Roberto L. C. Gattoni Pág. 1 FACE -FUMEC Curso de Graduação Superior em Tecnologia de Processamento de Dados Disciplina : Armazenamento de Informações Professor : Roberto Luís Capuruço Gattoni 1. Dado X Informação Segundo Barbieri: DADO – expressão em estado bruto de um fato ou evento. Ex. R$100.000,00, 33%, 4 anos INFORMAÇÃO – interpretação fornecida a um dado. “A informação é um dado no contexto”. Ex. Salário anual médio dos executivos de nossa divisão = R$100.000,00; Aumento previsto das demissões deste ano na subsidiária da Ásia = 33%; tempo máximo de vida de um determinado produto de nossa linha para mercados de baixa renda = 4 anos. Segundo Davenport (1999, 2) “Dados são um conjunto de fatos distintos e objetivos, relativos a eventos”; “Num contexto organizacional, dados são utilitariamente descritos como registros estruturados de transações”; “Informações são dados dotados de relevância e propósito” (citando Peter Drucker) “A informação tem por finalidade mudar o modo como o destinatário vê algo, exercer algum impacto sobre seu julgamento ou seu comportamento. Informações são os dados que fazem a diferença” Segundo CHRISTÓVÃO e BRAGA: “Informação pode ser definido como a interface, o evento, entre um estímulo externo (mensagem) e um cognóscio, que tal estímulo ou mensagem altera”; Cognóscio: tesauro interno, mapa cognitivo, conjunto de conhecimentos, reflexões, idéias, noções; Estímulo externo: o que se percebe sensorialmente. Ex. Um texto, uma fala, uma imagem; Documento <> Mensagem <> Informação Documento: base de conhecimento fixada materialmente e suscetível de estudo; Mensagem: o que é levado de um emissor humano a um receptor humano em um processo de comunicação - é a emissão deliberada de um estímulo externo; Shannon desvinculou informação e documento: documentos não são nem contém informação. Documentos contêm mensagens que podem ou não produzir informação. Por exemplo, sistemas de recuperação da informação não recuperam informação, mas documentos. Como se dá o processo de comunicação? O indivíduo emissor codifica o seu próprio conhecimento em mensagem ou mensagens para transferi-la(s) a um indivíduo receptor; tal mensagem ou tais Prof.: Roberto L. C. Gattoni Pág. 1 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações mensagens poderão ou não se transformar em informação, dependendo do fato de alterarem ou não a estrutura mental do receptor; Desta forma, é factível “comunicar conhecimento”, ou “transmitir conhecimento”, desde que a mensagem transmitida transforme-se em informação para o receptor. fo rm aç ão In f Mensagem Emissor Prof.: Roberto L. C. Gattoni O NÃ f In fo In In Fato / Evento NÃ O rm aç ão Estrutura de Cognóscios o ão aç rm or ma çã o Receptor Pág. 2 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações “O ciclo que envolve os dados, a sua transformação em informações, a consequente estruturação em sistemas e a interação da AD neste processo de usinagem” (BARBIERI, pág 7). Empresa Realidade Fatos Tratamento DADOS Informação AD Estruturação Automatização Negócios Sistemas Decisões Utilização Mercado Prof.: Roberto L. C. Gattoni Pág. 3 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações Informação como Diferencial Competitivo - Preceitos Fundamentais Dados Modelados Dados rigorosamente identificados em sua composição e em sua semântica, quanto a: Formato Origem Meio Natureza Formação Relacionamento com outros dados “Os dados pertencem ao acervo da empresa, e não a grupos e/ou pessoas específicos” Dados Resguardados: Integridade – garantia de veracidade lógica; Segurança –fisicamente protegidos 1; Privacidade – as pessoas devidamente autorizadas devem ter acesso aos dados de que necessitam; Documentação – representa a permanência de sua verdade semântica e a garantia de seu entendimento ao longo do tempo; Liquidez (ou Disponibilidade) – oferta de ferramentas que permitam o acesso, a atualização, a consolidação, a tabulação e a simulação de informações. 1 A empresa Módulo, uma das principais empresas de consultoria em Segurança de Informações da América Latina, entende o termo Segurança a partir de três conceitos: Integridade, Confidencialidade e Disponibilidade. No entanto, seguiremos a divisão presente na bibliografia adotada (Modelagem de Dados - Barbieri). Prof.: Roberto L. C. Gattoni Pág. 4 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações Detalhando cada um dos princípios acima: Integridade – Garantia de veracidade lógicada da informação Programas de entradas de dados Triggers de SGBDs Exemplos: A cada crédito existe um débito associado; Não existe funcionário que não esteja alocado a um departamento; Cada cópia de filme somente poderá ser locado a um sócio ou a um dependente de um sócio; Cada jogo de um campeonato deve estar associado a um estádio, um juiz e um placar; Integridade na inclusão, na alteração e na exclusão de dados. Segurança – Garantia da proteçào física do acervo de dados: Backup Restore Analisadores de Erros Físicos e Lógicos Backout dinâmico (roll-back de transações) Ex. Transferência de Poupança para ContaCorrente com interrupção da transação por pique de luz; Privacidade – Garantia do acesso às informações somente por pessoas ou órgãos devidamente autorizados Software especializado de segurança (Ex. IBM RACF, CA TOP SECRET) Problema: o dia seguinte ao da implantação Mecanismos de privacidade para sistemas On-Line Passwords de acesso Chaves seletivas a nível de transações – Classes de Segurança, perfis de usuário Chaves seletivas a nível de ocorrências de dados – Grant, Revoke Views de bancos de dados. Ex. Listar os funcionários sem mostrar o salário, ou a data de nascimento, ou os nomes, endereços residenciais e telefones de clientes; Documentação – Garantia da existência de informações sobre os dados Quais dados existem na empresa? Por assunto, entidades, funções, áreas, sistemas Quais os seus significados? Como se credenciar para acessá-los? Como acessá-los? Quais os níveis de autorização necessários para acessá-los? Quem pode atualizá-los? Quais são seus sinônimos? Quais as inter-relações entre os dados (referência cruzada entre os metadados) Quais os departamentos responsáveis por sua gestão? Quais os impactos ao atualizar-se determinados dados? Liquidez (ou Disponibilidade) – Possibilidade de se obter o dado necessário, no momento certo, através de ferramentas e mecanismos simplificados Linguagens de consultas com interface gráfica (GUI); Geradores de relatórios; Prof.: Roberto L. C. Gattoni Pág. 5 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações Servidores SQL com ligação micro-mainframe e extração de dados corporativos; Sistemas de Informações Executivas (EIS); Sistemas de Informações Gerenciais estruturados; Armazém de Dados. Prof.: Roberto L. C. Gattoni Pág. 6 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações 2. Categorias dos Sistemas de Informação Sistemas Estruturados de Informações: Parâmetros pré-definidos de entrada Estáveis Execução regular Longa vida útil Reciclados somente em trocas marcantes de tecnologia Ex. Conta-Corrente, Tele-Marketing, Controle de Estoques, Locadora de Vídeo, Concessionária, Controle de Pedidos, PDV de Supermercado Sistemas Não-Estruturados de Informações (ou DSS – Decision Support Systems) Provêem informações de natureza espontânea, visando apoiar processos gerencias de tomada de decisão Tratam dados de maior amplitude funcional Dados tratados, em geral, já consolidados de alguma forma Saídas com maior riqueza gráfica Análise, coleta e preparação criteriosa de dados Geralmente tratados pelo corpo gerencial das empresas Ex. EIS, Database Marketing, Data-Marts, sistemas desenvolvidos pela área de CI (Centro de Informações). Prof.: Roberto L. C. Gattoni Pág. 7 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações 3. Administração de Dados Administração de Dados (AD) X Administração de Bancos de Dados (ABD) Administração de Dados – Modela e observa os dados do ponto de vista de sentido, integração e negócio (Fig. Pág. 7) Administração de Bancos de Dados – implementa e otimiza a utilização dos dados., apareceu antes da AD, devido ao surgimento dos SGBDs. Administração de Dados Definição e Objetivos: função de uma empresa responsável por desenvolver e administrar centralizadamente estratégias, procedimentos, práticas e planos capazes de disponibilizar os dados corporativos necessários, quando necessário, revestidos de integridade, privacidade, documentação e compartilhamento. Atribuições: 1. Participar dos levantamentos de dados, eventos/funções e regras de negócio junto às áreas funcionais da empresa; 2. Elaborar ou acompanhar a confecção de modelos conceituais de dados dos sistemas corporativos em ambientes centralizado ou cliente/servidor; 3. Participar da compatibilização do planejamento de sistemas com os modelos de dados; 4. Responsabilizar-se pela qualidade e compatibilidade dos modelos de dados com relação aos modelos de implementação; 5. Definir, manter e auditar os metadados no Dicionário de Dados; 6. Normatizar a administração e utilização dos dados em ambiente centralizado e cliente/servidor; 7. Planejar e coordenar a evolução dos Bancos de Dados nos ambientes centralizado e cliente/servidor; 8. Participar da elaboração e ajuste de metodologias de desenvolvimento de sistemas para ambiente centralizado e cliente/servidor; 9. Participar da pesquisa de software de apoio relacionados à área de AD, bem como de software de Gerência de Bancos de Dados e correlatos; 10. Disseminar por toda a organização a utilização da Administração de Dados como instrumento de apoio e racionalização. Prof.: Roberto L. C. Gattoni Pág. 8 FACE – FUMEC – Curso: STPD 3.1. Disciplina: Armazenamento de Informações O Futuro da Administração de Dados Contexto Atual Crescimento da micro-informática => ilhas de informação Evolução tecnológica dos SGBDs Utilização de recursos que fogem aos padrões e rigores das metodologias vigentes Migração de SGBDs Esforços integrados: AD – manutenção integrada dos dados corporativos Área de Sistemas – convivência harmoniosa entre integração, controles, padrões e qualidade perseguidas pela empresa, além da produtividade reclamada pelos usuários Empresa – decisões estratégicas do melhor ambiente p/ a implantação de determinadas aplicações (evitar soluções “istas”: simplistas, imediatistas e personalistas) Questão: a descentralização da AD seria uma alternativa viável? Obstáculos: Culturais Organizacionais Técnicos Modelagem de dados Locais X Globais Privacidade (atribuição de senhas, por exemplo) Padrões Centrais Controles Locais Integração de sistemas / bases de dados Heterogeneidade (de SGBDs, de CASEs, de DDs, etc.) Segurança física e lógica de dados Prof.: Roberto L. C. Gattoni Pág. 9 FACE – FUMEC – Curso: STPD 3.2. Disciplina: Armazenamento de Informações O Futuro da Administração de Bancos de Dados Contexto Atual Redes + Bancos de Dados = Cliente/Servidor e BD Distribuídos SGBDs departamentais Hierarquias de SGBDs (Mainframes = servidores corporativos) Multiplicidade de dialetos SQL Ferramentas amistosas de acesso a dados Questão: a descentralização da ABD seria uma alternativa viável? Obstáculos: Funções CENTRAIS X Funções LOCAIS Funções CENTRAIS: Backup, Restore Cargas e Recargas Funções LOCAIS: “Tunning”: Gerência de Armazenamento Performance de discos Reorganização de arquivos, tabelas e espaços de tabelas Funções Híbridas (Parte CENTRAL + Parte LOCAL) Gerência de segurança Monitoração de performance Gerência de alterações Prof.: Roberto L. C. Gattoni Pág. 10 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações 4. Ferramentas Voltadas a Dados 4.1. Dicionários de Dados Guardam informações sobre os dados da empresa = repositório de metadados Objetivo: prover informações e documentação sobre objetos e seus relacionamentos Benefícios: Padronização Controle de Integridade Diminuição de Redundâncias Referências Cruzadas Gerência de Impacto Evolução: 2 1> “Passivos” – catálogo de informações físicas. Entrada manual de informações no DD 2> “Ativos” – a compilação de programas e mapas fazem a entrada automática da documentação no DD 3> “Ativos” in-line – informações que são fundamentais para o sistema (módulos de carga, tabelas, etc.) ficam armazenadas no DD, podendo ser dinamicamente carregadas em tempo de execução; 4> Repositórios (ou Enciclopédias) – guardam gráficos, diagramas, códigos, modelos + metadados e referências cruzadas Dados armazenados nos DD convencionais (pré-enciclopédia): Descritores Não-Relacionais: informações sobre as entidades de dados do modelo do Dicionário (Ex. nome de arquivos, password de usuários, descrição de resgistros, etc.) Descritores Relacionais: informações sobre os relacionamentos entre as entidades de dados Recursos de dados controlados por um DD Conceituais: elementos conceituais de um Sistema de Informação (correspondente às fases de Planejamento e Análise): modelos, entidades, relacionamentos, atributos, (relativos a dados) funções, processos, eventos (relativos a processos) , entre outros; Implementação: parte lógica e física dos SI – programas, registros, campos, mapas (telas), rotinas, schemas, subschemas (visões), usuários Operação: componentes de rede e físicos, como terminais, impressoras, estações, servidores, linhas, etc; Gráficos: Diagramas de MER, DFD, DHF, entre outros. 2 Os tipos de DD de 1 a 3 podem ser verificados na ilustração da pág. 28 do livro-texto Prof.: Roberto L. C. Gattoni Pág. 11 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações Os DD devem prover extensões para controle da AD (novas entidades, atributos e relacionamentos entre as estruturas guardadas). Ferramentas CASE possuem, em geral, DD próprio => Mas e como fazer a integração entre as diversas ferramentas CASE, e os diversos ambientes de desenvolvimento e de sistemas gerenciadores de bancos de dados? Prof.: Roberto L. C. Gattoni Pág. 12 FACE – FUMEC – Curso: STPD 4.2. Disciplina: Armazenamento de Informações Avaliando Ferramentas de Bancos de Dados Itens a serem avaliados: Ferramentas de front-end Engine SQL Aspectos de Distribuição e Conectividade Ferramentas de Front-End: Acesso a BDs Desenvolvimento de sistemas simples Desenvolvimento de sistemas complexos Engine SQL Gerência de Transações remotas X distribuídas Recovery / Restart (espelhamento, journal, backup incremental) Isolamento (gerenciamento de locks otimistas e pessimistas) Integridade: Regras, defaults, domínios Integridade referencial declarativa Restrict, Set Null e Cascade, para os verbos ADD, MOD, DEL Triggers, Stored Procedures, Funções, Regras Grandes objetos binários (BLOBs) SQL estático X dinâmico Distribuição e Conectividade Distribuição Replicação de Dados (2PC – Two-Phase Commit) Fragmentação de Dados Conectividade Entre bancos de dados distintos, incluindo os do mainframe APIs comuns (ODBC, IDAPI, etc.) Gateways Prof.: Roberto L. C. Gattoni Pág. 13 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações 5. Modelagem de Dados Abordagens: Top-Down Observações mais amplas da empresa Voltadas para a captura, identificação e análise dos dados corporativos Objetivo principal: "tecer" a rede de entidades e relacionamentos que irão embasar os negócios da empresa Principal vantagem: identificação "a priori" do universo de dados da empresa, e a possibilidade de serem vislumbradas a integração das partes, que serão implementadas em momentos diferentes Grande dificuldade: extensão dos trabalhos a todas as unidades funcionais da empresa Funciona bem nas empresas em que o negócio (produtos, serviços, canais e mercados) são bem definidos e pouco abrangentes Bottom-Up Baseada na construção de aplicativos demandados pelos usuários Alta orientação a processos Bancos de Dados com alta propensão ao descartável Idéia central: agregação dos atributos necessários às visões lógicas dos usuários de uma aplicação, e sua montagem para a formação de registros Middle-Down Idéia central: os modelos de dados originados por um sistema que os motivassem pudessem ser consolidados com outros já existentes, ganhando uma integração gradativa Não incentiva a personalização de modelos personalizados Não se agiganta na busca de um modelo inicial corporativo Conclusões 3 Quanto maior for o nível de observação: Maior a amplitude Melhor a observação de fronteiras Menor as informações de detalhes Maior o recurso demandado para sua obtenção Quanto mais baixo for o nível de observação: Menor a amplitude (uma área menor é coberta) Difícil observação de fronteiras Maiores detalhes são obtidos Recursos menores demandados para sua obtenção 3 Uma boa analogia seria a Figura 2.1, da página 45 do livro-texto Prof.: Roberto L. C. Gattoni Pág. 14 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações O Que é Modelagem de Dados? Uma atividade desenvolvida em fases variadas do processo metodológico de desenvolvimento de sistemas, com a finalidade de trabalhar informações para a obtenção do modelo de dados. Modelos de dados "macro": fase de planejamento Modelos de dados detalhados: fases de análise e projeto O Que é um Modelo de Dados? Representação gráfica e textual das ESTRUTURAS, dos OPERADORES e das REGRAS que definem os dados: As ESTRUTURAS são formadas por: Entidades de Dados ou Blocos Conceituais de Dados; Relacionamentos entre elas e Atributos (de entidades e de relacionamentos) REGRAS: asserções que regulam o funcionamento dessas estruturas OPERADORES: comandos que permitem a manipulação das estruturas segundo as regras estabelecidas Os Modelos de Dados são formados por: Entidades de Dados Relacionamentos Atributos Regras Prof.: Roberto L. C. Gattoni Pág. 15 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações Como Obter um Modelo de Dados? Decomposição Funcional Análise das Regras de Negócio Análise de Eventos Decomposição Funcional Baseada na Hierarquia de Funções-Processos-Atividades A identificação de entidades externas, ou de depósitos de dados relacionados a cada processo Baseada na Análise Estruturada Convencional Análise das Regras de Negócio Fato: asserção que estabelece que um objeto ou entidade possui determinadas propriedades, ou desempenha determinado papel (construído através de expressões tipo sujeito-verbo-objeto). Exemplos: Fornecedor oferece Produto Cliente gera Pedido de Compra Funcionário pertence a Departamento Restrição: limitação colocada a um fato. Exemplos: Fornecedor oferece Produto Homologado Cliente gera Pedido de Compra Pendente Funcionário Mensalista pertence a um Departamento Regra de Derivação: condicionantes colocadas sobre fatos que podem gerar outros fatos. Exemplos: Se um produto não estiver homologado, deverá ser alocado um técnico para estudálo Se um pedido de compra estiver pendente, seus itens faltantes deverão ser adquiridos junto aos fornecedores em até 10 dias úteis Se um funcionário for diarista, será remunerado como autônomo, de acordo com as horas trabalhadas apuradas, com efetivação do pagamento até o dia 10 do mês seguinte Análise de Eventos Baseia-se no estudo dos fluxos de dados, a partir de estímulos de entidades externas ou de processos internos; Pode ser utilizada a Análise Estruturada Convencional, bem como a Análise Essencial para a apuração das informações necessárias Prof.: Roberto L. C. Gattoni Pág. 16 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações Representação Gráfica inicial das Regras de Negócio verificadas 4 1 Fornecedor oferece Produto 2 Homologado Não Homologado 3 aloca Técnico 1 gera Cliente Pedido 2 3 Data solicitação Pendente Não Pendente Data Máxima p/ Cancelamento de Pendência Funcionário 2 Diarista Horas Apuradas Mensalista 1 pertence Departamento trabalha em 3 Mês Trabalhado 4 As representações oferecidas nesta página NÃO referem-se a um Modelo de Dados, apesar de pareserem-se como tal Prof.: Roberto L. C. Gattoni Pág. 17 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações 6. Entidades de Dados Definição: blocos conceituais de dados sobre os quais deseja-se estabelecer processos de gerência, via os sistemas de informação Exemplos: Pessoas Lugares Organizações Coisas : Funcionários, Atletas, Gerentes, Professores, Clientes, Fornecedores... : Loja, Cidade, Endereço, País... : Escola, Órgão, Setor, Departamento, Filial... : Feriado, Atendimento, Chamada, Estação, Série, Classe, Conta contábil... Entidade X Ocorrência Entidade = Objeto (Ex. Atletas, Funcionários, Feriados, etc.) Ocorrência = Instância (Ex. Romário, Gattoni, 7 de Setembro) As Entidades possuem atributos que identificam e qualificam suas ocorrências Identificação: possibilidade de distinguir uma de suas ocorrências, univocamente, em relação às demais (Ex. Cod_Atleta) Qualificação: possibilidade de definir ou enquadrar suas ocorrências dentro de subconjuntos do universo de uma entidade (Ex. Altura, Peso, Estado_Civil, etc.) Representação Gráfica: Atleta Funcionário Classificação de Entidades: Quanto à Volatilidade; Quanto à Independência; Quanto à Função; Quanto à Classificação; Quanto à Agregação. Prof.: Roberto L. C. Gattoni Pág. 18 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações Quanto à Volatilidade Entidades Objeto: Estáveis – podem permanecer na base de dados durante toda a vida útil do sistema; Atemporais Pode apresentar composição (definição de objetos maiores compostos por itens menores) Ex. Hierarquia em uma organização (Empresa, setor, funcionário, gerente, projeto), coleção de obras, um livro, veículo, dicionário, etc. Pode apresentar composição recursiva – Ex. Peça é composta por peça, diretórios compostos por outros diretórios, etc. Menor volatilidade Entidades Evento: Associadas a ciclos temporais de vida: possuem, intrinsecamente, uma referência temporal. Ex. Ordem de compra, Pedido, Transação, Pode ser considerada como uma classe de contrato entre as partes. Ex. Ordem de compra, Requisição de Serviço, Pedido de Material, etc. Neste caso, podem trazer composição (itens de pedido, lançamentos Podem referir-se a acontecimentos ou eventos temporais. Jogos, Vôos, Interrupções de fornecimento de energia, chamadas, consultas médicas, etc. Quanto à Independência Entidade Forte: Possuem alto grau de independência com relação à existência e identificação; Blocos de dados com maior peso específico no modelo; Podem ter ocorrências independentes da presença de outras entidades ou de relacionamentos; Normalmente as primeiras a serem identificadas; Normalmente intimamente associadas às grandes áreas funcionais da empresa; Podem apresentar composição (como descrito acima); Ex. Material, Fornecedor, Consumidor, Órgão, País, Atleta, etc. Entidade Fraca: Possuem dependência de existência ou de identificação; Sempre ligadas às outras (FORTES) por relacionamentos que lhes dão vida dependente; Podem possuir atributos próprios de identificação; Ex. Itens de Atendimento, Itens de Pedido, Avaliações de Alunos, Exames de Atletas, etc. Prof.: Roberto L. C. Gattoni Pág. 19 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações Quanto à Função Entidade de Dados: Representam dados, como já apresentadas no caso das entidades FORTES e FRACAS; Entidade de Relacionamentos: Utilizadas para resolver relacionamentos binários M/N ou relacionamentos n-ários; Possuem atributos de identificação das Entidades envolvidas no relacionamento por elas representadas; Podem possuir atributos de interseção, justificando seu aparecimento no modelo de dados; Também chamadas Entidades Associativas; Ex. Olimpíada, ao se relacionar com um País, gera uma entidade Delegação, com o atributo Chefe; Quanto à Classificação Entidades TIPO e SUBTIPO: mais aplicáveis a hierarquias de classes (semelhantes aos modelos da Botânica ou Zoologia, por exemplo), utilizada em modelos orientados a objetos. Não serão exploradas neste curso; Quanto à Agregação: Agregados de Entidades: Aglomeração de entidades em um único objeto lógico, visando facilitar o aspecto gráfico mas também o estabelecimento de relacionamentos mais generalizados. ATENÇÃO! O livro utilizado não apresenta os conceitos de Especialização/Classificação. Para tal, atentar para as explicações fornecidas em sala. Prof.: Roberto L. C. Gattoni Pág. 20 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações 7. Relacionamentos Definição: associações entre entidades de dados. Estão intimamente ligados às ações realizadas pelos processos sobre os dados; Representam as rotas de acesso ou caminhos de navegação do modelo de dados. Representação Gráfica: 1 1 Atleta Possui Refere-se a 1 N Empregado Telefone Possui Pertence a M N Funcionário Projeto Está Alocado a Funcionário Dados Pessoais 1 M Aloca Alocação N 1 Projeto Classificação dos Relacionamentos Quanto à Conectividade (Cardinalidade); Quanto à Opcionalidade; Quanto ao Grau; Quanto à Recursividade; Quanto à Cobertura. Prof.: Roberto L. C. Gattoni Pág. 21 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações Quanto à Conectividade (ou Cardinalidade) Representa a proporção entre as Entidades envolvidas no Relacionamento. Podem ser 1:1, 1:N, N:1 (idêntico ao anterior) e M:N (este último reduz-se a 2 relacionamentos 1:M) Quanto à Opcionalidade: Opcional: As ocorrências entre entidades que se relacionam são independentes das outras M 1 Funcionário Projeto Está alocado a estado Aloca Contingente: A obrigatoriedade é somente por um lado do relacionamento e, por consequência, somente uma entidade possui independência em relação a outra; 1 N Empregado Dependente Possui É dependente de Mandatório: As entidades somente existem se também existir o relacionamento entre elas 1 1 Executivo Departamento É responsável por É gerenciado por Quanto ao Grau: Representa o número de entidades que participam do relacionamento. Pode ser binário (País sedia Jogos Olímpicos), ternário (Modalidade, Local e DataHora entre si, gerando a entidade associativa Prova), ou n-ários Quanto à Recursividade: Caso particular em que a entidade se relaciona com ela mesma; Ex. Funcionário gerencia funcionário, ou peça é composta de peça; Quanto à Cobertura: Relaciona-se com a frequência de ocorrências de uma Entidade para uma ocorrência da outra; Utilizada para otimização de acessos; Não será utilizada neste curso. Prof.: Roberto L. C. Gattoni Pág. 22 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações Correlação entre Relacionamentos: Uma entidade poderá ter relacionamentos condicionados a outros. Podem ser: Mutuamente Excludente: X-OR mandatório = ligado a pelo menos um dos relacionamentos (não seria a generalização?) X-OR opcional = possibilidade de não ser ligado a nenhum deles (ligado a um, a outro ou a nenhum); Mutuamente Contingente: AND (se um existe, o outro também existe) Prof.: Roberto L. C. Gattoni Pág. 23 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações Regra geral para reconhecimento de elementos de um modelo de dados, dado um texto descritivo de regras de negócios: As entidades de dados podem ser identificadas por similaridade com a análise sintática nas linguagens naturais. Sujeito e Objeto da sentença são provavelmente relacionados como Entidades de Dados; Verbos sugerem relacionamentos; Adjetivos correspondem a atributos de entidades; Advérbios e Adjuntos Adverbiais podem sugerir atributos de relacionamentos. Prof.: Roberto L. C. Gattoni Pág. 24 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações 8. Atributos O atributos são elementos atômicos de dados que habitam as entidades, conferindo identificação e qualificação aos objetos que representam. Chaves Chaves Candidatas: define os possíveis atributos da entidade, capazes de servir como chave primária. Ex. NUM_CPF, ou RG, ou NOME + NOME_MÃE, ou NUM_MATRICULA; Chaves Primárias: é formada por um ou mais atributos concatenados, com o objetivo de dar unicidade à Entidade. Não pode permitir um valor nulo, e é necessariamente uma das chaves candidatas; Chaves Secundárias: formada por atributo ou atributos concatenados com o objetivo de facilitar o acesso aos dados por vias alternativas. Por exemplo, ENDEREÇO, IDADE, NÍVEL_ESCOLARIDADE, etc. Tipo do Atributo Define como o atributo será representado. Para nossos fins consideraremos apenas os tipos numérico, data e texto. Vejamos os exemplos abaixo: NOME_ALUNO – Texto(30); IDADE_ALUNO – Numérico(2); MÉDIA_GERAL – Numérico(3, 2); (OBS. Indica 3 posições inteiras e 2 decimais) DATA_APROVAÇÃO – Data; Domínio de Atributo Conjunto de valores que efetivamente possam ser assumidos por um dado atributo. Pode ser considerado como um subconjunto de todos os valores possíveis do tipo do atributo. Por exemplo, vejamos: IDADE_ALUNO – Numérico(2) – Domínio: de 16 a 70; MÉDIA_GERAL – Numérico(3, 2) – Domínio: de 0,00 a 100,00; DATA_APROVAÇÃO – Data – Domínio: de 01/01/1980 a 31/12/2100. Prof.: Roberto L. C. Gattoni Pág. 25 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações Exemplo de Normalização (utilizar o exercício de fixação número 6): Entidades não normalizadas: Livro = ( cod_livro, tit_livro, cod_editora, nom_editora, { cod_autor, nom_autor }, cod_categoria, nom_categoria, cod_estante, qtd_disponível ) Estante = ( cod_estante, { cod_categoria, nom_categoria } ) Usuário = ( cod_usuario, nom_usuario, { cod_livro_emprestado, tit_livro_emprestado, dat_retirada, dat_devolucao }, status_usuario ) OBS. 1> Os atributos sublinhados são as chaves primárias; 2> Os atributos e conjuntos de atributos entre chaves ( “{” e “}” ) indicam repetição dos mesmos; 3> Fica como exercício a verificação de chaves candidatas para cada uma das entidades verificadas acima; 4> Fica como exercício a atribuição de tipos e domínios para cada um dos atributos acima. Após a 1FN (retirada de atributos e conjuntos de atributos multivalorados): Livro = ( cod_livro, tit_livro, cod_editora, nom_editora, cod_categoria, nom_categoria, cod_estante, qtd_disponível ) Autoria = ( cod_livro, cod_autor, nom_autor ) Estante = ( cod_estante ) Local = ( cod_estante, cod_categoria, nom_categoria ) Usuário = ( cod_usuario, nom_usuario, status_usuario ) Empréstimo = ( cod_usuario, cod_livro_emprestado, tit_livro_emprestado, dat_retirada, dat_devolucao ) Prof.: Roberto L. C. Gattoni Pág. 26 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações Após a 2FN (retirada de dependências funcionais entre atributos não-chave e atributos chave): Livro = ( cod_livro, tit_livro, cod_editora, nom_editora, cod_categoria, nom_categoria, cod_estante, qtd_disponível ) Autoria = ( cod_livro, cod_autor ) Autor = ( cod_autor, nom_autor ) Estante = ( cod_estante ) Local = ( cod_estante, cod_categoria ) Categoria = ( cod_categoria, nom_categoria ) Usuário = ( cod_usuario, nom_usuario, status_usuario ) Empréstimo = ( cod_usuario, cod_livro_emprestado, tit_livro_emprestado, dat_retirada, dat_devolucao ) Após a 3FN (retirada de dependências funcionais transitivas, entre atributos não-chave e atributos não-chave): Livro = ( cod_livro, tit_livro, cod_editora, cod_categoria, cod_estante, qtd_disponível ) Editora = ( cod_editora, nom_editora ) Autoria = ( cod_livro, cod_autor ) Autor = ( cod_autor, nom_autor ) Estante = ( cod_estante ) Local = ( cod_estante, cod_categoria ) Categoria = ( cod_categoria, nom_categoria ) Usuário = ( cod_usuario, nom_usuario, status_usuario ) Empréstimo = ( cod_usuario, cod_livro_emprestado, dat_retirada, dat_devolucao ) Prof.: Roberto L. C. Gattoni Pág. 27 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações Diagrama Entidades-Relacionamentos gerado: Nom_Usuário Cod_Usuário Ativo Usuário Bloqueado Empréstimo Dat_Início Dat_Devolução Qtd_Disponível Editora Livro (R1) Cod_Editora Nom_Editora Autoria (R2) Cod_Livro Cod_Autor Tit_Livro Estante Cod_Estante Resolução Exercício 6 (com atributos) Prof.: Roberto L. C. Gattoni Autor Nom_Autor Local Categoria Cod_Categoria Nom_Categoria Regras: (R1) - Livro deve existir em uma estante de sua categoria (Local) (R2) - Opcional - este relacionamento não precisa necessariamente existir, uma vez que a categoria de um livro está associada à estante que o mantém. No entanto, se este relacionamento não existir, um livro deverá possuir uma estante para que possua uma categoria de assunto Pág. 28 FACE – FUMEC – Curso: STPD Disciplina: Armazenamento de Informações 9. Referências Bibliográficas BARBIERI, C. Modelagem de Dados, IBPI Press, Rio de Janeiro, 1994 CHEN, P. Gerenciando Bancos de Dados. A Abordagem Entidade-Relacionamento para Projeto Lógico, McGraw-Hill, São Paulo, 1990. CHRISTÓVÃO, Heloísa Tardim. BRAGA, Gilda Maria. Ciência da Informação e Sociologia do Conhecimento Científico: a Intermaticidade Plural. DAVENPORT, T. PRUSAK, L. Conhecimento Empresarial. Campus, Rio de Janeiro, 1999. KORTH, H. F. e SILBERCHATZ, A. Sistemas de Bancos de Dados, McGraw-Hill, São Paulo, 1989. YOURDON, E. Análise Estruturada Moderna, Editora Campus, Rio de Janeiro, 1990. Prof.: Roberto L. C. Gattoni Pág. 29