TLBD 1 Técnicas de linguagem de banco de dados 1

Apresentações semelhantes


Apresentação em tema: "TLBD 1 Técnicas de linguagem de banco de dados 1"— Transcrição da apresentação:

1 TLBD 1 Técnicas de linguagem de banco de dados 1
Professor Eduardo Professor Enildo

2 BASES TECNOLÓGICAS 1. Introdução a banco de dados:
história, definição, importância dos sistemas de bancos de dados nas organizações 2. Projeto de banco de dados: características de SGBD (Sistema de Gerenciamento de Banco de Dados); modelo conceitual; modelo lógico – Regras de Derivação e Regras de Restrição – DER e MER; Dicionário de Dados 3. Metodologia CASE: definição de ferramentas CASE (Computer-Aided Software Engineering); utilização de ferramenta CASE para modelagem de dados 4. Modelo Lógico: Entidade: classificações de Entidades; representações de Entidades Atributos: classificações de Atributos; representações de Atributos Identificar e modelar Entidades; distinguir Atributos e Entidades; analisar e modelar Atributos; Relacionamentos; representação gráfica de entidades, atributos e relacionamentos; grau de relacionamento (binário/ ternário); comparação entre relacionamentos

3 5. Tipos de Restrições de Integridade: Integridade Relacional; Integridade Referencial.
6. Grau de cardinalidade 7. Autor relacionamento (Reflexivo ou Recursivo) 8. Especialização e generalização (superclasses e subclasses, supertipo e subtipos) 9. Domínio 10. Tabelas 11. Projeto lógico de banco de dados 12. Normalização de tabelas 13. Aplicação das formas normais (1, 2, 3 e 4) 14. Forma normal de boyce/ codd (FNBC) Ferramenta de Apoio: BrModelo e Microsoft Access 2010.

4 Avaliações Participação nas discussões dos conteúdos em sala de aula;
Comprometimento com as tarefas assumidas; Frequência e assiduidade; Interesse e envolvimento na execução de tarefas em grupo; Prova/Teste.

5 Material de Apoio Sistemas de Banco de Dados

6 brModelo http://ziggi.uol.com.br/downloads/brmodelo

7 Introdução a banco de dados
Projeto de BD – Etapas Análise de Requisitos Modelagem Conceitual Modelagem Lógica Modelagem Física 7

8 Breve história A humanidade sempre procurou manter registros históricos dos eventos mais importantes para que pudessem ser utilizados posteriormente. Exemplos: Pinturas em cavernas, inscrições hieroglíficas, escritas cuneiformes e a imprensa (a partir do século XV). Os computadores inventados e aperfeiçoados a partir do século XX permitiram que os dados fossem armazenados e recuperados com grande rapidez e facilidade. No início da década de 70 surgiram os SGBDs (Sistemas de Gerenciamento de Banco de Dados). Pesquisas na área resultaram em um conjunto de técnicas, processos e notações para a modelagem ou projeto de banco de dados.

9 Definição O que são Banco de Dados
Um conjunto de informações organizadas em tabelas de dados, relacionadas ou não mas gerenciadas por mecanismo de controle que permitem integridade, agilidades ao acesso, controle de acessos, controle de manutenção dos dados, estruturação, organização.

10 Importância dos sistemas de bancos de dados nas organizações Vantagens
Podemos controlar a redundância de informações Conseguimos evitar inconsistências nos dados Garantia de integridades dos dados Compartilhamento de dados controlado pelo gerenciador Aplicabilidade de pacotes de representação de dados e regras Capacidade de definir níveis de segurança sobre os dados Balanceamento de performance Controle de Backup de Banco de Dados

11 MODELO DE PEQUENO PORTE
Uma pequena aplicação em um computador apenas – modelo pequeno

12 MODELO DE MÉDIO PORTE Alguns usuários e só um ambiente uma sala ou um prédio Aplicativos que trabalham, com banco de dados (exemplo: Sistema de Administradora de Imóveis).

13 MODELO DE GRANDE PORTE – WEB
Vários prédios distintos com clientes em todos eles integrados por rede WAN-WEB ou Links dedicados.

14 MODELO DE GRANDE PORTE – CLIENT SERVER – Aplicações Windows
UM SISTEMA COM UM BANCO DE DADOS Aplicativo que trabalha com Banco de dados (Exemplo: Sistema Financeiro Grande Empresa) .

15 Conceitos de Banco de Dados
Diferença entre informação e dado. Tenha em mente que um computador armazena/processa dados e não informações.

16 Bando de Dados uma coleção de palavras e números, forma um banco de dados, contudo o uso do termo banco de dados é mais restrito em virtude das seguintes características: O banco de dados representa uma porção do mundo real, o qual se chama minimundo ou universo de discurso. Qualquer alteração no minimundo deve ser refletida no banco de dados. O banco de dados é um conjunto lógico e ordenado de dados que possuem algum significado, e não uma coleção aleatória. O banco de dados é construído e povoado com dados que têm um determinado objetivo, com usuários e aplicações desenvolvidas para manipulá-los.

17 Ingredientes Necessários
Para ter um banco de dados, são necessários três ingredientes: Uma fonte de informação, da qual derivam os dados. Uma interação com o mundo real. Um público que demonstra interesse nos dados armazenados.

18 Armazenamento É possível armazenar um banco de dados em um ou mais arquivos gravados em um dispositivo de armazenamento, como disco flexível, disco rígido, CD-ROM, fita DAT, cartões de memórias Flash, DVD etc. O meio de armazenamento mais comumente utilizado é o disco rígido.

19 SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS (SGBD)
O Sistema de Gerenciamento de Banco de Dados é o software que incorpora as funções de definição, recuperação e alteração de dados em um banco de dados

20 Sistema De Gerenciamento De Banco De Dados
Um Sistema De Gerenciamento De Banco De Dados (normalmente denominado SGBD) é, talvez, ao lado dos processadores de texto, o programa para computadores mais empregados no mundo. O termo banco de dados se refere, na verdade, aos arquivos que contêm informações relacionadas, ou seja, aos dados propriamente ditos. O termo sistema de gerenciamento refere-se à coleção de ferramentas e programas que permitem a criação do banco de dados e a manipulação dos seus registros

21 Definição, Construção e Manipulação de Dados
Estes três termos podem ser melhor esclarecido da seguinte maneira:

22 Independência de Programas
Um banco de dados possui um repositório em que as estruturas das tabelas e os próprios dados são armazenados, que é mais comumente conhecido por catálogo. Essa característica, denominada Independência de Programas e Dados, permite que qualquer alteração efetuada no banco de dados não implique necessariamente em modificações nos programas aplicativos.

23 O Projeto de Banco de Dados
Todo projeto de um sistema de aplicação para banco de dados necessita de um coração, um centro nervoso. A modelagem de um sistema pela abordagem Entidade-Relacionamento representa esse ponto central no Projeto Conceitual de um sistema. A utilização de uma abordagem correta de metodologia orientada a banco de dados envolve a estruturação nos três níveis de visão de dados, ou seja, três etapas na execução de um projeto: conceitual, lógico e físico.

24

25 O Metamodelo Entidade-Relacionamento
O modelo Entidade-Relacionamento foi definido por Peter Chen em 1976 e teve como base a teoria relacional criada por E. F. Codd (1970).

