Baixe o app para aproveitar ainda mais
Prévia do material em texto
MODELAGEM DE DADOS AULA 1 INTROCUÇÃO Nesta aula, você irá: 1.Aprender a diferença entre dado e informação 2.Conceituar Banco de Dados, Sistema Gerenciador de Bancos de Dados e Sistemas de Bancos de Dados 3.Analisar as diferenças entre Sistemas de Bancos de Dados e Sistemas baseados em Arquivos 4.Conhecer a história e a evolução dos bancos de dados 5.Conhecer os usuários de um ambiente de banco de dados DADOS X INFORMAÇÃO Dados representam fatos em sua forma primária. Por exemplo, o nome de um empregado, a quantidade de horas trabalhadas, por cada empregado, em uma semana, os números das peças mantidas em estoque ou dos seus pedidos de compras. Quando este fatos são organizados ou arranjados de modo significativo, eles se tornam uma informação. Informação, portanto, é um conjunto de fatos organizados de tal forma que adquirem um valor adicional, além do valor do fato em si. Por exemplo, o total de vendas mensais pode ser mais adequado ao seu propósito, ou seja, pode conter mais valor, do que as vendas de cada vendedor individualmente. A transformação de dados em informação é um processo. Por exemplo, com os dados de peças mantidas em estoque, pedidos e vendedores podemos obter informações tão diferentes quanto: lista de peças que estão em falta no estoque, a média de venda por peça, os melhores e piores vendedores da companhia e, ainda, relacionar os piores e melhores vendedores com as horas trabalhadas por cada um deles. De forma simples, podemos entender um sistema de informação como um conjunto de processos que transforma dados em informação. Os dados relevantes para um determinado negócio se mantêm estáveis mesmo que o negócio em questão modifique radicalmente sua forma de operação, ou seja, os seus processos. Sendo assim, podemos afirmar que dados são mais estáveis do que processos e, portanto, representam a uma das partes mais valiosas e importantes de um sistema de informação. BANCOS DE DADOS De acordo com (Navathe, 2005), podemos definir um banco de dados como um conjunto de dados que se relacionam. Porém, o significado do termo é mais restrito do que esta definição. Um banco de dados, necessariamente, possui as seguintes propriedades: SISTEMAS GERENCIADORES DE BANCOS DE DADOS E SISTEMAS DE BANCO DE DADOS Um banco de dados é criado e mantido por um c o n j u n t o d e a p l i c a ç õ e s d e s e n v o l v i d a s especialmente para esta tarefa denominado “Sistema Gerenciador de Banco de Dados” (SGBD). Um SGBD é uma coleção de programas que permite aos seus usuários criarem e manipularem bancos de dados. O conjunto formado por um banco de dados e estes programas que o manipulam é chamado de Sistema de Banco de Dados. Uma característica importante da abordagem de Banco de Dados é que o SGBD não mantém somente os dados, mas, também, a forma como os mesmos são armazenados, através de uma descrição completa dos dados armazenados. Estas informações são armazenadas no catálogo ou dicionário de dados do SGBD, que contém informações como a estrutura de cada arquivo, o tipo e o formato de armazenamento de cada tipo de dado, restrições, etc. As informações armazenadas neste catálogo são chamadas meta- dados. SGBD X SISTEMAS DE GERENCIAMENTO DE ARQUIVOS A melhor maneira de entender a natureza geral e as características dos bancos de dados de hoje é olhar para as características dos sistemas que antecederam o uso da tecnologia de banco de dados: os Sistemas de Gerenciamento de Arquivos. Tais características são: 1) Cada usuário define e implementa os arquivos necessários para uma aplicação específica, acarretando repetição dos dados e gerando inconsistência nas informações. Por exemplo, o salário de um funcionário pode ser utilizado tanto por um sistema de folha de pagamento quanto por um sistema financeiro. Se cada um destes sistemas possui seu próprio conjunto de arquivos, não existem garantias que a alteração do salário de um funcionário específico seja efetuada para os arquivos nos dois. E, esta atualização não seja efetivada para os dois sistemas, em algum deles, as informações geradas com base neste dado, serão inconsistentes. Não refletirão a realidade do negócio. Sistemas Gerenciadores de Bancos de Dados (SGBD) • Um a rqu i vo ( t abe l a ) é definido uma única vez e atende a várias aplicações, ou seja, existe múltipla visão dos dados. • Armazena-se junto com os dados todas as informações referentes à forma como estes foram estruturados e onde e les es tão armazenados f i s i c a m e n t e . E s s a s i n f o r m a ç õ e s e s t ã o armazenadas no catálogo ou dicionário de dados do SGBD. • Há separação entre programas e dados. • Os acessos são escritos no banco de dados e os programas enviam comandos solicitando o acesso aos dados. • Esse conceito é chamado de abstração de dados, que c a ra c t e r i z a - s e po r uma i n d e p e n d ê n c i a e n t r e programas e dados e entre programas e operações de manipulação de dados. • É p e r m i t i d o a c e s s o simultâneo de vários usuários a o m e s m o d a d o . E s s a simultaneidade é tratada através do gerenciamento da concorrência. • Procedimentos de backup e r e c u p e r a ç ã o s ã o automatizados. EVOLUÇÃO DOS BANCOS DE DADOS Nos primeiros sistemas de informação, dados e processos eram mantidos juntos em um mesmo arquivo, como no esquema a seguir. PROGRAMA COM DADOS ARMAZENADOS A partir da observação de que os dados são muito mais estáveis que os processos, em um sistema de informação, iniciou-se a época de investimentos massivos no desenvolvimento de ferramentas vo l tados para seu t ratamento e f i c iente. Gradativamente, dados e processos foram separados. Em um primeiro momento, estas ferramentas mantinham as funções básicas de criação e manipulação dos dados independentes das aplicações. Em um segundo momento, apresentando as características dos SGBDs descritas anteriormente. A partir deste ponto, em paralelo com a evolução do hardware disponível para suportar tais aplicações, estes ambientes foram ganhando novas versões como representadas nos esquemas que seguem. Bancos de Dados Centralizados Neste ambiente, dados, SGBD e os programas que o acessam ficam restritos a uma única máquina. O acesso se dá por meio de terminais burros, ou seja, terminais com funcionalidades restritas. Bancos de dados Cliente – Servidor (com servidor de arquivos) Devido ao surgimento das redes de computadores e a possibilidade de conexão entre diversas máquinas com alto poder de processamento, o banco de dados pode ser deslocado para uma máquina específica, o servidor de arquivos. Programas e SGBD podem funcionar em uma ou várias das outras máquinas da rede. Bancos de dados distribuídos Os bancos de dados crescem em volume de dados e as redes se tornam quase ilimitadas em tamanho. Para garantir a eficiência nestes ambientes, surge a necessidade de distribuição da própria base de dados. Surgem, então, os bancos de dados distribuídos. Estes bancos de dados representam, de forma bastante simplificada, a divisão do banco de dados por vários servidores de bancos de dados. N O V A S A R Q U I T E T U R A S D E B D - DATAWAREHOUSE Os bancos de dados saem do nível operacional da empresa e são agora preparados para atender níveis mais altos da pirâmide empresarial. Os datawarehouses, ou armazéns de dados, representam esta promoção dos bancos de dados. E l e s c o n t é m d a d o s c o m o n o s b a n c o s convencionais, só que preparados para atender as necessidades de informação dos níveis estratégicos da organização. Eles agora são empregados na tomada de decisão dentro das empresas, e não apenas na viabilização do funcionamento destas no dia a dia. Eles agora são empregados na tomada de decisão dentro das empresas, e não apenas na viabilização do funcionamento destas no dia a dia. NOVAS ARQUITETURASDE BD - VIA WEB Finalmente, com o surgimento da Internet, a possibilidade de conexão entre estas bases de dados se torna praticamente ilimitada. USUÁRIOS DE BANCOS DE DADOS Em um ambiente de bancos de dados existem várias categorias de usuários. São elas: •Administrador de dados (AD) • Responsáveis por identificar o s d a d o s a s e r e m armazenados no BD e por e s c o l h e r a s e s t r u t u ra s apropriadas para representar e armazenar esses dados. • Comunicação com usuários para identificação de visões (esquemas conce i tua is ) , desenvo lve e mantém o dicionário de dados, garante as necessidade corporativas de dados •Administradores do BD (ABD) • Desenvolve os esquemas internos através da construção das tabelas, índices, etc., autoriza o acesso ao banco de dados, de modo a coordenar e monitorar seu uso, garante a segurança dos dados, bem c o m o s e u b a c k u p e recuperação em caso de falhas, garante a performance d o b a n c o d e d a d o s e d e s e n v o l v e v i s õ e s q u e atendam ao esquema externo •Analistas de sistemas • Determinam os requisitos dos usuários finais e desenvolvem especificações de transações q u e s a t i s f a ç a m e s s e s requisitos. •Programadores de aplicação • I m p l e m e n t a m a s especificações das transações como programas, testando-os, c o r r i g i n d o - o s e documentando-os. •Usuários finais • U t i l i z a m o s s i s t e m a s projetados pelo analista de sistemas cuja base de dados é mantida e monitorada pelo DBA e cuja integração com o conjunto da corporação é garant ido pe lo esquema conceitual mantido pelo AD. •Pessoal de suporte • Preocupam-se com o hardware d i s p o n i b i l i z a d o p a r a o ambiente. SÍNTESE DA AULA Nesta aula, você: • Aprendeu a diferença entre dado e informação. • Aprendeu os conceitos de Banco de Dados, Sistema Gerenciador de Bancos de Dados e Sistemas de Bancos de Dados. • Analisou as diferenças entre Sistemas de Bancos de Dados e Sistemas baseados em Arquivos. • Conheceu um pouco da história e da evolução dos bancos de dados. • Foi apresentado aos usuários de um ambiente de banco de dados. sistemas. REGISTRO DE PARTICIPAÇÃO 1. Para cada item abaixo, marque com a letra D aqueles que representam um Dado e com a letra I aqueles que representam uma Informação. ( ) a sua matrícula na UNESA ( ) quantidade de alunos matriculados na disciplina Modelagem de Dados ( ) a sua nota na disciplina Modelagem de Dados ( ) a média dos alunos da sua de turma de Modelagem de Dados ( ) o nome do seu tutor na disciplina Modelagem de Dados ( ) a média alcançada por cada tutor da disciplina Modelagem de Dados 1) I,D,I,I,D,I 2) I,D,D,I,D,D 3) D,I,I,D,D,I 4) D,I,D,I,D,I 5) D,I,I,I,D,D 2 - Um banco de dados possui as seguintes propriedades, exceto uma: 1) um banco de dados é uma coleção lógica coerente de dado,s com um significado inerente; uma disposição desordenada de dados não pode ser referenciada como um banco de dados; 2) um banco de dados é projetado, construído e populado com dados para um propósito específico; 3) dependência direta dos processos que o utilizam; 4) um banco de dados possui um conjunto pré definido de usuários e aplicações; 5) um banco de dados representa algum aspecto do mundo real, o qual é chamado de “mini-mundo” , e qualquer alteração efetuada neste mini-mundo é automaticamente refletida no banco de dados 1) Cada usuário define e implementa os arquivos necessários para uma aplicação específica, acarretando repetição dos dados e gerando inconsistência nas informações. 2) O acesso aos dados está escrito nos programas que o manipulam, subordinando os programas aos arquivos. 3) A responsabilidade sobre os procedimentos de backup e recuperação esta a cargo da aplicação. 4) A manipulação dos dados contidos nos arquivos pelas aplicações específicas facilita o desenvolvimento de novos sistemas e torna a manutenção dos aplicativos mais simples. 5) O sistema possibilita uma redundância não controlada de dados e inconsistência ao permitir que em um sistema um dado seja alterado e esse mesmo dado não seja alterado em outro. 4. É uma vantagem do uso de SGBDs: 1) Um arquivo (tabela) é definido para atender uma única aplicação. 2) Armazena-se em separado toda as informações referentes à forma como os dados foram estruturados e onde eles estão armazenados fisicamente. os programas enviam comandos solicitando o acesso aos dados. Esse conceito é chamado de abstração de dados, que se caracteriza por uma independência entre programas e dados e entre programas e operações de manipulação de dados. 4) Existem uma única visão da mesma base de dados. 5) O acesso aos dados é único para cada usuário 5. Marque V (Verdadeiro) ou F (Falso) nas afirmativas abaixo: ( ) Gradativamente, dados e processos foram separados. Em um primeiro momento, as ferramentas que surgiam mantinham as funções básicas de criação e manipulação dos dados independentes das aplicações. Em um segundo momento, as funções de criação e gerenciamento dos dados foram transferidas totalemente para os SGBDs. ( ) Devido ao surgimento das redes de computadores e com a possibilidade de conexão entre diversas máquinas com alto poder de processamento, o banco de dados pôde ser deslocado para uma máquina específica, o servidor de arquivos. Programas e SGBD , então, podem funcionar em uma ou várias das outras máquinas da rede. ( ) Os bancos de dados cresceram em volume de dados e as redes se tornaram quase ilimitadas em tamanho. Para garantir a eficiência nestes ambientes, surgiu a necessidade de distribuição da própria base de dados. ( ) Os bancos de dados distribuídos representam a divisão do banco de dados por vários servidores de bancos de dados. ( ) Datawarehouses são bancos de dados que atendem ao nível estratégico das empresas. 1) V,F,F,V,V 2) V,V,V,V,V 3) F,V,V,F,V 4) F,V,V,V,F 5) V,V,F,V,V AULA 2 O SGBD E SUAS FUNCIONALIDADES Nesta aula, você irá: 1.Aprender as principais características dos SGBDs. 2.Aprender quando empregar e quando não empregar bancos de dados. 3.Conhecer conceitos fundamentais de um ambiente com SGBD. Os SGBDS E Suas Funcionalidades Um SGBD é conjunto complexo de software que d e v e p r o v e r u m c o n j u n t o b á s i c o d e funcionalidades: INDEPENDÊNCIA DE DADOS CONTROLE DE REDUDÂNCIA “Redundância é armazenar o mesmo dado várias vezes, para atender diversas aplicações. Para manter a consistência do banco de dados, deve-se armazenar o dado uma única vez e em apenas um lugar, no banco de dados. Isto permite manter a c o n s i s t ê n c i a , e c o n o m i z a r e s p a ç o d e armazenamento.” ” Em alguns casos, a redundância é necessária, porém ela deve ser controlada pelo sistema de gerenciamento de banco de dados. “(Elmasri & Navathe, 2005) “É um conceito representado pelo controle centralizado dos dados compartilhados por diversas aplicações, reduzindo a repetição de dados a um mínimo justificável e aceita apenas por questão de desempenho.” (Cerícola, 1991) Problemas Da Redundância De Dados: Compartilhamento de Dados Permitir, a usuários diferentes, a utilização simultânea de um mesmo dado. As informações sobre clientes podem ser acessadas pelo sistema de vendas, de contas a receber e faturamento simultaneamente. A mesma base de dados sobre empregados pode ser usada simultaneamente pelo sistema de recursos humanos e pelo sistema de vendas. No primeiro caso, os dados serão utilizados no processo de pagamento e no segundo, no processo de alocação dos vendedores às áreas de atendimento a cliente. Restrições de Acesso O sistema de pagamento poderá atualizar o cargo ocupado pelo empregado, enquanto o sistema de vendas poderá apenas consultar qual o cargo de um determinado empregado. O sistema de controle de material poderáincluir um novo material no cadastro existente, enquanto a área de compras consultará as informações sobre os materiais necessários para o processo de produção. SEGURANÇA E AUTORIZAÇÃO Exemplo: Ao definir o tipo cores como: azul, vermelho, amarelo e verde. E, em seguida, definir um atributo- cor parede, como do tipo cores. O SGBD aceitará apenas os tipos definidos, ou seja, azul, vermelho, amarelo e verde como válidos para este atributo. Se o usuário tentasse informar, por exemplo, o valor branco para o atributo cor da parede, o sistema acusaria um erro. MECANISMO DE BACKUP E RECUPERAÇÃO “Um SGBD deve prover fac i l idades para recuperação de falhas do hardware ou software.” Estes mecanismos evitam que cada aplicação tenha que projetar e desenvolver seus próprios controles contra a perda de dados. Exemplo: Se o sistema falha no meio de um programa de alteração complexo, o mecanismo de recuperação é responsável por assegurar que o banco de dados será restaurado para o estágio que ele se encontrava antes do início da execução do programa. Múltiplas Interfaces Um ambiente de banco de dados é acessado por variados tipos de usuários, com variadas necessidades de informação e com diferentes níveis de conhecimento técnico. Para atender esta diversidade usuários, o SGBD deva fornecer diferentes tipos de interfaces. Sendo assim ,este ambiente disponibiliza: Benefícios no Uso de SGBDs Os ambientes de bancos de dados fornecem uma série de vantagens na sua adoção: 1.Potencial para o estabelecimento e o cumprimento de padrões; 2.Flexibilidade de mudanças; 3.Redução no tempo de desenvolvimento de novas aplicações; 4.Disponibilidade de informação atualizada; 5.Economia de escala. Bancos de dados NÃO são sempre a solução!!! Apesar das vantagens de utilização, a escolha por uma ambiente de banco de dados tem um alto custo atrelado. A sua adoção deve, então, compensar ou ser compatível com este custo. Sobrecustos vinculados - Alto investimento inicial em software, pela aquisição do banco de dados e licenças, e em hardware que suporte este ambiente. - Custo da generalidade do SGBD, ou seja, na definição e no processamento dos dados. - “Overhead” de processamento. Neste ambiente, overhead significa tudo aquilo que o SGBD tem que fazer além de gerenciar os dados. Isto envolve tarefas, tais como: garantir segurança, controlar concorrência (utilização do mesmo dado por aplicações e usuários distintos simultaneamente), recuperação de falhas e garantia de integridade. Quando NÃO usar bancos de dados • Volume de dados pequeno, aplicações simples, bem definidas. • Mudanças não são esperadas. • Ambientes de sistemas que exijam resposta em tempo real. • Acessos múltiplos e concorrentes não são necessários. Nesta aula, você: • Aprendeu as principais funcionalidades dos SGBDs. • Aprendeu quando empregar e quando não empregar bancos de dados. • Aprendeu conceitos fundamentais de um ambiente de SGBDs. REGISTRO DE PARTICIPAÇÃO 1. É uma funcionalidade fornecida por um SGBD, EXCETO: 1) independência de Dados; 2) aplicação de Redundância; 3) compartilhamento de Dados; 4) restrições de Integridade; 5) múltiplas Interfaces 2. Bancos de dados devem ser utilizados quando: 1) volume de dados pequeno, aplicações simples, bem definidas; 2) mudanças não são esperadas; 3) ambientes de grande volume de dados e 4) ambientes de sistemas que exijam resposta em tempo real; 5) acessos múltiplos e concorrentes não são necessários. 3. São problemas causados pela redundância de dados, EXCETO: 1) duplicação de esforço para manter os dados atualizados; 2) facilidade de manipulação dos dados; 3) desperdício de espaço de armazenamento; 4) possibilidade de inconsistência dos dados; 5) dificuldade de manipulação dos dados. 4. Não devemos utilizar bancos de dados quando: 1) existe a possibilidade de acesso de múltiplos usuários; 2) existe alto grau de concorrência entre as aplicações disponíveis no ambiente; 3) aplicações complexas, com grande volume de dados; 4) se trata de um sistema de tempo real; 5) os processo são modificados com freqüência. 5. Não é um sobrecusto vinculado ao overhead de processamento em um ambiente de banco de dados: 4) recuperação de falhas; 5) garantia de integridade dos dados. Aula 3 MODELAGEM CONCEITUAL – PERCEPÇÃO DO MUNDO REAL Nesta aula, você irá: 1.Conhecer a arquitetura de 3 esquemas (conceitual, lógico e físico). 2.Aprender o conceito e o processo de abstração de dados. 3.Identificar os principais objetos conceituais (entidades, relacionamentos e atributos). 4.Conhecer as representações básicas destes objetos conceituais. O projeto de um banco de dados envolve a produção de 3 modelos que definem uma arquitetura de 3 esquemas (conceitual, lógico e físico). Na fase inicial do processo, o mundo real ou mini- mundo deve ser entendido e seus objetos conceituais identificados. A este entendimento e identificação chamamos abstração de dados e o modelo produzido após esta fase chamamos modelo conceitual. Após a sua confecção e pela a aplicação de regras específicas, um modelo lógico é produzido. Este modelo está vinculado ao modelo de dados adotado pelo SGBD. Na etapa final, o modelo lógico dá origem ao modelo físico, efetivamente armazenado no banco de dados. PERCEPÇÃO DO MUNDO REAL Toda realidade é, em princípio, bastante nebulosa e informal. Através da observação podemos extrair desta realidade fatos que nos levam a conhecê-la de uma forma mais organizada. Em um negócio, existem fatos que, observados e m o d e l a d o s , d i z e m a l g o a r e s p e i t o d o funcionamento deste negócio. Estes fatos estão l igados diretamente ao funcionamento da realidade, a qual temos interesse em compreender e manter. Para que possamos retratar estes fatos e que os mesmos possam nos levar a futuras decisões e ações, se faz necessário então registrá-los. Este registro é feito através da criação de um MODELO, isto é, algo que nos mostre como as informações estão relacionadas. Ao coletar e relacionar os fatos relevantes, devemos identificar os elementos geradores de informação, as leis que regem esta realidade, bem como as operações que incidem sobre os elementos básicos (dados). O que se quer criar é uma ABSTRAÇÃO da realidade, que seja capaz de registrar os acontecimentos da mesma, de modo que se possa implementar um sistema automatizado que atenda às reais necessidades de informação. ELEMENTOS DE ABSTRAÇÃO •MINIMUNDO Porção específica da realidade, captada pelo analista, objeto de observação detalhada. Caso a análise do minimundo torne-se muito complexa, o analista pode subdividi-lo em pontos menores, chamados de “visões”. •BANCO DE DADOS Coleção de fatos registrados que refletem certos aspectos de interesse do mundo real. Cada mudança em algum item do banco de dados reflete uma mudança ocorrida na realidade. • MODELO CONCEITUAL Representa e/ou descreve a realidade do ambiente, constituindo uma visão global dos principais dados e relacionamentos (estruturas de informação), independente das restrições de implementação. Descreve as informações contidas em uma realidade, as quais irão estar armazenadas em um banco de dados. • MODELO LÓGICO Descreve as estruturas que estarão contidas no banco de dados, considerando o modelo de dados do Sistema Gerenciador de Banco de Dados (SGBD), resultando em um esquema lógico de dados. Tem seu início a partir do Modelo Conceitual. • MODELO FÍSICO D e s c r e v e a s e s t r u t u r a s f í s i c a s d e armazenamento de dados, tais como: tamanho dos campos, índices, tipo de preenchimento destes campos, etc... Tem origem no Modelo Lógico e detalha o estudo dos métodos de acesso ao SGBD. O PROJETO DO BANCO DE DADOS Todo projeto de um sistema de aplicação para banco de dados necessita de um coração, um centro nervoso do mesmo. A modelagem deum sistema através da abordagem Entidades- Relacionamentos representa este ponto central no projeto conceitual de um sistema. O objetivo da Modelagem de Dados é transmitir e apresentar uma representação única, não redundante e resumida, dos dados de uma aplicação. Em projetos conceituais de aplicação, em banco de dados, o Modelo Entidades- Relacionamentos é o mais largamente utilizado para representação e entendimento dos dados que compõe um sistema. Desenvolvida na década de 70, possui paternidade discutível: Charles Bachman, James Martin, Peter Chen e outros. É de Peter Chen o rótulo MER (Modelo Entidades-Relacionamentos) que se transformou em, praticamente, sinônimo da técnica de Modelagem de Dados. Um Mode l o de Dados é uma f o rma de representação gráfica do conhecimento que se tem sobre um ambiente qualquer. Mostra uma visão das informações de interesse e dos vínculos existentes entre elas, em um determinado momento. Quando Peter Chen formulou a proposta do Modelo Entidades-Relacionamentos , baseou-se na compreensão da realidade em que se situava o problema. Como iremos projetar um sistema se não entendemos o negócio para o qual será realizado? Chen dedicou-se a destacar a importância de reconhecer os objetos que compõem este negócio, independentemente das formas de tratamento das informações, procedimentos, programas etc. Estes objetos que desejamos conhecer e modelar foram classificados em dois grupos: Entidades e Relacionamentos. A imagem seguinte representa um fato comum que pode ser representado através dos elementos básicos que compõem o Modelo Entidades- Relacionamentos: ENTIDADES • Define-se Entidade como aquele objeto que existe no mundo real, com identificação distinta e com um significado próprio. • A representação de uma entidade no MER é feita através de um retângulo, com o nome da entidade em seu interior. ATRIBUTOS Todo objeto para ser uma entidade possui propriedades que são descritas por atributos e valores. Estes atributos e valores, juntos, descrevem as instâncias de uma entidade. O que descreve CLIENTE ? Cliente é descrito por um código de identificação, nome, endereço, telefone de contato, CGC ou CPF etc. A representação de um atributo no MER é feita através de uma elipse com o nome do atributo em seu interior. RELACIONAMENTOS Um relacionamento é uma associação entre duas entidades cujo significado seja de interesse para a realidade analisada. Os relacionamentos estão intimamente ligados às ações realizadas pelos processos sobre os dados e representam os caminhos de navegação ou rotas de acesso do Modelo de Dados. Existem várias formas de se representar graficamente um relacionamento, Por exemplo, Peter Chen utiliza um losango para desenhar uma associação entre entidades, outros autores a representam através de um traço unindo as entidades. Exercício - Identifique as entidades, atributos e relacionamentos existentes no mini mundo abaixo. Suponha que estamos fazendo a análise de dados da área de Recursos Humanos da empresa ABC e tenhamos obtido as seguintes informações: “Cada funcionário é lotado em um departamento e tem um cargo de carreira. Para o cadastramento do funcionário são registrados: nome, endereço, telefone, cargo, departamento, salário, horário, filiação, idade, CPF, identidade e nacionalidade. Para cada dependente do funcionário são registrados: nome, idade, parentesco e sexo. Para cada departamento deseja-se saber: nome, sigla, nome do chefe, número de funcionários. Para cada cargo deseja-se saber: nome, sigla e salário base. Sabemos também que não é armazenado o histórico de cargos dos funcionários e que nem todos os funcionários possuem dependentes e que, também, caso um funcionário seja casado com outro funcionário, o dependente oficialmente pertencerá a apenas um deles. Podemos ter departamentos momentaneamente sem nenhum funcionário.” ENTIDADES: Funcionário, Departamento, Cargo, Dependente. ATRIBUTOS: Funcionário: nome, endereço, telefone, salário, horário, filiação, idade, CPF, identidade e nacionalidade. Departamento: nome, sigla, nome do chefe. Cargo: nome, sigla e salário base. Dependente: nome, idade, parentesco e sexo. RELACIONAMENTOS: FUNCIONÁRIO está lotado em DEPARTAMENTO FUNCIONÁRIO tem DEPENDENTE FUNCIONÁRIO possui CARGO Nesta aula, você: • Foi apresentado a arquitetura de 3 esquemas. • Aprendeu sobre o conceito e o processo de abstração de dados. • Aprendeu a identificar os principais objetos conceituais (entidades, relacionamentos e atributos). • Conheceu as representações básicas destes objetos conceituais. REGISTRO DE PARTICIPAÇÃO 1. O modelo que descreve as estruturas que estarão contidas no banco de dados, sem considerar nenhuma característica específica de um SGBD é: 1) modelo lógico; 2) modelo conceitual; 3) modelo físico; 4) modelo de dados; 5) modelo essencial. dados. Cada modelo de dados define as relações lógicas entre os elementos dos dados para apoiar um processo empresarial. 1) levantamento de requisitos; 2) análise de dados; 3) abstração de dados; 4) modelagem de dados; 5) coleta de dados 3. Um(a)_________________________ é um modelo utilizado para representar as relações entre as muitas entidades envolvidas nos processos empresariais. 1) dado; 2) Informação; 3) entidade; 4) atributo; 5) relacionamento. 4. Um(a)_________________________ representa uma característica de uma entidade. 1) dado; 2) informação; 3) entidade; 4) atributo; 5) relacionamento. 1) dado; 2) informação; 3) entidade; 4) atributo; 5) relacionamento; AULA 4 MODELAGEM CONCEITUAL – MODELO ENTIDADE E RELACIONAMENTO Nesta aula, você será capaz de: 1.Aprofundar seus conhecimentos sobre o Modelo Entidade Relacionamento. 2.Aprender a identificar os principais objetos conceituais. 3.Aprender a criar um modelo para o negócio. ENTIDADES • Define-se Entidade como aquele objeto que existe no mundo real, com identificação distinta e com um significado próprio. • São as “coisas” que existem no negócio, ou ainda, descrevem o negócio em si. • A representação de uma entidade no MER é feita através de um retângulo, com o nome da entidade em seu interior. • Entidades podem ser tangíveis • Pessoas • Edifícios • Entidades podem ser intangíveis • setor (dentro de uma empresa) • reserva em um vôo • Entidade Fraca • • não existe se não estiver relacionada a outra, isto é, ela é logicamente dependente da outra. • Alguns conjuntos ent idade não possuem um conjunto de atributos capaz de identificar univocamente uma determinada entidade. Neste caso, sua existência depende da existência de outra entidade. ATRIBUTOS • Todo objeto para ser uma entidade possui propriedades que são descritas por atributos e valores. • Estes at r ibutos e va lores , juntos , descrevem as instâncias de uma entidade. • A representação de uma entidade no MER é feita através de uma elipse, com o nome do atributo em seu interior. • O que descreve CLIENTE ? Cliente é descrito por um código de identificação, nome, endereço, telefone de contato, CGC ou CPF. nome telefone CPF ATRIBUTOS SIMPLES OU ATÔMICOS Atributos que não são divisíveis em unidades dados mais simples. Exemplo: DataNascimento, NumeroFatura, ValorTotalVenda ATRIBUTO MULTIVALORADO Os atributos multivalorados são tratados pelos seus detalhes, seu conteúdo é formado por mais de um valor. Exemplo: Telefone. Um empregado poderá ter mais de um número de telefone. ATRIBUTOS COMPOSTOS (GRUPO DE ATRIBUTOS) Combinação ou agregação de atributos relacionados Exemplo: Endereço é formado pelos atributos: rua, bairro, cidade, estado, CEP. Atributos identificadores: Atributos que identifica, de forma única, as instâncias de uma entidade. Exemplo: uma matrícula identifica um aluno e um CPF identifica um cliente Domínio de um atributo: descrição de possíveis valores permitidos para um atributo.Exemplo: domínio do atributo Cor_Peça: azul, amarelo, verde, vermelho, branco Valores nulos: atributo sem valor. Um valor nulo pode ocorrer, quando o atributo não é relevante para descrever uma entidade em particular. Atributos identificadores: Atributos que identifica, de forma única, as instâncias de uma entidade. Exemplo: uma matrícula identifica um aluno e um CPF identifica um cliente MODELANDO O NEGÓCIO • Em um primeiro contato com o negócio de uma empresa, podemos não possuir o conhecimento necessário sobre o mesmo. Portanto, é fundamental que procuremos conhecer seus objetos principais. • Ao descrevermos textualmente a realidade analisada, as entidades podem ser identificadas por similaridade com a análise sintática nas linguagens naturais. • Nesse caso, algumas regras podem ser aplicadas: o sujeito e o objeto da sentença são, provavelmente, entidades; os verbos podem sugerir relacionamentos. “Um país participa das Olimpíadas” A frase sugere de imediato a garimpagem de PAÍS e OLIMPÍADAS como entidades e o verbo “PARTICIPA” como o relacionamento entre elas. Nos relacionamentos entre objetos de diferentes tipos, associamos instâncias de um objeto de um tipo a outras de outro tipo. Assim, se desejamos ter, conceitualmente, representado um ambiente observado onde “João é proprietário de um jipe amarelo”, poderemos nos valer da seguinte estratégia: Passo 1- Identificar os objetos envolvidos PESSOA, com a instância “João” VEICULO, com a instância “jipe” Passo 2 - Caracterizar os objetos PESSOA, caracter izado por: nome, data de nascimento, sexo, CPF VEICULO, caracterizado por: marca cor, ano de fabricação, número do chassis Passo 3 - Representar os objetos Passo 4 - Identificar o relacionamento entre os objetos PESSOA é proprietária de VEICULO Passo 5 - Caracterizar o relacionamento entre os objetos •Nem toda PESSOA é proprietária de um VEICULO •Um VEICULO pode pertencer a uma PESSOA ou não •Algumas PESSOA possuem mais de um VEICULO •Se um VEICULO pertence a uma PESSOA, ele não pertence a mais ninguém Passo 6 - Representar o Relacionamento Este processo pode ser utilizado para mapear qualquer relacionamento entre dois, ou mais, tipos de objetos e, também, entre os mesmos objetos. Assim, se necessitamos expandir nosso modelo representando também as observações: - um VEICULO é de propriedade de uma PESSOA mas pode ser utilizado por diversas PESSOAS para locomoção -uma PESSOA utiliza um IMOVEL para morar - - Temos que repetir os passos de 1 a 6 para cada nova observação. - um VEICULO é de propriedade de uma PESSOA mas pode ser utilizado por diversas PESSOAS para locomoção -uma PESSOA utiliza um IMOVEL para morar Passo 1 - Identificar os objetos envolvidos PESSOA VEICULO IMÓVEL Passo 2 - Caracterizar os objetos PESSOA, caracterizado por: nome, data de nascimento, sexo, CPF VEICULO, caracterizado por: marca cor, ano de fabricação, número do chassis IMOVEL, caracterizado por: numero do registro, endereço, metragem, tipo de edificação Passo 2.1 – Identificar os atributos identificadores dos objetos: PESSOA, caracterizado por: nome, data de nascimento, sexo, CPF VEICULO, caracterizado por: marca, cor, ano de fabricação, número do chassis IMOVEL, caracterizado por: numero do registro, endereço, metragem, tipo de edificação Passo 3 - Representar os objetos: Passo 4- Identificar os novos relacionamentos entre os objetos PESSOA utiliza VEICULO PESSOA utiliza IMOVEL Passo 5 - Caracterizar o relacionamento entre os objetos •Nem toda PESSOA utiliza um VEICULO •Um VEICULO pode ser utilizado por mais de uma PESSOA •Algumas PESSOA utilizam mais de um VEICULO •Um VEICULO sempre será utilizado por, pelo menos, uma PESSOA •Toda PESSOA utiliza um, e somente um, IMOVEL para morar •Um IMOVEL pode ser utilizado por uma ou mais PESSOA •Um IMOVEL nem sempre é utilizado por uma PESSOA Passo 6 - Representar o Relacionamento Construa o Modelo Entidades-Relacionamentos para o mini-mundo descrito a seguir: Suponha que estamos fazendo a análise de dados da área de Recursos Humanos da empresa ABC e tenhamos obtido as seguintes informações: “Cada funcionário é lotado em um departamento e tem um cargo de carreira. Para o cadastramento do funcionário são registrados: nome, endereço, telefone, cargo, departamento, salário, horário, filiação, idade, CPF, identidade e nacionalidade. Para cada dependente do funcionário são registrados: nome, idade, parentesco e sexo. Para cada departamento deseja-se saber: nome, sigla, nome do chefe, número de funcionários. Para cada cargo deseja-se saber: nome, sigla e salário base. Sabemos, também, que não é armazenado o histórico de cargos dos funcionários e que nem todos os funcionários possuem dependentes e que, também, caso um funcionário seja casado com outro funcionário, o dependente oficialmente pertencerá a apenas um deles. Podemos ter departamentos momentaneamente sem nenhum funcionário.” Nesta aula, você: •Aumentou seus conhecimentos sobre o Modelo Entidade Relacionamento. •Aprendeu a identificar os principais objetos conceituais. •Aprendeu a criar um modelo para o negócio. REGISTRO DE PARTICIPAÇÃO 1. Pode ser um exemplo de atributo composto: 1) nome completo de uma pessoa; 2) sigla de um estado; 3) marca de um carro; 4) matrícula de aluno; 5) CEP de uma residência. 2. Não é exemplo de entidade: 1) aluno; 2) curso; 3) professor; 4) nome do aluno; 5) cliente. 3. Descreve um relacionamento: 1) um departamento; 2) um carro; 3) uma matrícula; 4) um cliente; 5) um professor. 4. Não pode ser um atributo identificador: 1) o nome de um cliente; 2) a matrícula de um aluno; 3) o CRM de um médico; 4) o CPF de professor; 5) a placa de um carro. 5. Coloque em ordem os principais passos do processo para a criação do modelo conceitual de dados. ( ) Identificar os relacionamentos entre os objetos ou entidades. ( ) Identificar e caracterizar os objetos ou entidades do problema. ( ) Representar os relacionamentos. ( ) Representar os objetos ou entidades. ( ) Identificar atributos identificadores. 1) 2, 1, 3, 4, 5 2) 4, 1, 3, 2, 5 3) 5, 4, 2, 3, 1 4) 4, 1, 5, 3, 2 5) 2, 1, 5, 4, 3 AULA 5 M O D E L A G E M C O N C E I T U A L – M A I S S O B R E RELACIONAMENTOS Nesta aula, você irá: 1.De f i n i r e exemp l i f i ca r o conce i tos de cardinalidade. 2.Conhecer as possibilidades e critérios para nomear os relacionamentos. 3.Aprender sobre limites mínimos e máximos. 4.Aprender sobre relacionamentos recursivos. 5.Aprender sobre atributos em relacionamentos. “Modelo é a representação abstrata e simplificada de um sistema real, com a qual se pode explicar ou testar o seu comportamento, em seu todo ou em partes.” Muitas ocasiões merecem nosso entendimento, memorização, representação, explicação ou comunicação podem ser facilitadas pela aplicação da modelagem de dados. Por exemplo: •Representar um ambiente observado •Servir de instrumento para a comunicação •Favorecer o processo de verificação e validação •Capturar aspectos de relacionamento entre os objetos observados •Servir como referencial para a geração de estruturas de dados •Estabelecer conceitos únicos a partir de visões diversas Uma relação entre duas entidades pode ser descrita em termos da sua cardinalidade. TIPOS DE RELACIONAMENTOS: • •O relacionamento um-para-um é usado quando uma entidade A se relaciona com uma entidade B e vice-versa. •Este relacionamento é representado pelo sinal: 1:1 Um empregado pode ser atribuído a um carro. Um carro pertence a um empregado. O relacionamento um-para-muitos é usado quando uma entidade A pode se relacionar com uma ou mais entidades B. Este relacionamento é representado pelo sinal: 1:N Um cliente pode tomar emprestado vários DVDs de vídeo. Cada DVD só pode ser emprestado a um cliente (por vez).CARDINALIDADE N:M Cada instância da entidade que representa o lado N do relacionamento pode se relacionar com M instâncias da entidade que representa o lado M. O mesmo acontece quando o relacionamento é analisado no sentido oposto.. Este relacionamento é representado pelo sinal: N:N Um estudante pode fazer várias disciplinas Uma disciplina pode ser cursada por vários estudantes Escolhendo Nomes Para Os Relacionamentos Relações podem ser nomeadas por verbos ou palavras agregadas, como nos exemplos abaixo: AS RELAÇÕES PODEM TER LIMITES MÍNIMOS E MÁXIMOS Além do grau de cardinalidade máxima, já mencionado anteriormente, podemos identificar limites mínimos para as cardinalidades. Por exemplo: Um professor pode ensinar de 0 a 4 disciplinas (limite inferior é 0 e limite superior é 4); e um uma disciplina pode ser ministrada por 0 a 1 professor (limite inferior é 0 e o limite superior é 1) 1.Quando o limite inferior da cardinalidade for 0, o relacionamento é definido como “opcional” 2.Quando o limite inferior da cardinalidade for 1, o relacionamento é definido como “obrigatório” RELAÇÕES PODEM SER RECURSIVAS Ocorre quando uma ent idade possu i relacionamento com ela mesma - Os relacionamentos recursivos podem também ter limites inferiores e superiores - Exemplo: Uma organização possui uma entidade "Empregado" e que guardar a informação sobre quais empregados são casados entre si. Esse é um relacionamento recursivo 1:1 onde a entidade "Empregado" se relaciona consigo mesmo. Relacionamentos Recursivos 1:1 Pode ser visto como uma entidade que se relaciona com ela mesmo. Exemplo • Em uma observação do mundo real percebemos que em certa parte da análise, foi identificado o conjunto de VIGILANTE e que entre os vários relacionamentos deste conjunto existia a definição de negócio “um vigilante é substituído por outro vigilante”. Isso ocorria nos casos de final de turno, na falta ao trabalho, licença médica,... As regras de substituição foram identificadas conforme abaixo: •Um vigilante pode ou não ser substituído por outro •Um vigilante, se substituído, será somente por um outro •Um vigilante pode substituir um ou mais de seus colegas •Alguns vigilantes não substituirão ninguém em algumas situações VIGILANTE subs$tui Identifique as cardinalidades do Modelo Entidades- Relacionamentos construído para o mini-mundo descrito a seguir: Suponha que estamos fazendo a análise de dados da área de Recursos Humanos da empresa ABC e tenhamos obtido as seguintes informações: “Cada funcionário é lotado em um departamento e tem um cargo de carreira. Para o cadastramento do funcionário são registrados: nome, endereço, telefone, cargo, departamento, salário, horário, filiação, idade, CPF, identidade e nacionalidade. Para cada dependente do funcionário são registrados: nome, idade, parentesco e sexo. Para cada departamento deseja-se saber: nome, sigla, nome do chefe, número de funcionários. Para cada cargo deseja-se saber: nome, sigla e salário base. Sabemos também que não é armazenado o histórico de cargos dos funcionários e que nem todos os funcionários possuem dependentes e que, também, caso um funcionário seja casado com outro funcionário, o dependente oficialmente pertencerá a apenas um deles. Podemos ter departamentos momentaneamente sem nenhum funcionário.” Nesta aula, você: •Definir e exemplificar o conceitos de cardinalidade. •Conhecer as possibilidades e critérios para nomear os relacionamentos. •Aprender sobre limites mínimos e máximos. •Aprender sobre relacionamentos recursivos. •Aprender sobre atributos em relacionamentos. REGISTRO DE PARTICIPAÇÃO 1. Utilize o modelo acima nos exercícios que seguem: O relacionamento, onde cada instância de entidade se relaciona com um única instância da outra entidade no relacionamento, é:[aqui, não há concordância da resposta com o verbo do enunciado- favor rever a intenção do enunciado 1) GERA 2) ENVIADOS 3) PRODUZEM 4) POSSUEM 5) CADASTRA 2. O relacionamento, onde cada instância de entidade se relaciona com várias instâncias da outra entidade no relacionamento, mas no sentido inverso a quantidade de instância é de apenas 1, é: 1) GERA 2) ENVIADOS 3) PRODUZEM 4) POSSUEM 5) CADASTRA 3. A descrição do relacionamento em relação a sua cardinalidade feita de forma INCORRETA é: 1) Uma fabrica cadastra várias lojas que são cadastradas por uma única fábrica. 2) Pedidos são enviados a várias fábricas, assim como uma fábrica envia vários pedidos. 3) Cada pedido gera uma nota fiscal, assim como cada nota fiscal se relaciona a um pedido. 4) Cada tecido produz várias roupas e cada roupa possui um único tecido. 5) Cada fábrica produz várias roupas e cada roupa é produzida em várias fábricas. 4. Identifique o relacionamento descrito de forma INCORRETA. 1) Toda roupa possui tecido. 2) Toda fábrica cadastra loja. 3) Toda loja faz pedido. 4) Todo pedido gera nota fiscal. 5) Toda roupa é produzida em um fábrica. 5. Se desejássemos representar que cada loja cadastrada no banco de dados deve obrigatoriamente fazer, no mínimo, um pedido e, no máximo, vários , que alteração deveríamos fazer no modelo? 1) Altera a cardinalidade do lado da entidade LOJA para (0,n). 2) Altera a cardinalidade do lado da entidade LOJA para (1,1). 3) Altera a cardinalidade do lado da entidade PEDIDO para (1,n). 4) Altera a cardinalidade do lado da entidade LOJA para (1,1). 5) Nenhuma das alternativas anteriores.
Compartilhar