Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Banco de dados introdução

2,362 views

Published on

Slide do curso Accenture do Futuro (ADF)
Prof. Mário Sergio

Published in: Technology
  • Be the first to comment

Banco de dados introdução

  1. 1. Banco de Dados – Introdução por: Mário Sergio da Silva
  2. 2. Banco de Dados - Introdução Prof. Mário Sergio da Silva mariosergio30@gmail.com Lattes: http://lattes.cnpq.br/1161794053211014 Atualizado em Maio/2016 Este material é uma adaptação didática que utiliza ilustrações e textos retirados de uma seleção criteriosa de publicações disponíveis livremente na internet, juntamente com conteúdo inédito. (bibliografia disponível no final dos slides)
  3. 3. Conteúdo  Motivação: Importância, exemplos  Conceitos Básicos: Dados, Informação, Banco de Dados  Um pouco de história  Sistemas de Arquivos e Sistemas de Banco de Dados  SGDB´s: Definição, Características, Arquitetura em 3 Níveis, Metadados e Instâncias  Modelos de Banco de Dados: Hierárquico, Redes, Relacional, OO  Banco de Dados Relacional: Projeto de Banco de Dados: Modelagens: Conceitual, Lógica, Física  Exemplo de Projeto: “Sistema Bancário Simplificado”
  4. 4. 4 O que NÃO é um banco de dados Prof. Mário Sergio
  5. 5. 5 Por que estudar BD?  A importância dos dados para a sociedade moderna: o Vivemos na Sociedade da Informação. Onde as informações são guardadas mesmo ??? o Grandes empresas/organizações produzem mais dados em uma semana do que muitas pessoas irão ler em toda uma vida! o Os dados armazenados digitalmente sofreram um aumento drástico nos últimos 40 anos e continuam a crescer cada vez mais.... Prof. Mário Sergio
  6. 6. 6 Por que estudar BD?  Os Bancos de Dados fazem parte do nosso dia-a-dia: Prof. Mário Sergio  Uma simples Agenda telefônica  Controle Comercial (vendas)  Operação bancária  Reserva de hotel  Matrícula em uma disciplina da universidade  Cadastro na vídeo locadora (nem existe mais !)
  7. 7. 7 Conceitos básicos  Dado: Fato do mundo real que está registrado  exemplos: data, valor e cliente de um pedido de venda. (Não faz sentido sozinho)  Informação: Fato útil que pode ser extraído direta ou indiretamente a partir dos dados  exemplos: total de vendas mensal por cliente/região. (Resultado de vários dados para fazer sentido, gerar conhecimento.) Prof. Mário Sergio
  8. 8. 8 Conceitos básicos Dados X Informação Dado: A tempera hoje é de 38 graus Celsius. Informação: Está muito quente hoje. Prof. Mário Sergio
  9. 9. 9 Conceitos básicos Agora sim: O que É banco de dados “Bancos de dados, ou bases de dados (em Portugal), são coleções de fatos (dados) que se relacionam de forma que crie um sentido. São de vital importância para empresas, e se tornaram a principal peça dos sistemas de informação. “ Prof. Mário Sergio
  10. 10. 10 Conceitos básicos Outra Definição:  Banco de Dados (BD): coleção de dados inter-relacionados e persistentes que representa um sub-conjunto dos fatos presentes em um domínio de aplicação (mini-mundo). Prof. Mário Sergio Simplificação do Mundo Real
  11. 11. 11 Conceitos básicos Mais Definições: (Slides prof Wanderson Dantas) Prof. Mário Sergio
  12. 12. 12 Conceitos básicos Um pouco de historia: Mídias de Armazenamento Prof. Mário Sergio
  13. 13. 13 Conceitos básicos Um pouco de historia: Modelo de Armazenamento/Dados Prof. Mário Sergio
  14. 14. 14 Conceitos básicos Um pouco de historia: Sistemas e Modelo de Dados Prof. Mário Sergio Um marco na história dos bancos de dados, largamente utilizado até os dias atuais.
  15. 15. 15 Conceitos básicos Sistemas de arquivos  Sistemas de Arquivos (armazenados em pastas, no disco):  No começo, as aplicações acessavam diretamente os sistemas de arquivos do Sistema Operacional para armazenar seus dados. Prof. Mário Sergio
  16. 16. 16 Conceitos básicos Sistemas de arquivos Exemplo  Em uma fábrica com os dados em sistemas de arquivos: Sistema para Setor de Vendas Sistema para Setor de Produção Sistema para Setor de Engenharia Arquivos de vendas Arquivos de engenharia Arquivos de produção Dados repetidos aparecem em todos os arquivos da fábrica Teclado TC60 R$ 20,00 Monitor 15´ M60 R$ 150,00 Mouse MS09 R$ 10,00 Teclado TC60 10/11/2000 Monitor 15´ M60 20/11/2000 Mouse MS09 09/11/2000 Teclado TC60 teclado.gif Monitor 15´ M60 monitor.gif Mouse MS09 mouse.gif [baseado em Heuser] Prof. Mário Sergio
  17. 17. 17 Conceitos básicos Sistemas de arquivos Desvantagens  Dados de diferentes aplicações não estão integrados  Dados são projetados para atender uma aplicação específica  Redundância não controlada de dados, Redundância leva a:  O Mesmo dado é representado várias vezes na base de dados Exemplo: teclado, monitor e mouse  inconsistência dos dados  re-digitação de informações  dificuldade de extração de informações Prof. Mário Sergio
  18. 18. 18  Acesso • Bloqueio de arquivo e registro, não permitindo acesso por mais de um usuário por vez • Falta de índices para acesso rápido  Tolerância a falhas • Falta de luz, erro de disco, interrupção de funcionamento, etc • Cópias? restauração do estado anterior?  Segurança • Acesso idêntico para todos os usuários  Outros problemas: • Número máximo de arquivos • Tamanho de memória • Limitações do tipo de arquivo Prof. Mário Sergio Conceitos básicos Sistemas de arquivos Desvantagens
  19. 19. 19  Um SGBD (Sistema Gerenciador de Banco de Dados) consiste em uma coleção de dados inter-relacionados e em uma camada de software para acessá-los.  Garante a separação entre programa (aplicativo) e Dados Prof. Mário Sergio SGBD – Sistema Gerencial de Banco de Dados
  20. 20. 20 SGBD – Sistema Gerencial de Banco de Dados Sistema de Arquivos X Sistema de Banco de Dados Prof. Mário Sergio(ref: Slides prof Wanderson Dantas)
  21. 21. 21 SGBD – Sistema Gerencial de Banco de Dados Características  Natureza auto descritiva: possui um catálogo (metadados), onde todas as informações sobre a estrutura dos dados ficam armazenadas.  Níveis de abstração: Isola os usuários dos detalhes mais internos do banco de dados (abstração de dados). (ver slide 21)  Oferecer Múltiplas visões dos mesmos dados.  Prover Independência de dados às aplicações (estrutura física de armazenamento e à estratégia de acesso).  Garantir a integridade dos dados e o controle de concorrência: acesso por diversos usuários simultâneamente. Vantagens: Resolve todas as desvantagens apontadas nos Sistemas de Arquivos (slides 15, 16)
  22. 22. 22  BD de uma fábrica: Sistema para Setor de Vendas Sistema para Setor de Produção Sistema para Setor de Engenharia Banco de dados Teclado TC60 Monitor 15´ M60 Mouse MS09 R$ 20,00 R$ 150,00 R$ 10,00 10/11/2000 20/11/2000 09/11/2000 teclado.gif monitor.gif mouse.gif SGBD Software que permite a criação e gerência da base de dados Exemplos destes Softwares: • Livres: • FireBird, PostgreSQL e MySQL • Comerciais (pagos) • Oracle, DB2 e SQLServer Prof. Mário Sergio SGBD – Sistema Gerencial de Banco de Dados Visão Geral
  23. 23. 23 SGBD – Sistema Gerencial de Banco de Dados Arquitetura: Esquema em 3 Níveis
  24. 24. 24 SGBD – Sistema Gerencial de Banco de Dados Metadados e Instância  Banco de dados = meta-dados + instância de dado Meta-dados - Dicionário de Dados (mudanças ocasionais) • Esquemas (estrutura) da base de dados: Tabelas, colunas, relações e chaves • Acessado através da linguagem de definição de dados Instância de dado (muda constantemente) • Dado propriamente: Registros e campos (colunas) • Acessado através da linguagem de manipulação de dados Prof. Mário Sergio
  25. 25. 25 SGBD – Sistema Gerencial de Banco de Dados Metadados e Instância Prof. Mário Sergio
  26. 26. 26 Modelos de Banco de Dados (tipos de SGDB) Prof. Mário Sergio  Modelo Hierárquico  Modelo em Redes  Modelo Relacional  Modelo Orientado a Objetos
  27. 27. 27Prof. Mário Sergio Modelos de Banco de Dados (tipos de SGDB) Modelo Hierárquico
  28. 28. 28Prof. Mário Sergio Modelos de Banco de Dados (tipos de SGDB) Modelo em Rede
  29. 29. 29Prof. Mário Sergio Modelos de Banco de Dados (tipos de SGDB) Modelo Relacional
  30. 30. 30Prof. Mário Sergio Modelos de Banco de Dados (tipos de SGDB) Modelo Relacional • O modelo relacional de dados é uma maneira de conceber a organização de um banco de dados como uma coleção de tabelas e associações entre outras tabelas. Por exemplo: • Cada linha é um registro e tem um conteúdo único na tabela. • Cada coluna é um campo, com um nome que representa o tipo de dados contido na coluna.
  31. 31. 31Prof. Mário Sergio Modelos de Banco de Dados (tipos de SGDB) Modelo Relacional • Um exemplo de projeto lógico de banco de dados para uma empresa de Eventos:
  32. 32. 32Prof. Mário Sergio Modelos de Banco de Dados (tipos de SGDB) Modelo Orientado a Objetos (BD OO) • BD com conceitos de Herança, agregação e composição Obs: é utilizado em segmentos específicos, que exigem modelagem de dados complexos (geográficos, espaciais)
  33. 33. Projeto de Banco de Dados Definições básicas 3333Prof. Mário Sergio 33
  34. 34. Projeto de Banco de Dados 3434 Modelagem de Dados Prof. Mário Sergio 34 Identificação dos Requisitos: entrevistas com as pessoas envolvidas no processo
  35. 35. Projeto de Banco de Dados Modelagem de Dados O Projeto de banco de dados visa entender as necessidades do usuário, modelar o minimundo e construir o banco de dados, de maneira a garantir uma correta implantação e facilitar sua manutenção. Modelagem de Dados (modelo de dados) é a maneira utilizada para descrever, em diferentes níveis de abstração, a estrutura e os tipos de dados que estão armazenadas em um banco de dado. No projeto de banco de dados a modelagem ocorre em três fases: Modelo conceitual (MER) Modelo lógico Modelo físico 3535Prof. Mário Sergio 35 Aviso: não confundir com modelos (tipos de SGBD) (slide 26)
  36. 36. Projeto de Banco de Dados Modelagem de Dados Essas fases possuem Níveis de Abstração distintos: 3636Prof. Mário Sergio 36 Um modelo de dados que servirá para explicar a um usuário leigo em informática qual é a organização de um banco de dados não conterá detalhes sobre técnicos a respeito da dos dados, por isso é mais abstrato. Já um modelo de dados usado por um técnico para otimizar a performance de acesso ao banco de dados conterá mais detalhes de como as informações estão organizadas internamente e, portanto, será menos abstrato. Aviso: não confundir com os 3 níveis de arquitetura (slide 23)
  37. 37. Projeto de Banco de Dados Modelagem de Dados A modelagem pode ser descrita em de duas formas, exemplos: ◦Linguagem Gráfica:  Linguagem Textual: A representação do modelo de dados por uma linguagem de modelagem de dados recebe o nome de esquema de banco de dados: Esquema Textual ou Esquema Gráfico 373737 Médico PacienteConsulta CRM nome
  38. 38. A modelagem descreve a estrutura dos dados, assim: o No caso de um sistema de controle acadêmico, por exemplo, modelo de dados informa que o banco de dados armazena dados sobre alunos e que, para cada aluno, são armazenados seu número, Nome, idade, etc... o Observe que o modelo de dados não informa quais os alunos (instâncias) estão armazenados no banco de dados, mas apenas que o banco de dados contém informações sobre alunos, disciplinas, Pré-Requisitos e Histórico Escolar. 3838Prof. Mário Sergio 38 Projeto de Banco de Dados Modelagem de Dados
  39. 39. 39 Mundo Real Modelo Conceitual (modelo abstrato dos dados) – Mini-mundo  Independente do modelo de dados  Independente do SGBD específico Modelo Lógico (estrutura dos dados)  Dependente do modelo de dados  Independente do SGBD específico Tabelas, Campos, Relacionamentos Modelo Físico  Dependente do modelo de dados  Dependente do SGBD específico  Modelagem física dos dados  Estruturas de hardware/Software  Oracle, Mysql, Postgree... Médico PacienteConsulta CRM nome Médico (CRM, Nome) Sistema Médico Prof. Mário Sergio Projeto de Banco de Dados Modelagem de Dados – Visão Geral
  40. 40. 4040  O Modelo Conceitual descreve a estrutura de um Banco de Dados em uma visão macro do banco de dados. É uma descrição de alto nível da estrutura do BD. Também chamado de Modelo Entidade-Relacionamento (MER)  Levantamento do “mini-mundo” com a participação de pessoas não técnicas, clientes e gestores do negócio, utiliza para isso o conceito de Entidade e Relacionamento.  Independente de SGBD: não descreve COMO os dados estão armazenados no SGBD. E sim, descreve QUAIS dados estão armazenados;  A técnica mais difundida é o Diagrama Entidade-Relacionamento (DER); Prof. Mário Sergio 40 Projeto de Banco de Dados Modelagem de Dados: Conceitual MER (Alto Nível)
  41. 41. 4141 É o modelo com o maior nível de abstração. O DER apresenta os elementos a seguir: entidades, relacionamentos e atributos. Prof. Mário Sergio 41 DER Vendas Projeto de Banco de Dados Modelagem de Dados: Conceitual MER (Alto Nível) Atributo Identificador (chave)
  42. 42. 4242  O Modelo Lógico descreve mais detalhes sobre como os dados serão devem ser armazenados (metadados). Nesta fase, as entidades e relacionamentos do modelo conceitual são transformadas em tabelas (relações).  Descreve a estrutura dos atributos, que nesta fase passam a ser chamados de campos/colunas. Especificando tipo, tamanho, e restrições de integridade (de unicidade, obrigatoriedade, referencial) dos campos: Ex: codigo inteiro; descricao caractere(20) not null;  Ainda é possível ser Independente de SGBD *(discutível);  No final, o resultado de um projeto lógico é um esquema do banco de dados, podendo ser textual ou parecido com o modelo conceitual, porém com mais detalhes de banco de dados, e não apenas conceitos. Prof. Mário Sergio 42 Projeto de Banco de Dados Modelagem de Dados: Lógico (Nível Intermediário)
  43. 43. 4343 O modelo lógico apresenta um nível intermediário de abstração. O diagrama lógico apresenta os seguintes elementos: tabelas, campos, chaves primárias e estrangeiras, entre outros. Prof. Mário Sergio 43 Projeto de Banco de Dados Modelagem de Dados: Lógico (Nível Intermediário)
  44. 44. 4444 o É a parte final, de mais baixo nível, do projeto de banco de dados, define-se detalhes técnicos da implementação do banco de dados: infra estrutura física (hardware), Sistema Operacional, índices de busca etc. o É fortemente dependente do SGBD que será utilizado, nesta fase há a definição do SGDB a ser utilizado: Oracle, SQLServer, MySQL, Postgress, etc. o Utilização de scripts (DDL, DCL), para definição dos metadados, incluindo diretivas de conexão e permissão de acesso de usuários. o A otimização de desempenho do banco de dados é trabalhada nesta fase do projeto. Prof. Mário Sergio 44 Projeto de Banco de Dados Modelagem de Dados: Físico (Baixo Nível)
  45. 45. 4545 No modelo físico se faz a tradução do modelo lógico utilizando a Linguagem de Definição de dados DDL, e pode conter instruções específicas de cada fabricante de SGDB. Exemplos: Prof. Mário Sergio 45 Projeto de Banco de Dados Modelagem de Dados: Físico (Baixo Nível)
  46. 46. 46 Projeto de Banco de Dados Exemplo: Modelagem de Sistema Bancário Prof. Mário Sergio Conceitual Lógico CREATE TABLE CLIENTE ( cliente_cod char(3) PRIMARY KEY, nome Varchar(200), cidade Varchar100), rua Varchar (200) ); CREATE TABLE CONTA ( conta_num char(3) PRIMARY KEY, agencia Varchar(50), cliente_cod char(3), FOREIGN KEY(cliente_cod) REFERENCES CLIENTE (cliente_cod) ); CREATE TABLE TRANSACAO ( valor Numeric (8,2), Operacao Integer, conta_num char(3) FOREIGN KEY(conta_num) REFERENCES CONTA (conta_num) ) Físico
  47. 47. 47 conta_num valor operacao 900 55.02 1 556 1000.50 1 648 4568.00 1 247 5366.00 1 648 2568.00 -1 801 10533.85 1 900 10.22 -1 801 3000.00 -1 Tabela TRANSACAO Tabela CLIENTE cliente_cod nome rua cidade 015 José Figueiras Campinas 021 João Laranjeiras Campinas 037 Antônio Ipê São Paulo cliente_cod conta_num agencia 015 900 1247 021 556 1052 021 648 1247 037 247 1052 037 801 1052 Tabela CONTA Projeto de Banco de Dados Exemplo: Dados armazenados (instâncias) Tabelas Registros (Instâncias) Colunas/Campos OBS: Ainda poderíamos melhorar, criando uma tabela para eliminar a redundância de dados presente na tabela CLIENTE Prof. Mário Sergio
  48. 48. 48 nome rua cidade conta valor José Figueiras Campinas 900 55,02 João Laranjeiras Campinas 556 1.000,50 João Laranjeiras Campinas 648 4.568,00 Antônio Ipê São Paulo 247 5.366,00 João Laranjeiras Campinas 648 -2.568,00 Antônio Ipê São Paulo 801 10.533,85 José Figueiras Campinas 900 -10,22 Antônio Ipê São Paulo 801 -3.000,00 Projeto de Banco de Dados Exemplo: uma visão de dados do usuário Transações bancárias de crédito e débito: Prof. Mário Sergio
  49. 49. 49 Exercícios 1. Defina: Dados, informação e Banco de Dados. 2. Cite exemplos de Banco de Dados não computacionais. 3. O que é SGDB, e quais são suas vantagens em relação aos sistemas de arquivos ? 4. Quais são as fases em um projeto de Banco de Dados ? explique cada uma delas 5. Defina: Metadados e Instância Prof. Mário Sergio
  50. 50. 50 Bibliografia  Elmasri & Navathe – Fundamentos de Bancos de Dados  Carlos Alberto Heuser – Projeto de Banco de Dados  Korth e Silberchatz – Sistema de Bancos de Dados  Baseado nos Slides de Vania Bogorny Prof. Mário Sergio
  51. 51. 51 Links sobre Linguagens/Banco de Dados  http://www.dialetodigital.com/blog/conteudos-programacao/

×