26 Modelagem Conceitual de Dados
Ao utilizar a Modelagem Conceitual de Dados com a técnica de entidades e relacionamentos, obtemos resultados e esquemas perante conceituais sobre a essência de um sistema, ou melhor, sobre o negócio para qual estamos desenvolvendo um projeto de banco de dados. Nessa modelagem não vamos representar procedimentos ou fluxo de dados existente.

27 Objetos Conceituais Deve-se estabelecer como representação somente a necessidade de retratar as informações existentes no negócio. O objetivo primordial é entender o negócio para o qual será projetado um sistema, através de seus dados.

28 Entidade, Relacionamento e Atributos.
Chen dedicou-se a destacar a importância de reconhecer os objetos que compõem esse negócio, independente de preocupar-se com formas de tratamento das informações, procedimentos, programas, etc. Os objetos que desejamos conhecer e modelar um sistema, Chen classificou em três grupos: Entidade, Relacionamento e Atributos.

29 Modelo Conceitual

30 Modelo Lógico Relacional
Criado por Edgar F. Codd, nos anos 1970, começou a ser realmente utilizado nas empresas a partir de 1987. Definição de clássica: o modelo lógico relacional é um conjunto de dados visto segundo um conjunto de TABELAS, e as operações em tabelas são feitas por linguagens que manipulam a álgebra relacional, não sendo procedurais, ou seja, manipulam conjuntos de uma só vez.

31 Exemplos: DB2, ORACLE, <MS SQL Server, MySQL, PostgreSQL etc.

32 Álgebra Relacional O conceito principal vem da teoria dos conjuntos (álgebra relacional) atrelado à ideia de que não é relevante ao usuário saber onde os dados estão nem como estão (transparência). Os usuários manipulam objetos dispostos em linhas e colunas das tabelas, figura 3. Para lidar com esses objetos, conta com um conjunto de operadores e funções de alto nível, constantes na álgebra relacional.

33 Visão Lógica de dados

34 Modelo lógico

35 Principais Vantagens da Abordagem Relacional
Independência total dos dados; Visão múltiplas dos dados: Melhor comunicação entre CPD e usuário; Redução acentuada da atividade de desenvolvimento de aplicações e do tempo gasto em manutenção; Melhoria na segurança dos dados; Mais agilidade na questão gerencial da informação ligada ao processo decisório da organização.

36 As 12 Regras de Cood Toda informação num banco de dados relacional é apresentada em nível lógico por valores em tabelas; Todo dado em um banco de dados relacional tem garantia de ser logicamente acessível, recorrendo-se a uma combinação do nome da tabela, um valor de chaves e o nome da coluna; Tratamento sistemático de valores nulos (ausência de dados); O dicionário de dados (catálogo) relacional ativo é baseado no modelo relacional; O SGBD relacional deve ter uma linguagem para definição, detalhamento e manipulação dos dados; Tratamento das atualizações de visões dos dados;

37 Tratamento de alto nível para inserção, atualização e eliminação de dados;
Independência dos dados físicos (mudança na memória e no método de acesso); Independência de dados lógicos (mudança de qualquer tipo nas tabelas básicas, por exemplo, divisão de tabela por linha ou coluna); Independência das restrições de integridade; Independência de distribuição; Não subversão das regras de integridade ou restrições quando se utiliza uma linguagem de baixo nível.

38 Questionário 1. Explique a importância de manter registros históricos?
2. Defina “dado”. De um exemplo. 3. O que é uma informação? Pode ser armazenada em um computador? De que forma? 4. Defina um Banco de Dados. De um exemplo. 5. Qual o significado da sigla SGBD? Oque é, e para que serve? 6. Cite três motivos por que utilizar bancos de dados informatizados?

39 1. Explique a importância de manter registros históricos?
R: Para ser utilizados posteriormente.

40 2. Defina “dado”. De um exemplo.
R: Podemos definir dado como uma sequência de símbolos quantificados ou quantificáveis. Exemplo: texto, fotos, figuras, sons gravados e animação.

41 3. O que é uma informação. Pode ser armazenada em um computador
3. O que é uma informação? Pode ser armazenada em um computador? De que forma? R: Informação é uma abstração informal que está na mente de alguém, representando algo significativo para essa pessoa. Por meio de dados, pode ser armazenada em um computador

42 4. Defina um Banco de Dados. De um exemplo.
R: Uma coleção de dados integrados que tem por objetivo atender a uma comunidade de usuários. Um conjunto de dados persistentes e manipuláveis que obedecem a um padrão de armazenamento. Exemplos: lista telefônica, dicionário, etc.

43 5. Qual o significado da sigla SGBD? Oque é, e para que serve?
R: Sistema de Gerenciamento de Banco de Dados é o software que incorpora as funções de definição, recuperação e alteração de dados em um banco de dados.

44 6. Cite três vantagens de se utilizar um bancos de dados informatizados?
Compacto (elimina arquivos de papéis); Rápido; Integrado (vários aplicativos utilizam o mesmo repositório de dados); Compartilhado (vários usuários podem acessar); Seguro (controle de acesso); Padronizado; Consistente; Suporte a transações.

45 Projeto de Banco de dados
Objetivos de um Banco de dados armazenar “Dados” REGISTRO.

46 CAMPO

47 Tipos de Dados

48 RDBMS - Relational Data Base Management System
RDBMS - Relational Data Base Management System. (Dados Relacionais Sistema de Gerenciamento de Base.)

49

50

51 Escopo do projeto Escopo do projeto é “o trabalho que precisa ser realizado para entregar um produto, serviço ou resultado com as características e funções especificadas”.

52

53 Abstração Segundo o dicionário, abstração, é o “ato de separar mentalmente um ou mais elementos de uma totalidade complexa (coisa, representação, fato), os quais só mentalmente posem subsistir fora dessa totalidade; o resultado de abstrações (termo, conceito, ideia, elemento de classe etc.)”.

54 Modelar Segundo o dicionário, modelar, significa “fazer o modelo de; representar por meio de modelo” e modelo significa “que serve de modelo; exemplar”. Ainda no dicionário, encontramos a seguinte explicação para a palavra intuição: “ato de ver, perceber, discernir; percepção clara ou imediata; discernimento; apreensão direta, imediata e atual de um objeto na sua realidade individual”.

55 Entidade é um Objeto Uma entidade é um objeto do mundo real que pode ser distinguido de outros objetos. Toda entidade tem seus respectivos atributos. Além de determinar quais são as entidades que existirão no banco de dados e seus atributos, o Diagrama de Entidade e Relacionamento deve também indicar os relacionamentos entre estas entidades. Mas o que é Relacionamento? Relacionamento é a associação entre entidades, podendo ser binários (duas entidades), ternários (três entidades) ou quaternários (quatro entidades), além do auto-relacionamento, situação em que uma entidade relaciona-se consigo.

56 Modelo Correto É comum dizer-se que não há um modelo correto de modelagem, e sim um modelo mais ou menos eficiente, no tocante às prioridades observadas pelo projetista, podendo ser, basicamente, velocidade de gravação ou leitura, ou ainda economia de espaço em disco.

