Baixe o app para aproveitar ainda mais
Prévia do material em texto
27/07/2014 1 Prof.: Kleber Pereira1UCB - Universidade Castelo Branco Banco de dados I Prof.: Kleber Pereira2UCB - Universidade Castelo Branco Banco de dados Conjunto de dados organizados tecnicamente, de maneira a permitir a geração da informação, sua atualização e extração de acordo com a demanda gerencial. a) Agenda telefônica b) Lista de compras Banco de dados 27/07/2014 2 Prof.: Kleber Pereira3UCB - Universidade Castelo Branco Banco de dados Dados Matéria bruta de que é feita a informação. Valores fisicamente registrados no banco de dados. Informação Dado que significa alguma coisa para alguém e é utilizado em algum contexto. Banco de dados Prof.: Kleber Pereira4UCB - Universidade Castelo Branco Sem a utilização de um Banco de dados informatizado Falta de padronização Subordinação de programas a arquivos Redundância dos dados Falta de integridade Segurança inexistente Analista “dono” do sistema Banco de dados 27/07/2014 3 Prof.: Kleber Pereira5UCB - Universidade Castelo Branco Banco de dados informatizado Redução de redundância ou redundância controlada Maior controle sobre a integridade dos dados Maior controle sobre a segurança dos dados Transparência dos dados quanto às aplicações Desenvolvimento mais flexível e produtivo Mantém Integridade dos dados Banco de dados Prof.: Kleber Pereira6UCB - Universidade Castelo Branco Sistema Gerenciador de Banco de Dados Entre o banco de dados físico, isto é, os dados armazenados, e os usuários do sistema, encontra-se o sistema gerenciador de banco de dados. Banco de dados 27/07/2014 4 Prof.: Kleber Pereira7UCB - Universidade Castelo Branco Sistema de Informação A Programas do Sistema Sistema de Informação B Programas do Sistema Banco de dados Prof.: Kleber Pereira8UCB - Universidade Castelo Branco Princípios de um SGBD Garantia de integridade dos dados Segurança de dados: A segurança dos dados está ligada à acessibilidade dos dados. O objetivo é o de garantir o acesso ao banco de dados ou à parte deste apenas por pessoas devidamente autorizadas. Controle de concorrência Acesso identificado (login + senha) Banco de dados 27/07/2014 5 Prof.: Kleber Pereira9UCB - Universidade Castelo Branco Banco de dados Prof.: Kleber Pereira10UCB - Universidade Castelo Branco Considerando uma empresa hipotética que executa três funções: Vendas Concentra as atividades relativas ao contato com clientes (cotação de preços, vendas, disponibilidade de produtos). Produção Concentra atividades relativas à produção (planejamento e controle do que foi produzido). Compras Concentra atividades relativas à aquisição de insumos necessários à produção (cotação de preços junto a fornecedores, compras e acompanhamento do fornecimento. 27/07/2014 6 Prof.: Kleber Pereira11UCB - Universidade Castelo Branco Dados de Produto (estrutura do produto) Para o planejamento da Produção (conhecer seus componentes e como são produzidos) Para Compras (quais componentes devem ser adquiridos) Para Vendas (conhecer dados do produto, como preço, estoque atual, etc.) Banco de dados Banco de dados “não compartilhados” Prof.: Kleber Pereira12UCB - Universidade Castelo Branco Se cada uma das funções for informatizada de forma separada, pode ocorrer que para cada uma das funções, seja criado um arquivo separado de produtos. Sistemas isolados Dados não compartilhados Banco de dados 27/07/2014 7 Prof.: Kleber Pereira13UCB - Universidade Castelo Branco Banco de dados Prof.: Kleber Pereira14UCB - Universidade Castelo Branco Banco de dados 27/07/2014 8 Prof.: Kleber Pereira15UCB - Universidade Castelo Branco Solução: Compartilhamento de Dados Cada informação é armazenada uma única vez, e sendo acessada pelos vários sistemas que dela necessitam. Ao conjunto de arquivos integrados que atendem a um conjunto de sistemas dá-se o nome de Banco de Dados (BD). Banco de dados Prof.: Kleber Pereira16UCB - Universidade Castelo Branco Índices Quando procuramos um assunto num livro, usamos o índice para saber em que página ele se encontra. Nos bancos de dados os índices possuem a mesma função: permite que o dado seja encontrado com grande rapidez. Também fornece uma forma de acesso alternativo que não modifica a posição física no banco quando solicitamos, por exemplo, uma listagem em ordem alfabética. Banco de dados 27/07/2014 9 Prof.: Kleber Pereira17UCB - Universidade Castelo Branco Exemplo de índice, uma listagem em ordem alfabética. Banco de dados Prof.: Kleber Pereira18UCB - Universidade Castelo Branco Índices Um índice pode ser simples (apenas um campo) ou composto(vários campos). São chamados campos de indexação aqueles usados para definir os índices. Os índices não contém dados propriamente ditos, apenas o valor do campo de indexação e “ponteiros” (endereços) que direcionam para o registro adequado dentro da tabela. Banco de dados 27/07/2014 10 Prof.: Kleber Pereira19UCB - Universidade Castelo Branco Ponteiros Banco de dados Prof.: Kleber Pereira20UCB - Universidade Castelo Branco Índices (Exemplo de índice composto) Banco de dados 27/07/2014 11 Prof.: Kleber Pereira21UCB - Universidade Castelo Branco Chave Primária (Primary Key – PK) Identifica unicamente um registro em uma tabela Pode ser formada por uma coluna (chave primária simples) ou por várias colunas (chave primária composta) Existe somente uma para cada tabela Cada registro possui um valor distinto para a chave primária Evita que haja registros duplicados na tabela Banco de dados Prof.: Kleber Pereira22UCB - Universidade Castelo Branco Chave Primária (Duplicação de registros) Banco de dados 27/07/2014 12 Prof.: Kleber Pereira23UCB - Universidade Castelo Branco Chave Primária (Primary Key – PK) Ao escolher os campos que irão definir uma chave primária deve-se considerar o seguinte: Tamanho do campo – campos menores são atualizados mais rapidamente; Em chaves compostas, devemos usar poucos campos. Modificação – o campo chave não deve ser alterado (pelo menos não frequentemente); Preferencialmente usar valores que são calculados pelo próprio sistema de gerenciamento de banco de dados (auto incremento); São de preenchimento obrigatório; Banco de dados Prof.: Kleber Pereira24UCB - Universidade Castelo Branco Chave Primária (Exemplo de chave controlada pelo sistema) Banco de dados 27/07/2014 13 Prof.: Kleber Pereira25UCB - Universidade Castelo Branco Chaves Candidatas São campos que poderiam ser usados como chave primária mas não são. Por exemplo, o campo RG, poderia ser usado para identificar unicamente uma pessoa. Como cada estado brasileiro segue uma numeração, poderia acontecer de aparecer pessoas diferentes com o mesmo número de RG, assim violando a restrição de unicidade da chave. Banco de dados Prof.: Kleber Pereira26UCB - Universidade Castelo Branco Chave Estrangeira (Foreign Key – FK) Permitem criar relacionamento entre tabelas através do uso de chaves primárias Podem existir várias para cada tabela Formada por uma ou mais colunas Banco de dados 27/07/2014 14 Prof.: Kleber Pereira27UCB - Universidade Castelo Branco Chave Estrangeira (Foreign Key – FK) Banco de dados Prof.: Kleber Pereira28UCB - Universidade Castelo Branco Chave Secundária Uma Chave Secundária é uma Chave que tem como propósito otimizar o acesso as Linhas de Tabelas em um BDR, normalmente são implementadas através de Índices num BD. Banco de dados 27/07/2014 15 Prof.: Kleber Pereira29UCB - Universidade Castelo BrancoBanco de dados Prof.: Kleber Pereira30UCB - Universidade Castelo Branco Integridade referencial Estabelece restrições ou bloqueios a algumas operações (alteração e exclusão) nos dados das chaves primárias utilizadas em relacionamentos; Exemplo: alteração do código da categoria. Banco de dados Os produtos ficariam “órfãos”. 27/07/2014 16 Prof.: Kleber Pereira31UCB - Universidade Castelo Branco Banco de dados Prof.: Kleber Pereira32UCB - Universidade Castelo Branco Projeto de Banco de Dados 27/07/2014 17 Prof.: Kleber Pereira33UCB - Universidade Castelo Branco Prof.: Kleber Pereira34UCB - Universidade Castelo Branco Modelo conceitual: É uma descrição de banco de dados de forma independente de implementação num sistema de gerenciamento. Registra QUE dados podem aparecer no banco, mas não registra COMO estes dados estão armazenados no SGBD. É a forma mais natural dos fatos e estão mais próximas da realidade do ambiente do cliente Projeto de Banco de Dados 27/07/2014 18 Prof.: Kleber Pereira35UCB - Universidade Castelo Branco Exemplo de um modelo conceitual textual: 1. Cadastro de Clientes Dados necessários: nome completo, tipo de pessoa (física ou jurídica), endereço, bairro, cidade, estado, telefone, email, nome de contato. 2. Pedido Dados necessários: código do produto, quantidade, código do cliente, código do vendedor. Projeto de Banco de Dados Prof.: Kleber Pereira36UCB - Universidade Castelo Branco Exemplo de modelo conceitual: Projeto de Banco de Dados 27/07/2014 19 Prof.: Kleber Pereira37UCB - Universidade Castelo Branco Entidade: Abstração de um fato do mundo real para o qual se deseja manter seus dados no BD Ex.: Aluno, Carro, Produto, Vendedor, etc. Simbologia: retângulo nomeado Projeto de Banco de Dados Prof.: Kleber Pereira38UCB - Universidade Castelo Branco Relacionamento: No mundo real as entidades nunca estão sozinhas; normalmente estão associadas entre si. � Reconhecer e registrar as associações entre entidades fornece uma descrição muito mais rica do ambiente. Simbologia: losango nomeado Projeto de Banco de Dados 27/07/2014 20 Prof.: Kleber Pereira39UCB - Universidade Castelo Branco Projeto de Banco de Dados Relacionamento: Prof.: Kleber Pereira40UCB - Universidade Castelo Branco Idade Telefones Atributo: é uma propriedade ou característica que descreve uma entidade. Também é chamado de campo. Atributo Monovalorado: possui um valor para cada entidade que caracteriza Atributo Multivalorado: possui mais de um valor para cada entidade que caracteriza Projeto de Banco de Dados 27/07/2014 21 Prof.: Kleber Pereira41UCB - Universidade Castelo Branco Endereço Rua Cidade Estado Tempo_de_casa Atributo Composto: quando o atributo tem vários subcampos Atributo Derivado: quando o valor de um atributo é obtido por meio de valores de outros atributos. Ex: tempo_de_casa pode ser derivado do valor da data_contratação Projeto de Banco de Dados Prof.: Kleber Pereira42UCB - Universidade Castelo Branco Uma empresa de treinamento oferece vários cursos na área de informática Entidades: • Professor • Curso • Aluno 27/07/2014 22 Prof.: Kleber Pereira43UCB - Universidade Castelo Branco Uma biblioteca de uma Universidade empresta seus livros aos alunos Entidades: • Livros • Usuários • Autores • Editoras Prof.: Kleber Pereira44UCB - Universidade Castelo Branco Cardinalidade máxima Quantidade máxima de ocorrências de entidades que podem estar associadas a uma ocorrência de outra entidade (1, x ou N) Projeto de Banco de Dados 27/07/2014 23 Prof.: Kleber Pereira45UCB - Universidade Castelo Branco Cardinalidade 1:1 Cada entidade do conjunto A se relaciona somente com uma entidade do conjunto B, e vice-versa Projeto de Banco de Dados Prof.: Kleber Pereira46UCB - Universidade Castelo Branco Cardinalidade 1:N Cada entidade do conjunto A se relaciona com uma ou mais entidades do conjunto B, e cada entidade de B se relaciona com apenas uma entidade de A Projeto de Banco de Dados 27/07/2014 24 Prof.: Kleber Pereira47UCB - Universidade Castelo Branco Cardinalidade N:N Cada entidade do conjunto A se relaciona com uma ou mais entidades do conjunto B, e vice-versa Projeto de Banco de Dados Prof.: Kleber Pereira48UCB - Universidade Castelo Branco Cardinalidade mínima Indica se a participação das ocorrências de entidades no relacionamento é obrigatória ou opcional Projeto de Banco de Dados 27/07/2014 25 Prof.: Kleber Pereira49UCB - Universidade Castelo Branco Prof.: Kleber Pereira50UCB - Universidade Castelo Branco Uma empresa de treinamento oferece vários cursos na área de informática Um professor pode lecionar em vários cursos. Cada curso é ensinado por um e apenas um professor. Um aluno esta matriculado em um ou em vários cursos. 27/07/2014 26 Prof.: Kleber Pereira51UCB - Universidade Castelo Branco Biblioteca: Livros Usuários Autores Editoras Prof.: Kleber Pereira52UCB - Universidade Castelo Branco Administradora de Imóveis Uma entrevista com o gerente da administradora resultou nas seguintes informações: - A administradora administra condomínios formados por unidades condominiais (lotes); - Cada unidade condominial é de propriedade de uma ou mais pessoas. Uma pessoa pode possuir diversas unidades; - Cada unidade pode estar alugada para no máximo uma pessoa. Uma pessoa pode alugar diversas unidades. Construa o modelo conceitual. 27/07/2014 27 Prof.: Kleber Pereira53UCB - Universidade Castelo Branco Catálogo de CDs: � Quero criar um banco de dados para organizar os meus CDs; � Um CD possui um título e diversas músicas; � Toda música possui um título e uma duração; � Uma música pode ter sido composta por um ou mais compositores; � Uma música pode ser interpretada por um ou mais cantores; � Existem cantores que também são compositores (e vice-versa); Prof.: Kleber Pereira54UCB - Universidade Castelo Branco Indústria ACME � A ACME é uma indústria localizada em uma pequena cidade do interior. Na ACME todo funcionário está lotado em um departamento. Cada departamento faz parte de uma diretoria. Uma diretoria controla diversos departamentos. No cadastro do funcionário estão cadastrados todos os seus dependentes. Como a cidade é pequena, alguns dependentes de funcionários são também funcionários e a ACME precisa registrar esses casos; 27/07/2014 28 Prof.: Kleber Pereira55UCB - Universidade Castelo Branco Construtora Uma desenvolve projetos de grande porte. Esta empresa está organizada em departamentos, sendo que cada projeto é sempre coordenado por um departamento. Os departamentos possuem empregados que podem ser chefes. Embora um empregado pertença sempre a um departamento, ele pode ser alocado a projetos de outros departamentos. . Prof.: Kleber Pereira56UCB - Universidade Castelo Branco Auto Relacionamento Representa uma associação entre ocorrências de uma mesma entidade Exige a identificação de papéis “Um empregado pode ser supervisionado por no máximo 1 empregado. Um empregado pode supervisionar no máximo N empregados.” Projeto de Banco de Dados 27/07/2014 29 Prof.: Kleber Pereira57UCB - Universidade Castelo Branco Projeto de Banco de Dados Prof.: Kleber Pereira58UCB - Universidade Castelo Branco 27/07/2014 30 Prof.: Kleber Pereira59UCB - Universidade Castelo Branco Relacionamento ternário Cada ocorrência do relacionamento DISTRIBUICAO associa três ocorrências de entidade: um produto a ser distribuído, uma cidade na qual é feita a distribuição e um distribuidor. Um produto em uma cidade pode ser entreguepor no máximo 1 distribuidor Projeto de Banco de Dados Prof.: Kleber Pereira60UCB - Universidade Castelo Branco Projeto de Banco de Dados 27/07/2014 31 Prof.: Kleber Pereira61UCB - Universidade Castelo Branco Identificação de Entidades Atributos identificadores distinguem ocorrências de uma entidade umas das outras Garantem o acesso individualizado a uma ocorrência de entidade no BD Projeto de Banco de Dados Prof.: Kleber Pereira62UCB - Universidade Castelo Branco Atributos de relacionamento Projeto de Banco de Dados 27/07/2014 32 Prof.: Kleber Pereira63UCB - Universidade Castelo Branco Atributos de relacionamento Projeto de Banco de Dados Prof.: Kleber Pereira64UCB - Universidade Castelo Branco Restrições do domínio (Restrição de integridade) O modelo ER não é capaz de expressar todas as RIs de um domínio de aplicação Projeto de Banco de Dados Uma documentação em anexo pode ser necessária 27/07/2014 33 Prof.: Kleber Pereira65UCB - Universidade Castelo Branco Restrições do domínio Projeto de Banco de Dados Prof.: Kleber Pereira66UCB - Universidade Castelo Branco Generalização / Especialização Generalização - Definição de uma entidade que é um super conjunto de uma outra entidade Especialização - Definição de uma entidade que é um subconjunto de uma outra entidade Permite evitar a repetição de atributos comuns entre duas ou mais entidades Projeto de Banco de Dados 27/07/2014 34 Prof.: Kleber Pereira67UCB - Universidade Castelo Branco Generalização / Especialização Existem dois tipos de generalização/especialização: Total (representada pela letra T) e Parcial (representada pela letra P): Na Total, para cada ocorrência da entidade genérica existe sempre ocorrência em uma das entidades especializadas; Na Parcial, nem toda ocorrência da entidade genérica corresponde a uma entidade especializada. Projeto de Banco de Dados Prof.: Kleber Pereira68UCB - Universidade Castelo Branco Generalização / especialização (Total) Projeto de Banco de Dados 27/07/2014 35 Prof.: Kleber Pereira69UCB - Universidade Castelo Branco Generalização / especialização (Parcial) Projeto de Banco de Dados Prof.: Kleber Pereira70UCB - Universidade Castelo Branco Biblioteca Uma biblioteca mantém um conjunto de livros, de diversas categorias. Conforme as suas categorias, eles estão dispostos em estantes apropriadas. Um livro tem vários exemplares na biblioteca. São mantidos dados detalhados sobre autores e editoras dos livros para fins de consulta. Na biblioteca trabalham várias bibliotecárias. Cada bibliotecária é responsável por organizar periodicamente sempre o mesmo conjunto de estantes e realizar empréstimos de exemplares para clientes. Empréstimos cadastrados no BD devem conter a data da devolução e o valor diário da multa, permanecendo no BD até o cliente entregar o exemplar. A bibliotecária que realizou o empréstimo também é relevante de ser mantido no BD. Algumas bibliotecárias são estagiárias. Uma bibliotecária estagiária está sempre sob a responsabilidade de uma bibliotecária efetiva. Deve-se saber também a instituição de ensino da qual a estagiária vem. Defina os atributos que julgares relevantes para os fatos identificados. 27/07/2014 36 Prof.: Kleber Pereira71UCB - Universidade Castelo Branco Entidade Associativa É gerada quando informações que necessitam ser armazenadas não podem ser colocadas numa das entidades do relacionamento. Em alguns casos, é necessário que associemos uma entidade com a ocorrência de um relacionamento. O modelo de entidades e relacionamentos não permite relacionamentos entre relacionamentos, somente entre entidades. A ideia da entidade associativa é tratar um relacionamento como se ele fosse uma entidade. Projeto de Banco de Dados Prof.: Kleber Pereira72UCB - Universidade Castelo Branco Se desejarmos controlar os medicamentos receitados pelo médico em determinada consulta, temos que relacionar a entidade medicamento com o fato de ter havido uma consulta (relacionamento consulta). Projeto de Banco de Dados 27/07/2014 37 Prof.: Kleber Pereira73UCB - Universidade Castelo Branco Como não podemos fazer isso diretamente Projeto de Banco de Dados Prof.: Kleber Pereira74UCB - Universidade Castelo Branco Solução: Consulta torna-se uma entidade associativa Projeto de Banco de Dados 27/07/2014 38 Prof.: Kleber Pereira75UCB - Universidade Castelo Branco Empresa ABC Em uma empresa toda secretária é de um departamento, mas nem todo departamento precisa ter um secretária. Toda secretária para desempenhar suas atividades precisa ser alocada em uma mesa. a) Identifique as Entidades neste problema. b) Identifique alguns atributos para cada uma das entidades. c) Identifique os Relacionamentos existente em conjunto com as cardinalidade mínimas e máximas. d) Qual seria a modificação caso uma mesa pudesse ser utilizada por duas secretárias? Prof.: Kleber Pereira76UCB - Universidade Castelo Branco Instituição Bancaria Uma instituição bancaria deseja controlar o movimento de suas conta-corrente. A instituição possui agencias espalhadas por varias cidades, e o seu cadastro contem informações sobre o código, nome, e endereço onde a agencia fica localizada. No cadastro de clientes, deve-se manter informações sobre nome, CPF e endereço de cada cliente. As informações sobre conta-corrente são identificadas por um numero, e devem fornecer o saldo atualizado das mesmas. 27/07/2014 39 Prof.: Kleber Pereira77UCB - Universidade Castelo Branco Loja de informática Uma loja que comercializa artigos de informática resolveu expandir a sua forma de atuação no mercado, e passou a aceitar pedidos de compra por telefone. Os clientes, ao ligarem para a loja para fazerem seus pedidos, são obrigados a fornecer o nome, sobrenome, telefone e endereço completo (rua, numero, complemento, bairro, cidade, estado, CEP). Os pedidos de compra são identificados por um numero de controle, e contem as informações da data em que foi feito o pedido, e a forma de pagamento (cheque, dinheiro ou cartão). Os artigos comercializados na loja possuem um código, nome e preço unitário. Prof.: Kleber Pereira78UCB - Universidade Castelo Branco Consultório Medico Em um consultório médico, um médico realiza várias consultas com vários pacientes e um paciente é consultado por um médico. Com base neste plano de discurso identifique as entidades e o relacionamento entre elas. 27/07/2014 40 Prof.: Kleber Pereira79UCB - Universidade Castelo Branco Consultório Medico Em um consultório médico, um médico realiza várias consultas com vários pacientes e um paciente é consultado por um médico. Com base neste plano de discurso identifique as entidades e o relacionamento entre elas. a) Modifique o modelo anterior sabendo que precisa-se saber do médico o nome, CPF, CRM e do paciente: nome, endereço, CPF, data nascimento. uma ou várias receitas”. Prof.: Kleber Pereira80UCB - Universidade Castelo Branco Consultório Medico Em um consultório médico, um médico realiza várias consultas com vários pacientes e um paciente é consultado por um médico. Com base neste plano de discurso identifique as entidades e o relacionamento entre elas. a) Modifique o modelo anterior sabendo que precisa-se saber do médico o nome, CPF, CRM e do paciente: nome, endereço, CPF, data nascimento b) Qual será a mudança para que um médico possa atender vários pacientes e um paciente seja atendido por vários médicos. 27/07/2014 41 Prof.: Kleber Pereira81UCB - Universidade Castelo Branco Consultório Medico Em um consultório médico, um médico realiza várias consultas com vários pacientes e um paciente é consultado por um médico. Com base neste plano de discurso identifique as entidades e o relacionamentoentre elas. a) Modifique o modelo anterior sabendo que precisa-se saber do médico o nome, CPF, CRM e do paciente: nome, endereço, CPF, data nascimento b) Qual será a mudança para que um médico possa atender vários pacientes e um paciente seja atendido por vários médicos? c) Qual será a mudança para o seguinte plano de discurso: “Um médico possui uma especialidade e uma especialidade é de vários médicos”. Prof.: Kleber Pereira82UCB - Universidade Castelo Branco Consultório Medico Em um consultório médico, um médico realiza várias consultas com vários pacientes e um paciente é consultado por um médico. Com base neste plano de discurso identifique as entidades e o relacionamento entre elas. a) Modifique o modelo anterior sabendo que precisa-se saber do médico o nome, CPF, CRM e do paciente: nome, endereço, CPF, data nascimento b) Qual será a mudança para que um médico possa atender vários pacientes e um paciente seja atendido por vários médicos? c) Qual será a mudança para o seguinte plano de discurso: “Um médico possui uma especialidade e uma especialidade é de vários médicos”. d) Acrescente o seguinte discurso ao problema: “Um médico realiza várias consultas em um paciente e um paciente é consultado por vários médicos, desde que seja em uma data e hora marcados, e possua um valor a ser pago. Uma consulta pode gerar uma ou várias receitas”. 27/07/2014 42 Prof.: Kleber Pereira83UCB - Universidade Castelo Branco Empresa de alocação de mão de obra Uma empresa de agenciamento de mão de obra pretende informatizar o cadastro de profissionais, candidatos a empregos temporários. Pretende-se construir um banco de dados onde se possa manter os dados cadastrais dos profissionais, e seus contratos temporários com as empresas-clientes. O profissional é identificado por um numero de controle e, alem desta identificação, ficam registrados seu nome, endereço, data de nascimento e profissão. Os contratos de mão de obra temporário são feitos individualmente (um contrato para cada profissional), com as empresas-clientes. Cada contrato é identificado por um numero único, e nele são registrados a empresa contratante, a vigência dos contrato (data de inicio e de termino), e o valor pago por hora trabalhada. As empresas-clientes são identificadas pelo CNPJ, e possuem um nome e endereço. Prof.: Kleber Pereira84UCB - Universidade Castelo Branco Censo Um instituto de opinião publica vai realizar uma pesquisa em todos os estados da região sul do Brasil, para levantar dados socioeconômicos sobre os domicílios e as pessoas que neles residem. Para isso, o instituto contratou cerca de 5.000 entrevistadores, que percorrerão os 150 municípios escolhidos para a coleta. Os domicílios são classificados, de acordo com sua finalidade, em particulares (aqueles cuja finalidade é a moradia de pessoas), e em coletivos (hotéis e quartéis). Todo domicilio entrevistado possui um código, e deve ter guardado as informações de sua localização . Nos domicílios particulares, são pesquisados o numero de televisões e rádios existentes. Nos domicílios coletivos, são levantadas as informações de idade, sexo e grau de instrução. 27/07/2014 43 Prof.: Kleber Pereira85UCB - Universidade Castelo Branco Clínica Em uma clínica trabalham médicos e existem pacientes internados. Cada médico é identificado pelo seu CRM, possui um nome e recebe um salário na clínica. 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: 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), porém vários outros médicos podem participar do seu tratamento. Pacientes estão sempre internados em quartos individuais, que são identificados por um número e ficam em um andar da clínica. Prof.: Kleber Pereira86UCB - Universidade Castelo Branco 27/07/2014 44 Prof.: Kleber Pereira87UCB - Universidade Castelo Branco Modelo lógico: No modelo lógico os objetos, suas características e relacionamentos têm a representação fiel ao ambiente observado, independente de quaisquer limitações impostas por tecnologias, técnicas de implementação ou dispositivos físicos. Projeto de Banco de Dados Prof.: Kleber Pereira88UCB - Universidade Castelo Branco Projeto de Banco de Dados Mapeamento de entidade 27/07/2014 45 Prof.: Kleber Pereira89UCB - Universidade Castelo Branco Projeto de Banco de Dados Mapeamento de atributos Prof.: Kleber Pereira90UCB - Universidade Castelo Branco Projeto de Banco de Dados Mapeamento de atributos 27/07/2014 46 Prof.: Kleber Pereira91UCB - Universidade Castelo Branco Mapeamento de especialização (Opção 1) Projeto de Banco de Dados Prof.: Kleber Pereira92UCB - Universidade Castelo Branco Mapeamento de especialização (Opção 2) Projeto de Banco de Dados 27/07/2014 47 Prof.: Kleber Pereira93UCB - Universidade Castelo Branco Mapeamento de especialização (Opção 3) Projeto de Banco de Dados Prof.: Kleber Pereira94UCB - Universidade Castelo Branco Mapeamento de relacionamento (1:1) Projeto de Banco de Dados 27/07/2014 48 Prof.: Kleber Pereira95UCB - Universidade Castelo Branco Mapeamento de relacionamento (1:1) Projeto de Banco de Dados Prof.: Kleber Pereira96UCB - Universidade Castelo Branco Mapeamento de relacionamento (1:1) Projeto de Banco de Dados 27/07/2014 49 Prof.: Kleber Pereira97UCB - Universidade Castelo Branco Mapeamento de relacionamento (1:1) Projeto de Banco de Dados Prof.: Kleber Pereira98UCB - Universidade Castelo Branco Mapeamento de relacionamento (1:N) Projeto de Banco de Dados 27/07/2014 50 Prof.: Kleber Pereira99UCB - Universidade Castelo Branco Mapeamento de relacionamento (1:N) Projeto de Banco de Dados Prof.: Kleber Pereira100UCB - Universidade Castelo Branco Mapeamento de relacionamento (N:N) Projeto de Banco de Dados 27/07/2014 51 Prof.: Kleber Pereira101UCB - Universidade Castelo Branco Prof.: Kleber Pereira102UCB - Universidade Castelo Branco Mapeamento de entidade fraca Chave estrangeira na tabela Fraca Projeto de Banco de Dados 27/07/2014 52 Prof.: Kleber Pereira103UCB - Universidade Castelo Branco Mapeamento de auto-relacionamento Projeto de Banco de Dados Prof.: Kleber Pereira104UCB - Universidade Castelo Branco Mapeamento com entidade associativa Projeto de Banco de Dados Cliente (id_cliente, nome) Vendedor (id_vendedor, preço) Envia (numero, qtde, data, id_cliente, id_vendedor) 27/07/2014 53 Prof.: Kleber Pereira105UCB - Universidade Castelo Branco Mapeamento com entidade associativa Projeto de Banco de Dados Cliente (cpf, rg) Conta (num_conta) CartaoMagnetico (num_cartao, dt_exp) Vinculo (id_vinculo, cpf, num_conta, num_cartao) Prof.: Kleber Pereira106UCB - Universidade Castelo Branco 27/07/2014 54 Prof.: Kleber Pereira107UCB - Universidade Castelo Branco
Compartilhar