Baixe o app para aproveitar ainda mais
Prévia do material em texto
Modelagem de Dados Adriana Sicsú Aula 1 Objetivos da Aula • Dados x Informação • Banco de Dados • Sistema Gerenciador de Banco de Dados (SGBD) • Ambiente do SGBD • Evolução do Banco de Dados • Usuários do Banco de Dados 2 Conceitos Dados 3 Informação Conceitos Dados 4 Informação Representam fatos em sua forma primária. Exemplo: nome do aluno, idade, endereço,... Conceitos Dados 5 Informação É um conjunto de fatos organizados de tal forma que adquirem um valor adicional, além do valor do fato em si. Exemplo: Media de idade dos alunos Banco de Dados • Banco de dados é uma coleção de dados relacionados. [Navathe,2011] • Propriedades: – Representa algum aspecto do mundo real, o que é chamado de “ mini mundo”. As mudanças no mini mundos são refletidas no banco de dados. 6 Banco de Dados • Propriedades: – É uma coleção logicamente coerente de dados com algum significado inerente. – Projetado, construído e populado com dados para uma finalidade específica. –Possui um conjunto pré definido de usuários e aplicações. 7 Sistema Gerenciador de Banco de Dados - SGBD • É uma coleção de programas que permite aos usuários criar e manter um banco de dados. [Navathe,2011] • O SGBD é um sistema de software de uso geral que facilita o processo de definição, construção, manipulação e compartilhamento de banco de dados entre diversos usuários e aplicações. 8 Ambiente de um Sistema de Banco de Dados 9 Sistemas de Gerenciamento de Arquivos • Inicialmente, os dados necessários ao funcionamento das organizações eram armazenados em Arquivos, que são agrupamentos de dados armazenados em algum tipo de dispositivo de armazenamento físico, e para acessar esses dados e utilizá-los no dia a dia, eram criadas Aplicações (programas de Computador). 10 Sistema de Arquivos • A estrutura do arquivo de dados está embutida no programa da aplicação, sendo assim, qualquer mudança na estrutura de um arquivo pode exigir alterações de todos os programas que acessam esse arquivo. 11 Sistemas Gerenciadores de Arquivos Características: 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. 12 Sistemas Gerenciadores de Arquivos Características: 2) O acesso aos dados está escrito nos programas que o manipulam, subordinando aos arquivos. Isto significa que qualquer alteração na estrutura dos arquivos acarretará em todos os programas que o acessam. 13 Sistemas Gerenciadores de Arquivos Características: 3) A manipulação dos dados contidos nos arquivos pelas aplicações específicas dificulta o desenvolvimento de novos sistemas e torna a manutenção dos aplicativos difícil e cara. 14 Ambientes de SGBD • Um arquivo é definido uma única vez e atende a várias aplicações, ou seja múltipla visão dos dados. • Armazena-se junto com os dados todas as informações referentes á forma como estes foram estruturados e onde eles estão armazenados fisicamente. 15 Ambientes de SGBD • Há separação ente programas e dados. No SGBD os acessos são escritos no banco de dados e os programas enviam comandos, solicitando o acesso aos dados. • É permitido acesso simultâneo de vários usuários ao mesmo dados. • Procedimentos de backup e recuperação são automatizados. 16 Evolução dos Bancos de Dados 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. 17 Banco de Dados Centralizado Evolução dos Bancos de Dados 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. 18 Banco de Dados Cliente – Servidor (com servidor de arquivos) Evolução dos Bancos de Dados 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. 19 Banco de Dados Distribuídos Evolução dos Bancos de Dados 20 Banco de Dados Distribuídos Novas Arquiteturas Os datawarehouses, ou armazéns de dados, representam esta promoção dos bancos de dados. Eles contém dados como nos bancos 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. 21 Datawarehouse Novas Arquiteturas 22 Datawarehouse Novas Arquiteturas Com o surgimento da Internet, a possibilidade de conexão entre estas bases de dados se torna praticamente ilimitada. 23 Banco de Dados – Via Web Usuários de Banco de Dados • Administrador de dados • Administrador de Banco de Dados • Analista de Sistema • Programadores de Aplicação • Usuários Finais • Pessoal do Suporte 24 Modelagem de Dados Adriana Sicsú Atividade 1 1)Com relação aos conceitos de dado e informação assinale a afirmação correta. ( ) Uma lista com a quantidade de produtos vendidos é uma informação. ( ) Um relatório sobre a produtividade dos funcionários é um dado. ( ) Produtividade da mão de obra de uma empresa é um dado. ( ) Custo da matéria prima é uma informação. ( ) A capacidade de produção é uma informação 26 Questões de Concurso [TCE-RS (Auditor Público Externo, 2011)] 1)Com relação aos conceitos de dado e informação assinale a afirmação correta. (X ) Uma lista com a quantidade de produtos vendidos é uma informação. ( ) Um relatório sobre a produtividade dos funcionários é um dado. ( ) Produtividade da mão de obra de uma empresa é um dado. ( ) Custo da matéria prima é uma informação. ( ) A capacidade de produção é uma informação 27 Questões de Concurso [TCE-RS (Auditor Público Externo, 2011)] Questões de Concurso 2) Banco de dados é: ( )uma relação de dependência entre dados que tem por objetivo atender a uma comunidade de usuários. ( ) um conjunto de dados integrados que tem por objetivo impedir acessos indevidos a dados armazenados. ( ) um conjunto de dados integrados que tem por objetivo atender a requisitos do sistema operacional. ( ) um conjunto de dados integrados que tem por objetivo atender a uma comunidade de usuários. ( ) uma estrutura de máquina virtual que tem por objetivo atender a necessidades do software de acesso. 28[MF (Analista de Finanças e Controle, 2013)] Questões de Concurso 2) Banco de dados é: ( )uma relação de dependência entre dados que tem por objetivo atender a uma comunidade de usuários. ( ) um conjunto de dados integrados que tem por objetivo impedir acessos indevidos a dados armazenados. ( ) um conjunto de dados integrados que tem por objetivo atender a requisitos do sistema operacional. (X ) um conjunto de dados integrados que tem por objetivo atender a uma comunidade de usuários. ( ) uma estrutura de máquina virtual que tem por objetivo atender a necessidades do software de acesso. 29[MF (Analista de Finanças e Controle, 2013)] Questões de Concurso 3) Um administrador de banco de dados (Data Base Administrator – DBA) é responsável por realizar uma série de funções sobre um determinado banco de dados. Entre as funções listadas abaixo, assinale a que NÃO É de competência específica de um DBA. ( ) Conceder autorizaçãopara acesso a dados a usuários. ( ) Zelar pela integridade do banco de dados e definir procedimentos para criação e recuperação de backups. ( ) Auxiliar equipes de desenvolvimento e de testes a maximizar o desempenho e uso do banco de dados. ( ) Planejar, documentar, gerenciar e integrar recursos de informações corporativas de forma a manter as regras de negócio coerentes. ( ) Projetar o armazenamento dos dados de forma a atender às necessidades de acesso. 30[TCE-RS (Auditor Público Externo, 2011)] Questões de Concurso 3) Um administrador de banco de dados (Data Base Administrator – DBA) é responsável por realizar uma série de funções sobre um determinado banco de dados. Entre as funções listadas abaixo, assinale a que NÃO É de competência específica de um DBA. ( ) Conceder autorização para acesso a dados a usuários. ( ) Zelar pela integridade do banco de dados e definir procedimentos para criação e recuperação de backups. ( ) Auxiliar equipes de desenvolvimento e de testes a maximizar o desempenho e uso do banco de dados. (X ) Planejar, documentar, gerenciar e integrar recursos de informações corporativas de forma a manter as regras de negócio coerentes. ( ) Projetar o armazenamento dos dados de forma a atender às necessidades de acesso. 31[TCE-RS (Auditor Público Externo, 2011)] Modelagem de Dados Adriana Sicsú Aula 2 Objetivos da Aula • Aprender as principais características dos SGBDs. • Aprender quando empregar e quando não empregar banco de dados • Conhecer conceitos fundamentais de uma ambiente com SGBD. 2 Sistema Gerenciador de Banco de Dados - SGBD • É uma coleção de programas que permite aos usuários criar e manter um banco de dados. [Navathe,2011] • O SGBD é um sistema de software de uso geral que facilita o processo de definição, construção, manipulação e compartilhamento de banco de dados entre diversos usuários e aplicações. 3 Funcionalidades do SGBD • Independência de Dados • Controle de Redundância • Compartilhamento de Dados • Restrições de Acesso • Restrições de Integridade • Mecanismos de Backup e Recuperação • Múltiplas Interfaces 4 Funcionalidades do SGBD Independência de Dados Pode ser definida como a capacidade de alterar o esquema em um nível do sistema de banco de dados sem ter de alterar o esquema no nível mais alto. – Independência Lógica de Dados – Independência Física de Dados 5 Funcionalidades do SGBD - Independência Lógica de Dados É a capacidade de alterar o esquema conceitual sem ter que alterar os esquemas externos ou os programas da aplicação. 6 Funcionalidades do SGBD - Independência Física de Dados É a capacidade de alterar o esquema interno sem ter que alterar os esquemas conceitual. Logo, os esquemas externos também não precisam ser alterados. 7 Arquitetura de 3 Esquemas 8 Imagem - http://www.devmedia.com.br/arquitetura-de-um-sgbd/25007 Funcionalidades do SGBD Controle de Redundâ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 consistência, economizar espaço de armazenamento.” 9 Funcionalidades do SGBD Compartilhamento de Dados 10 Permitir, a usuários diferentes, a utilização simultânea de um mesmo dado. Funcionalidades do SGBD Restrições de Acesso Um SGBD deve prover controles de segurança e autorização, que são utilizados para criar contas e seus respectivos direitos de acesso, quando múltiplos usuários compartilham um banco de dados. [Navathe,2011] 11 Funcionalidades do SGBD Restrições de Acesso - Segurança e Autorização 1) Senhas para usuários e para grupos de usuários 2) Restrições de acesso a parte do banco de dados; 3) Proibição de executar certas operações; 4) Proibição de uso de software privilegiado, como o software de criação de contas. 12 Funcionalidades do SGBD Restrições de Integridade Um SGBD deve oferecer capacidades para definir e impor tais restrições. - Exemplo: Definição de um tipo de dado para cada item de dado. - Integridade Referencial 13 Funcionalidades do SGBD Mecanismo de Backup e Recuperação “Um SGBD deve prover facilidades 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. 14 Funcionalidades do SGBD Múltiplas Interfaces Uma vez que muitos tipos de usuários, com diversos níveis de conhecimento técnico, utilizam um banco de dados, um SGBD deve oferecer uma variedade de interfaces de usuários. 15 Funcionalidades do SGBD Múltiplas Interfaces • Linguagens de consulta para usuários casuais; • Linguagens de programação para programadores de aplicações; • Interfaces rárifcas com formulários (telas) e menus para usuários paramétricos; • Interfaces para administração de banco de dados; • Linguagem natural. 16 Benefícios no Uso de SGBD – Potencial para o estabelecimento e o cumprimento de padrões; – Flexibilidade de mudanças; – Redução no tempo de desenvolvimento de novas aplicações; – Disponibilidade de informação atualizada; – Economia de escala. 17 Quando NÃO Usar Banco 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. 18 Modelagem de Dados Adriana Sicsú Atividade 1 1) A descrição concisa dos requisitos de dados dos usuários, que inclui descrições detalhadas de tipos entidades, relacionamentos e restrições, expressos usando os conceitos fornecidos pelo modelo de dados de alto nível, é conhecida como esquema: (A) conceitual. (B) lógico. (C) físico. (D) interno. ( E) externo. 20 Questões de Concurso 1) A descrição concisa dos requisitos de dados dos usuários, que inclui descrições detalhadas de tipos entidades, relacionamentos e restrições, expressos usando os conceitos fornecidos pelo modelo de dados de alto nível, é conhecida como esquema: (A) conceitual. (B) lógico. (C) físico. (D) interno. ( E) externo. 21 Questões de Concurso - Resposta 2) Segundo Elmasri & Navathe, a arquitetura de três esquemas pode ser usada para explicar melhor o conceito de independência de dados. Com relação a esse conceito e a arquitetura de três esquemas, analise os itens a seguir, marcando (V) para o item verdadeiro e (F) para o item falso. ( ) Independência de dados lógica é a capacidade de alterar o esquema interno sem mudar o esquema externo. 22 Questões de Concurso [TJ-MG (Técnico Judiciário, 2012)] ( ) Independência física de dados é a capacidade de mudar o esquema interno sem ter de alterar o esquema conceitual. ( ) Independência de dados é a capacidade de mudar o esquema em um nível do sistema de banco de dados sem que ocorram alterações do esquema no próximo nível mais alto. ( ) Com a independência de dados, mudanças em um nível não requer mudança no nível superior, pois somente o mapeamento entre os dois níveis é modifcado. Esse mapeamento não traz nenhuma sobrecarga (overhead) durante a compilação ou execução de uma consulta. 23 Questões de Concurso [TJ-MG (Técnico Judiciário, 2012)] Assinale a opção com a sequência CORRETA. (A) F, V, V, F (B) V, V, F, V. (B) F, F, F, V. (D) V, F, F, V. 24 Questões de Concurso [TJ-MG (Técnico Judiciário, 2012)] Assinale a opção com a sequência CORRETA. (A) F, V, V, F (B) V, V, F, V. (B) F, F, F, V. (D) V, F, F, V. 25 Questões de Concurso - Resposta [TJ-MG (Técnico Judiciário, 2012)] Modelagem de Dados Adriana Sicsú Aula 3 Objetivos da Aula • Conhecer os níveis do Projeto de Banco de Dados. • Aprender o conceito e o processo de abstraçãode dados. • Identificar os principais objetos conceituais. • Conhecer as representações básicas destes objetos conceituais. 2 Projeto de Banco de Dados 3 Abstração Abstração é o mecanismo através do qual o ser humano se concentre em determinadas características de objetos ou conceitos e “abandona” outras características “indesejáveis”. 4 Elementos de Abstração - Minimundo - Banco de dados - Modelo Conceitual - Modelo Lógico - Modelo Físico 5 Elementos de Abstração Minimundo Porção específica da realidade, captada pelo analista, objeto de observação detalhada. 6 Elementos de Abstração 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. 7 Elementos de Abstração 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. 8 Elementos de Abstração 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. 9 Elementos de Abstração Modelo Físico Descreve as estruturas físicas de armazenamento de dados, tais como: tamanho dos campos, índices, tipo de preenchimento destes campos, etc... 10 Modelo Entidade Relacionamento Definição: É um modelo abstrato cuja finalidade é descrever, de maneira conceitual, os dados a serem utilizados em Sistema de Informação ou pertencente a um determinado contexto. A principal ferramenta do modelo é a sua representação gráfica, o DER. 11 Modelo Entidade Relacionamento Objetivo: Facilitar o projeto de banco de dados, possibilitando especificar a estrutura lógica geral do banco de dados. 12 Diagrama de Entidade Relacionamento Componentes: - Entidade - Atributos - Relacionamentos 13 Entidade É uma representação concreta ou abstrata de um objeto, com características semelhantes, do mundo real. Ex.: Fornecedor, Pessoa, Imóvel, Curso. EMPREGADO Entidade Fraca Não existe se não estiver relacionada a outra, isto é, ela é logicamente dependente da outra. Alguns conjuntos entidade 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. Entidade Fraca Elemento de dado que contém o valor de uma propriedade de uma entidade. Atributo Atributo - Classificação • Atributo Simples • Atributo Único • Atributo Opcional • Atributo Monovalorado • Atributo Composto • Atributo Não Único • Atributo Obrigatório • Atributo Multivalorado Atributo - Classificação - Atributo Identificador Identifica unicamente cada entidade de um conjunto-entidade, devem ser obrigatórios e únicos Ex.: Cod_Func Atributo - Classificação - Atributo Derivado O seu valor pode ser calculado a partir do valor de outro(s) atributo(s). Ex.: idade (pode ser calculada a partir da data de nascimento) Mais sobre Atributos - Domínio de um atributo Descrição de possíveis valores permitidos para um atributo. Ex.: Sexo {M, F} - Tipo de um Atributo Determina a natureza dos valores permitidos para um atributo. Ex.: inteiro, real, string, etc. Atributo - Representação de Atributos Esquema X Instância • Esquema de um Banco de Dados é a especificação da estrutura do Banco de Dados. • Instância é o conjunto de ocorrências dos objetos de dados de um esquema em um dado momento do tempo Codigo Nome Sigla 1 Tecnologia da Informação TI 2 Recursos Humanos RH Esquema Instância Relacionamentos As entidades são conectadas umas às outras através de relacionamentos. Ex.: As pessoas Moram em Apartamentos Os apartamentos Formam Condomínios Os condomínios Localizam-se em Ruas ou Avenidas As Avenidas e Ruas Estão em uma Cidade Modelagem de Dados Adriana Sicsú Atividade 1 A partir do cenário abaixo, identifique as entidades, os atributos e os relacionamentos. Cenário: Clube da Leitura Gustavo tem uma coleção grande de revistas em quadrinhos. Por isso, resolveu emprestar para os amigos. Assim foi criado o Clube da Leitura. Mas para não perder nenhuma revista, seu pai lhe fez uma aplicação que cadastra as revistas e controla o empréstimo. 26 Exercício de Modelagem Para cada revista cadastram-se: o tipo da coleção (por exemplo: Cebolinha, Pato Donald, Batman etc.), o número da edição, o ano da revista e a caixa onde está guardada. Cada caixa tem uma cor, uma etiqueta e um número. Para cada empréstimo cadastram-se: o amiguinho que pegou a revista, qual foi a revista, a data de empréstimo e a data de devolução. Cada criança só pode pegar uma revista por empréstimo. O cadastro do amiguinho consiste de: o nome do amiguinho, o nome da mãe, o telefone e de onde é o amigo (do prédio ou da escola). 27 Exercício de Modelagem Entidades: Revista / Coleção / Amigo / Caixa Atributos: Revista(numero, nome, ano) Coleção(nome, gênero) Amigo(nome, nomeMãe, telefone, local) Caixa(numero, identEtiqueta, cor) Relacionamentos: Revista – Pertence – Coleção Revista – Guardada – Caixa Revista – Emprestada – Amigo 28 Exercício de Modelagem - Solução Modelagem de Dados Adriana Sicsú Aula 4 Objetivos da Aula • Aprofundar os conhecimentos sobre modelo Entidade Relacionamento. 2 Abstração Abstração é o mecanismo através do qual o ser humano se concentre em determinadas características de objetos ou conceitos e “abandona” outras características “indesejáveis”. 3 Diagrama de Entidade Relacionamento Entidades É um conjunto de objetos do mundo real sobre os quais se deseja manter informações no banco de dados. Pode representar: • objetos concretos (uma pessoa) • objetos abstratos (um departamento) 4 Atributo - Classificação • Atributo Simples • Atributo Único • Atributo Opcional • Atributo Monovalorado • Atributo Identificador • Atributo Composto • Atributo Não Único • Atributo Obrigatório • Atributo Multivalorado • Atributo Derivado Identificando os Objetos “João é proprietário de um jipe amarelo” 6 Pessoa: - nome, - CPF, - sexo, - data de nascimento Veículo: - marca, - modelo, - cor, - ano de fabricação,... Identificando os Objetos “João é proprietário de um jipe amarelo” 7 Relacionamentos As entidades são conectadas umas às outras através de relacionamentos. Ex.: As pessoas Moram em Apartamentos Os apartamentos Formam Condomínios Os condomínios Localizam-se em Ruas ou Avenidas As Avenidas e Ruas Estão em uma Cidade Identificando os Objetos “João é proprietário de um jipe amarelo” 9 Caracterizar o relacionamento entre os objetos: 1 - Nem toda PESSOA é proprietária de um VEÍCULO. 2 - Um VEÍCULO pode pertencer a uma PESSOA ou não. 3 - Algumas PESSOA possuem mais de um VEÍCULO. 4 - Se um VEÍCULO pertence a uma PESSOA, ele não pertence a mais ninguém. Relacionamentos Atributo de Relacionamento 10 Data_Consulta ? Relacionamentos Atributo de Relacionamento 11 Função no projeto? Cardinalidade A Cardinalidade ou Multiplicidade define a quantidade de elementos de uma entidade associada com a quantidade de elementos de outra entidade. 12 Um para Um - 1:1 Um para Muitos - 1:N Muitos para Muitos - N:N Cardinalidade 1:1 Marcos Paulo Ana Jurídico RH Financeiro Empregado Gerencia (0,1)(0,1) Departamento Conjunto A (Empregado) Conjunto B (Departamento) Carla Cardinalidade 1:N Marcos Ana Paulo Carla Jurídico RH Financeiro Departamento Lotação (0,N)(1,1) Empregado Conjunto A (Departamento) Conjunto B (Empregado) Cardinalidade N:N Empregado Participa NN Projeto Marcos Paulo AnaProj3 Proj1 Proj2 Conjunto A (Empregado) Conjunto B (Projeto) Carla Cenário: Clube da Leitura Entidades: Revista / Coleção / Amigo / Caixa Atributos: Revista(numero, nome, ano) Coleção(nome, gênero) Amigo(nome, nomeMãe, telefone, local) Caixa(numero, identEtiqueta, cor) Relacionamentos: Revista – Pertence – Coleção Revista – Guardada – Caixa Revista – Emprestada – Amigo 16 Exercício de Modelagem - Solução Cenário: Clube da Leitura 17 Exercício de Modelagem - Solução Modelagem de Dados Adriana Sicsú Atividade 1 19 Exercício de Modelagem Um berçário deseja informatizar suas operações. Quando um bebê nasce, algumas informações são armazenadas sobre ele, tais como: nome, data do nascimento, peso do nascimento, altura, a mãe deste bebê e o médico que fez seu parto. Para as mães, o berçário também deseja manter um controle, guardando informações como: nome, endereço, telefone e data de nascimento. Para os médicos, é importante saber: CRM, nome, telefone celular e especialidade. Exercício de Modelagem 20 Exercício de Modelagem 21 Modelagem de Dados Adriana Sicsú Aula 5 Objetivos da Aula • Relacionamentos •Grau de um Relacionamento •Cardinalidade • Auto Relacionamento 2 Indica o número de conjuntos-entidade (classes distintas de objetos) cujas instâncias podem estar associadas umas as outras através de um relacionamento Grau de um Relacionamento Relacionamento Unário Relacionamento Binário Relacionamento Ternário Relacionamento Unário Marcos Paulo Ana Funcionário Carla Empregado Gerencia É gerenciado N É gerente 1 Gerencia Relacionamento Binário Funcionário trabalha NN Projeto Marcos Paulo Ana Proj3 Proj1 Proj2 Funcionário Projeto Carla trabalha Relacionamento Ternário Forncedor fornece NN Projeto Peça N Cardinalidades de um Relacionamentos A Cardinalidade ou Multiplicidade define a quantidade de elementos de uma entidade associada com a quantidade de elementos de outra entidade. 7 Um para Um - 1:1 Um para Muitos - 1:N Muitos para Muitos - N:N Cardinalidade 1:1 Marcos Paulo Ana Jurídico RH Financeiro Funcionário Gerencia (1)(1) Departamento Conjunto A (Funcionário) Conjunto B (Departamento) Carla Cardinalidade 1:N Marcos Ana Paulo Carla Jurídico RH Financeiro Departamento Lotação (N)(1) Fncionário Conjunto A (Departamento) Conjunto B (Funcionário) Cardinalidade N:N Funcinário Participa NN Projeto Marcos Paulo Ana Proj3 Proj1 Proj2 Conjunto A (Funcionário) Conjunto B (Projeto) Carla Participação Opcional: Quando há um relacionamento entre dois conjuntos-entidade A e B e alguma instância de entidade de A pode existir sem se relacionar com nenhuma instância de entidade de B. Cardinalidades de um Relacionamentos Funcionário Alocado (0,1)(0,1) Departamento Participação Obrigatória: Quando todas as instâncias de uma entidade precisam estar associadas a alguma instância de outra entidade através de um relacionamento Cardinalidades de um Relacionamentos Funcionário Gerencia (1,1)(0,1) Departamento Cardinalidade Limite Mínimo 0 1 13 Limite Máximo 1 N A cardinalidade é determinada pelas “regras de negócio” criadas pela organização. São os usuários e a documentação da organização que determinam a cardinalidade existente entre entidades e seus atributos. 14 Cliente realiza (1,N)(1,1) Pedido Cliente compra (1,N)(0,N) Produto Cardinalidade AUTO RELACIONAMENTO É quando uma entidade de uma entidade- tipo se relaciona com outra entidade da mesma entidade-tipo. Representam, em grande parte das vezes, estruturas hierárquicas. Empregado Gerencia É gerenciado N É gerente 1 Disciplina Pré Requisito (0,N) (0,N) AUTO RELACIONAMENTO Exercício • Um produto tem código, nome e preço. • Um produto pode ser composto por uma certa quantidade de vários outros produtos. • Um produto pode compor vários outros produtos. • Um produto pode ser substituído por vários outros produtos. • Um produto pode substituir vários outros produtos. AUTO RELACIONAMENTO - SOLUÇÃO - Modelagem de Dados Adriana Sicsú Atividade 1 Exercício de Modelagem - DER Cenário: Festas Infantis Rafaela possui vários temas de festas infantis para aluguel. Ela precisa controlar os aluguéis e para isso quer uma aplicação que permita cadastrar: o nome e o telefone do cliente, o endereço completo da festa, o tema escolhido, a data da festa, a hora de início e término da festa. 19 Exercício de Modelagem - DER Cenário: Festas Infantis Além disso, para alguns clientes antigos, Rafaela oferece descontos. Sendo assim, é preciso saber o valor realmente cobrado num determinado aluguel. Para cada tema, é preciso controlar: a lista de itens que compõem o tema (ex: castelo, boneca da Cinderela, bruxa etc.), o valor do aluguel e a cor da toalha da mesa que deve ser usada com o tema. 20 Exercício de Modelagem - Resolução - 21 Modelagem de Dados Adriana Sicsú Aula 6 Objetivos da Aula • Conhecer as extensões do Modelo Entidade Relacionamento • Agregação • Generalização 2 Agregação O Modelo Entidade Relacionamento não é capaz de representar relacionamentos entre relacionamentos. Uma agregação é uma abstração através da qual os relacionamentos são tratados como entidades de mais alto nível. 3 AGREGAÇÃO Funcionário Alocação (0,N)(0,N) Projeto Utiliza (0,N) Máquina (0,N) Agregação Em um hospital, um paciente pode realizar consultas com vários médicos. Cada consulta pode ter vários exames realizados. Devem ser armazenados os dados da consulta (data, horário e motivo) e os dados dos exames (descrição e resultado). 5 Agregação 6 Médico Consuta 0,N1,N Paciente Realiza (0,N) Exame (1,1) GENERALIZAÇÃO E ESPECIALIZAÇÃO • Existem casos em que um conjunto-entidade pode ser dividido em categorias, cada qual com atributos específicos. • Uma generalização é uma entidade que se subdivide em especializações. Os atributos e relacionamentos de uma generalização são herdados por suas especializações. GENERALIZAÇÃO E ESPECIALIZAÇÃO • Uma especialização tem que ter seus próprios atributos e/ou seus próprios relacionamentos. • Uma especialização que não tenha nem atributos próprios nem relacionamentos próprios pode ser uma outra denominação da entidade generalização, não sendo portanto uma especialização. Generalização e Especialização • Estrutura de Generalização-Especialização “É um tipo de ” - 9 GENERALIZAÇÃO E ESPECIALIZAÇÃO Exemplo: • Conjunto de entidades conta, com atributos número-conta e saldo. • Cada conta pode ser classificada como: – conta-corrente: com atributos adicionais data- abertura e valor-limite – conta-poupança: com atributos adicionais taxa- juros e data-última-movimentação Generalização e Especialização 11 Conta Conta PoupançaConta Corrente número agência Data_movimentação Taxa_juros saldo Data_abertura Valor_limite TIPOS DE ESPECIALIZAÇÃO TOTAL Todos os elementos da entidade pai, deve obrigatoriamente existir em pelo menos uma entidade filha. Pessoa MulherHomem (T,E) TIPOS DE ESPECIALIZAÇÃO PARCIAL Quando existir na entidade pai elementos que não existem nas filhas. Funcionário DiretorProfessor (P,S) TIPOS DE ESPECIALIZAÇÃO EXCLUSIVA Quando um elemento da especialização não pode existir em outra entidade do mesmo nível. Pessoa MulherHomem (T,E) TIPOS DE ESPECIALIZAÇÃO SUPERPOSIÇÃO Quando um elemento da especialização pode existir em outra entidade do mesmo nível. Funcionário DiretorProfessor (P,S) GENERALIZAÇÃO E ESPECIALIZAÇÃO - EXERCÍCIO - Os empregados de uma empresa podem ser classificados como: instrutor treinando, administrativo e acionista. Precisa-se cadastrar os seguintes dados: • para os instrutores: matrícula, nome, endereço, cursos que pode ministrar. • para os treinandos: matrícula,nome, endereço, cursos que frequentou. • para os acionistas: matrícula, nome, endereço, quantidade de ações que possui. • para os administrativos: matrícula, nome, endereço. GENERALIZAÇÃO E ESPECIALIZAÇÃO - EXERCÍCIO - Modelagem de Dados Adriana Sicsú Atividade 1 Exercício de Modelagem - DER Em uma biblioteca há vários tipos de materiais (livros, revistas e audiovisual). Para os livros são armazenados o autor e a editora; as revistas têm número, volume e data; os materiais audiovisuais têm o nome do diretor e o tempo de duração. Um cliente pode retirar vários materiais e um material pode ser retirado por vários clientes. Para toda retirada devem ser armazenadas a data de retirada e a data de devolução. 19 Exercício de Modelagem - Resolução - 20 (T,E) Referência Bibliográfica • Modelagem Conceitual e Projeto de Banco de Dados – Autor: Paulo Cougo. • Material de Aula – Prof. Ventury 21 Modelagem de Dados Adriana Sicsú Aula 7 Objetivos da Aula • Aprender sobre a modelagem lógica dos dados. • Conhecer os modelos lógicos de dados existentes • Aprender a base conceitual para Modelo Relacional. • Conhecer os conceitos de chave candidata, primária e estrangeira. • Compreender as restrições de integridade. 2 Modelagem Lógica de Dados O Modelo Lógico de Dados Lógico descreve os componentes do Modelo Conceitual de Dados, aproximando-o do ambiente computacional, onde este será trabalhado. 3 Modelagem Lógica de Dados - Tipos - • Modelo de Redes • Modelo Hierárquico • Modelo Relacional • Modelo Orientado a Objetos • Modelo Relacional Objeto Modelagem Lógica de Dados • Modelo de Redes Os dados são representados por uma coleção de registros e os relacionamentos entre os dados são representados por meio de links. Modelagem Lógica de Dados Apresenta a mesma estrutura do modelo de rede, diferindo apenas na organização dos registros. Tais registros são organizados com coleções de árvores em vez de grafos aleatórios. • Modelo Hierárquico Modelagem Lógica de Dados Os dados são representados através de tabelas. Por se tratar do modelo mais usual, é o foco deste curso. Iremos detalhá-lo mais adiante. • Modelo Relacional Modelagem Lógica de Dados Surgiu em virtude da necessidade de se acompanhar o aumento na complexidade dos dados. De modo geral, no modelo orientado a objeto as entidades do modelo conceitual são objetos que encapsulam tanto dados quanto o código associado a este objeto. • Modelo Orientado a Objetos Modelagem Lógica de Dados Uma extensão do modelo relacional, que inclui orientação a objeto e permite o tratamento de dados complexos.. • Modelo Relacional Objeto Modelo Relacional • Fundamentado na teoria de conjuntos. • Combinado com a ideia que não é relevante o usuário saber onde os dados estão nem como os dados estão armazenados. Modelo Relacional - Conceitos - 11 Modelo Relacional - Chave- • Chave Candidata • Chave Primária • Chave Estrangeira Modelo Relacional - Chave- Chave Candidata • Deve ser única • Deve ser irredutível, nenhum subconjunto da chave candidata, pode ter sozinho a propriedade de ser único. Modelo Relacional Chave Candidata Pode ser : Simples : quando é composta por apenas um atributo. Composta : quanto possui mais de um atributo para formar a chave. Modelo Relacional Chave Primária • Caso especial da chave candidata. • Escolhida entre as candidatas para identificar unicamente uma tupla. Modelo Relacional Chave Estrangeira É quando um atributo de uma relação é chave primária em outra. Constitui um conceito de vital importância no modelo relacional: é o elo de ligação lógica entre as tabelas (relacionamentos). Garante a Integridade Referencial do banco de dados. Regras de Integridade Integridade de Entidade Integridade de Chave Primária Integridade Referencial Restrições de Integridade Semântica Regras de Integridade Integridade de Entidade O valor da chave não pode ser vazio. A chave primária serve como representante na base de dados de uma entidade – se a chave primária for vazia, a linha não corresponde a nenhuma entidade . Regras de Integridade Integridade de Chave Primária A chave primária tem que ser única. Integridade Referencial As chaves estrangeiras têm que ser respeitadas, ou seja, se existe um determinado valor para o atributo na tabela onde ele é chave estrangeira, este valor deve existir na tabela onde ele é chave primária. Regras de Integridade Integridade Referencial Regras de Integridade Restrições de Integridade Semântica Todas as demais regras que devem ser obedecidas por todos os estados válidos da base de dados. Modelagem de Dados Adriana Sicsú Atividade 1 Exercícios 1) Assinale a opção correta a respeito de banco relacional. ( ) A cardinalidade associa-se diretamente aos atributos, assim, se determinada tabela apresenta sete atributos, a relação de sua cardinalidade é de 1 : 7. ( ) Na terminologia formal dos modelos relacionais, tupla corresponde a uma linha, e atributo, ao nome da coluna. 23 Exercícios ( ) Os modelos relacionais assemelham-se aos modelos de arquivo, visto que, do mesmo modo que há ordenamento entre atributos em um arquivo, uma relação somente é considerada, matematicamente, como tal, caso nela haja ordenamento de tuplas. ( ) Um banco de dados exclusivamente relacional é representado por uma coleção de objetos, métodos e heranças. 24 Exercícios ( ) Uma relação em um banco de dados relacional é a ligação entre duas chaves (primária e estrangeira), não podendo ser considerada uma tabela. Concurso - TJ-RO, 2012 25 Exercícios 26 2) O entendimento dos modelos de banco de dados é fundamental para compreender as vantagens e desvantagens em aspectos de estrutura e manipulação dos dados. Um destes modelos utiliza tabelas bidimensionais para o armazenamento dos dados e a maneira como os dados são armazenados influencia na facilidade de acesso às informações, existindo técnicas de normalização para aperfeiçoar a organização. Exercícios Concurso - TST, 2012 27 Trata-se do modelo ( ) hierárquico ( ) em rede. ( ) relacional. ( ) distribuído. ( ) orientado a objetos. Exercícios Concurso – TRE-RJ, 2012 28 Com relação ao conceito de banco de dados relacional, julgue os seguintes itens. 3) Chave primária é um conjunto de um ou mais atributos que define uma única tupla em uma relação. ( ) certo ( ) errado Exercícios Concurso – TER-RJ, 2012 29 4) Uma tabela não pode ter valores de chaves estrangeiras nulos, em decorrência da regra de integridade referencial. ( ) certo ( ) errado Exercícios Concurso – TJ-MG, 2012 30 5) Analise as sentenças abaixo, as quais discutem as principais restrições que podem ser expressas no modelo de dados relacional. I. Restrições de domínio são impostas para garantir que os valores nas colunas sejam atômicos e que respeitem os tipos de dados das colunas. II. Restrição de integridade de entidade diz respeito à garantia de que toda linha em uma tabela deve ser única. Exercícios Concurso – TJ-MG, 2012 31 III. A restrição de integridade referencial garante que determinadas colunas em uma tabela sejam iguais às colunas que compõem a chave primária de outra tabela ou da própria tabela. IV. A restrição de chave estabelece que nenhum valor de chave primária pode ser vazio. Exercícios Concurso – TJ-MG, 2012 32 Estão CORRETAS as afrimativas: ( ) I e III. ( ) II e III. ( ) I e IV. ( ) III e IV. Exercícios Concurso – TRE,RJ, 2012 33 5) Analise as sentenças abaixo, as quais discutem as principais restrições que podem ser expressas no modelo de dados relacional. I. Restrições de domínio são impostas para garantir que os valores nas colunas sejam atômicos e que respeitem ostipos de dados das colunas. II. Restrição de integridade de entidade diz respeito à garantia de que toda linha em uma tabela deve ser única. Referência Bibliográfica • Modelagem Conceitual e Projeto de Banco de Dados – Autor: Paulo Cougo. • Material de Aula – Prof. Ventury 34 Modelagem de Dados Adriana Sicsú Aula 8 Objetivos da Aula • Aprender um método de conversão do modelo conceitual para o modelo relacional. (Modelo Lógico) 2 Projeto de Banco de Dados 3 Projeto Conceitual Projeto Lógico Projeto Físico Modelo Entidade Relacionamento Linguagem SQL Modelo Dados Relacional Projeto Lógico de Dados Objetivo Converter o esquema conceitual de dados global expresso através do modelo entidade relacionamento no esquema lógico de dados global de forma que haja a menor perda semântica nas transformações ocorridas durante essa fase. Derivação do Modelo E-R para o Relacional - Etapas 1 • Obter o modelo conceitual 2 • Definir o tipo de implementação (Relacional) 3 • Aplicar as regras de derivação 4 • Adaptar o modelo as necessidades. Derivação do Modelo E-R para o Relacional A derivação do Modelo E- R para o Modelo Relacional é obtida a partir de um modelo conceitual através da aplicação de regras bem definidas, através de atividades distintas: Derivação das entidades e atributos. Derivação dos relacionamentos. Derivação das estruturas de agregação, generalização e especialização. Derivação do Modelo E-R para o Relacional Regras Gerais . Toda Entidade (MER) torna-se uma tabela (lógico) Todo atributo torna-se um campo (coluna) Todo atributo determinante torna-se um PK (chave primária) Os atributos compostos devem ser transformados em campos atômicos. Derivação do Modelo E-R para o Relacional Transformação de Entidades . EMPREGADO (Matricula, Nome, Sexo, Email, Data_Admissao) Derivação do Modelo E-R para o Relacional Transformação de Atributo Multivalorado . Derivação do Modelo E-R para o Relacional Transformação de Atributo Multivalorado . EMPREGADO ( Matricula, Nome, Sexo, Email, Data_Admissao) EMAIL(Id_Email, Matricula, Email) Derivação do Modelo E-R para o Relacional Transformação de Atributo Composto . EMPREGADO ( Matricula, Nome, Logradouro, Numero, Bairro, CEP, Cidade, Estado, Email, Data_Admissao) Derivação do Modelo E-R para o Relacional Exemplo . Derivação do Modelo E-R para o Relacional Exemplo TELEFONE( ID_Telefone, Matricula, Telefone) EMPREGADO ( Matricula, CPF, Nome, Dt_Nascimento, Rua, Nr, Complemento, CEP) EMAIL( ID_Emaill, Matricula, Email) Derivação do Modelo E-R para o Relacional Derivação dos Relacionamentos – 1:1 15 Resolução Derivação do Modelo E-R para o Relacional Resolução EMPREGADO ( IdEmpregado, Matricula, Nome, CPF, Endereço, Bairro Telefone) DEPARTAMENTO( IdDepto, Sigla, Nome, IdEmpregado) Derivação do Modelo E-R para o Relacional Derivação dos Relacionamentos – 1:N 18 Resolução Derivação do Modelo E-R para o Relacional Resolução CLIENTE( IdCliente, Nome, CPF, Endereço, Telefone) PEDIDO( IdPedido, Nr, Data, Valor_Total, IdCliente) Derivação do Modelo E-R para o Relacional Derivação dos Relacionamentos – N:N 21 Resolução Derivação do Modelo E-R para o Relacional Resolução EMPREGADO( IdEmp, Nome, CPF, Endereço, Telefone) PROJETO( IdProjeto, Nome, Verba) ALOCAÇÃO( IdProjeto, IdEmp) Ou ALOCAÇÃO( IdAlocacao, IdProjeto, IdEmp) Derivação do Modelo E-R para o Relacional 24 Resolução Derivação do Modelo E-R para o Relacional Exercício MEDICO( IdMédico, Nome, CPF, Especialidade) PACIENTE( IdPaciente, Nome, Endereço, Telefone) Consulta( IdMédico, IdPaciente,Data) Ou Alocação( IdConsulta, IdMédico, IdPaciente, Data) Modelagem de Dados Adriana Sicsú Atividade 1 Exercício – Modelo Lógico 27 Exercício – Modelo Lógico 28 Exercício – Modelo Lógico 29 Exercício – Modelo Lógico 30 31 32 Resolução AMIGO( Id, Nome, Mãe, Telefone, Local) EMPRESTIMO( Nr, Data_Emprestimo, Data_Devolução, IdAmigo, NrRevista) REVISTA( Nr, Nome, Ano, IdColecao, IdCaixa) COLEÇÃO( Id, Nome, Gênero) CAIXA( Nr, IdIdent_Etiqueta, Cor) Referência Bibliográfica • Modelagem Conceitual e Projeto de Banco de Dados – Autor: Paulo Cougo. • Material de Aula – Prof. Ventury 33 Modelagem de Dados Adriana Sicsú Aula 9 Objetivos da Aula • Aprender um método de conversão do modelo conceitual para o modelo relacional. (Modelo Lógico) – Auto Relacionamento – Agregação – Genaralização 2 Derivação do Modelo E-R para o Relacional - Etapas 1 • Obter o modelo conceitual 2 • Definir o tipo de implementação (Relacional) 3 • Aplicar as regras de derivação 4 • Adaptar o modelo as necessidades. Derivação do Modelo E-R para o Relacional Regras Gerais Toda Entidade (MER) torna-se uma tabela (lógico) Todo atributo torna-se um campo (coluna) Todo atributo determinante torna-se um PK (chave primária) Os atributos compostos devem ser transformados em campos atômicos. Modelo Lógico Transformação – Auto relacionamento (1:1) EMPREGADO (Matricula, Nome, Telefone, Data_Admissao, MatCônjugue) Modelo Lógico Transformação – Auto relacionamento (1:N) EMPREGADO (Matricula, Nome, Telefone, Data_Admissao, MatSupervisor) Modelo Lógico Transformação – Auto relacionamento (N:N) . DISCIPLINA(Código, Nome, CargaHorária) DISC_PREREQUISITO( CódDisc, CodDiscPreReq ) CONTPROG(IdContProg, Nome, CódDisc) Modelo Lógico Transformação - Agregação Modelo Lógico Resolução MÉDICO( Código, CRM, Nome, Especialidade) PACIENTE( Código, Nome, Telefone) CONSULTA(CódConsulta, CodMédico, CodPaciente, Data) RECEITA(CódReceita, Descrição,CodConsulta) Modelo Lógico Resolução MÉDICO( Código, CRM, Nome, Especialidade) PACIENTE( Código, Nome, Telefone) CONSULTA(CodMédico, CodPaciente, Data) RECEITA(CódReceita, CodMédico, CodPaciente, Data, Descrição) Modelo Lógico Transformação - Agregação Modelo Lógico Resolução MÉDICO( Código, CRM, Nome, Especialidade) PACIENTE( Código, Nome, Telefone) CONSULTA(CódConsulta, CodMédico, CodPaciente, Data) MEDICAMENTO(Código, Nome, Laboratório, PrincipioAtivo) INDICAÇÃO(CódIndicação, CodConsulta, CodMedicamento, Dosagem) Modelo Lógico Transformação – Generalização / Especialização 1 • Transformação com preservação de todas as entidades tipo. 2 • Transformação com preservação das especializações. 3 • Transformação com preservação da generalização. 4 • Transformação mista Modelo Lógico Transformação – Generalização / Especialização 1 • Transformação com preservação de todas as entidades tipo. Modelo Lógico Transformação – Generalização / Especialização 2 • Transformação com preservação das especializações. Modelo Lógico Transformação – Generalização / Especialização 3 • Transformação com preservação da generalização. Modelo Lógico Exemplo Modelagem de Dados Adriana Sicsú Atividade 1 Exercício – Modelo Lógico 19 20 Resolução Referência Bibliográfica • Modelagem Conceitual e Projeto de Banco de Dados – Autor: Paulo Cougo. • Material de Aula – Prof. Ventury 21 Modelagem de Dados Adriana Sicsú Aula 10 Objetivos da Aula • Normalização de Dados • Trabalhar com as principais normais: 1ª Forma Normal (1FN) 2ª Forma Normal (2FN) 3ª Forma Normal (3FN) 2 Formas Normais OBJETIVO Projetar as relações (tabelas) de uma base de dados relacional, de modo a obter o máximo de independência de dados, eliminando redundâncias desnecessárias. Formas Normais Princípios Básicos de Banco de Dados Armazenar cada dado uma única vez em apenas um local; Economia de espaço. O banco de dados relacional teria pouca utilidade se fossemos usar apenas uma única tabela. Processos de Normalização Uma formanormal é um conjunto de regras que uma tabela deve obedecer, que destinam-se a eliminar as redundâncias de dados. Processos de Normalização Relações Não Normalizadas Relações 1FN Relações 2FN Relações 3FN Relações BCNF Relações 4FN Relações 5FN 7 Anomalias 1 • Anomalia de Inclusão 2 • Anomalia de Exclusão 3 • Anomalia de Alteração 8 Tabela PEDIDO (Num_pedido, prazo, cliente, endereco, cidade, uf, insc_est,cod_prod, unid, qtde, desc, val_unit, total_prod, total_pedido, cod_vendedor, nome_vendedor) Anomalias 9 Um novo cliente só poderá ser incluído se estiver relacionado a uma venda. Anomalias 1 • Anomalia de Inclusão 10 Ao ser excluído um cliente, os dados referentes às suas compras serão perdidos. Anomalias 2 • Anomalia de Exclusão 11 Caso algum fabricante de produto altere o preço de um produto, será preciso percorrer toda a relação para se realizar múltiplas alterações. Anomalias 3 • Anomalia de Alteração 12 Processo de Normalização Permite identificar a existência de problemas potenciais (anomalias de atualização) no projeto de um BD relacional. 13 Processo de Normalização Converte progressivamente uma tabela em tabelas de grau e cardinalidade menores até que pouca ou nenhuma redundância de dados exista. 14 Processo de Normalização Consiste em gradativamente retirar das relações do esquema as dependências funcionais indesejáveis. Cada um dos passos do processo coloca a relação em uma das formas normais 15 Processo de Normalização Se a normalização é bem sucedida: 1. O espaço de armazenamento dos dados diminui. 2. A tabela pode ser atualizada com maior eficiência. 16 Dependência Funcional Dada uma relação R, dizemos que uma coluna ou conjunto de colunas B de R é dependente funcional de uma coluna ou conjunto de colunas A de R, denotado por A B, se a cada valor VA de A existir nas linhas de R em que aparece VA um único valor VB. 17 Dependência Funcional Se VA ocorrer em duas linhas diferentes, o mesmo VB deve ocorrer em ambas. Dependência Funcional Exemplo: Código Salário Código ...... Salário E1 10 E3 10 E1 10 E2 5 E3 10 E2 5 E2 5 19 Tabela não Normalizada Uma tabela não normalizada (ÑN) contém valores de atributos não atômicos, isto é, contém tabelas embutidas (grupos repetidos). CodProj TipoProj Descr Emp NoEmp Nome Cat Sal DataInicio TempoAloc LSC001 Novo Sistema Desenv Estoque 2146 João A1 400 01/11/91 24 3145 Silvia A2 400 02/10/91 24 6126 José B1 900 03/10/92 18 1214 Carlos A2 400 04/10/92 18 8191 Mário A1 400 01/15/93 12 4112 João A2 400 04/01/91 24 6126 José B1 90 0 01/11/92 18 PAG02 Manut. Sistema RH PROJ(CODPROJ, TIPOPROJ, DESCR, (NOEMP, NOME, CAT, SAL, DATAINICIO, TEMPOALOC)) 8191 Mário A1 400 01/11/92 12 Tabela não Normalizada 21 Uma relação está na Primeira Forma Normal se todos os atributos que a compõem são atômicos, ou seja, se todas as colunas que a compõem são atômicas e monovaloradas. Formas Normais 1FN • Primeira Forma Normal 22 Passagem – 1FN Para cada tabela embutida inclusive a mais externa, é criada uma tabela na 1FN que contém: - as chaves primárias de cada tabela externa à tabela embutida - os atributos da própria tabela embutida. São definidas as chaves primárias das tabelas na 1FN. Formas Normais – 1FN 23 Formas Normais – 1FN - Passos - 1º • Subdivisão em tabelas. 2º • Identificação de Chaves 24 Formas Normais – 1FN - Passos - 1º • Subdivisão em tabelas. CodProj Tipo Descr LSC001 Novo Desenv. Sistema de Estoque PAG02 Manutenção Sistema de RH Proj CodProj Tipo Descr 25 Formas Normais – 1FN - Passos - 1º • Subdivisão em tabelas. Proj CodProj Tipo Descr ProjEmp CodProj CodEmp Nome Cat Sal DataIni TempAl 26 Formas Normais – 1FN - Passos - 1FN CodProj Tipo Descr LSC001 Novo Desenv. Sistema de Estoque PAG02 Manutenção Sistema de RH Proj 27 Formas Normais – 1FN - Passos - ProjEmp CodProj CodEmp Nome Cat Sal DataIni TempAl LSC001 2146 Joao A1 400 1/11/91 24 LSC001 3145 Silvio A2 400 2/10/91 24 LSC001 6126 Jose B1 900 3/10/92 18 LSC001 1214 Carlos A2 400 4/10/92 18 LSC001 8191 Mario A1 400 1/11/92 12 PAG02 8191 Mario A1 400 1/05/93 12 PAG02 4112 Joao A2 400 4/01/91 24 PAG02 6126 Jose B1 900 1/11/92 12 28 Formas Normais – 1FN - Passos - Proj CodProj Tipo Descr ProjEmp CodProj CodEmp Nome Cat Sal DataIni TempAl 2º • Identificação de Chaves 29 Formas Normais – 1FN - Passos - 1FN CodProj Tipo Descr LSC001 Novo Desenv. Sistema de Estoque PAG02 Manutenção Sistema de RH Proj 30 Formas Normais – 1FN - Passos - ProjEmp CodProj CodEmp Nome Cat Sal DataIni TempAl LSC001 2146 Joao A1 400 1/11/91 24 LSC001 3145 Silvio A2 400 2/10/91 24 LSC001 6126 Jose B1 900 3/10/92 18 LSC001 1214 Carlos A2 400 4/10/92 18 LSC001 8191 Mario A1 400 1/11/92 12 PAG02 8191 Mario A1 400 1/05/93 12 PAG02 4112 Joao A2 400 4/01/91 24 PAG02 6126 Jose B1 900 1/11/92 12 31 Uma relação está na Segunda Forma Normal se ela está na 1NF e todo atributo não-chave primária é plenamente dependente de toda a chave primária e não de apenas parte dela. Formas Normais – 2FN • Segunda Forma Normal 2FN 32 Passagem – 2FN Toda tabela na 1FN que possui uma chave primária composta por um único atributo já se encontra na segunda forma normal Formas Normais – 2FN 33 Passagem – 2FN Assim, ao passar para a 2FN é necessário considerar apenas tabelas que tenham: • Chave primária composta • Pelo menos um atributo não chave Formas Normais – 2FN 34 Passagem – 2FN • Copiar para a 2FN cada tabela que tenha chave primária simples ou que não tenha atributos não chaves. Formas Normais – 2FN 35 Passagem – 2FN Para tabelas com chave primária composta e atributos não chaves: • Criar na 2FN uma tabela com as chaves primárias da tabela na 1FN. Formas Normais – 2FN 36 Passagem – 2FN • Para cada atributo não chave fazer a pergunta: “o atributo depende de toda a chave ou de parte dela?” – Caso o atributo dependa de toda a chave: • copiar o atributo para a 2FN. Formas Normais – 2FN 37 Passagem – 2FN – Caso o atributo dependa de parte da chave: • criar uma tabela na 2FN que tenha como chave a parte da chave da qual o atributo depende • copiar o atributo dependente para a tabela criada. Formas Normais – 2FN 38 Formas Normais – 2FN - Passos - Proj CodProj Tipo Descr ProjEmp CodProj CodEmp DataIni TempAl CodProj CodEmp Nome Cat Sal DataIni TempAl CodEmp Nome Cat Sal Emp 39 Formas Normais – 2FN - Passos - 2FN Emp CodEmp Nome Cat Sal 2146 Joao A1 400 3145 Silvio A2 400 6126 Jose B1 900 1214 Carlos A2 400 8191 Mario A1 400 4112 Joao A2 400 40 Formas Normais – 2FN - Passos - 2FN ProjEmp CodProj CodEmp DataIni TempAl LSC001 2146 1/11/91 24 LSC001 3145 2/10/91 24 LSC001 6126 3/10/92 18 LSC001 1214 4/10/92 18 LSC001 8191 1/11/92 12 PAG02 8191 1/05/93 12 PAG02 4112 4/01/91 24 PAG02 6126 1/11/92 12 41 Dependência Transitiva Ocorre quando Y depende de X e Z depende de Y. Logo, Z também depende de X. X Y Z No-avião Tipo Capac. Local 42 Uma relação está na Terceira Forma Normal se ela está na 2NF e nenhum atributo não-chave é transitivamente dependente da chave primária. Formas Normais – 3FN 3FN • Terceira Forma Normal 43 Passagem – 3FN • Toda tabela na 2FN que possui menos que dois atributos não chave encontra-se na 3FN. • Na passagem à 3FN basta considerar tabelas com dois ou mais atributos não chave. Formas Normais – 3FN 44 Passagem – 3FN 1) Copiar para a 3FN cada tabela que tenha menos que dois atributo não chave. 2) Para tabelas com doisou mais atributos não chaves: a) criar uma tabela na 3FN com a chave primária da tabela em questão. Formas Normais – 3FN 45 Passagem – 3FN 2) b) para cada atributo não chave fazer a pergunta: “ o atributo depende de algum outro atributo não chave?” (dependência transitiva). Formas Normais – 3FN 46 Passagem – 3FN 2. Copiar o atributo dependente para a tabela criada. 3. O atributo do qual há a dependência deve permanecer também na tabela criada no passo a) Formas Normais – 3FN 47 Passagem – 3FN Caso o atributo dependa apenas da chave: - copiar o atributo para a tabela na 3FN Caso o atributo dependa de um outro atributo: 1. Criar, caso ainda não exista, uma tabela na 3FN que tenha como chave primária o atributo do qual há uma dependência indireta. Formas Normais – 3FN 48 Exemplo O atributo SAL da tabela EMP depende do atributo CAT (categoria funcional) As dependências funcionais nesta tabela são: EMP(NOEMP, NOME, CAT, SAL) Formas Normais – 3FN 49 Na passagem para a 3FN, a tabela EMP é subdividida: Emp CodEmp Nome Cat Cat Cat Sal Formas Normais – 3FN Revisão CodProj TipoProj Descr Emp NoEmp Nome Cat Sal DataInicio TempoAloc LSC001 Novo Sistema Desenv Estoque 2146 João A1 400 01/11/91 24 3145 Silvia A2 400 02/10/91 24 6126 José B1 900 03/10/92 18 1214 Carlos A2 400 04/10/92 18 8191 Mário A1 400 01/15/93 12 4112 João A2 400 04/01/91 24 6126 José B1 90 0 01/11/92 18 PAG02 Manut. Sistema RH 8191 Mário A1 400 01/11/92 12 Revisão 1FN Projetos Cod_P Tipo Descricao LSC001 Novo Des. Sistema de Estoque PAG002 Manutenção Sistema de RH Proj_Emp Cod_P Cod_E Nome Categoria Salario Data_Inicio Tempo_Alocacao LSC001 2146 João A1 4 01/11/2001 24 LSC001 3145 Silvio A2 4 01/01/2002 24 LSC001 6126 José B1 9 30/01/2002 12 LSC001 1214 Carlos A2 4 15/05/2002 18 LSC001 8191 Mário A1 4 10/02/2002 12 PAG002 8191 Mário A1 4 05/10/2002 12 PAG002 4112 João M. A1 4 10/12/2001 24 PAG002 6126 José B1 9 30/01/2002 12 Revisão Projetos Cod_P Tipo Descricao LSC001 Novo Des. Sistema de Estoque PAG002 Manutenção Sistema de RH 2FN Proj_Emp Cod_P Cod_E Data_Inicio Tempo_Alocacao LSC001 2146 01/11/2001 24 LSC001 3145 01/01/2002 24 LSC001 6126 30/01/2002 12 LSC001 1214 15/05/2002 18 LSC001 8191 10/02/2002 12 PAG002 8191 05/10/2002 12 PAG002 4112 10/12/2001 24 PAG002 6126 30/01/2002 12 Empregados Cod_E Nome Categoria Salario 2146 João A1 4 3145 Silvio A2 4 6126 José B1 9 1214 Carlos A2 4 8191 Mário A1 4 8191 Mário A1 4 4112 João M. A1 4 6126 José B1 9 Revisão 3FN Projetos Cod_P Tipo Descricao LSC001 Novo Des. Sistema de Estoque PAG002 Manutenção Sistema de RH Proj_Emp Cod_P Cod_E Data_Inicio Tempo_Alocacao LSC001 2146 01/11/2001 24 LSC001 3145 01/01/2002 24 LSC001 6126 30/01/2002 12 LSC001 1214 15/05/2002 18 LSC001 8191 10/02/2002 12 PAG002 8191 05/10/2002 12 PAG002 4112 10/12/2001 24 PAG002 6126 30/01/2002 12 Empregados Cod_E Nome Categoria 2146 João A1 3145 Silvio A2 6126 José B1 1214 Carlos A2 8191 Mário A1 8191 Mário A1 4112 João M. A1 6126 José B1 Categorias Categoria Salario A1 4 A2 4 B1 9 54 Resumo Geral • Eliminar atributos não atômicos. 1FN • Eliminar a Dependência Funcional não plenas. 2FN • Eliminar a Dependência Transitiva. 3FN Modelagem de Dados Adriana Sicsú Atividade 1 Exercício de Modelagem - Normalização - Arquivo de Notas Fiscais (Num. NF, Série, Data emissão, Cod. do Cliente, Nome do cliente, Endereço do cliente, CGC do cliente, Relação das mercadorias vendidas (onde para cada mercadoria temos: Código da Mercadoria, Descrição da Mercadoria, Quantidade vendida, Preço de venda e Total da venda desta mercadoria) e Total Geral da Nota) 56 Exercício de Modelagem - Normalização - • Arquivo de Notas Fiscais (Num. NF, Série, Data emissão, Código do Cliente, Nome do cliente, Endereço do cliente, CGC do cliente e Total Geral da Nota) • Arquivo de Vendas (Num. NF, Código da Mercadoria, Descrição da Mercadoria, Quantidade vendida, Preço de venda e Total da venda desta mercadoria) 57 1FN Exercício de Modelagem - Normalização - • Arquivo de Notas Fiscais (Num. NF, Série, Data emissão, Código do Cliente, Nome do cliente, Endereço do cliente, CGC do cliente e Total Geral da Nota) • Arquivo de Vendas (Num. NF, Código da Mercadoria, Quantidade vendida e Total da venda desta mercadoria) • Arquivo de Mercadorias (Código da Mercadoria, Descrição da Mercadoria, Preço de venda) 58 2FN Exercício de Modelagem - Normalização - • Arquivo de Notas Fiscais (Num. NF, Série, Data emissão, Código do Cliente e Total Geral da Nota) • Arquivo de Vendas (Num. NF, Código da Mercadoria, Quantidade vendida e Total da venda desta mercadoria) • Arquivo de Mercadorias (Código da Mercadoria, Descrição da Mercadoria, Preço de venda) • Arquivo de Clientes (Código do Cliente, Nome do cliente, Endereço do cliente e CGC do cliente) 59 3FN Referência Bibliográfica • Modelagem Conceitual e Projeto de Banco de Dados – Autor: Paulo Cougo. • Material de Aula – Prof. Ventury 60 Modelagem de Dados Adriana Sicsú Aula de Revisão Objetivos da Aula • Revisão • Dados x Informação • Banco de Dados • SGBD • Diagrama de Entidade e Relacionamento 2 Conceitos Dados 3 Informação Banco de Dados • Banco de dados é uma coleção de dados relacionados. [Navathe,2011] • Propriedades: – Representa algum aspecto do mundo real, o que é chamado de “ mini mundo”. As mudanças no mini mundos são refletidas no banco de dados. 4 Banco de Dados • Propriedades: – É uma coleção logicamente coerente de dados com algum significado inerente. – Projetado, construído e populado com dados para uma finalidade específica. –Possui um conjunto pré definido de usuários e aplicações. 5 Sistema Gerenciador de Banco de Dados - SGBD • É uma coleção de programas que permite aos usuários criar e manter um banco de dados. [Navathe,2011] • O SGBD é um sistema de software de uso geral que facilita o processo de definição, construção, manipulação e compartilhamento de banco de dados entre diversos usuários e aplicações. 6 Evolução dos Bancos de Dados 7 • Banco de Dados Centralizado • Banco de Dados Cliente – Servidor (com servidor de arquivos) • Banco de Dados Distribuídos Novas Arquiteturas • Datawarehouse • Banco de Dados – Via Web Usuários de Banco de Dados • Administrador de dados • Administrador de Banco de Dados • Analista de Sistema • Programadores de Aplicação • Usuários Finais • Pessoal do Suporte 8 Funcionalidades do SGBD • Independência de Dados • Controle de Redundância • Compartilhamento de Dados • Restrições de Acesso • Restrições de Integridade • Mecanismos de Backup e Recuperação • Múltiplas Interfaces 9 Benefícios no Uso de SGBD – Potencial para o estabelecimento e o cumprimento de padrões; – Flexibilidade de mudanças; – Redução no tempo de desenvolvimento de novas aplicações; – Disponibilidade de informação atualizada; – Economia de escala. 10 Quando NÃO Usar Banco 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. 11 Indica o número de conjuntos-entidade (classes distintas de objetos) cujas instâncias podem estar associadas umas as outras através de um relacionamento Grau de um Relacionamento Relacionamento Unário Relacionamento Binário Relacionamento Ternário Projeto de Banco de Dados 13 Diagrama de Entidade Relacionamento Componentes: - Entidade - Atributos - Relacionamentos 14 Diagramade Entidade Relacionamento • Entidade • Entidade Fraca 15 Diagrama de Entidade Relacionamento • Atributo Simples • Atributo Único • Atributo Opcional • Atributo Monovalorado • Atributo Identificador • Atributo Composto • Atributo Não Único • Atributo Obrigatório • Atributo Multivalorado • Atributo Derivado Atributo - Classificação Relacionamento Diagrama de Entidade Relacionamento • Cardinalidade Um para Um - 1:1 Um para Muitos - 1:N Muitos para Muitos - N:N Exemplos: Diagrama de Entidade Relacionamento 1) Eleitor vota em unidade da federação transporta Eleitor Vota (1,1)(1,N) Unidade Federação 2) Aluno cursa disciplina Aluno Cursa (1,N)(0,N) Disciplina AUTO RELACIONAMENTO É quando uma entidade de uma entidade- tipo se relaciona com outra entidade da mesma entidade-tipo. Representam, em grande parte das vezes, estruturas hierárquicas. Empregado Gerencia É gerenciado N É gerente 1 Disciplina Pré Requisito (0,N) (0,N) Modelagem de Dados Adriana Sicsú Atividade 1 Exercício de Modelagem - DER Cenário: Venda de Produtos Uma firma vende produtos de limpeza, e deseja melhor controlar os produtos que vende seus clientes e os pedidos. Cada produto é caracterizado por um código, nome do produto, categoria (ex. detergente, sabão em pó, sabonete, etc), e seu preço. 21 Exercício de Modelagem - DER Cenário: Venda de Produto A categoria é uma classificação criada pela própria firma. A firma possui informações sobre todos seus clientes. Cada cliente é identificado por um código, nome, endereço, telefone, status ("bom", "médio", "ruim"), e o seu limite de crédito. Guarda-se igualmente a informação dos pedidos feitos pelos clientes. Cada pedido possui um número e guarda- se a data de elaboração do pedido. Cada pedido pode envolver de um a vários produtos, e para cada produto, indica-se a quantidade. 22 Exercício de Modelagem - Resolução - 23 Exercício de Modelagem - Resolução - 24 Modelagem de Dados Adriana Sicsú Revisão Objetivos da Aula • Modelo Conceitual • Agregação • Generalização • Modelo Lógico • Normalização de Dados 2 Exercícios 1) Assinale a opção correta a respeito de banco relacional. ( ) A cardinalidade associa-se diretamente aos atributos, assim, se determinada tabela apresenta sete atributos, a relação de sua cardinalidade é de 1 : 7. ( ) Na terminologia formal dos modelos relacionais, tupla corresponde a uma linha, e atributo, ao nome da coluna. [TJ-RO, 2012] ( ) Os modelos relacionais assemelham-se aos modelos de arquivo, visto que, do mesmo modo que há ordenamento entre atributos em um arquivo, uma relação somente é considerada, matematicamente, como tal, caso nela haja ordenamento de tuplas. ( ) Um banco de dados exclusivamente relacional é representado por uma coleção de objetos, métodos e heranças. ( ) Uma relação em um banco de dados relacional é a ligação entre duas chaves (primária e estrangeira), não podendo ser considerada uma tabela. [TJ-RO, 2012] 2) Na criação de um banco de dados relacional, por suas características, podem ser utilizados como chave primária: ( ) NOME, MATRÍCULA e CÓDIGO_ PEÇA ( ) NOME, SALÁRIO e CARGO_FUNÇÃO ( ) CPF, MATRÍCULA e CÓDIGO_PEÇA ( ) CPF, SALÁRIO e CARGO_FUNÇÃO [TSE, 2012] 3) Identifique com V as afirmativas verdadeiras e com F, as falsas. Os bancos de dados relacionais não suportam herança. Então, ao mapear objetos para o banco de dados, deve-se considerar como representar estruturas de herança, tipo tabelas relacionais. Nessas condições, pode-se representar uma hierarquia de herança de classes [MPE-BA, 2011] ( ) como uma única tabela. ( ) com uma tabela para cada classe. ( ) com uma tabela por classe concreta na hierarquia. A alternativa que contém a sequência correta, de cima para baixo, é a Parte superior do formulário ( )V F F ( ) V V F ( ) F V F ( ) F F V ( )V V V [MPE-BA, 2011] 4) Medicamento (Med) e Perfumaria (Per) são duas entidades que representam uma tipificação da entidade Produto (Pro). Portanto, Med e Per em relação a Pro representam ( ) generalizações. ( ) composições. ( ) agregações. ( ) especializações. ( ) dependências. [TER-CE, 2012] 5) Considerando o modelo E/R, a alocação de "funcionários" em "projetos", de cardinalidade n:m, necessita relacionar- se com uma entidade "local de trabalho". Assim, a alocação deve ser modelada como ( ) entidade fraca. ( ) entidade associativa. ( ) autorrelacionamento. ( ) atributo multivalorado. ( ) identificador de local de trabalho. [TRT-AL, 2011] 6) Considere uma entidade associativa entre Médico e Paciente (n:m) intitulada Consulta que, por sua vez, se relaciona com Medicamento em n:m. No projeto lógico de banco de dados relacional normalizado, este modelo de dados completo será derivado para Parte superior do formulário ( ) três tabelas. ( ) quatro tabelas. ( )cinco tabelas. ( ) seis tabelas. ( ) sete tabelas. [TRE-RN, 2011] 7) A modelagem de um banco de dados deve considerar as características de entidades e relacionamentos, que sejam relevantes para o contexto que está sendo descrito. Essas características são representadas por meio dos seus ( ) domínios. ( ) atributos. ( ) relacionamentos. ( ) entidades [UFG, 2010] [UFG, 2010] 8) Analise o diagrama a seguir: A definição de cardinalidade máxima envolve a quantidade máxima de ocorrências de entidades que podem estar associadas a uma ocorrência de outra entidade (1 ou N). Com relação ao diagrama de relacionamento dado ( ) uma nota fiscal possui N clientes. ( ) um cliente possui 1 nota fiscal. ( ) uma nota fiscal possui no minimo 1 cliente. ( ) um cliente possui até N notas fiscais. 9) No relacionamento 1:n (um para muitos) é correto ( ) criar uma nova tabela com as chaves das entidades envolvidas no relacionamento. ( ) acrescentar a chave da entidade do lado n, como chave estrangeira, na tabela no lado 1. ( ) acrescentar ambas as chaves, em todas as tabelas envolvidas, como chaves estrangeiras. ( ) criar chaves primárias adicionais, em cada uma das tabelas, para estabelecer o relacionamento entre as entidades. ( ) acrescentar a chave da entidade do lado 1, como chave estrangeira, na tabela no lado n. [FCC, 2010] 10) Em determinada universidade, cada professor contratado deve, em cada período letivo, ministrar pelo menos uma disciplina e pode atuar como tutor de outras disciplinas ofertadas. Cada disciplina tem, geralmente, diversos alunos matriculados, e todo aluno dessa universidade deve matricular-se, em cada período letivo, em pelo menos uma disciplina. Cada disciplina ofertada é ministrada por um único professor, mas pode ter diversos professores tutores. Para lidar com essa situação, foi criado um banco de dados relacional, do qual fazem parte as entidades ALUNO e DISCIPLINA. [MPU, 2010] Considerando a situação hipotética descrita, julgue os itens a seguir. A nota final que o aluno obteve em uma disciplina deve ser modelada como um atributo exclusivo da entidade ALUNO. ( ) Certo ( ) Errado [MPU, 2010] 11) Um modelo lógico de dados é ( ) uma representação sucinta da base de dados a ser implementada. ( )uma representação lógica das informações da área de negócios. ( ) um modelo que guarda acentuada relação de dependência com o modelo físico. ( ) dependente da tecnologia implementada em função das constantes mudanças dos produtos tecnológicos. ( ) um modelo que admite a replicação de atributos [FCC, 2010] 12) Analise as afirmativas abaixo a respeito da modelagem relacional e sua implementação em bancos de dados relacionais. I - O relacionamento de uma entidade fraca com a entidade da qual ela depende é sempre um relacionamentoum para um. II - A especificação de chaves estrangeiras para atributos de uma tabela T em relação a ela própria é uma característica necessária nos bancos de dados para a tradução de diagramas de entidade-relacionamento que contêm relacionamentos do tipo autorrelacionamento. [FCC, 2010] III - Se uma relação está na segunda forma normal, todo atributo que não seja chave deve ser totalmente dependente da chave primária. Está(ão) correta(s) a(s) afirmativa(s) ( ) I, apenas ( ) II, apenas. ( ) I e II, apenas. ( ) II e III, apenas. ( ) I, II e III. [IBGE, 2010] 13) Formar novas relações, separando-as a partir de grupos de repetição antes existentes dentro de uma relação, é objetivo da ( ) 1FN. ( ) 2FN. ( ) 3FN. ( ) FNBC. ( ) 5FN. [FCC, 2011] 14) Na normalização de dados, caso exista um ou mais atributos que dependam de um atributo não-chave, estes atributos deverão ser extraídos para outra tabela. Trata- se da condição para que a tabela esteja na ( ) primeira forma normal. ( ) segunda forma normal. ( ) terceira forma normal. ( ) quarta forma normal. ( ) forma normal Boyce/Codd. [FCC, 2010] 15) Cenário: Restaurante Um dos restaurantes mais tradicionais do Rio de Janeiro teve sempre o seu controle realizado manualmente pelos seus 3 proprietários. A sorte “lotérica” bateu à porta de um deles, que retornou imediatamente para sua terra natal. Com o crescimento do movimento financeiro do restaurante, os outros sócios passaram a se desentender quanto a melhor maneira de administra o restaurante, resultado na posse integral do restaurante por um dos sócios. [Prof. Ventury] O restaurante possui atualmente 30 garçons servindo diariamente mais de 500 refeições e o cardápio oferece mais de 40 pratos diferentes. O restaurante conta com uma área de mais de 1000 m2 e dispõe de mesas de 2, 4 e 6 lugares num total geral de 80 mesas. O horário de funcionamento atual é de 11:00h às 2:00h. Cada garçom é responsável por atender no mínimo 4 mesas e no máximo 10, não podem atender nenhuma mesa fora de sua responsabilidade . A remuneração dos mesmos é um percentual fixo sobre o consumo das mesas que cada um atendeu. [Prof. Ventury] Ao encerrar a conta, o cliente preenche uma avaliação sobre o atendimento prestado pelo garçom. Ao final do mês, os garçons que obtiverem as 3 melhores médias de desempenho recebem uma gratificação extra. O restaurante impõem que não pode existir mais de um garçom atendendo ao mesmo cliente na mesa, e que este garçom deverá realizar todo o atendimento até o cliente ir embora, mesmo que ultrapasse seu horário normal de trabalho. Não é permitido que pessoas ocupem mesas sem consumir. [Prof. Ventury] Periodicamente o dono necessita das seguintes informações: a) Relação das mesas que um garçom tem sob sua responsabilidade. b) Número de assentos que um garçom tem sob sua responsabilidade. c) Lista dos pratos servidos em uma mesa durante um certo período de tempo. d) Salário a pagar a cada garçom no final do mês. [Prof. Ventury] e) Lista dos pratos mais consumidos por dia da semana. f) Relação dos garçons que devem receber gratificação ao final do mês junto com sua respectivas médias. h) Qual(s) garçom(ns) é(são) responsável(eis) por uma determinada mesa. Desenvolva o Modelo Conceitual e o Modelo Lógico [Prof. Ventury] [Prof. Ventury] Modelo Conceitual [Prof. Ventury] Modelo Lógico GARÇON (matricula, nome) MESA(nrMesa, nrCadeiras RESPONSÁVEL(id_resp, matricula, nrMesa) ATENDIMENTO(id_Atend, matricula, nrMesa, avaliação, dataHoraInicio,data_HoraFim) ITEM_CARDAPIO(nr_item, valor, descrição) PEDIDO(id_pedido, id_atendimento, nr_item , quantidade) Referência Bibliográfica • Modelagem Conceitual e Projeto de Banco de Dados – Autor: Paulo Cougo. • Material de Aula – Prof. Ventury 28
Compartilhar