57 Aspecto importante Outro aspecto importante na modelagem de bancos de dados é a cardinalidade. A Cardinalidade apresenta o número de entidades com as quais uma outra entidade se relaciona ou, simplificando, quantas linhas de uma tabela se relacionam com as linhas de outra tabela. Dentre os atributos de uma entidade um ou mais deles devem formar a Chave Primária.

58 Levantamento de Dados Para se desenvolver um sistema de banco de dados, não basta apenas ter conhecimento das técnicas de modelagem. É necessário que se conheçam as regras do problema que o sistema se propõe a automatizar. Assim, a fase primordial do desenvolvimento de um sistema de banco de dados é o levantamento de dados. Nesta fase, o projetista do sistema faz a coleta das informações que julgar relevantes ao desenvolvimento do banco de dados por meio de várias técnicas, dentre as quais destacam os questionários, análise de sistemas anteriores e entrevistas.

59 Modelagem A modelagem de bancos de dados é necessária para que se diminua ao mínimo possível a possibilidade de erros e inconsistências no banco de dados. A modelagem pode ser feita manualmente ou por meio de softwares específicos que podem utilizar a simbologia criada por Matin o Cross Foot (pé-degalinha).

60 Questionários Essa técnica tem como ponto positivo o fato de que o usuário ou cliente não tem a necessidade de interromper seus afazeres para atender ao desenvolvedor, podendo respondê-lo no momento que julgar mais apropriado; porém essa “ausência” do desenvolvedor pode fazer com que a pessoa não leve o questionário a sério, respondendo de forma displicente ou simplesmente deixando de responder parte ou totalidade das questões.

61 Análise de Sistemas Anteriores
Se a empresa já possui um sistema informatizado, a observação de telas de preenchimento, coleta e exibição de dados e de relatórios impressos pode dar ao desenvolvedor informações inerentes ao que se deseja para o nome banco de dados.

62 Entrevistas Sem sombra de dúvida, as entrevistas são o meio mais eficaz de se obterem os dados relevantes ao desenvolvimento de um novo sistema, mas deve-se levar em consideração a necessidade de se entrevistar a pessoa certa.

63 Declaração de Escopo Contém toda a especificação que o usuário deseja de como os dados e procedimentos devem ser trabalhados no sistema. Depois de ter a Declaração de Escopo devidamente avaliada e aprovada por parte dos usuários, passa-se ao processo de Modelagem do Banco de Dados do Sistema. Coad e Yourdom criaram seis regras para se abstraírem objetos de uma declaração de escopo. Uma entidade sempre é representada por um substantivo (Cliente, Produto, Fornecedor, Pedido). Assim, devem-se separar os substantivos constantes na declaração de escopo e aplicar as seguintes regras.

64 · Informação Retida : Será uma entidade somente se existir a informação representada por ela a ser utilizada posteriormente pelo sistema. · Operações Necessárias : A entidade deve conter um conjunto de operações capazes de modificar o valor de seus atributos de alguma forma. · Múltiplos Atributos : Uma entidade deverá, via de regra, ter mais de um atributo, pois na maioria dos casos, este atributo pode ser adicionado a uma outra entidade. · Atributos Comuns : Uma entidade não deve conter atributos que fiquem vazios em certas condições. · Operações Comuns : Todas as operações definidas para uma entidade devem atuar sobre todas as suas ocorrências. · Requisitos Essenciais : Todos os indivíduos que se relacionam com o sistema, que produzem ou consomem informações necessárias à solução de qualquer problema do sistema normalmente são modeladas como entidades.

65 EXERCÍCIO 1. Defina campo, registro, tabela e banco de dados. 2. Como um banco de dados relacional armazena seus dados? 3. Qual o significado da sigla RDBMS? 4. Quais as fases de um projeto?

66 Respostas 1. Defina campo, registro, tabela e banco de dados. Resposta: Banco de dados é o conjunto de Tabelas, registro é o conjunto de campos e campo é a menor unidade de armazenamento.

67 2. Como um banco de dados relacional armazena seus dados
2. Como um banco de dados relacional armazena seus dados? Resposta: Armazena os dados em forma de tabela.

68 3. Qual o significado da sigla RDBMS
3. Qual o significado da sigla RDBMS? Resposta: RDBMS - Relational Data Base Management System. (Dados Relacionais Sistema de Gerenciamento de Base.) SGBD - Sistema de Gerenciamento de Banco de Dados.

69 4. Quais as fases de um projeto de banco de dados?
R: Levantamento, análise, projeto, desenvolvimento, teste e implantação.

70 Modelagem de Dados Usando o Modelo Entidade-Relacionamento
MER: Conjunto de conceitos e elementos de modelagem que o projetista de banco de dados precisa conhecer. O Modelo é de Alto Nível. DER: Resultado do processo de modelagem executado pelo projetista de dados que conhece o MER.

71 Modelo Conceitual Representa, descreve a realidade do ambiente do problema, constituindo-se em uma visão global dos principais dados e seus relacionamentos (estruturas de informações), completamente independente dos aspectos de sua implementação tecnológica. Modelo Conceitual – Representa as informações que existem no mundo real.

72 Por que Modelamos Dados????
Análise de Dados Por que Modelamos Dados????

73 Modelar Dados Permite:
Identificar dados que são manipulados pelas funções do negócio; Identificar em qual contexto o dados está inserido; Garantir integridade das informações; Projetar banco de dados flexíveis; Facilitar a criação e manutenções dos sistemas;

74 Projetar um modelo de dados que represente a realidade da empresa, através das suas estrutura de dados e das regras do negócio que os influenciam; Construir o modelo de dados de forma evolutiva, a medida que a realidade é conhecida ou modificada; A análise de dados tenta fazer um estudo objetivo e equilibrado da realidade, sem qualquer influência dos meios computacionais que utilizaremos, ou não para resolver o problema;

75 − Todo pedido deve ter pelo menos um item, e no máximo trinta.
Os dados que necessitamos para resolver determinado problema são absolutamente independentes do fato de utilizarmos Banco de Dados ou computador para processá-lo; Cada visão da realidade tem vocabulário e regras definidas, que representam as próprias regras do negócio. Exemplos: − Um pedido dentro de uma determinada região de vendas, só pode ser emitido por um determinado vendedor. − Todo pedido deve ter pelo menos um item, e no máximo trinta. − Um instrutor não pode ter mais que dez alunos; As regras do negócio existem, documentadas ou não por visões de dados definidas

76 Entrevista Documentos Arquivos de Sistemas

77 Simples Completo Modificável Não redundante Fácil de implementar

78 Elementos do Modelo de Dados
Entidade Atributo Relacionamento

79 Entidade Qualquer coisa de significância ao negócio, que armazene informações que necessitam se guardadas ou conhecidas para realização do negócio.

80 Entidade Objeto ou fato sobre o qual se deseja guardar informações, num determinado contexto; É um conjunto de tipo de informação diretamente associado a qualquer existência; É alguma coisa que desempenha um papel específico no sistema; Possui propriedades que a distinguem de outras entidades;

81 Entidade É um substantivo levantado através de uma entrevista como usuário final que tenha real significância ao negócio, ou seja, que armazene informações que necessitam ser guardadas ou conhecidas.

82 Entidade Exemplos: Funcionário Departamento Pedido Item Produto
Cliente

