Baixe o app para aproveitar ainda mais
Prévia do material em texto
Bancos de Dados I - BD1I2 Conceitos Iniciais sobre Banco de Dados Professores: • Argemiro Pentian Jr. • Fábio Feliciano Oliveira Compartilhamento de Dados Início da computação: • Dados guardados em arquivos de texto. • Problemas nesse modelo: ➢Redundância não controlada e inconsistência de dados de dados; ➢Aplicações tinham que se se preocupar com a forma de armazenamento dos dados; • A redundância de dados ocorre quando temos um mesmo dado duplicado em diferentes pontos / arquivos da aplicação; • Um dos problemas da redundância não controlada é que podemos atualizar um determinado dado de um arquivo e essa atualização não ser feita em todo o sistema – esse problema é chamado de inconsistência; 26/03/2021 Bancos de Dados I - BD1I2 2 Compartilhamento de Dados • Exemplo de redundância não controlada de dados: empresa que possui arquivos separados para cada setor, que são alimentados manualmente; • Uma empresa possui três departamentos: produção, vendas e compras. Cada departamento contém seu próprio sistema para o armazenamento de seus dados. Se um funcionário for transferido do departamento de compras para vendas, os seus dados são copiados/duplicados no sistema do departamento de vendas. Caso o usuário precise atualizar seus dados devido a uma mudança de endereço, existe a chance dessa atualização ser efetuada apenas no sistema do departamento em que ele trabalha, nesse caso o de vendas. Assim passa a existir duas ocorrências do mesmo dado (dados do funcionário) não sincronizadas, isto é, não representando a mesma realidade (inconsistência no dado do funcionário). 26/03/2021 Bancos de Dados I - BD1I2 3 Produção Vendas Compras Arquivos produção Produtos ... Arquivos vendas Produtos ... Arquivos compras Produtos ... Compartilhamento de Dados • Os primeiros Bancos de Dados surgiram no mercado como uma resposta a esses problemas gerados pela redundância não controlada de dados. Banco de Dados: • compartilhamento de dados; • cada informação é armazenada uma única vez; 26/03/2021 Bancos de Dados I - BD1I2 4 Produção Vendas Compras Banco de Dados Produtos ... Redundância Controlada de Dados A redundância controlada de dados pode ser utilizada para: 1-) Aumentar o desempenho do Sistema: • O mesmo dado pode ser acessado ao mesmo tempo, em locais diferentes; 2-) Aumentar a confiabilidade do Sistema: • Se uma base falhar, a base espelho/redundante possui o mesmo dado; Caso exista a necessidade de redundância, ela deve ser uma redundância controlada; Redundância Controlada: • Controle da redundância é feito de forma automática; • Para o usuário, tudo ocorre como se existisse apenas um representação do dado; Exemplos de Sistemas com Redundância de Dados: • Serviços de Streaming (ex: NetFlix), Sistema Bancário; 26/03/2021 Bancos de Dados I - BD1I2 5 Conceitos de Banco de Dados [Chu, 1985] • Um banco de dados é um conjunto de dados relacionados entre si; [Date, 2000] • Um banco de dados é uma coleção de dados operacionais armazenados usados pelas aplicações de uma determinada organização; [Elmasri & Navathe, 2000] • Um banco de dados é uma coleção de dados relacionados • representando algum aspecto do mundo real; • Logicamente coerente, com algum significado • Projetado, construído e gerado (“povoado”) para uma aplicação específica; 26/03/2021 Bancos de Dados I - BD1I2 6 Conceitos de Banco de Dados Dados: • Fatos conhecidos que podem ser registrados / armazenados de forma permanente; • Possuem significado implícito→ quem acessa os dados consegue dar significado a esses dados; ➢ Exemplo 01 – Número de Telefone: uma coleção de números; que tem como significado representarem números de telefones; ➢ Exemplo 02 – Nomes: conjunto de caracteres, o qual podemos atribuir um significado que é associar esse conjunto de caracteres a um nome de uma pessoa; O banco de dados guarda dados que tem significados implícitos neles mesmos! 26/03/2021 Bancos de Dados I - BD1I2 7 Conceitos de Banco de Dados Um banco de dados é uma coleção de dados relacionados! • Um conjunto aleatório de dados não compõe um banco de dados; • A simples junção de dados não forma um banco de dados; • Os dados precisam estar relacionados de forma lógica; ➢Exemplo 01: um dado de preço deve estar relacionado a um produto; ➢Exemplo 02: um telefone deve estar relacionado a uma funcionário; 26/03/2021 Bancos de Dados I - BD1I2 8 Conceitos de Banco de Dados Um banco de dados contem um conjunto de dados representando algum aspecto do mundo real; Um Banco de Dados deve: • Tratar um problema específico do mundo real; • Tratar uma situação do mundo real que precisa ser modelada; • Exemplo 01: criar um banco de dados para representar os funcionários de uma determinada empresa; • Exemplo 02: criar um banco de dados para representar o número de vendas realizadas em uma determinada padaria; 26/03/2021 Bancos de Dados I - BD1I2 9 Sistema Gerenciador de Banco de Dados - SGBD • Um Sistema de Gerenciamento de banco de dados (SGBD) é um conjunto softwares que incorpora e facilita as funções de definição, recuperação e alteração de dados em um Banco de Dados; • Um SGBD é um conjunto de softwares que dá suporte à criação, manutenção e utilização de bancos de dados; • O SGBD, além do banco de dados em si, é formado por um conjunto de programas que gerencia esses dados; 26/03/2021 Bancos de Dados I - BD1I2 10 Exemplos de SGBD's Sistema Gerenciador de Banco de Dados - SGBD 26/03/2021 Bancos de Dados I - BD1I2 11 É importante notar que “Banco de Dados” e “SGBD” são entidades diferentes. • Banco de Dados: é um conjunto de dados relacionados armazenados para atender uma aplicação específica; • SGBD: conjunto de programas que são responsáveis pelo gerenciamento de um ou um conjunto de bancos de dados; SGBD usuários aplicações Banco de Dados Vantagens de um SGBD • Controle de inconsistências e redundância: ➢ Evita a duplicação dos dados; ➢ A redundância conduz a altos custos de armazenamento e dificuldade de atualização das informações; • Integridade: ➢ Permite a imposição de restrições de consistência dados armazenados; ➢ Restrições de consistência normalmente estão relacionadas a uma regra de negócio; ➢ Exemplo: O saldo de uma conta bancária, por exemplo, não deve cair abaixo de um valor predeterminado; • Isolamento: ➢ Dados espalhados em diferentes arquivos e formatos dificultam a criação de novos aplicativos para sua recuperação; ➢ No processamento tradicional de arquivos, a estrutura do arquivo de dados está embutida no programa da aplicação; ➢ Em um SGBD, a estrutura dos arquivos de dados é armazenada no catálogo do SGDB separadamente do programa de acesso; 26/03/2021 Bancos de Dados I - BD1I2 12 SGBD usuários aplicações Banco de Dados Vantagens de um SGBD • Acesso Concorrente: ➢ Permitem que múltiplos usuários acessem e atualizem dados simultaneamente; ➢ O SGBD deve incluir um software de controle de concorrência para garantir que muitos usuários, ao tentar atualizar o mesmo dado, o façam de um modo controlado, para assegurar que os resultados das atualizações sejam corretos; • Segurança: ➢ Implementa um controle dos usuários que podem acessar ou alterar os dados armazenados; ➢ Permite restringir o acesso a determinados dados para usuários específicos; ➢ Exemplo: em uma empresa, os dados relativos ao contracheque dos empregados não podem ser disponibilizados a todos os usuários indistintamente, mas apenas aos usuários responsáveis pela folha de pagamento; • Recuperação de Falhas: ➢ Contém mecanismos para a recuperação de dados em caso de eventuais paradas e falhas do sistema, as quais podem ocorrer por causa de erros de software, interrupção no suprimento de energia, defeito de hardware, queda na comunicação com o servidor, etc. 26/03/2021 Bancos de Dados I - BD1I2 13 SGBD usuários aplicações Banco de Dados Projeto de banco de dados O projeto de um novo banco de dados dá-se em três fases: 1. Modelagem Conceitual; 2. Projeto Lógico; 3. ProjetoFísico; 26/03/2021 Bancos de Dados I - BD1I2 14 Modelagem Conceitual Modelo • É uma representação simplificada da realidade; • Representação formal de um conhecimento; • Utiliza uma linguagem de modelagem de dados. Modelo de Banco de Dados: • É uma descrição dos tipos de informações que estão armazenadas em um banco de dados; Modelo Conceitual: • É um modelo de dados abstrato que descreve a estrutura de um banco de dados independe de sua implementação em um SGBD; • A técnica mais difundida de modelagem conceitual é a abordagem entidade - relacionamento (ER); 26/03/2021 Bancos de Dados I - BD1I2 15 Pessoa Carro Diagrama Entidade-Relacionamento (DER) Projeto Lógico Modelo Lógico • Modelo que define como o banco de dados será implementado em um SGBD; • Deve representar relações e restrições do modelo de dados que representa a estrutura de um BD e o Esquema do Banco de Dados; • Modelo de dados que representa a estrutura de dados de um banco de dados conforme vista pelo usuário do SGBD; Modelo Lógico Relacional • Representa os dados em um banco de dados como uma coleção de relações (tabelas). 26/03/2021 Bancos de Dados I - BD1I2 16 Pessoa (CPF: texto(11), Nome: texto(30), Sexo: caractere) Carro (Codigo: texto(4) , Modelo: texto(20), Ano: inteiro) Dirige (P_CPF, C_Codigo) P_CPF referencia Pessoa(CPF) C_Codigo referencia Carro(Codigo) Pessoa Dirige Carro Projeto Físico • Usa como base o modelo lógico. • Contém detalhes sobre armazenamento interno dos dados; • Trata questões de desempenho do banco; • Nessa etapa é feita a escolha do SGBD que mais se adequa às necessidades de uma organização; • Depende do SGBD; • Script do banco de dados em SQL representa os detalhes dos dados internamente ao BD (campo, tipo/domínio, restrições). 26/03/2021 Bancos de Dados I - BD1I2 17 Script SQL FIM 18Bancos de Dados I - BD1I226/03/2021
Compartilhar