1 Módulo 4: Gerenciamento de Dados 1. CONCEITOS Os dados são um recurso organizacional decisivo que precisa ser administrado como outros importantes ativos das empresas. A maioria das organizações não conseguiria sobreviver ou ter sucesso sem dados de qualidade sobre suas operações internas e seu ambiente externo. Os gerentes precisam praticar a administração de recursos de dados – uma atividade administrativa que aplica tecnologia de sistemas de informação como gerenciamento de bancos de dados e outras ferramentas gerenciais para uma organização atender as necessidades de informação dos usuários. BASE DE DADOS Conjunto de dados armazenados logicamente Conteúdo representa o estado atual de uma determinada aplicação Modelo de uma determinada parte da realidade Propriedades de uma Base de Dados Coleção de dados logicamente relacionados, Projetada e construída para um propósito específico, Concebida para atender a um grupo de usuários, Representação de algum aspecto do mundo real, Qualquer mudança na realidade provocará mudanças nesta base, Possui alguma fonte de dados. ADMINISTRAÇÃO DE RECURSOS DE DADOS Os gerentes que são usuários finais devem encarar os dados como um recurso importante que eles precisam aprender a manejar adequadamente para garantir o sucesso e sobrevivência de suas organizações. O gerenciamento de bancos de dados é uma aplicação importante da tecnologia de sistemas de informação à administração de recursos de dados de uma empresa. A administração de recursos de dados inclui: Administração de Bancos de Dados É uma importante função de gerenciamento de recursos de dados responsável pelo uso adequado da tecnologia de gerenciamento de bancos de dados. A administração de bancos de dados possui mais responsabilidades operacionais e técnicas do que outras funções de gerenciamento de recursos de dados. Isto inclui responsabilidade pelo: Desenvolvimento e manutenção do dicionário de dados da organização Projeto e monitoração do desempenho dos bancos de dados Aplicação de padrões para uso e segurança dos bancos de dados. Planejamento de Dados O planejamento de dados é uma função de planejamento e análise empresarial que se concentra no gerenciamento de recursos de dados. Ela inclui a responsabilidade pelo: 2 Desenvolvimento de uma arquitetura global de dados para os recursos de dados da empresa vinculada à missão e planos estratégicos da empresa e aos objetivos e processos de suas unidades de negócios. O planejamento de dados é um componente importante do processo de planejamento estratégico de uma organização. Ele é feito por organizações que assumiram um compromisso formal com o planejamento de longo alcance para o uso e administração estratégicos de seus recursos de dados. Administração de Dados É outra função da administração de recursos de dados. Ela envolve: O estabelecimento e execução de políticas e procedimentos para gerenciamento de dados como um recurso estratégico das empresas. A administração da coleta, armazenamento e disseminação de todos os tipos de dados de tal forma que os dados se tornem um recurso padronizado disponível para todos os usuários finais na organização. O planejamento e controle de dados no apoio às funções e objetivos estratégicos de uma organização. O estabelecimento de uma atividade de planejamento de dados para a organização. O desenvolvimento de políticas e definição de padrões para arranjos de concepção, processamento e segurança e seleção do software para gerenciamento de bancos de dados e dicionário de dados. ELEMENTOS LÓGICOS DOS DADOS Caracter É o elemento de lógico mais básico dos dados. Consiste em um único símbolo alfabético, numérico ou outro. Campo É a menor unidade de informação existente em um arquivo de banco de dados. Consiste em um grupamento de caracteres. Um campo de dados representa um atributo (uma característica ou qualidade – número, nome, cep...) de alguma entidade (objeto, pessoa, lugar ou evento – produto, aluno, cidade, inscrição...). Tipos de campos: Simples: são aqueles que possuem uma única opção. Ex: Identidade. Determinante: garante a unicidade de cada ocorrência. Ex: Matrícula. Composto: pode ser dividido em outros atributos. Ex: Endereço (Rua + Número + Bairro + Cidade). Registro Conjunto de campos. Campos de dados afins são agrupados para formarem um registro, que representa uma coleção de atributos que descrevem uma entidade. Exemplo: um registro de um aluno pode ter os seguintes campos: matrícula, nome, telefone, cidade, além de outros. Chave Uma chave permite a distinção dos registros de uma tabela. Pode ser formada por um campo ou um conjunto de campo (chaves compostas). Uma chave primária determina a ordem dos registros dentro da tabela. 3 Exemplo: a matrícula é diferente para cada aluno – não existem 2 alunos com a mesma matrícula. Portento, além do cpf, a matrícula pode ser o campo chave da tabela aluno. Tipos de Chaves Chave Primária: É o atributo ou grupamento de atributos cujo valor identifica unicamente um registro dentre todas as outras de uma identidade. Chave Candidata: É o atributo ou grupamento de atributos que tem a propriedade de identificação única. Pode vir a ser a chave primária. Chave Estrangeira: Atributo de uma entidade que é a chave primária de outra entidade. Chave Composta ou Concatenada: É formada pelo grupamento de mais de um atributo. Tabela Representam as estruturas de armazenamento de dados dos sistemas. Um grupo de registros afins é conhecido como uma tabela de dados. Exemplos: tabela dos clientes, tabela dos fornecedores e tabela dos produtos. Arquivo Várias tabelas que se relacionam podem formar um arquivo. Os arquivos muitas vezes são classificados pelo tipo de dados que contêm, tais como um arquivo de folha de pagamento ou um arquivo de estoque, etc. Os arquivos também podem ser classificados pelo seu tipo, como cadastro e movimento. O arquivo cadastro contém os dados básicos de determinada entidade e pode ficar períodos sem armazenamento novo, O arquivo movimento pode ser manipulado a todo instante. Exemplo: Num banco de dados de uma clínica médica pode conter uma tabela cadastro dos médicos e uma tabela movimento consulta contendo os dados que são armazenados a todo instante sobre as consultas realizadas diariamente. Banco de Dados É um conjunto integrado de registros logicamente afins. Representa o arquivo físico de dados, armazenado em dispositivos periféricos, para consulta e atualização pelo usuário. Possui uma série de informações relacionadas a um determinado assunto. Um banco de dados consolida registros previamente armazenados em arquivos separados em uma fonte comum de registros de dados. Os dados armazenados em um banco de dados são independentes dos programas aplicativos que os utilizam e do tipo de dispositivos de armazenamento secundário nos quais estão armazenados. Dado É o valor do campo quando é armazenado no Banco de Dados. Exemplo. O valor do campo "nome do cliente" para quem está entrando com os dados. Informação É o valor que este campo representa para as atividades da empresa. Exemplo. Resposta a uma consulta: Qual os nomes dos clientes do Estado de São Paulo? 4 SGBD (SISTEMA DE GERENCIAMENTO DE BASE DE DADOS) ou DBMS (Data Base Management System) Software responsável pelo gerenciamento dos dados no Banco de Dados. É uma coleção de programas que permitem aos usuários: definirem, construírem e manipularem uma base de dados. A abordagem do gerenciamento de bancos de dados envolve três atividades básicas: Definir: especificação de tipos de dados a serem armazenados. Construir: armazenamento dos dados em algum meio controlado pelo SGBD. Manipular: utilização de funções para consulta, recuperação de dados, modificação da base nas mudanças na realidade e geração de relatórios. O SGBD funciona como uma interface de software entre usuários e bancos de dados. Dessa forma, o gerenciamento de bancos de dados envolve o uso de software de gerenciamento de bancos de dados para controlar como os bancos de dados são criados, consultados e mantidos para fornecerem as informações necessitadas por usuários finais e suas organizações. CAPACIDADES DO SGBD Eliminação de Redundâncias Possibilita a eliminação de dados privativos de cada sistema. Os dados comuns a mais de um sistema são compartilhados por eles, permitindo o acesso a uma única informação por vários sistemas. Eliminação de Inconsistências Armazenamento da informação em um único local com acesso descentralizado e compartilhado por vários sistemas. A inconsistência ocorre quando um mesmo campo tem valores diferentes em sistemas diferentes. Compartilhamento dos Dados Permite a utilização simultânea e segura de um dado, por mais de uma aplicação ou usuário. Deve ser observado apenas o processo de atualização simultâneo do mesmo campo ou registro, para não gerar erros de processamento. Restrições de Segurança Define para cada usuário o nível de acesso a ele concedido ao arquivo e/ou campo (leitura, leitura e gravação ou sem acesso). Este recurso impede que pessoas não autorizadas utilizem um determinado arquivo. Padronização dos Dados Permite que os campos armazenados na base de dados sejam padronizados segundo um determinado formato de armazenamento segundo critérios preestabelecidos pela empresa. Independência dos Dados Representa a forma física de armazenamento dos dados e a recuperação das informações pelos programas. Quando há inclusão de novos campos no arquivo, será feita manutenção apenas nos programas que utilizam esses campos, não sendo necessário mexer nos demais programas. 5 Manutenção da Integridade Consiste em impedir que um determinado código ou chave em uma tabela não tenha correspondência em outra tabela. Fornecimento de backup e restauração Realização de cópias de segurança completas ou incrementais sempre que necessário, de acordo com a necessidade. Os quatro maiores usos de um SGBD incluem: Desenvolvimento de Bancos de Dados Consulta de Bancos de Dados Manutenção de Bancos de Dados Desenvolvimento de Aplicações a. Desenvolvimento de Bancos de Dados Desenvolver bancos de dados pequenos e pessoais é relativamente fácil utilizando-se pacotes SGBD para microcomputador. Entretanto, desenvolver um grande banco de dados pode ser uma tarefa complicada. Em muitas empresas, desenvolver e gerenciar bancos de dados empresariais são responsabilidades principais do administrador do banco de dados (DBAs) e dos analistas de projeto de bancos de dados. Isto melhora a integridade e segurança dos bancos de dados organizacionais. Pacotes de gerenciamento de bancos de dados permitem aos usuários finais desenvolverem seus próprios bancos de dados. No desenvolvimento de bancos de dados, uma linguagem de definição de dados (DDL) é utilizada para desenvolver e especificar o conteúdo, relações e estruturas dos dados em cada banco de dados e para modificar suas especificações sempre que necessário. Essas informações são catalogadas e armazenadas em um banco de dados de definições e especificações de dados chamado dicionário de dados. b. Consulta do Bancos de Dados A capacidade de consulta é um benefício maior de um SGBD. Os usuários finais podem pedir informações de um banco de dados utilizando uma linguagem de consulta ou um gerador de relatórios. Características de uma linguagem de consulta: Os usuários recebem uma resposta imediata na forma de telas de vídeo. Não é necessária nenhuma programação complexa. Os usuários podem obter respostas imediatas a pedidos específicos. Exemplo: Quais clientes compraram produtos eletrônicos na cidade do Rio de Janeiro no mês de maio e pagaram à vista? Características de um gerador de relatórios: Os usuários recebem uma resposta imediata na forma relatórios impressos. Não é necessária nenhuma programação complexa. Os usuários podem especificar um formato padronizado de relatório para as informações que desejam. 6 c. Manutenção de Bancos de Dados Os gerentes precisam de informações precisas para tomar decisões eficazes. Quanto mais precisa, relevante e oportuna for a informação, melhor será o gerenciamento informado ao se tomar decisões. Dessa forma, os bancos de dados de uma organização precisam ser constantemente atualizados para refletirem as novas transações empresariais e outros eventos. Este processo de manutenção de bancos de dados é acompanhado por programas de processamento de transações e outros pacotes de aplicativos para o usuário final, com o apoio do SGBD. d. Desenvolvimento de Aplicações O desenvolvimento de aplicações se torna mais fácil por meio de formulações em linguagem de manipulação de dados (DML) que podem ser incluídas em programas de aplicativos para permitir que o SGBD realize as atividades necessárias de manipulação de dados. Programadores podem também utilizar a linguagem interna de programação fornecida por muitos pacotes SGBD ou um gerador embutido de aplicativos para desenvolver programas de aplicação complexos. TIPOS DE DADOS O tipo escolhido dependerá da natureza da informação que você deseja. Texto Armazena caracteres alfanuméricos (texto e número). É o tipo indicado para armazenar informações que não requerem cálculo. Exemplo: nome de pessoas ou endereços. Obs: cep 27510-000, cpf 501.012.710-570, telefone (24)3355-1234 são texto, pois além de números possuem parênteses, traços, pontos. Memorando Armazena caracteres, no entanto, ele é utilizado para aguardar grandes blocos de texto que são divididos em parágrafos. Número Armazena valores numéricos inteiros ou fracionários. Este tipo deverá ser escolhido como padrão quando desejarmos efetuar cálculos com os campos. Data/Hora Faz com que o banco de dados trate os caracteres como datas ou horas, dependendo da forma como serão digitados. Moeda O tipo de dados Moeda tem todas características de um dado do tipo numérico, porém com acréscimo do símbolo monetário. Exemplo: “R$” AutoNumeração Utilizado para contagem de registros. A cada registro inserido na tabela ele é automaticamente incrementado em um valor por parte do próprio software. Sim/Não Permite a entrada de valores dos tipos: Sim ou Não, Verdadeiro ou Falso, Certo ou Errado. 7 O Sim seria uma caixa de seleção preenchida com √ O Não seria uma caixa de seleção vazia. Objeto OLE Esse tipo de dado é uma grande vantagem do ambiente gráfico Windows, pois você pode definir que o dado seja uma imagem gráfica. Ex: associar à ficha dos funcionários uma foto do mesmo. Hiperlink É um tipo de campo que irá armazenar um texto que permite saltar para um arquivo, um local em um arquivo, uma página HTML na Web. Exemplo: http://fp13vs23.digiweb.com [email protected] Assistente de pesquisa Cria um campo que permite que você escolha um valor a partir de uma tabela ou de uma lista de valores, utilizando uma caixa de combinação. No caso do sexo do cliente, ao invés de digitar, escolha as opções existentes. ESTRUTURAS DOS BANCOS DE DADOS: As relações entre os muitos registros individuais nos bancos de dados são baseadas em uma das diversas estruturas ou modelos lógicos de dados. Os SGBD são projetados para fornecer aos usuários finais acesso rápido e fácil a informações armazenadas em bancos de dados. As cinco estruturas de bancos de dados fundamentais são: Estrutura Hierárquica Os primeiros pacotes SGBD para computador central utilizavam a estrutura hierárquica, na qual: As relações entre os registros formam uma hierarquia ou estrutura de tipo árvore. Os registros são dependentes e dispostos em estruturas de níveis múltiplos, que consistem em um registro raiz e qualquer número de níveis subordinados. As relações entre os registros são de um-para-muitos, já que cada elemento de dados se relaciona apenas com um elemento acima dele. O elemento de dados ou registro no nível mais alto da hierarquia é chamado de elemento raiz. Todo elemento de dados pode ser acessado passando-se progressivamente para baixo a partir da raiz e ao longo dos ramos da árvore até que o registro desejado seja localizado. VANTAGENS Facilidade com que os dados podem ser armazenados e recuperados em tipos estruturados e rotineiros de transações. Facilidade com que os dados podem ser extraídos para fins de apresentação de relatórios. Os tipos estruturados e rotineiros de processamento de transações são rápidos e eficientes. DESVANTAGENS Relações hierárquicas um-para-muitos devem ser estipuladas de antemão e não são flexíveis. Não pode manipular facilmente requisições de informação específica. A modificação de uma estrutura hierárquica de bancos de dados é complexa. Muita redundância. Exige conhecimento de uma linguagem de programação. 8 Estrutura em Rede Pode representar relações lógicas mais complexas e ainda é utilizada por muitos pacotes SGBD de computador central. Permite relações de muitas-para-muitas entre os registros. Em outras palavras, o modelo em rede pode acessar um elemento de dados seguindo um dentre vários caminhos, porque qualquer elemento ou registro de dados pode ser relacionado com qualquer número de outros elementos de dados. VANTAGENS Mais flexível que o modelo hierárquico. Capacidade de fornecer relações lógicas sofisticadas entre os registros. DESVANTAGENS As relações muitos-a-muitos em rede devem ser estipuladas de antemão. O usuário está limitado a recuperar dados que podem ser acessados utilizando os links estabelecidos entre os registros. Não pode manipular facilmente requisições de informação específica. Exige conhecimento de uma linguagem de programação. Estrutura Relacional Tornou-se a mais popular das três estruturas de bancos de dados. É utilizada pela maioria dos pacotes SGBD para microcomputadores. Os elementos dos dados dentro do banco de dados são armazenados na forma de tabelas simples. As tabelas são relacionadas se incluírem campos comuns. Os pacotes SGBD baseados no modelo relacional podem vincular elementos de dados de várias tabelas para fornecer informações para os usuários. VANTAGENS Flexível uma vez que pode manipular requisições de informação específica. Os programadores trabalham facilmente com ela. Os usuários finais podem utilizar este modelo com pouco esforço ou treinamento. Mais fácil para manutenção do que os modelos hierárquico e em rede. DESVANTAGENS Não pode processar grandes quantidades de transações empresariais tão depressa e com tanta eficiência como os modelos hierárquico e em rede. Estrutura Multidimensional É uma variação do modelo relacional que utiliza estruturas multidimensionais para armazenar dados e relações entre os dados. Um benefício maior dos bancos de dados multidimensionais é que eles são uma maneira compacta e inteligível de visualizar e manipular elementos de dados que possuem muitas inter-relações. Os bancos de dados multidimensionais se tornaram a estrutura mais popular para os bancos de dados analíticos que suportam aplicações de processamento analítico on-line (OLAP). VANTAGENS 9 Forma compacta e de fácil compreensão para visualização e manipulação de elementos de dados que possuem muitas inter-relações. Suporta aplicações OLAP na qual respostas rápidas para consultas empresarias complexas são requisitas. DESVANTAGENS Não desenvolvida atualmente para amplo uso de aplicações empresariais. Estrutura Baseada em Objetos É considerada como uma das tecnologias chaves de uma nova geração de aplicativos multimídia baseados na rede. Em uma estrutura baseada em objetos, um objeto consiste em valores de dados que descrevem os atributos de uma entidade, mais as operações que podem ser executadas sobre os dados. Esta capacidade de sintetização permite manipular melhor tipos mais complexos de dados (gráficos, voz, texto) do que outras estruturas de bancos de dados. Suporta herança, ou seja, novos objetos podem ser automaticamente criados mediante a reprodução de algumas ou todas as características de um ou mais objetos pais. As capacidades e herança dos objetos tornaram populares os sistemas de gerenciamento de bancos de dados orientados a objetos (OOSGBD) nas aplicações do projeto assistido por computador (CAD). Os projetistas podem desenvolver desenhos de produtos, armazená-los como objetos em um banco de dados baseado em objetos e reproduzi-los e modificá-los para criar novos desenhos de produto. As aplicações de multimídia baseadas em rede para a Internet e intranets e extranets se tornaram uma área de aplicação importante para a tecnologia de objetos. VANTAGENS Manipula tipos complexos de dados (gráficos, imagens, voz e texto) melhor do que outras estruturas. Relativamente fácil de utilizar. Tecnologia chave sendo utilizada em aplicações de multimídia baseadas na rede para a Internet e intranets e extranets empresariais. Suporta herança – novos objetos podem ser automaticamente criados mediante a reprodução de algumas ou de todas as características de um ou mais objetos pais. DESVANTAGENS Não desenvolvida atualmente para amplo uso empresarial. TIPOS DE BANCOS DE DADOS: Avanços contínuos na informática e suas aplicações empresariais têm resultado na evolução de diversos tipos principais de bancos de dados. Algumas categorias conceituais importantes de bancos de dados que podem ser encontradas nas organizações usuárias de computadores. Figura 23: Principais Tipos de Banco de Dados Fonte: O’BRIEN, 2004. 10 Bancos de Dados Operacionais: Esses bancos de dados armazenam dados detalhados necessários para apoiar as operações da organização como um todo. Eles também são chamados de bancos de dados de produção. São exemplos os bancos de dados de clientes, bancos de dados de pessoal, bancos de dados de estoque e outros bancos de dados contendo dados gerados pelas operações empresariais. Bancos de Dados em Hipermídia na Rede: O rápido crescimento dos sites na Internet e intranets e extranets tem aumentado drasticamente o uso de bancos de dados em documentos em hipertexto e hipermídia. Um site de rede armazena essas informações em um banco de dados em hipermídia que consiste em uma homepage e outras páginas de multimídia ou mídias mistas (texto, som, etc.) com hiperlinks. Data Warehouse e Data Mining: Data Warehouse Um data warehouse armazena dados do ano em curso e anos anteriores que foram extraídos dos vários bancos de dados operacionais e gerenciais de uma organização. É uma fonte central de dados que foram classificados, editados, padronizados e integrados de tal forma que podem ser utilizados por gerentes e outros profissionais usuários finais ao longo de toda uma organização. Data Mining No data mining, os dados de um depósito de dados são processados para identificar fatores e tendências chaves nos padrões históricos das atividades das empresas que podem ser utilizados para ajudar os gerentes a tomarem decisões sobre mudanças estratégicas nas operações das empresas para obter vantagens competitivas no mercado. Através do Data Mining podemos fazer uma mineração de dados e personalizar cada cliente, levantando quais são suas tendências de compras e antecipar a venda, fazendo uma oferta para ele antes que ele procure a empresa. MODELAGEM DE DADOS (Estrutura Relacional) MINI MUNDO: Descrição formal da realidade a ser representada. Exemplo: suponhamos que uma empresa funcione assim: Cada Empregado pode fazer vários Pedidos Cada Pedido pode ser feito por um único Empregado O Empregado é cadastrado pelo Cpf, Nome e Endereço O Pedido é armazenado por um Número único, sua Data e Situação Não existem 2 Pedidos com o mesmo Número Cada Pedido pode conter muitos Materiais Cada Material pode estar contido em inúmeros Pedidos Cada Pedido pode conter quantidades diferentes para cada Material Cada Material é registrado por um Código único, Descrição e Tipo. Não existem 2 Materiais com o mesmo Código. 11 No final da Apostila vamos apresentar um possível Mini Mundo da AEDB, fazer um estudo completo e dar o resultado final com tabelas e relacionamentos para o Mini Mundo apresentado. Relacionamentos As tabelas se relacionam através das chaves principais e estrangeiras. As chaves secundárias são aquelas que são principais em uma tabela e são colocadas em outra tabela para que haja um relacionamento. RELACIONAMENTO 1 para N Suponhamos que nós tenhamos as seguintes tabelas: Cliente e Pedido No exemplo acima, temos o seguinte: A tabela Cliente possui os seguintes campos ou atributos: Cpf, Nome, Fone e Cep. Não existem dois Clientes com o mesmo Cpf, por isso o campo Cpf foi escolhido para ser a chave principal. A tabela Pedido possui os seguintes campos ou atributos: Número, Data e Situação (que pode ser: atendido, pendente, cancelado, alterado, etc...) Não existem dois Pedidos com o mesmo Número, por isso o campo Número foi escolhido para ser a chave principal. Os nomes da tabela devem estar em maiúsculo As chaves principais estão com sublinhado simples e em negrito. 12 Para que uma tabela se relacione com a outra, é necessário que a chave principal de uma tabela esteja no outra tabela, como chave secundária. Devemos considerar ainda o seguinte no raciocínio: Um Cliente pode fazer muitos (N) Pedidos. Cada Pedido pode ser feito por um único (1) Cliente REGRA do 1 para N Então, a tabela Cliente está com o 1 e a tabela Pedido está com o N A tabela que está com o 1 envia sua chave principal para ser a chave estrangeira na tabela que está com o N. A tabela que está com o N recebe a chave principal da tabela que está com o 1. Portanto, a tabela Pedido recebe o campo Cpf-Cliente para ser sua chave estrangeira. Layout de Relacionamento A chave estrangeira está representada pelo sublinhado duplo. As duas tabelas estão relacionadas pelo campo Cpf-Cliente. O 1 e o N indicam que 1 Cliente pode fazer muitos (N) Pedidos. 1 e N são chamados de Cardinalidade. Cardinalidades A chave principal fica com a cardinalidade 1, enquanto que a chave estrangeira fica com a cardinalidade N. Se fosse colocada a chave principal da TAB-PEDIDO (Número-Pedido) na TAB-CLIENTE como chave estrangeira, a situação absurda seria a seguinte: Cada Cliente só poderia fazer um único Pedido. Cada Pedido poderia ser feito por vários Clientes. Esquema de Tabelas O Layout de Relacionamento acima poderia ser representado conforme um Esquema de Tabelas, como veremos a seguir: TAB-CLIENTE (Cpf-Cliente , Nome-Cliente , Fone-Cliente , Cep-Cliente) TAB-PEDIDO (Número-Pedido , Data-pedido , Situação-Pedido , Cpf-Cliente) 13 Tanto no Layout de Relacionamentos como no Esquema de Tabelas, o nome de cada campo fica acompanhado do nome da tabela (Nome-Cliente) pelo seguinte motivo: - No caso de uma consulta por qualquer usuário, fica fácil de identificar se o Nome é do Cliente, do Produto, do Funcionário, do Fornecedor, etc... RELACIONAMENTO N para N Mini Mundo: Cada Produto é distribuído por vários (N) Fornecedores. Cada Fornecedor pode distribuir vários (N) Produtos. Cada Produto tem um Preço diferente para cada Fornecedor O Produto é cadastrado por Código e Descrição. Não existem 2 Produtos com o mesmo Código O Fornecedor é cadastrado por Cnpj e Nome. Não existem 2 Fornecedores com o mesmo Cnpj REGRA do N para N É criada uma tabela entre as tabelas Produto e Fornecedor com qualquer nome. No caso abaixo, demos o nome de TAB-DISTRIBUIÇÃO. A tabela Distribuição recebe a chave principal das 2 tabelas que a enquadram. As 2 chaves juntas ficam sendo a chave principal da tabela Distribuição e não chave estrangeira. A tabela Distribuição se relaciona com as outras duas tabelas pelos campos chaves. Layout de Relacionamentos 14 Esquema de Tabelas TAB-FORNECEDOR (Cnpj-Fornec , Nome-Fornec) TAB-DISTRIBUIÇÃO (Cnpj-Fornec , Código-Prod , Preço-Distrib) TAB-PRODUTO (Código-Prod , Descrição-Prod) Obs: A TAB-PRODUTOS está relacionada com a TAB-DISTRIBUIÇÃO pelo campo CódigoProd A TAB-DISTRIBUIÇÃO está relacionada com a TAB-FORNECEDOR pelo campo CnpjFornec RESPOSTA DO MINI MUNDO DA AEDB Mini Mundo da AEDB Cada aluno pertence a um curso, que por sua vez pode ter vários alunos. O curso é armazenado por um código único e pelo seu nome. Os alunos são cadastrados pela matrícula, nome e endereço. Não existem 2 alunos com a mesma matrícula. Cada curso possui algumas disciplinas que são identificadas por um controle único e pela sua descrição. A mesma disciplina pode ser lecionada em outros cursos em dias diferentes. Cada professor pode ministrar mais de uma disciplina, mas cada disciplina só pode ser lecionada por um único professor. CPF, nome e telefone são os atributos de cada professor. Resposta: Layout de Relacionamentos 15 . Resposta: Esquema de Tabelas TAB-ALUNO (Matrícula-Alu , Nome-Alu , Rua-Alu , Bairo-Alu , Cep-Alu , Código-Cur) TAB-CURSO (Código-Cur , Descrição-Cur) TAB-AULAS (Código-Cur , Controle-Dis , Dias-Aula) TAB-DISCIPLINA (Controle-Dis , Descrição-Dis , Cpf-Prof) TAB-PROFESSOR (Cpf-Prof , Nome-Prof , Tel-Prof) Referências: O’BRIEN. James A. Sistemas de Informação e as decisões gerenciais na era da Internet. 2 ed. São Paulo: Saraiva, 2004. SANTOS, Miguel C. Damasco. Banco de Dados. Resende: AEDB, 2010. FIM