83 Entidade Como Identificar: Examinar todos os substantivos.
Verifique se possui informações que necessitam ser conhecidas ou guardadas. Determine um nome para cada entidade.

84 Entidade Algumas Regras
Todas as Entidades devem ser descritas, para facilitar o entendimento do modelo. O Conceito ou Definição da Entidade deve: ser claro e preciso. indicar claramente os objetos que fazem parte da entidade e os que não fazem. indicar claramente quando um objeto começa a fazer parte da entidade e quando deixa de fazer parte dela. ser compatível com a chave

85 Entidade Algumas Regras
Cada Entidade deve ter um nome que seja: único em um modelo. não-técnico, utilizando a linguagem do usuário. sempre no singular. escrito em letras maiúsculas. sem preposição sem termos de ligação

86 Entidade Algumas Regras
A Entidade deve ter várias ocorrências ou instâncias. Exemplos: A entidade EMPREGADO tem uma ocorrência para cada empregado no negócio. Cristiane, Silvana, Leonardo são ocorrências da entidade EMPREGADO. A entidade DEPARTAMENTO tem uma instância para cada departamento na empresa. Financeiro, Vendas, Treinamento são instâncias de DEPARTAMENTO.

87 Entidade Algumas Regras
Cada instância deve ser unicamente identificada. Exemplo: Cada empregado tem um único número de matrícula. Número de matrícula é um candidato para ser o identificador de EMPREGADO. Cada departamento é identificado por um código. O código do departamento é um candidato para ser o identificador de DEPARTAMENTO.

88 Entidade - Representação
Cliente Produto Curso Instrutor

89 Entidade – Tipos Entidade Primária(FORTE)
É quando a entidade existe em si e por si é concebida, isto é, aquilo cujo conceito não carece do conceito de outra do qual deva ser formado Entidade Dependente(FRACA) É quando a entidade não existe por si só e sua existência está condicionada a existência de uma única outra entidade da qual ela depende

90 Entidade – Tipos Entidade Associativa
É quando a entidade não existe por si só e sua existência está condicionada à existência de duas ou mais entidades

91 Exercício Modelagem Conceitual - Clínica
Cada médico que trabalha na clínica é identificado pelo seu CRM, possui um nome, uma data de admissão na clínica e um salário. Um médico tem formação em diversas especialidades (ortopedia, traumatologia, etc), mas só exerce uma delas na clínica. Para todo paciente internado na clínica são cadastrados alguns dados pessoais: código (único), nome, RG, CPF, endereço, telefone(s) para contato e data do nascimento. Um paciente tem sempre um determinado médico como responsável, com um horário de visita diário predeterminado. Pacientes estão sempre internados em quartos individuais, que são identificados por um número e estão em um andar da clínica.

92 Exercício Modelagem Conceitual - Clínica
Cada médico que trabalha na clínica é identificado pelo seu CRM, possui um nome, uma data de admissão na clínica e um salário. Um médico tem formação em diversas especialidades (ortopedia, traumatologia, etc), mas só exerce uma delas na clínica. Para todo paciente internado na clínica são cadastrados alguns dados pessoais: código (único), nome, RG, CPF, endereço, telefone(s) para contato e data do nascimento. Um paciente tem sempre um determinado médico como responsável, com um horário de visita diário predeterminado. Pacientes estão sempre internados em quartos individuais, que são identificados por um número e estão em um andar da clínica.

93 Atributos Representam um tipo de descrição ou detalhe, não uma instância. Atributos são informações referentes a uma entidade que necessitam ser conhecidos ou até mesmo armazenados. Atributos descrevem uma Entidade pela qualificação, identificação, classificação, quantificação ou expressão de estado.

94 Atributos Exemplo: Número do empregado identifica um EMPREGADO.
Nome do empregado qualifica EMPREGADO. Categoria pagamento classifica um EMPREGADO. Quantidade de Produto quantifica ESTOQUE. Status empregado expressa a situação do EMPREGADO.

95 Atributos - Identificação
Identificar atributos examinando anotações de entrevistas e questionando usuários. Atributos podem aparecer como: Palavras descritivas ou frases. Frases preposicionadas (ex.: salário de cada empregado). Nomes possessivos e pronomes (ex.: nome do empregado). Questões para o usuário: Que informações você precisa saber sobre a entidade X? Que informações você gostaria de ver nas telas ou relatórios sobre a entidade X?

96 Atributos - Regras Cada atributo deve ter um nome que:
Seja claro para o usuário e não codificado Deve utilizar o nome da entidade Exemplo: Codigo Curso Seja específico, identificando exatamente que tipo de informação representa (uso de natureza pré-definida) Exemplo: Quantidade, Quantidade Devolvida, Quantidade Comprada Seja identificado com a primeira letra maiúscula e as demais letras minúsculas

97 Atributos - Regras Atributos devem ser atômicos. Não devem conter estruturas. Exemplo: o Número de um ITEM consiste do tipo do Item, Código do Fornecedor e Número do item. ITEM ITEM Numero Item Tipo Item Codigo Fornecedor Numero Item

98 Atributos - Regras Atributo contendo data, hora e CEP normalmente não são decompostos. Atributo de endereço pode ser decomposto em rua, número, apartamento, sala, complemento, cidade, estado, CEP. O nível de decomposição do atributo depende da necessidade do negócio.

99 Atributos - Regras Cada atributo deve conter um valor único para cada instância. Atributos multi-valorados ou com grupos repetitivos não são válidos. Exemplo: Os atributos da entidade CLIENTE são valores únicos? CLIENTE Codigo Cliente Nome Cliente Data Contato

100 Atributos - Regras Não, um cliente pode ser contatado várias vezes, e o negócio precisa manter todas as datas de contato. A entidade CONTATO está faltando. Nota: Um atributo repetitivo indica a falta de uma entidade. CLIENTE CONTATO Codigo Cliente Nome Cliente Data Contato Resultado Contato Local Contato

101 Atributos - Regras Atributos não devem ser derivados ou calculados a partir de outros. Dados Derivados: Quantidade (número de vendedores em uma região). Total (total de vendas por vendedor). Máximo, mínimo ou média (estatísticas de vendas). Outros cálculos (a comissão do vendedor é calculada em 10% sobre as vendas).

102 Atributos - Regras Atributos derivados são redundantes.
Redundância pode levar a dados inconsistentes. Os dados derivados devem ser revisados sempre que o atributo base é revisado. Dados derivados podem eventualmente aparecer no modelo lógico.

103 Diferenciar Entidade e Atributos
Todas as entidades são substantivos, mas nem todos os substantivos são entidades. CARACTERÍSTICAS ENTIDADE ATRIBUTO Alguma coisa sobre a qual precisamos guardar informações. Qualifica uma entidade. Possui um ou mais atributos. Não possui atributos. Se um entidade não possui atributos, ela pode ser somente um atributo. Se um atributo tiver atributos, então ele é uma entidade ou não tem significado. Pode ter várias ocorrências associadas a outra entidade via relacionamento. Tem um valor único para cada instância.

104 Atributos - Opcionalidade
Atributos Obrigatórios O valor do atributo deve ser informado para cada ocorrência. Not null Atributos Opcionais Pode não possuir valor para todas as ocorrências. Null Use exemplos para validar a opcionalidade dos atributos. PESSOA Codigo obrigatório Nome obrigatório Cargo opcional Sexo obrigatório Peso opcional

