Baixe o app para aproveitar ainda mais
Prévia do material em texto
Banco de Dados Escola Técnica Jurandir Bezerra Lins AULA 02 Banco de Dados • Colocar em prática o conteúdo necessário para o desenvolvimento da disciplina. • Revisar alguns conceitos já ministrados. Objetivo da aula 2 Banco de Dados REVISÃO GERAL • PLANEJAMENTO DE BD • MINI-MUNDO • MODELAGEM DE DADOS – MODELO CONCEITUAL – MODELO LÓGICO – MODELO FÍSICO Agenda 3 Banco de Dados Planejamento do banco de dados Antes de criar um banco de dados é necessário realizar um estudo sobre quais os dados que você precisará armazenar para obter as informações adequadas, ou seja, que lhe serão úteis, e também seus respectivos tipos. O planejamento é primordial para que se garanta que dados não faltarão ou serão repetidos, que as tabelas e campos que armazenarão os dados sejam definidos corretamente, entre outros. 4 Banco de Dados O minimundo Todo banco de dados e criado através o chamado “mini- mundo” que nada mais é do que a analise lógica do negócio no qual o banco de dados deve atuar. 5 Banco de Dados Minimundo hotel 7 Colinas Clientes podem fazer reservas por telefone, internet ou pessoalmente. Assim que chegam para se hospedar devemos confirmar o chekin do cliente e cadastrar o quarto como ocupado informando a provável data de desocupação, existem 3 tipos de quartos diferentes, os clientes podem fazer pedidos a cozinha do hotel e comprar serviços de turismo na cidade direto na recepção , tudo será somado no momento do checkout do cliente. 6 Banco de Dados Modelagem de dados Modelagem de dados é a maneira de organizar os dados, estruturando corretamente todos os objetos (tabelas, consultas, relatórios etc.) que serão utilizados, garantindo: • Extração correta das informações ; • Ganho de produtividade durante o desenvolvimento da aplicação ; • Consultas e relatórios executados mais rapidamente ; • Manutenção mais simples e de menor custo . 7 Banco de Dados Modelagem de dados A modelagem é composta pelas seguintes etapas: • Definição da finalidade do banco de dados Nesta etapa, deverão ser listadas todas as informações necessárias para a confecção do banco de dados. Todas as pessoas que utilizarão o banco de dados deverão ser consultadas. É interessante reunir todos os formulários, planilhas e demais documentos que são utilizados atualmente para registrar as informações que serão obtidas através do banco de dados. 8 Banco de Dados Modelagem de dados • Definição das tabelas e respectivos campos Para definir que tabelas deverão ser criadas, reúna todos os tipos de informações de que você necessitará e divida os itens em tópicos principais, como Clientes, Contas a Receber, Pedidos. Cada tópico torna-se uma tabela. É importante esboçar a estrutura de cada tabela com os devidos campos, ainda que no papel. Dessa forma, poderão ser visualizadas informações em duplicidade, lembrando que as informações deverão constar de apenas uma tabela. Por exemplo, a tabela Clientes pode incluir campos como nome, sobrenome, email, telefone de contato etc., informações essas que não precisam constar da planilha Pedidos. 9 Banco de Dados Modelagem de dados • Identificação dos campos de chave primária Chamamos de chave primária um campo que contém um valor exclusivo e que servirá de ligação entre tabelas. • Identificação dos campos de chave estrangeira Chamamos de chave estrangeira os campos da tabelas que identificam o relacionamento entre duas tabelas. A chave estrangeira faz referencia a chave primaria, tendo o mesmo valor e o mesmo tipo que ela. 10 Banco de Dados Modelagem de dados • Definição dos relacionamentos entre as tabelas É importante observar cada uma das tabelas que se tiver em mãos para definir como os dados deverão relacionar-se entre elas. Por exemplo, as tabelas Clientes e Pedidos poderão ser relacionadas pelo campo chave CPF/CNPJ, pois seu conteúdo nunca será o mesmo para dois clientes. Dessa forma, temos a garantia de emitir uma nota fiscal (relatório) com os dados corretos, mesmo com cada campo pertencendo a uma das tabelas. 11 Banco de Dados Modelagem de dados • Revisão da estrutura das tabelas Após a criação das tabelas verificar se: Há informações duplicadas (dados redundantes) que consomem espaço e aumentam a possibilidade de erro. Há colunas desnecessárias. Todos os itens de informações foram quebrados em partes úteis menores, por exemplo, uma coluna para Nome e outra para Sobrenome. Os campos estão relacionados com a tabela. Quando um campo não contém informações sobre o tópico da tabela é porque pertence a uma tabela diferente. 12 Banco de Dados Para construir um modelo de dados, usa-se uma linguagem de modelagem de dados. Podemos definir a modelagem em três modelos: • Modelo conceitual : representa as regras de negócio sem limitações tecnológicas ou de implementação por isto é a etapa mais adequada para o envolvimento do usuário que não precisa ter conhecimentos técnicos; • Modelo lógico: leva em conta limites impostos por algum tipo de tecnologia de banco de dados; • Modelo físico: leva em consideração limite impostos pelo SGBD e pelos requisitos não funcionais dos programas (MACORATTI, 2008). Modelagem de dados 13 Banco de Dados Modelo Conceitual É uma descrição de banco de dados de forma independente de implementação num sistema de gerenciamento. Este Modelo registra QUE dados podem aparecer no banco, mas não registra COMO estes dados estão armazenados no SGBD. Ele não informa QUAIS dados estão armazenados, apenas que tipo de dado contém. 14 Banco de Dados O modelo Conceitual pode ser representado em uma linguagem textual dos dados a serem utilizados. Exemplo de um modelo conceitual textual: Cadastro de Clientes Dados necessários: nome completo, tipo de pessoa (física ou jurídica), endereço, bairro, cidade, estado, telefone e e-mail. Modelo Conceitual 15 Banco de Dados Modelo Entidade Relacionamento A técnica de modelagem mais difundida é a abordagem entidade- relacionamento (ER). Nesta técnica, um modelo conceitual é usualmente representado através de um diagrama, chamado diagrama entidade- relacionamento (DER). 16 Banco de Dados Modelo Entidade Relacionamento Exemplo de um MER: 17 Banco de Dados Modelo Entidade- Relacionamento (MER) • Entidade – Objeto ou ente do mundo real que possui identidade própria o qual registramos as propriedades; • Conjunto de Entidades – Agrupamento de entidades similares com valores diferentes; • Atributos – Propriedades específicas das entidades; • Atributos Chave/Determinante – Projetado de forma única para identificar qualquer entidade do conjunto de entidades; 18 Banco de Dados Atributos Atributos são os campos que caracterizam cada entidade (tabela). Exemplo: A tabela Pessoa tem Nome, Data de Nascimento, Telefone, RG, CPF, entre outros como atributos. 19 Banco de Dados Modelo Entidade- Relacionamento(MER) Exemplo: Funcionarios (num, RG, CPF, nome, endereco, salario) FUNCIONÁRIOS num RG CPF nome endereco salario 20 Banco de Dados Modelo Entidade- Relacionamento(MER) Relacionamentos Um relacionamento entre dois conjuntos de entidades é uma lista de pares onde cada par representauma associação de uma entidade de um CE (Conjunto de Entidades) com outra entidade de outro CE. 21 Banco de Dados Modelo Entidade- Relacionamento(MER) Relacionamentos Um funcionário está lotado somente em um departamento, e um departamento pode possui vários funcionários. FUNCIONÁRIOS DEPARTAMENTO LOTA Relacionamento um-para-muitos N 1 22 Banco de Dados Modelo Entidade- Relacionamento(MER) Relacionamentos Um funcionário gerencia somente um departamento, e um departamento é gerenciado somente por um funcionário. FUNCIONÁRIOS DEPARTAMENTO Relacionamento um-para-um GERENCIA 1 1 23 Banco de Dados Modelo Entidade- Relacionamento(MER) Relacionamentos Um pode participar de vários projetos, e um projeto pode ter a participação de vários funcionários. FUNCIONÁRIOS PROJETOS Relacionamento muitos-para-muitos PARTICIPA N N 24 Banco de Dados Modelo Entidade- Relacionamento(MER) Relacionamento Total Um relacionamento total consiste em que todas as entidades de um CE devem fazer parte de um relacionamento com outro CE. FUNCIONÁRIOS DEPARTAMENTOS LOTA N 1 A representação por totalidade em relação aos funcionários, ou seja, não pode existir nenhuma instância de funcionários sem que haja um relacionamento com pelo menos uma instância de departamentos. 25 Banco de Dados Modelo Entidade- Relacionamento(MER) Relacionamento com Atributos Um relacionamento com atributos pode ser utilizado para o caso de Materiais e Fornecedores. MATERIAIS FORNECEDORES FORNECE N N PRAZO PREÇO QUANTIDADE 26 Banco de Dados Auto-Relacionamento FUNCIONARIO GERENCIA 1 N Modelo Entidade- Relacionamento(MER) 27 Banco de Dados Relacionamento Triplo • Dado um professor e uma disciplina, temos diversos alunos. • Dado um professor e um aluno, temos diversas disciplinas. • Dado um aluno e uma disciplina, temos um professor. Professores Tem Alunos Disciplinas 1 N N Modelo Entidade- Relacionamento(MER) 28 Banco de Dados Cardinalidade A Cardinalidade indica quantas ocorrências de uma Entidade participam no mínimo e no máxima do relacionamento. Modelo Entidade- Relacionamento(MER) 29 Banco de Dados Cardinalidade (Grau Mínimo e Máximo) Modelo Entidade- Relacionamento(MER) 30 Banco de Dados Especialização Caracteriza propriedades específicas de uma entidade genérica. Cliente Pessoa_Juridica Pessoa_Fisica Modelo Entidade- Relacionamento(MER) 31 Banco de Dados Entidade Associativa Resulta da associação entre entidades. Modelo Entidade- Relacionamento(MER) 32 Banco de Dados BrModelo O BrModelo é uma ferramenta que facilita a construção do Modelo ER. Representação Gráfica 33 Banco de Dados Modelo Lógico Compreende uma descrição das estruturas que serão armazenadas no banco e que resulta numa representação gráfica dos dados de uma maneira lógica, inclusive nomeando os componentes e ações que exercem uns sobre os outros. 34 Banco de Dados Modelo Lógico • Deriva do modelo conceitual. • Possui entidades associativas em lugar de relacionamentos n:m. • Define as chaves primárias das entidades. • Define as chaves estrangeiras das entidades. • Entidades viram tabelas. • Atributos viram campos das tabelas. 35 Banco de Dados Modelo Conceitual • Exemplo MER: 36 Banco de Dados Modelo Lógico • Exemplo Modelo Lógico: 37 Banco de Dados Modelo Físico • É uma descrição de um banco de dados no nível de abstração visto pelo usuário do SGBD. Assim, esse modelo depende do SGBD que está sendo usado, e dos meios físico onde serão implantados. • Aqui são detalhados os componentes da estrutura do banco, como tabelas, campos, tipos de valores, índices, etc. • Nesse estágio estamos prontos para criar o banco de dados propriamente dito, usando o SGBD preferido, em um ambiente adequado. 38 Banco de Dados Modelo Físico Muitas vezes o modelo físico pode ser representado como mostra abaixo, através de tabelas em um BD Relacional: Tipo de Produto Produto 39 Banco de Dados Modelo Físico Podendo também haver um detalhamento de uma tabela: Cadastro de paciente 40 Banco de Dados Modelo Físico Mas é neste modelo onde podemos já criar o banco de dados propriamente dito, usando o SGBD mais adequado. Exemplo: CREATE DATABASE ESCOLA; CREATE TABLE aluno( matricula INTEGER NOT NULL, nome VARCHAR(40), sexo VARCHAR(1) ); 41 Banco de Dados Conclusão Para construirmos um BD, precisamos passar por varias etapas, para garantirmos que ele esteja bem estruturado. 42 Banco de Dados Hora de praticar Pensando em nosso projeto da Biblioteca, contrua: 1. Um minimundo. 2. Descreva um modelo conceitual textual. 3. O Modelo Entidade Relacionamento. 4. Através do MER já construído por você, descreva no caderno o modelo lógico. Obs: A atividade pode ser feita em dupla ou individual. Caso não seja possivel concluir ate o final da aula, pode ser entregue na próxima aula. Esta atividade valerá como 1 das Notas para compor a N1. 43 Banco de Dados Dúvidas? profguibsonsantana@gmail.com 44 Banco de Dados EXTRA O projeto de um banco de dados envolve a produção de 3 modelos que definem uma arquitetura de 3 esquemas (conceitual, lógico e físico). Na fase inicial do processo, o mundo real (ou mini mundo) deve ser entendido e seus objetos conceituais identificados. A este entendimento e identificação chamamos abstração de dados e o modelo produzido após esta fase chamamos modelo conceitual. Após a sua confecção e pela a aplicação de regras específicas, um modelo lógico é produzido. Este modelo está vinculado ao modelo de dados adotado pelo SGBD. Na etapa final, o modelo lógico dá origem ao modelo físico, efetivamente armazenado no banco de dados. 45 Banco de Dados EXTRA Para compreendermos melhor o modelo conceitual, vamos ver como ficaria uma possibilidade de elaboração do minimundo do Hotel 7 Colinas, já estudado anteriormente: Realizar_Reserva: tipo_de_quarto, dia_entrada, forma_pagamento, qtd_de_pessoas. Cadastro_Cliente: nome, cpf, rg, data_nascimento. Endereco: rua, cep, cidade, bairro, numero, país. Checkin: quarto. Checkout: horario_entrada, horario_de_saida, valor_total_gasto. Cadastro_Pedidos: itens_cozinha, valor_itens_cozinha, servico_turismo, valor_servico_turismo. 46
Compartilhar