Post on 14-Jul-2015
19/1/2012
Ps Graduao em Banco de Dados para Mercado Corporativo Oracle
Entregar a descrio do sistema e o modelo conceitual do projeto de banco de dados
Aline Clairefont
Seis fases principais Levantamento e anlise de requisitos Projeto conceitual do banco de dados Escolha de um modelo de SGBD ou de um SGBD
especfico Projeto lgico de banco de dados Projeto fsico do banco de dados Implementao e tuning do sistema de banco de dados
Realizado atravs de entrevistas com o usurio, reunies, coleta de documentos, observao Diversas tcnicas podem ser aplicadas durante este levantamento como casos de uso, prototipao, etnografia, anlise de tarefas, levantamento orientado a ponto de vista
1
19/1/2012
Processo de levantamento
Normalmente o Administrador de Dados faz a anlise a partir da descrio dos casos de uso especificados pela Equipe de Requisitos Porm em alguns casos pode interagir diretamente com o usurio final e recuperar informaes para o modelo de dados a partir de entrevistas, reunies e documentos fornecidos pelo usurio Fontes de informaoInsumo para Administrador de Dados
Requisitos Relatrios
A presena de um substantivo usualmente indica uma entidade . A presena de um verbo uma forte indicao de um relacionamento Um adjetivo , que uma qualidade, uma forte indicao de um atributo Um advrbio temporal, qualificando o verbo, uma indicao de um atributo do relacionamento
Caso de Uso: UC09 - Criar usurio. Objetivo: Cadastra um novo usurio no sistema e define suas permisses de acesso. Atores: Administrador do mdulo de usurios. Pr-requisitos: N/A. Cenrio Principal
O sistema exibe um formulrio com os seguintes campos para
preenchimento:
Nome completo do novo usurio*, Identificao (login)*, Senha inicial*, Confirmao da senha inicial*, e-mail*, Telefone residencial, Telefone celular, Endereo (Tipo de logradouro, Nome do logradouro, Nmero, Complemento, Bairro, Cidade, CEP, UF)
O administrador insere os dados do novo usurio O sistema verifica se os dados obrigatrios foram inseridos O sistema verifica os usurios cadastrados no sistema e confirma que
se trata de um usurio novo
O sistema apresenta uma lista de seleo contendo os grupos de
usurios (permisses) disponveis para vincular o novo usurio
2
19/1/2012
O sistema grava os dados do usurio, adiciona o status Inativo e
exibe a mensagem Incluso efetuada com sucesso. Deseja cadastrar outro usurio? O sistema apresenta as seguintes opes Cadastrar novo usurio retorna ao passo 1; Retornar ao menu Gerenciar usurio finaliza o caso de uso; Retornar ao menu Administrao de mdulos finaliza o caso de uso; Efetuar logoff finaliza o caso de uso.
Caso de Uso UC09 - Criar usurioSenha Nome Email Telefone Celular Usurio Endereco Tipo Logradouro Numero Complemento Bairro participa CEP Cidade UF Grupo de Usuario
Cenrios Alternativos
Login
3.a. O sistema verifica que os campos obrigatrios no foram
devidamente preenchidos e destaca os mesmos exibindo a mensagem Campo(s) de preenchimento obrigatrio. Retorna ao passo 2. 4.a. O sistema identifica que j existe um usurio cadastrado com o mesmo username e exibe a mensagem Usurio j cadastrado com as seguintes opes: 4.a.1. Editar este usurio (o sistema redireciona para Edio de usurios); 3.a.2. Excluir este usurio (o sistema redireciona para Excluso de usurios); 3.a.3. Cadastrar um novo usurio Retorna ao passo 1;
Entrega Data Entrega Data Compra Codigo Valor Unitario Compra Codigo Nome faz Cliente possui Nome Codigo Item Item Compra Quantidade Desconto Total Tipo Pagamento Total
3
19/1/2012
Seis fases principais Levantamento e anlise de requisitos Projeto conceitual do banco de dados Escolha de um modelo de SGBD ou de um SGBD
Caractersticas Descrio do banco de dados de forma
especfico Projeto lgico de banco de dados Projeto fsico do banco de dados Implementao e tuning do sistema de banco de dados
independente de implementao em um SGBD Mais utilizado em modelagem de banco de dados complexos, tais como os geogrficos
Abordagem entidade-relacionamento (ER) Desenvolvido originalmente por Peter Chen A notao original sofreu simplificaes
A notao original pouco utilizada
Baseado em uma percepo do mundo real Coleo de objetos bsicos (entidades) e suas relaes Importante ferramenta para modelar o banco de dados a partir da anlise de requisitos
Uma entidade um objeto que existe e distinguvel de outros objetos pessoas, livros, carros => concreto empresas, eventos, embarques => abstrato
Entidades so representadas por atributos pessoas tm nomes e endereos
Atributos identificadores (chave) identificam de maneira nica uma entidade cpf
4
19/1/2012
Propriedade da entidade Possui um domnio, ou conjunto de valores Atributos podem ser simples e compostos (endereo) de valor nico e de valores mltiplos, tambm
Um relacionamento uma associao entre vrias entidades Pessoa trabalha para Empresa
A funo desempenhada por uma entidade em um relacionamento o papel da entidade Maior visibilidade em relacionamentos onde a
chamados de multivalorados (numeros_telefone) derivados, que podem ser calculados a partir de outros atributos (idade a partir da data de nascimento
mesma entidade participa mais de uma vez do relacionamento
Um relacionamento tambm pode ter atributos descritivos
Cardinalidade Nmero mximo de instncias
Cardinalidade mxima Nmero mximo de instncias da entidade ao
Participao Nmero mnimo de instncias
qual outra pode estar associada por um relacionamento um-para-um um-para-muitos muitos-para-muitos
Chaves Atributos identificadores
5
19/1/2012
Cardinalidade mnima Nmero mnimo de instncias da entidade ao qual
Total => Associao Obrigatria Se todas as entidades participam do relacionamento 1 - no mnimo uma instncia de entidade a partir de
outra pode estar associada
Parcial => Associao Opcional Se apenas algumas entidades participam do
cada lado do relacionamento relacionamento
0 - zero nenhuma instncia de uma das entidades
Os valores dos atributos de uma entidade devem identificar a entidade. Nenhuma entidade pode ter o mesmo valor de outra entidade para todos os atributos Uma chave permite identificar o conjunto de atributos que so suficientes para distinguir uma entidade da outra, ou um relacionamento do outro
participa do relacionamento
Superchave Qualquer combinao de atributos que identifica uma
Entidade Forte Possui chave primria
entidade
Chave candidata Menor combinao de atributos que identifica um
Entidade Fraca No tem atributos suficientes para formar uma chave
primria Depende de uma entidade identificador (forte) ou
entidade Pode ser uma Chave primaria Escolhida para identificar a entidade Valores dos atributos nunca ou raramente mudam
proprietrio Depende da existncia de um relacionamento
identificador Discriminador ou chave parcial s faz sentido em
Para identificar relacionamentos so as chaves
primarias das entidades envolvidas
conjunto com a chave primria do identificador
6
19/1/2012
Notao Original
Retngulos representam entidades Elipses representam atributos Losangos representam relacionamentos Elipses duplas representam atributos multivalorados Elipses tracejadas representam atributos derivados Retngulos duplos representam entidades fracas Linhas relacionam atributos a entidades; e entidades a relacionamentos Linhas duplas representam participao total de uma entidade em um relacionamento Linhas com setas representam cardinalidade 1 (Um)
Ser migrado para qualquer uma das entidades participantes
Funes gerentee funcionrio especificam como as entidades de funcionrio
interagem atravs do conjunto de relacionamento trabalha_para
Apenas 1 Gerente
7
19/1/2012
Durante a derivao para modelo lgico ser substitudo por uma entidade associativa
Um cliente est associado, no mximo, a um emprstimo atravs do relacionamento tomador Um emprstimo est associado, no mximo, a um cliente atravs de tomador
Um emprstimo est associado, no mximo, a um cliente atravs de tomador Um cliente est associado a vrios (inclusive 0) emprstimos atravs de tomador
0..1 0..1
0..1
0..n
8
19/1/2012
Um emprstimo est associado a vrios (inclusive 0) clientes atravs de tomador Um cliente est associado a vrios (inclusive 0) emprstimos atravs de tomador
A participao de emprstimo em tomador total => cada emprstimo precisa ter um cliente associado atravs de tomador A participao de cliente em tomador parcial => um cliente pode no ter emprstimo
0..n 0..nOu =>
Chave primria de Cliente => Id_Cliente Chave primria de Conta => Numero_Conta
Pagamento no existe sem um Emprstimo Total, pois precisa de pelo menos 1 emprstimo
1
0..n
9
19/1/2012
Dependncia Existencial0..1 1..n
Durante a derivao para o modelo lgico a entidade associativa Pedido receber a chave de Fornecedor e de Produto
Entidade Fraca0..1 1..n
Grande parte dos bancos de dados podem ser modelados com os conceitos bsicos do DER. No entanto, algumas extenses permitem refinamentos que podem ser muito teis Modelo Entidade-Relacionamento Estendido Especializao/Generalizao Herana de atributos
Agregao
O processo de designar sub-agrupamentos dentro de um conjunto de entidades Pode ser identificada do nvel mais acima para os nveis inferiores (Especializao) por propriedades adicionais Pode ser identificada nos nveis inferiores para o nvel superior (Generalizao) por propriedades comuns Um subtipo pode participar de relacionamentos que no se aplicam as entidades dos nveis superiores
10
19/1/2012
Conjunto de entidades de nvel superior com atributos e relacionamentos que se aplica a todos os seus conjuntos de entidades de nvel inferior Conjuntos de entidades de nvel inferior com recursos distintivos que se aplicam apenas dentro de um determinado conjunto de entidades de nvel inferior
Notao Original: triangulo nomeado ISA (is a) Se alguns empregados so programadores, e todos os programadores so empregados, ento, podemos dizer que programador um subtipo de empregadoEmpregadoisa
Programador
Analista
Restries De insero Definida por atributo (tipo = conta corrente)
Constraint de participao ou disjuno Disjunta Somente pertence a uma das entidades inferiores Notao: d (disjoint) ao lado do triangulo is-a
De participao ou disjuno Disjunta Superposta
Superposta Participa de mais de um tipo de entidade; pode ser em perodos diferentes ou quando h troca de papeis) Notao: o (overlap) ao lado do triangulo is-a
De integralidade ou completude Total Parcial
11
19/1/2012
Constraint de integralidade/completude Parcial (default) A entidade superior pode ou no participar das entidades inferiores Notao: linha simples ou P
ESPECIALIZAO SUPERPOSTA PARCIAL DE FUNCIONRIO
GENERALIZAO DISJUNTA TOTAL DE CONTA
Total A entidade superior obrigatoriamente pertence a uma das entidades inferiores Notao: linha dupla ou T
Exclusiva / Disjunta
No Exclusiva / Superposta
P (parcial) T (total) d (disjoint)
o (overlap)
12
19/1/2012
Herana Mltipla
Abstrao atravs da qual relacionamentos so tratados como entidades de nvel mais alto.
13
19/1/2012
A entidade Sesso se relaciona com a agregao de Cinema com Filme (exibe)
A presena de um substantivo usualmente indica uma entidade . A presena de um verbo uma forte indicao de um relacionamento Um adjetivo , que uma qualidade, uma forte indicao de um atributo Um advrbio temporal, qualificando o verbo, uma indicao de um atributo do relacionamento
Faa o modelo conceitual para o caso de uso Fazer Pedido http://www.dimap.ufrn.br/~jair/ES/exemplos/casosdeuso.html
Descrio do Caso de Uso O caso de uso comea quando o cliente seleciona "fazer pedido". O cliente fornece seu nome e endereo. Se o cliente fornece apenas o CEP, o sistema coloca automaticamente o a cidade e o estado. O cliente fornece os cdigos do produto. O sistema devolve as descries e o preo de cada produto. O sistema calcular os valores totais para cada produto fornecido. O cliente fornece as informaes sobre carto de crdito. Em seguida, ele submete os dados ao sistema. O sistema verifica as informaes fornecidas, marca o pedido como "pendente" e envia as informaes de pagamento para o sistema de contabilidade e pagamento. Quando o pagamento confirmado, o pedido marcado como "confirmado" e o nmero de pedido (NP) dado ao cliente. Especificao do Caso de Uso em http://www.dimap.ufrn.br/~jair/ES/exemplos/fazerpedido/Fazerpedido2.html
14
19/1/2012
Pedido / Orcamento Cliente Valor Pagamento Pedido Item Pedido
Cliente
Empresa
Em um hospital, um paciente pode realizar consultas com vrios mdicos. Cada consulta pode ter vrios exames realizados. Devem ser armazenados os dados da consulta (data, horrio e motivo) e os dados dos exames (descrio e resultado).
Em uma entrevista com o gerente de uma Administradora de Imveis foram coletadas as seguintes informaes: A administradora administra condomnios formados por unidades condominiais (lotes); Cada lote pode pertencer a uma ou mais pessoas. Uma pessoa pode ter diversos lotes; Cada lote pode estar alugado para no mximo uma pessoa. Uma pessoa pode alugar diversos lotes.
15
19/1/2012
Em uma seguradora de automveis, um cliente tem pelo menos um carro e um carro pertence a um nico cliente. Cada carro possui um nmero de acidentes associados a ele, devendo ser armazenados a data, o local e uma descrio do acidente. O acidente pode ser com vtima ou sem vtima. Se for com vtima, devem ser armazenados um histrico (contendo os nomes das vtimas e o tipo de leso sofrida) e o valor gasto com indenizao das vtimas. Se for sem vtima deve ser armazenado o valor gasto com danos materiais
Uma instituio bancria deseja controlar o movimento de suas contas correntes. A Instituio possui agncias espalhadas por vrias cidades, e o seu cadastro contm informaes sobre o cdigo, nome, e endereo onde a agncia fica localizada. No cadastro de clientes, deve-se manter informaes sobre nome, CPF e endereo de cada cliente. As informaes sobre contas-corrente so identificadas por um nmero, e devem fornecer o saldo atualizado das mesmas.
Uma empresa de agenciamento de mo-de-obra pretende informatizar o cadastro de profissionais, candidatos a empregos temporrios. Pretende-se construir um banco de dados onde se possa manter os dados cadastrais dos profissionais, e seus contratos temporrios com as empresas-clientes. O profissional identificado por um nmero de controle e, alm desta identificao, ficam registrados seu nome, endereo, data de nascimento e profisso. Os contratos de mo-de-obra temporria so feitos individualmente (um contrato para cada profissional), com as empresas-clientes. Cada contrato identificado por um nmero nico, e nele so registrados a empresa contratante, a vigncia do contrato (data de incio e de trmino), e o valor pago por hora trabalhada. As empresas-clientes so identificadas pelo CGC, e possuem um nome e endereo.
Um clube de danas ensina danas de salo, tanto individualmente como em grupo. Este clube emprega dois tipos de instrutores: professores assalariados de tempo integral, e professores de tempo parcial. Os instrutores de tempo integral recebem semanalmente uma quantia fixa, e os de tempo parcial so pagos por uma noite ou por aula individual dada. O gerente deste clube gostaria de adquirir um sistema de informaes, para controlar os estudantes e as aulas que eles freqentam. Este gerente tambm gostaria de saber quantas e quais tipos de aulas cada professor ministrou.
16
19/1/2012
Um instituto de opinio pblica vai realizar uma pesquisa em todos os estados da regio sul do Brasil, para levantar dados socioeconmicos sobre os domiclios e as pessoas que neles residem. Para isso, o instituto contratou cerca de 5.000 entrevistadores, que percorrero os 150 municpios escolhidos para a coleta. Os domiclios so classificados, de acordo com sua finalidade, em particulares (aqueles cuja finalidade a moradia de pessoas), e em coletivos (hotis e quartis). Todos domiclio entrevistado possui um cdigo, e devem ter guardadas as informaes de sua localizao (rua, bairro, cidade e estado). Nos domiclios particulares, so pesquisados o nmero de televises e rdios existentes. Nos domiclios coletivos, so levantadas as informaes de idade, sexo e grau de instruo
Uma clnica veterinria, especializada no tratamento de ces e gatos, pretende informatizar o seu sistema de controle de vacinas, de forma a melhorar a notificao aos clientes sobre a data e o tipo de vacina a ser aplicada em qualquer um dos animais cadastrados na clnica. Os clientes, quando so cadastrados na clnica, so identificados por um cdigo numrico, e devem fornecer o nome, sobrenome, telefone e endereo completo (rua, nmero, complemento, bairro, cidade, estado, CEP). Para cada animal, que tambm identificado por um cdigo numrico, so registrados o nome, data de nascimento, espcie, raa, cor e sexo. As vacinas, por sua vez, tambm so identificadas por um cdigo numrico, e possuem nome, nome do laboratrio fabricante, e lote de fabricao. Quando o animal vacinado, deve ser feito o registro da data de aplicao, o cdigo da prxima vacina a ser tomada, e a respectiva data.
Uma loja que comercializa artigos de informtica resolveu expandir a sua forma de atuao no mercado, e passou a aceitar pedidos de compra por telefone. Os clientes, ao ligarem para a loja para fazerem seus pedidos, so obrigados a fornecer o nome, sobrenome, telefone e endereo completo (rua, nmero, complemento, bairro, cidade, estado, CEP). Os pedidos de compra so identificados por um nmero de controle, e contm as informaes da data em que foi feito o pedido, e a forma de pagamento (cheque, dinheiro, ou carto). Os artigos comercializados na loja possuem um cdigo, nome e preo unitrio.
Em uma biblioteca h vrios tipos de materiais (livros, revistas e audiovisual). Para os livros so armazenados o autor e a editora; as revistas tm nmero, volume e data; os materiais audiovisuais tm o nome do diretor e o tempo de durao. Um cliente pode retirar vrios materiais e um material pode ser retirado por vrios clientes. Para toda retirada devem ser armazenadas a data de retirada e a data de devoluo. Os materiais devolvidos com atraso tm uma multa. Sobre a multa, devem ser armazenados a quantidade de dias e o valor.
17
19/1/2012
Dinmica de Grupo 6 participantes Vrias empresas possuem frotas de veculos que
so identificados atravs de uma placa (XYZ1234). So registrados tambm os fabricantes e modelos de cada veculo. Os funcionrios so identificados atravs do nmero de matrcula. So mantidos registros do nome e CPF de cada funcionrio. Criar o DER (Diagrama Entidade Relacionamento) para cada um dos casos descritos a seguir
Empresa A: Cada veculo (sem exceo) dirigido por um apenas funcionrio. Todos os veculos esto alocados aos funcionrios. Cada funcionrio pode utilizar apenas um veculo e todos os funcionrios tm veculos pertencentes frota da empresa Empresa B: Cada veculo (sem exceo) dirigido por um apenas funcionrio. Todos os veculos esto alocados aos funcionrios. Cada funcionrio pode utilizar apenas um veculo, porm alguns funcionrios no tm veculos pertencentes frota da empresa.
Empresa C: Cada veculo pode ser dirigido por um ou mais funcionrios. Todos os veculos esto alocados aos funcionrios. Alguns funcionrios podem utilizar mais um veculo e todos os funcionrios tm veculos pertencentes frota da empresa Empresa D: Cada veculo (sem exceo) dirigido por um apenas funcionrio. Todos os veculos esto alocados aos funcionrios. Alguns funcionrios podem utilizar mais de um veculo, porm alguns funcionrios no tm veculos pertencentes frota da empresa
Empresa E: Cada veculo pode ser dirigido por um ou mais funcionrios. Todos os veculos esto alocados aos funcionrios. Cada funcionrio pode utilizar apenas um veculo e todos os funcionrios tm veculos pertencentes frota da empresa. Empresa F: Alguns veculos podem ser dirigidos por mais de um funcionrio. Porm, outros veculos no podem ser alocados aos funcionrios. Cada funcionrio pode utilizar apenas um veculo, porm alguns funcionrios no tm veculos pertencentes frota da empresa
18
19/1/2012
Construa um diagrama de classes com as seguintes caractersticas: Um atributo multivalorado Uma associao 1:1 Uma associao 1:N Uma associao N:N Uma generalizao/especializao Uma agregao
Entregar a descrio do sistema e o modelo conceitual do projeto de banco de dados
19