105 Atributos – Identificador Único (Chave)
Um identificador único é formado por um atributo ou conjunto de atributos que identificam unicamente cada instância ou ocorrência de uma entidade. Uma entidade deve ter um identificador único, ou ela não é entidade. Todos os atributos do identificador único são obrigatórios.

106 Atributos – Identificador Único (Chave)
Exemplo: Cada ocorrência de DEPARTAMENTO é identificada pelo número do departamento. Em um teatro, cada BILHETE é identificado pelo data da sessão e número do lugar. DEPARTAMENTO BILHETE TEATRO Codigo Departamento Data Sessao Numero Lugar

107 Atributos – Identificador Único (Chave)
Uma entidade pode ter mais de um atributo candidato a identificador único (chave). O que identifica um empregado? Podemos identificar o funcionário pelo número de matricula ou pelo número do CPF. Selecionaremos um dos atributos (número de matrícula) para ser o identificador único. O atributo número do CPF será definido como chave alternativa. EMPREGADO Matricula Numero Cpf Nome Data Nascimento Data Admissao Descricao Cargo

108 Atributos – Identificador Único (Chave)
O que identifica um CLIENTE? CLIENTE Nome Cliente Rua Bairro Cidade UF Telefone

109 Atributos – Identificador Único (Chave)
Considere a criação de atributos artificiais para ajudar o identificar cada entidade. CLIENTE Codigo Cliente Nome Cliente Rua Bairro Cidade UF Telefone

110 Atributos – Lembretes Opcionalidade Identificador Único Não derivados

111 Exemplos

112 Resumo Atributos São propriedades (características) que identificam as entidades. Uma entidade é representada por um conjunto de atributos. Os atributos podem ser simples, composto, multivalorado ou determinante. Nome, endereço, telefone e cidade, por exemplo, são atributos da entidade Clientes. Enquanto que salário, cargo e departamento são atributos da entidade funcionários. Existem quatro tipos de atributos: simples, composto, multivalorado e determinante Atributo Simples Não possui qualquer característica especial. A maioria dos atributos serão simples. Quando um atributo não é composto, recebe um valor único como nome, por exemplo e não é um atributo chave, então ele será atributo simples.

113 Atributo Composto O seu conteúdo é formado por vários itens menores. Exemplo: Endereço. Seu conteúdo poderá ser dividido em vários outros atributos, como: Rua, Número, Complemento, Bairro, Cep e Cidade. Este tipo de atributo é chamado de atributo composto. Veremos mais de sua aplicação no post sobre normalização de dados. Atributo Multivalorado O seu conteúdo é formado por mais de um valor. Exemplo: Telefone. Uma pessoa poderá ter mais de um número de telefone. É indicado colocando-se um asterisco precedendo o nome do atributo. O atributo multivalorado serão tratados com mais detalhes na normalização de dados. Atributo Determinante Identifica de forma única uma entidade, ou seja, não pode haver dados repetidos. É indicado sublinhando-se o nome do atributo. Exemplo: CNPJ, CPF, Código do fornecedor, Número da matrícula, etc. Os atributos determinantes serão as chaves primárias no banco de dados e seu uso tem implicações na normalização de dados.  

114 Relacionamentos Relacionamento é uma ligação lógica entre duas entidades e que representa uma regra de negócio.

115 Exercício Modelagem Conceitual - Clínica
Cada médico que trabalha na clínica é identificado pelo seu CRM, possui um nome, uma data de admissão na clínica e um salário. Um médico tem formação em diversas especialidades (ortopedia, traumatologia, etc), mas só exerce uma delas na clínica. Para todo paciente internado na clínica são cadastrados alguns dados pessoais: código (único), nome,RG, CPF, endereço, telefone(s) para contato e data do nascimento. Um paciente tem sempre um determinado médico como responsável, com um horário de visita diário predeterminado. Pacientes estão sempre internados em quartos individuais, que são identificados por um número e estão em um andar da clínica.

116 Exercício Modelagem Conceitual - Clínica
Cada médico que trabalha na clínica é identificado pelo seu CRM, possui um nome, uma data de admissão na clínica e um salário. Um médico tem formação em diversas especialidades (ortopedia, traumatologia, etc), mas só exerce uma delas na clínica. Para todo paciente internado na clínica são cadastrados alguns dados pessoais: código (único), nome, RG, CPF, endereço, telefone(s) para contato e data do nascimento. Um paciente tem sempre um determinado médico como responsável, com um horário de visita diário predeterminado. Pacientes estão sempre internados em quartos individuais, que são identificados por um número e estão em um andar da clínica.

117 Solução

118 Relacionamentos O Relacionamento é formado por três objetos:
Entidade Pai: entidade forte do relacionamento, é a que dá informação (chave primária) para a outra entidade. Entidade Filha: entidade fraca do relacionamento, é a que recebe a informação (chave primária) da entidade pai. Relacionamento: linha que liga a Entidade Pai à Entidade Filha, por onde a chave primária da Entidade Pai “migra” para a Entidade Filha. O nome do relacionamento indica a regra de negócio entre as entidades.

119 Relacionamentos Cada relacionamento tem: Um nome ( verbo)
Uma opcionalidade Uma cardinalidade

120 Relacionamentos Notação da Engenharia da Informação Anotações

121 Relacionamentos - Cardinalidade
Indica o número de elemento de uma entidade com os quais um elemento de uma outra entidade pode se relacionar. Tipos de cardinalidade: Mínima: indica o número mínimo de elementos de uma entidade com os quais um elemento de uma outra entidade pode se relacionar. Máxima: indica o número máximo de elementos de uma entidade com os quais um elemento de uma outra entidade pode se relacionar.

122 Relacionamentos - Cardinalidade
Cardinalidades 1:1 um-para-um governa GOVERNADOR ESTADO 1:M (M:1) um-para-muitos oferece LISTA PREÇO LIVRARIA Anotações M:M (M:M) muitos-para-muitos Cursa ALUNO DISCIPLINA

123 Relacionamentos - Cardinalidade
Cardinalidades 0:1 zero-ou-um governa GOVERNADOR ESTADO 0:M (M:0) zero-para-muitos oferece LISTA PREÇO LIVRARIA Anotações

124 Relacionamentos - Opcionalidade
Um EMPREGADO deve estar alocado sempre a um DEPARTAMENTO? Sim, um EMPREGADO deve sempre estar alocado a um Departamento. Um DEPARTAMENTO sempre deve conter EMPREGADO? Não, um Departamento não precisa conter EMPREGADOS Anotações

125 Relacionamentos Cada relacionamento tem: Exemplo: ministra INSTRUTOR
um nome (regra de negócio) uma opcionalidade uma cardinalidade Exemplo: O relacionamento entre o INSTRUTOR e o CURSO. cada instrutor pode ministrar um ou mais cursos. cada curso é ministrado por somente 1 instrutor. ministra INSTRUTOR CURSO

126

127 Exercício Modelagem Conceitual – Clínica Criando os relacionamentos
Cada médico que trabalha na clínica é identificado pelo seu CRM, possui um nome, uma data de admissão na clínica e um salário. Um médico tem formação em diversas especialidades (ortopedia, traumatologia, etc), mas só exerce uma delas na clínica. Para todo paciente internado na clínica são cadastrados alguns dados pessoais: código (único), nome, RG, CPF, endereço, telefone(s) para contato e data do nascimento. Um paciente tem sempre um determinado médico como responsável, com um horário de visita diário predeterminado. Pacientes estão sempre internados em quartos individuais, que são identificados por um número e estão em um andar da clínica.

128

129 Solução DER

130 Exercício Trabalho em grupo de até seis “6” alunos.
Construa o MER “modelo de entidade e relacionamento” dos 6 casos de uso a seguir:

131

132

133

134 Dicionário de Dados No processo de análise de sistemas um dos pontos fortes é o MER – Modelo de Entidade e Relacionamento, onde são definidas as entidades que irão compor o sistema e como elas irão relacionar-se. Junto com o modelo de entidade e relacionamento, é necessário que se mantenha um documento com a explicação de todos os objetos nele criados. Este documento, que pode ser chamado de dicionário de dados, permite que os analistas obtenham informações sobre todos os objetos do modelo de forma textual, contendo explicações por vezes difíceis de incluir no diagrama. É válido lembrar que o objetivo do documento é ser claro e consistente.

135 Deve ser uma Marca válida. Deve ser um Modelo válido.
Dicionário de Dados Exemplo: Controle de Locação de Veículos  Tabela: T01_Veiculos Nome Descrição Tipo Tamanho Domínio Formato Restrições veiculo Código que identifica unicamente os dados de um Veículo no Banco de Dados. Inteiro - marca Descrição da Marca do Veículo (Fiat, Ford, etc). Texto 45 Deve ser uma Marca válida. modelo Descrição do Modelo do Veículo (Palio, Celta, Ka, etc). Deve ser um Modelo válido. ano_fabricacao Ano de Fabricação do Veículo. combustivel Sigla do Combustível do Veículo conforme Domínio no Banco de Dados. 1 G - Gasolina A - Álcool D - Diesel F - Flex cor Descrição da Cor do Veículo (Prata, Preto, etc.). 255 Deve ser uma Cor válida. opcionais Descrição dos Opcionais do Veículo (Direção Hidráulica, Ar, 4 Portas, etc.). valor_diaria Valor da Diária do Veículo. Valor 9,2 ,99 valor_aquisicao Preço de Compra do Veículo.

136 Integridade de Domínio
Neste tipo de integridade, as validações ocorrem em cada campo de nossa tabela (ou entidade), como por exemplo se um campo deve aceitar valores Null ou apenas uma faixa de valores, por exemplo:  Temos um campo Sexo, que só deve aceitar valores do tipo M ou F e, independente de nossa aplicação, não deverá aceitar outros valores. Com integridade de domínio, podemos fazer isto facilmente. 

137 Tabela: T02_Clientes Nome Descrição Tipo Tamanho Domínio Formato
Restrições cliente Código que identifica unicamente os dados de um Cliente no Banco de Dados. Inteiro - nome Nome Completo do Cliente. Texto 60 cpf Número do Cadastro de Pessoa Física do Cliente. 11 O CPF deve ser válido endereco Endereço completo do Cliente. Deve incluir o nome da Rua, Número, Complemento, Bairro e CEP. 100 telefone Telefone de Contato do Cliente. Pode ser o Número Residencial, Comercial ou Celular. 20 (99)

138 Tabela: T03_Locacoes Nome Descrição Tipo Tamanho Domínio Formato
Restrições locacao Código que identifica unicamente os dados de uma Locação no Banco de Dados. Inteiro - cliente Código do Cliente que realizou a Locação. T01_Veiculos veiculo Código do Veículo locado. T02_Clientes data_locacao Data e Hora em que o Veículo foi locado pelo Cliente. Data e Hora DD/MM/AAAA HH:MM:SS data_prevista Data e Hora prevista para entrega do Veículo que foi locado pelo Cliente. valor_diaria Valor da Diária do Veículo dependendo dos Opcionais solicitados pelo Cliente. Valor 9,2 ,99 km_inicial Kilometragem do Veículo antes de ser locado ao Cliente. km_final Kilometragem do Veículo depois que o Cliente devolveu o Veículo.

139 Tabela: T04_Manutencoes
Nome Descrição Tipo Tamanho Domínio Formato Restrições veiculo Código do Veículo. Inteiro - T01_Veiculos data_manutencao Data em que foi realizada a manutenção no veículo. Data 10 DD/MM/AAAA km Kilometragem do veículo no momento da manutenção. tipo Sigla do Tipo de Manutenção realizada no veículo. Texto 1 C - Corretiva P - Preventiva pecas_repostas Descrição das peças que foram respostas na manutenção do veículo. 255 servicos_realizados Descrição dos serviços realizados no veículo.

140 Exercício

141 Caso a Modelar Sistema bancário simplificado
Um banco possui nome e código, este é composto de agências que possuem número e endereço. Cada agência possui clientes com nome, cpf, telefone e endereço que podem ter contas do tipo corrente ou especial. A conta deve ter número e saldo; a conta do tipo especial possui limite especial. Cada cliente pode indicar outro cliente ao banco e também adquirir um titulo de capitalização da agência, chamado CAP, que possui diversos valores de investimento, cada um possui um código. Os clientes que adquirirem o CAP ganham um brinde especial e também passam a ter um tratamento diferenciado através de um gerente especial (representado com nome e cpf) que agência possui.

142 Caso a Modelar Sistema bancário simplificado
Um banco possui nome e código, este é composto de agências que possuem número e endereço. Cada agência possui clientes com nome, cpf, telefone e endereço que podem ter contas do tipo corrente ou especial. A conta deve ter número e saldo; a conta do tipo especial possui limite especial. Cada cliente pode indicar outro cliente ao banco e também adquirir um titulo de capitalização da agência, chamado CAP, que possui diversos valores de investimento, cada um possui um código. Os clientes que adquirirem o CAP ganham um brinde especial e também passam a ter um tratamento diferenciado através de um gerente especial (representado com nome e cpf) que agência possui.

143 ´Resolução 1ª identificando Entidades

144 ´Resolução 1ª identificando Entidades

145 ´Resolução 1ª identificando Entidades

146 Graus de Relacionamento
RELACIONAMENTO BINÁRIO Um relacionamento binário é aquele envolve duas ocorrências de entidade. Podemos classificar os relacionamentos binários em: 1:1 (um-para-um): cada ocorrência de uma entidade relaciona-se com uma e somente uma ocorrência da outra entidade. 1:N (um-para-muitos): uma ocorrência da entidade 1 relaciona-se com muitas ocorrências da entidade 2, mas cada ocorrência da entidade 2 somente pode estar relacionada com uma ocorrência da entidade 1. N:N (muitos-para-muitos): em ambos os sentidos encontramos um ou mais relacionamentos de um-para-muitos, isto é, uma ocorrência da entidade 1 relaciona-se com muitas ocorrências da entidade 2 e vice e versa.

147 Resolução 2ª Definindo Relacionamento

148 Resolução 2ª Definindo Relacionamento

149 RELACIONAMENTO TERNÁRIO (N-ÁRIO)
Denominamos ternários os relacionamentos entre três conjuntos de entidades. Relacionamentos com quatro ou mais conjuntos de entidades são chamados de n-ários. Porém, sua utilização não é recomendada devido a sua complexidade. Sugere-se que sejam “quebrados” em relacionamentos binários e/ou ternários.

150 Exemplo o professor x ministra a disciplina y para a turma z. Esta
condição deve ser representada através de um relacionamento ternário.

151 Resolução 2ª Definindo Relacionamento

152 AUTO RELACIONAMENTO Relacionamento entre ocorrências de uma mesma entidade. AUTO RELACIONAMENTO 1:1 O diagrama abaixo representa a seguinte situação: uma ocorrência de pessoa exerce o papel de marido e outra ocorrência de pessoa exerce o papel de esposa.

153 AUTO RELACIONAMENTO 1:N
Abaixo temos representada a seguinte situação: uma ocorrência de funcionário exerce o papel de supervisor e outras ocorrências de funcionário exercem o papel de supervisionado.

154 AUTO RELACIONAMENTO N:N
E, finalmente, temos representada a seguinte situação: algumas ocorrências de produto exercem o papel de composto e outras ocorrências exercem o papel de componente.

155 Caso a Modelar Sistema bancário simplificado
Um banco possui nome e código, este é composto de agências que possuem número e endereço. Cada agência possui clientes com nome, cpf, telefone e endereço que podem ter contas do tipo corrente ou especial. A conta deve ter número e saldo; a conta do tipo especial possui limite especial. Cada cliente pode indicar outro cliente ao banco e também adquirir um titulo de capitalização da agência, chamado CAP, que possui diversos valores de investimento, cada um possui um código. Os clientes que adquirirem o CAP ganham um brinde especial e também passam a ter um tratamento diferenciado através de um gerente especial (representado com nome e cpf) que agência possui.

156 Caso a Modelar Sistema bancário simplificado
Um banco possui nome e código, este é composto de agências que possuem número e endereço. Cada agência possui clientes com nome, cpf, telefone e endereço que podem ter contas do tipo corrente ou especial. A conta deve ter número e saldo; a conta do tipo especial possui limite especial. Cada cliente pode indicar outro cliente ao banco e também adquirir um titulo de capitalização da agência, chamado CAP, que possui diversos valores de investimento, cada um possui um código. Os clientes que adquirirem o CAP ganham um brinde especial e também passam a ter um tratamento diferenciado através de um gerente especial (representado com nome e cpf) que agência possui.

157 Resolução 2ª Definindo Relacionamento

158 Resolução 2ª Definindo Relacionamento

159 GENERALIZAÇÃO/ESPECIALIZAÇÃO, ENTIDADE ASSOCIATIVA
Através deste conceito é possível atribuir propriedades particulares a um subconjunto das ocorrências especializadas de uma entidade genérica. Especialização total: para cada ocorrência da entidade genérica existe sempre uma ocorrência em uma das entidades especializadas.

160 O exemplo abaixo apresenta uma especialização total: os clientes de uma empresa serão apenas pessoas físicas ou jurídicas.

161 Especialização parcial: nem toda ocorrência da entidade genérica possui uma ocorrência correspondente em uma entidade especializada. O exemplo a seguir apresenta uma especialização parcial: os funcionários da empresa poderão ter outras profissões além das apresentadas no diagrama abaixo.

162 MÚLTIPLOS NÍVEIS E HERANÇA MÚLTIPLA
É admissível que uma mesma entidade seja especialização de diversas entidades genérica (herança múltipla). No diagrama abaixo o exemplo de herança múltipla aparece na entidade ANFÍBIO (que herda tanto de TERRESTRE quanto de AQUÁTICO).

163 HERANÇA DE PROPRIEDADES
Herdar propriedades significa que cada ocorrência da entidade especializada possui, além de suas propriedades (atributos, relacionamentos e generalizações/ especializações) também as propriedades da ocorrência da entidade genérica correspondente.

164 GENERALIZAÇÃO/ESPECIALIZAÇÃO EXCLUSIVA
Significa que uma ocorrência de entidade genérica aparece, para cada hierarquia generalização/especialização, no máximo uma vez.

165 GENERALIZAÇÃO/ESPECIALIZAÇÃO NÃO EXCLUSIVA
Neste caso, uma ocorrência da entidade genérica pode aparecer em múltiplas especializações. No exemplo a seguir, considera-se o conjunto de pessoas vinculadas a uma universidade. Neste caso a especialização não é exclusiva, já que a mesma pessoa pode aparecer em múltiplas especializações. Uma pessoa pode ser professor de um curso e ser aluno em outro curso (pós-graduação, por exemplo). Por outro lado, uma pessoa pode acumular o cargo de professor em tempo parcial com o cargo de funcionário, ou, até mesmo, ser professor de tempo parcial em dois departamentos diferentes, sendo portanto duas vezes professor.

166 O principal problema que este tipo de generalização/especialização apresenta é que neste caso as entidades especializadas não podem herdar o identificador da entidade genérica. No caso, o identificador de pessoa não seria suficiente para identificar professor, já que uma pessoa pode ser múltiplas vezes professor.

167 Resolução 2ª Definindo Relacionamento

168 Resolução 2ª Definindo Relacionamento

169 ENTIDADE ASSOCIATIVA Um relacionamento é uma associação entre entidades. Na modelagem Entidade-Relacionamento não foi prevista a possibilidade de associar dois relacionamentos entre si. Uma entidade associativa nada mais é que a redefinição de um relacionamento, que passa a ser tratado como se fosse também uma entidade.

170

171 Atributos Dados que são associados a cada ocorrência de uma entidade ou de um relacionamento

172 Atributo Identificador ou Atributo Determinante
Atributo ou conjunto de atributos e relacionamentos cujos valores distinguem uma ocorrência da entidade das demais.

173 ATRIBUTOS OPCIONAIS Atributos opcionais são aqueles que se aplicam apenas a determinadas ocorrências de uma entidade, e não a outras. Exemplo: FUNCIONÁRIO e os registros profissionais em diferentes entidades de classe: CRM, CREA, OAB, etc. Atributos opcionais muitas vezes indicam subconjuntos da entidade que devem ser modelados através de especialização

174 ATRIBUTOS COMPOSTOS Chamamos que atributos compostos àqueles nos quais o conteúdo é formado por vários itens menores. Exemplo: ENDEREÇO é composto por: nome do logradouro, número, complemento (exemplo: apartamento), bairro, cidade, estado, etc.

175 ATRIBUTOS MULTIVALORADOS
Denominamos atributos multivalorados àqueles nos quais o conteúdo é formado por mais de um valor. Exemplo: FUNCIONÁRIO e DEPENDENTE, este último como atributo. Para atributos multivalorados recomenda-se a solução apresentada na figura a seguir.

176 Caso a Modelar Sistema bancário simplificado
Um banco possui nome e código, este é composto de agências que possuem número e endereço. Cada agência possui clientes com nome, cpf, telefone e endereço que podem ter contas do tipo corrente ou especial. A conta deve ter número e saldo; a conta do tipo especial possui limite especial. Cada cliente pode indicar outro cliente ao banco e também adquirir um titulo de capitalização da agência, chamado CAP, que possui diversos valores de investimento, cada um possui um código. Os clientes que adquirirem o CAP ganham um brinde especial e também passam a ter um tratamento diferenciado através de um gerente especial (representado com nome e cpf) que agência possui.

177 Caso a Modelar Sistema bancário simplificado
Um banco possui nome e código, este é composto de agências que possuem número e endereço. Cada agência possui clientes com nome, cpf, telefone e endereço que podem ter contas do tipo corrente ou especial. A conta deve ter número e saldo; a conta do tipo especial possui limite especial. Cada cliente pode indicar outro cliente ao banco e também adquirir um titulo de capitalização da agência, chamado CAP, que possui diversos valores de investimento, cada um possui um código. Os clientes que adquirirem o CAP ganham um brinde especial e também passam a ter um tratamento diferenciado através de um gerente especial (representado com nome e cpf) que agência possui.

178 Caso a Modelar Sistema bancário simplificado
Um banco possui nome e código, este é composto de agências que possuem número e endereço. Cada agência possui clientes com nome, cpf, telefone e endereço que podem ter contas do tipo corrente ou especial. A conta deve ter número e saldo; a conta do tipo especial possui limite especial. Cada cliente pode indicar outro cliente ao banco e também adquirir um titulo de capitalização da agência, chamado CAP, que possui diversos valores de investimento, cada um possui um código. Os clientes que adquirirem o CAP ganham um brinde especial e também passam a ter um tratamento diferenciado através de um gerente especial (representado com nome e cpf) que agência possui.

179 Caso a Modelar Sistema bancário simplificado
Um banco possui nome e código, este é composto de agências que possuem número e endereço. Cada agência possui clientes com nome, cpf, telefone e endereço que podem ter contas do tipo corrente ou especial. A conta deve ter número e saldo; a conta do tipo especial possui limite especial. Cada cliente pode indicar outro cliente ao banco e também adquirir um titulo de capitalização da agência, chamado CAP, que possui diversos valores de investimento, cada um possui um código. Os clientes que adquirirem o CAP ganham um brinde especial e também passam a ter um tratamento diferenciado através de um gerente especial (representado com nome e cpf) que agência possui.

180 Caso a Modelar Sistema bancário simplificado
Um banco possui nome e código, este é composto de agências que possuem número e endereço. Cada agência possui clientes com nome, cpf, telefone e endereço que podem ter contas do tipo corrente ou especial. A conta deve ter número e saldo; a conta do tipo especial possui limite especial. Cada cliente pode indicar outro cliente ao banco e também adquirir um titulo de capitalização da agência, chamado CAP, que possui diversos valores de investimento, cada um possui um código. Os clientes que adquirirem o CAP ganham um brinde especial e também passam a ter um tratamento diferenciado através de um gerente especial (representado com nome e cpf) que agência possui.

181 Caso a Modelar Sistema bancário simplificado
Um banco possui nome e código, este é composto de agências que possuem número e endereço. Cada agência possui clientes com nome, cpf, telefone e endereço que podem ter contas do tipo corrente ou especial. A conta deve ter número e saldo; a conta do tipo especial possui limite especial. Cada cliente pode indicar outro cliente ao banco e também adquirir um titulo de capitalização da agência, chamado CAP, que possui diversos valores de investimento, cada um possui um código. Os clientes que adquirirem o CAP ganham um brinde especial e também passam a ter um tratamento diferenciado através de um gerente especial (representado com nome e cpf) que agência possui.

182 Caso a Modelar Sistema bancário simplificado
Um banco possui nome e código, este é composto de agências que possuem número e endereço. Cada agência possui clientes com nome, cpf, telefone e endereço que podem ter contas do tipo corrente ou especial. A conta deve ter número e saldo; a conta do tipo especial possui limite especial. Cada cliente pode indicar outro cliente ao banco e também adquirir um titulo de capitalização da agência, chamado CAP, que possui diversos valores de investimento, cada um possui um código. Os clientes que adquirirem o CAP ganham um brinde especial e também passam a ter um tratamento diferenciado através de um gerente especial (representado com nome e cpf) que agência possui.

183

184 Integridade de Dados Impor a integridade de dados garante a qualidade dos dados em um banco de dados. Os dados devem refletir corretamente a realidade representada pelo banco e também devem ser consistente entre si.

185 Integridade de Domínio
Zela pelos valores ideais e necessários para um atributo. Para isso definimos algumas regras de validação por meio de expressões compostas de valores constantes. Exemplos: Não permitir um estoque negativo Impedir uma data de nascimento superior à data atual Não permitir que valor de um produto seja negativo

186 INTEGRIDADE DE ENTIDADE
Tem o objetivo de validar os valores permitidos a partir de valores já inseridos na própria entidade. Após uma “auto-consulta” a entidade vai permitir ou não a gravação do novo registro. Exemplos: · Não permitir duas pessoas com o mesmo CPF · Impedir a locação uma fita que já está locada

187 INTEGRIDADE REFERENCIAL
Zela pela consistência dos registros de uma entidade a partir de valores provenientes de outras entidades, isto é, determinado registro vai “depender” diretamente de um registro de outra tabela. Exemplos: · Um registro em uma tabela pai pode ter um ou mais registros em uma tabela filho. · Um registro em uma tabela filho sempre tem um registro coincidente em uma tabela pai. · Para a inclusão de um registro em uma determinada tabela filho, é necessário que exista um registro pai coincidente. · Um registro pai só poderá ser excluído se não possuir nenhum registro filho.

188 CONSTRAINTS (RESTRICÕES)
Observe a seguir as principais constraints ou restrições utilizadas nos bancos de dados relacionais, principalmente durante o processo de criação das tabelas, para implementar os tipos de integridade anteriormente descritos:

189 CONSTRAINTS (RESTRICOES)
TIPO ARMAZENA PRIMARY KEY Identifica chave primária da tabela FOREIGN KEY Identifica chave estrangeira UNIQUE Indica que os valores na coluna não podem ser repetidos CHECK Especifica os valores que uma coluna pode assumir NOT NULL Indica que o campo não pode receber valores nulos

190 Exercício Caso de uso Efetuar LOCAÇÃO - FLUXO
1. O cliente chega ao balcão com os filmes que deseja locar. 2. O cliente informa seu nome e entrega os filmes ao funcionário. 3. O funcionário registra o nome do cliente e inicia a locação. 4. O funcionário registra cada um dos filmes. 5. o funcionário finaliza a locação, devolve os filmes ao cliente e lhe informa a data de devolução e o valor total da locação. 6. cliente vai embora com os filmes.

191 Observações 1. O cliente não possui cadastro:
a) O cliente informa os dados para cadastro; b) O funcionário registra o cadastro; c) Retorna ao fluxo. 2. O cliente possui pendências no cadastro (ex.: locação não paga): a) O cliente paga o débito; b) O funcionário registra a quitação, elimina a pendência.

192 3. Um filme está reservado para outro cliente:
a) O funcionário informa que o filme não está disponível para locação; b) Volta ao fluxo, não adicionando o filme. 4) Um filme está danificado: a) O funcionário informa que o filme está danificado. b) O funcionário registra o filme como danificado. c) O funcionário verifica se existe outra cópia disponível d) Se existir, substitui senão, retorna ao fluxo não locando o filme.

193 Consultar Stéphany Martins


Carregar ppt "TLBD 1 Técnicas de linguagem de banco de dados 1"

Apresentações semelhantes


Anúncios Google