SlideShare une entreprise Scribd logo
1  sur  43
Télécharger pour lire hors ligne
Curso Superior de Tecnologia em BD
Curso Superior de Tecnologia em DAI

 Modelagem de Dados e Projeto de Banco
 de Dados
  Aula 01
  Introdução aos
  Sistemas de Bancos de Dados
Introdução aos Sistemas de BD
 Objetivo
 – Apresentar uma perspectiva histórica do surgimento dos
   SGBD, sua importância para as empresas e os principais
   conceitos e características envolvidas na área de Banco de
   Dados.

 Principais tópicos
 –   Importância dos Bancos de Dados
 –   Uma perspectiva histórica
 –   Arquivos versus SGBD’s
 –   Quando usar e quando não usar SGBD
 –   Principais Características dos SGBDs
                                                                2
Introdução aos Sistemas de BD
 Principais tópicos (continuação)
 –   Arquitetura “Three-schema”
 –   Modelagem de Dados
 –   Modelos de Dados (Conceituais, Lógicos e Físicos)
 –   Matriz de Classificação de SGBDs
 –   Síntese dos conceitos
 –   Questões de Estudo




                                                         3
Importância dos Bancos de
Dados
 A competitividade das empresas depende de dados
 precisos e atualizados.
 Conforme a empresa cresce, aumenta a sua
 dependência por dados abundantes e complexos.
 Assim, ferramentas de gerenciamento, extração
 rápida e precisa de informações é fundamental.
 Solução: Sistema Gerenciador de Banco de Dados,
 ou SGBD.




                                               4
Uma perspectiva histórica
 No início da computação, programas tinham o único
 objetivo de armazenar e manipular dados.
 Esses programas gravavam seus dados em disco,
 segundo estruturas próprias.
 Programas que não conhecessem a estrutura dos
 dados não podiam utilizar os dados.

                      Estrutura dos
                          dados




                                      Arquivo




                                                5
Uma perspectiva histórica
 Se vários programas precisassem compartilhar os
 dados de um mesmo arquivo, todos os programas
 teriam que conhecer e manipular as mesmas
 estruturas.



                      Estrutura dos
                          dados
                          Estrutura dos
                             dados




                                          Arquivo




                                                    6
Uma perspectiva histórica
 Se algum programa precisasse realizar alguma
 mudança na estrutura de dados,
 – Todos os programas que acessam esse mesmo arquivo
   tinham que ser alterados, mesmo que a alteração ocorresse
   em dados não manipulados pelos programas.
 Isso gerava um grande problema:
 – Garantir a unicidade das estruturas de dados entre os diversos
   programas devido à existência de redundâncias.




                                                               7
Uma perspectiva histórica
 Para evitar esse problema, colocou-se um sistema
 intermediário:
 – Que conhece a estrutura de dados do arquivo.
 – Fornece apenas dados que cada programa precisa.
 – Armazena adequadamente os dados de cada programa.




                                     Arquivo




                                                       8
Uma perspectiva histórica
 Agora, com esse sistema intermediário:
 – Os programas "verão" apenas os dados que lhes interessam.
 – Os programas não precisam conhecer os detalhes de como
   seus dados estão gravados fisicamente.
 – Os programas não precisarão ser modificados se a estrutura
   de dados que utilizam não for modificada.
 – As alterações ficam concentradas nesse sistema intermediário.




                                                              9
Uma perspectiva histórica
 Com o tempo, esse sistema intermediário passou a
 gerenciar vários arquivos.
 A essa coleção de arquivos foi dado o nome de
 Banco de Dados e o sistema intermediário recebeu
 o nome de Sistema Gerenciador de Banco de Dados
 (SGBD).


                         S
                         G        Arquivo
                         B      Arquivo
                               Arquivo
                         D


                                               10
Uma perspectiva histórica
 O primeiro SGBD comercial surgiu em 1960.
 Com o tempo, surgiram padrões para descrever as
 estruturas de dados: os modelos de dados.
 A descrição do banco de dados, segundo um
 modelo de dados é chamada de meta dados.

                            Meta
                            Dados




                    Dados   SGBD    BD



                                               11
Uma perspectiva histórica
 Hoje, um banco de dados:
 – É uma coleção de dados coerente e logicamente relacionados
   com algum significado associado.
 – É projetado, construído e populado com dados que atendem a
   um propósito e audiência específicos.
 – Representa algum aspecto do mundo real, chamado de
   minimundo.




                                                           12
Arquivos versus SGBD’s
 Processamento tradicional                                     Vantagens do
                                            SGBD
       de Arquivos                                                SGBD

  Definição dos dados é parte do                               eliminação de
                                          Meta Dados
 código de programas de aplicação                              redundâncias

                                                               eliminação de
  Dependência entre aplicação e       Independência entre      redundâncias
             dados                     aplicações e dados       facilidade de
                                                                manutenção

                                    Representação conceitual
 Representação de dados em nível                                facilidade de
                                      através de dados e
              físico                                            manutenção
                                          programas

  Cada visão é implementada por                                 facilidade de
                                    Permite múltiplas visões
       módulos específicos                                        consultas


                                                                                13
Uma perspectiva histórica
Quando usar SGBD               Quando não Usar SGBD
 Controle redundância           Dados e aplicações simples e
 Controle consistência e        estáveis
 integridade                    Requisitos de tempo-real não
 Acesso multiusuário            puderem ser atendidos
 Compartilhamento de dados
 Controle acesso e segurança
 Controle de recuperação e
 restauração
 Consultas eficientes


                                                           14
Principais Características dos
SGBDs
              Apoio a múltiplas visões de dados
              (nível externo)
Arquitetura   Capacidade de abstração de dados
  “Three-     (nível conceitual)
 schema”      Capacidade de descrever a estrutura
              de armazenamento físico dos dados
              (nível interno)

              Compartilhamento de dados e
              processamento de transações.
                                                15
Arquitetura “Three-schema”
            “Three-schema”
Independência Lógica                             Usuários Finais
de Dados:

É a capacidade de alterar       Visão Externa 1        ...   Visão Externa n
o esquema conceitual sem    NÍVEL EXTERNO
     ter que mudar os                                                       Mapeamento
                                                                       Conceitual-Externo
  esquemas externos ou
 programas de aplicação.                       Esquema Conceitual
                            NÍVEL CONCEITUAL
                                                                           Mapeamento
                                                                       Conceitual-Interno
Independência Física de
                                                Esquema Interno
Dados:

É a capacidade de alterar
o esquema interno sem ter
  que alterar o esquema                     BD1        ...       BDn
   conceitual e externo.
                            NÍVEL INTERNO                                           16
Modelos de Dados
 Existem modelos para diferentes níveis de
 abstração de representação de dados
 – modelos conceituais
 – modelos lógicos
 – modelos físicos
    • Referem-se:
       – organização dos arquivos de dados em disco
       – não são manipulados por usuários ou aplicações que acessam o BD
       – decisões de implementação são de cada SGBD




                                                                     17
Modelos de Dados
 Redes
 Hierárquico
 Relacional
 Entidade-Relacionamento
 ER - Estendido
 Objeto
 Objeto - Relacional




                           18
Modelos de Dados Conceituais
 Representação com alto nível de abstração
 – modelam de forma mais natural os fatos do mundo real, suas
   propriedades e seus relacionamentos
 – são independentes de BD
 – preocupam-se apenas com a semântica da aplicação
 – exemplo:
    • modelo entidade-relacionamento




                                                            19
Modelos de Dados Lógicos
 Representa os dados em alguma estrutura (lógica)
 de armazenamento de dados
 – também chamados de modelos de BD
 – dependente de BD
 – exemplos
    • modelo relacional (tabelas)
    • modelos hierárquico




                                                    20
Modelos de BD (Lógicos)
 Apóiam:
 – na especificação dos dados do modelo (DDL)
    • dados, seus domínios e restrições
 – na especificação de como manipular os dados (DML)




                                                       21
Modelos de BD (Físico)
 Possuem foco na:
 –   Indexação e estrutura de arquivos
 –   Transações e controle de concorrência
 –   Otimização
 –   Recuperação em casos de falhas
 –   Mecanismos de proteção (segurança)
 –   Partição e agrupamento de dados




                                             22
Transações
 Uma transação define uma unidade de execução
 que pode acessar e atualizar vários itens de dados.
 Uma transação executa vários comandos como se
 fossem apenas um comando indivisível (atômico).
 Os vários comandos são delimitados pelas
 declarações begin transaction e (commit ou
 rollback):
 – begin transaction(x)
    • Update(a)           O SGBD considera este bloco
    • Delete(b)           como um único comando,
    • Insert(c)           atômico e indivisível

 – commit(x)
                                                        23
Transações
 Transações terminadas com commit, em caso de
 sucesso, efetivam todas as modificações realizadas
 dentro dela.
 Transação terminadas com rollback, desfazem
 todas as modificações realizadas dentro dela.
 – O banco de dados ficará no mesmo estado que estava antes
   do início da transação.
 O camando rollback pode ser chamado
 explicitamente pelo programador ou pelo SGBD
 quando ocorre algum erro.


                                                              24
Transações

              commit     Confirmando   Confirmada




begin
transaction   Ativa




                         Cancelando    Cancelada
              rollback



                                                    25
Transações
 Um SGBD deve controlar a execução concorrente
 de transações para assegurar que o estado do
 banco de dados permaneça consistente.
 A seriação é uma propriedade que garante que
 independente da ordem dos acessos aos dados
 feitos pelas transações, o resultado final será o
 mesmo.




                                                     26
Transações
 Execução das transações T1 e T2 em seqüência:




              A      B           A      B     A    B
              150
              200   150
                    100         150
                                  0    300
                                       150   200
                                             150
                                               0   100
                                                   300
                                                   150
              T1                T2
          1   read (A);    7    read (A);
          2   A:=A-50;     8    A:=A-150;
          3   write(A);    9    write(A);
          4   read(B);     10
                           10   read(B);
          5   B:=B+50;     11
                           11   B:=B+150;
          6   write (B);   12
                           12   write (B);               27
Transações
 Problema que ocorre sem a seriação no controle de
 transação:
 – troca de contexto antes do write (A)
 – queda do banco antes de write (B)

                A      B           A      B     A    B
                150
                200   150
                      100         200
                                   50    300
                                         150   200
                                               150
                                                50   100
                                                     300
                                                     150
                T1                T2
            1   read (A);    3    read (A);
            2   A:=A-50;     4    A:=A-150;
            6   write(A);    5    write(A);
            7   read(B);     10
                             10   read(B);
            8   B:=B+50;     11
                             11   B:=B+150;
            9   write (B);   12
                             12   write (B);               28
Transações
      T1                    T2                         T1                 T2
  1   read (A);       7     read (A);            1     read (A);    3     read (A);
  2   A:=A-50;        8     A:=A-150;            2     A:=A-50;     4     A:=A-150;
  3   write(A);       9     write(A);            6     write(A);    5     write(A);
  4   read(B);        10
                      10    read(B);             7     read(B);     10
                                                                    10    read(B);
  5   B:=B+50;        11
                      11    B:=B+150;            8     B:=B+50;     11
                                                                    11    B:=B+150;
  6   write (B);      12
                      12    write (B);           9     write (B);   12
                                                                    12    write (B);




             A         B           Resultados finais          A      B
                                      diferentes
                  0   300                                     150   300



                                                                                       29
Transações
 Transação devem possuir um conjunto de
 propriedades que é normalmente referido como
 propriedades ACID:
 –   Atomicidade
 –   Consistência
 –   Isolamento
 –   Durabilidade




                                                30
Transações
 Atomicidade
 – Garante que todas as operações na transação serão
   executadas ou nenhuma será.
 – Isto evita que falha ocorridas, possam deixar o banco de dados
   inconsistentes.
 Consistência
 – Possui dois aspectos: A consistência do banco dados e a
   consistência da própria transação.
 – Uma transação não deve violar as restrições de integridade
   definidas para o banco de dados.



                                                                31
Transações
 Isolamento
 – Significa que, mesmo no caso de transações executadas
   concorrentemente, o resultado final é igual ao obtido com a
   execução isolada de cada uma delas.
 – A observância desta propriedade das transações pelos SGBDs
   impede a ocorrência dos problemas de acesso a dados.
 Durabilidade
 – Significa que os resultados de uma transação, caso ela seja
   concluída com sucesso, devem ser persistentes. Mesmo se
   depois houver falha no sistema.




                                                                 32
Transações externas




               Gerenciador de
                                        SGBD
                Transações



                 Escalonador



               Gerenciador de
   BD           Recuperação

  Index
               Gerenciador de
                                   Cache
                  Memória
   Log

 Memória                           Memória
Secundária                         Primária
                                               33
Matriz de Classificação de
SGBDs*
SGBDs*         Complexas
   Consultas




                                                        OBJETO-
                            RELACIONAL
                                                      RELACIONAL
   Consultas




                            SISTEMA DE
               Simples




                                                    LINGUAGEM DE
                             ARQUIVOS               PERSISTÊNCIA


                           Dados Simples           Dados Complexos
* Baseado no livro: Object Relational DBMS by Stonebraker and Moore, Morgan Kaufmann, 1996
                                                                                     34
Síntese dos conceitos
 Banco de dados (BD):
 – conjunto de dados integrados que por objetivo atender a uma
   comunidade de usuários.
 Modelo de dados:
 – descrição formal das estruturas de dados para representação
   de um BD; com suas respectivas restrições e linguagem para
   criação e manipulação de dados.
 Sistema Gerenciador de banco de dados (SGBD):
 – software que incorpora as funções de definição, recuperação e
   alteração de dados em um BD.



                                                              35
Síntese dos conceitos
 Modelagem de dados:
 – é a ação de representar/abstrair dados do minimundo com o
   objetivo de criar projetos conceituais e lógicos de um BD.
 – alguns autores incluem os projetos físicos como parte da
   modelagem de dados, pelo fato de que as otimizações são
   oriundas de análises do comportamento dinâmico do BD.




                                                                36
Síntese dos conceitos
 Projeto conceitual BD:
 – ação que produz o esquema de dados abstratos que descreve
   a estrutura de um BD de forma independente de um SGBD
   (esquema conceitual).
 Projeto lógico BD:
 – ação que produz o esquema lógico de dados que representa a
   estrutura de dados de um BD em acordo com o modelo de
   dados subjacente a um SGBD.




                                                           37
Síntese dos conceitos
 Projeto físico BD:
 – ação que produz o esquema físico de dados a partir do
   esquema de lógico de dados com a adição das estratégias de
   otimização para manipulação das estruturas de dados. As
   estratégias de otimização são dependentes dos fabricantes
   dos SGBDs e de suas versões.




                                                            38
Questões de Estudo
1. Quando faz sentido utilizar um SGBD ao invés de
   simplesmente utilizar o sistema de arquivos? Quando
   não faz sentido utilizar um SGBD?
2. O que é independência lógica de dados e por que esse
   conceito é importante?
3. Explique as diferenças entre independência lógica de
   dados e independência física de dados.
4. Explique as diferenças entre esquemas externos,
   lógico e físico. Como esses conceitos se relacionam
   com os conceitos de independência de dados?
5. Quais são as responsabilidades de um Projetista de
   Banco de Dados e do DBA?
                                                     39
Questões de Estudo
6. O Sr. Avarento quer guardar informações de seus
   funcionários (nome, endereço, momentos
   preocupantes). O volume de dados o forçou a decidir
   comprar um SGBD. Para economizar, ele quer comprar
   um que tenha apenas as características necessárias
   para executar uma aplicação stand-alone em seu PC. O
   Sr. Avarento não quer compartilhar essa lista com
   ninguém. Indique quais das seguintes características
   de SGBDs o Sr. Avarento necessita? Justifique.
   –   Segurança.
   –   Controle de concorrência.
   –   Recuperação após falhas.
   –   Mecanismos de visão.
   –   Linguagem de consulta.



                                                     40
Questões de Estudo
7. Descreva os passos de um projeto de BD.
8. Quais dos seguintes itens exercem papel importante
   na representação de informações do mundo real num
   BD? Comente.
    –   Linguagem de definição de dados.
    –   Linguagem de manipulação de dados.
    –   Cachê.
    –   Modelo de dados.
9. O que é transação?
10. Por que o SGBD entrelaça as ações de diferentes
    transações, ao invés de executá-las seqüencialmente?




                                                      41
Introdução aos Sistemas de
Bancos de Dados
 Referências Bibliográficas
 1. Elmasri, R.; Navathe, S. B. [Trad.]. Sistemas de bancos de dados.
    Traduzido do original: FUNDAMENTALS OF DATABASE
    SYSTEMS. São Paulo: Pearson(Addison Wesley), 2005. 724 p.
    ISBN: 85-88639-17-3.
 2. Korth, H.; Silberschatz, A. Sistemas de Bancos de Dados. 3a.
    Edição, Makron Books, 1998.
 3. Raghu Ramakrishnan e Johannes Gehrke, Database Management
    Systems, Second Edition, McGraw-Hill, 2000.
 4. Teorey, T.; Lightstone, S.; Nadeau, T. Projeto e modelagem de
    bancos de dados. Editora Campus, 2007.
 Referências Web
 1. Takai, O.K; Italiano, I.C.; Ferreira, J.E. Introdução a Banco de
    Dados. Apostila disponível no site:
    http://www.ime.usp.br/~jef/apostila.pdf. (07/07/2005).             42
Curso Superior de Tecnologia em BD
Curso Superior de Tecnologia em DAI

 Obrigado!

  Prof. Osvaldo Kotaro Takai
  otakai@gmail.com

Contenu connexe

Tendances

Ferramentas da WEB 2.0
Ferramentas da WEB 2.0Ferramentas da WEB 2.0
Ferramentas da WEB 2.0Robson Valente
 
Oficina metodologias ativas e inovadoras UFPE 2018
Oficina metodologias ativas e inovadoras UFPE 2018Oficina metodologias ativas e inovadoras UFPE 2018
Oficina metodologias ativas e inovadoras UFPE 2018RosngelaArajo7
 
Apresentação da defesa do Projeto de Tese de Doutoramento
Apresentação da defesa do Projeto de Tese de DoutoramentoApresentação da defesa do Projeto de Tese de Doutoramento
Apresentação da defesa do Projeto de Tese de DoutoramentoSofia Batista
 
Apresentação Tese Mestrado (14_10_2011)
Apresentação Tese Mestrado (14_10_2011)Apresentação Tese Mestrado (14_10_2011)
Apresentação Tese Mestrado (14_10_2011)Susana Lemos
 
Aprendizagem Tecnológica Ativa: perspectivas para uma educação mais integradora
Aprendizagem Tecnológica Ativa: perspectivas para uma educação mais integradoraAprendizagem Tecnológica Ativa: perspectivas para uma educação mais integradora
Aprendizagem Tecnológica Ativa: perspectivas para uma educação mais integradoraBruno Leite
 
O uso das tecnologias como ferramentas pedagógicas nas aulas de biologia ma...
O uso das tecnologias como ferramentas pedagógicas nas aulas de biologia   ma...O uso das tecnologias como ferramentas pedagógicas nas aulas de biologia   ma...
O uso das tecnologias como ferramentas pedagógicas nas aulas de biologia ma...bio_fecli
 
Guia de referência para copywriting em B2B
Guia de referência para copywriting em B2BGuia de referência para copywriting em B2B
Guia de referência para copywriting em B2BNicholas Gimenes
 
Tecnologias digitais na educação
Tecnologias digitais na educaçãoTecnologias digitais na educação
Tecnologias digitais na educaçãoMarciarpmarassatti
 
ATPCG - PAUTA 28 04 2023.pptx
ATPCG - PAUTA 28 04 2023.pptxATPCG - PAUTA 28 04 2023.pptx
ATPCG - PAUTA 28 04 2023.pptxSheilaSilverio3
 
Apresentação Tese de Doutoramento
Apresentação Tese de DoutoramentoApresentação Tese de Doutoramento
Apresentação Tese de DoutoramentoFernando Rui Campos
 
Apresentação defesa de dissertação
Apresentação defesa de dissertaçãoApresentação defesa de dissertação
Apresentação defesa de dissertaçãoLuciana Viter
 
Como gerenciar o espaço físico da escola
Como gerenciar o espaço físico da escolaComo gerenciar o espaço físico da escola
Como gerenciar o espaço físico da escolaUlisses Vakirtzis
 
Sistema muscular I
Sistema muscular ISistema muscular I
Sistema muscular IMrPinkCat13
 
Pedagogia, O QUE É SER PEDAGOGO
Pedagogia, O QUE É SER PEDAGOGOPedagogia, O QUE É SER PEDAGOGO
Pedagogia, O QUE É SER PEDAGOGOMírian Barbosa
 

Tendances (20)

Apresentação defesa tese
Apresentação defesa teseApresentação defesa tese
Apresentação defesa tese
 
Ferramentas da WEB 2.0
Ferramentas da WEB 2.0Ferramentas da WEB 2.0
Ferramentas da WEB 2.0
 
Oficina metodologias ativas e inovadoras UFPE 2018
Oficina metodologias ativas e inovadoras UFPE 2018Oficina metodologias ativas e inovadoras UFPE 2018
Oficina metodologias ativas e inovadoras UFPE 2018
 
Apresentação da defesa do Projeto de Tese de Doutoramento
Apresentação da defesa do Projeto de Tese de DoutoramentoApresentação da defesa do Projeto de Tese de Doutoramento
Apresentação da defesa do Projeto de Tese de Doutoramento
 
Apresentação Tese Mestrado (14_10_2011)
Apresentação Tese Mestrado (14_10_2011)Apresentação Tese Mestrado (14_10_2011)
Apresentação Tese Mestrado (14_10_2011)
 
Aprendizagem Tecnológica Ativa: perspectivas para uma educação mais integradora
Aprendizagem Tecnológica Ativa: perspectivas para uma educação mais integradoraAprendizagem Tecnológica Ativa: perspectivas para uma educação mais integradora
Aprendizagem Tecnológica Ativa: perspectivas para uma educação mais integradora
 
Metodologias Ativas
Metodologias AtivasMetodologias Ativas
Metodologias Ativas
 
O uso das tecnologias como ferramentas pedagógicas nas aulas de biologia ma...
O uso das tecnologias como ferramentas pedagógicas nas aulas de biologia   ma...O uso das tecnologias como ferramentas pedagógicas nas aulas de biologia   ma...
O uso das tecnologias como ferramentas pedagógicas nas aulas de biologia ma...
 
Tecnologia aplicada a educaçao
Tecnologia aplicada a educaçaoTecnologia aplicada a educaçao
Tecnologia aplicada a educaçao
 
Educação 5.0 e Metodologias Ativas e Inovadoras
Educação 5.0 e Metodologias Ativas e InovadorasEducação 5.0 e Metodologias Ativas e Inovadoras
Educação 5.0 e Metodologias Ativas e Inovadoras
 
Guia de referência para copywriting em B2B
Guia de referência para copywriting em B2BGuia de referência para copywriting em B2B
Guia de referência para copywriting em B2B
 
Tecnologias digitais na educação
Tecnologias digitais na educaçãoTecnologias digitais na educação
Tecnologias digitais na educação
 
ATPCG - PAUTA 28 04 2023.pptx
ATPCG - PAUTA 28 04 2023.pptxATPCG - PAUTA 28 04 2023.pptx
ATPCG - PAUTA 28 04 2023.pptx
 
Apresentação Tese de Doutoramento
Apresentação Tese de DoutoramentoApresentação Tese de Doutoramento
Apresentação Tese de Doutoramento
 
Apresentação defesa de dissertação
Apresentação defesa de dissertaçãoApresentação defesa de dissertação
Apresentação defesa de dissertação
 
Etapas da Situação de Aprendizagem
Etapas da Situação de AprendizagemEtapas da Situação de Aprendizagem
Etapas da Situação de Aprendizagem
 
Como gerenciar o espaço físico da escola
Como gerenciar o espaço físico da escolaComo gerenciar o espaço físico da escola
Como gerenciar o espaço físico da escola
 
Sistema muscular I
Sistema muscular ISistema muscular I
Sistema muscular I
 
Pedagogia, O QUE É SER PEDAGOGO
Pedagogia, O QUE É SER PEDAGOGOPedagogia, O QUE É SER PEDAGOGO
Pedagogia, O QUE É SER PEDAGOGO
 
Breve Resumo - Novo Ensino Médio
Breve Resumo -  Novo Ensino MédioBreve Resumo -  Novo Ensino Médio
Breve Resumo - Novo Ensino Médio
 

Similaire à Curso BD Introdução SGBD

AULA 01.pptx
AULA 01.pptxAULA 01.pptx
AULA 01.pptxEizoKato
 
Banco de Dados - Conceitos
Banco de Dados - ConceitosBanco de Dados - Conceitos
Banco de Dados - Conceitosssuser69006f
 
Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1Carlos Melo
 
Introdução à Banco de Dados
Introdução à Banco de DadosIntrodução à Banco de Dados
Introdução à Banco de DadosBruno Siqueira
 
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosAula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosVitor Hugo Melo Araújo
 
Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Januário Neto
 
Apresentacao1 base de_dados
Apresentacao1 base de_dadosApresentacao1 base de_dados
Apresentacao1 base de_dadosDaniel Silva
 
Introducao banco de dados
Introducao banco de dadosIntroducao banco de dados
Introducao banco de dadosvaniakenob
 
Sistema de Base de Dados1.ppt
Sistema de Base de Dados1.pptSistema de Base de Dados1.ppt
Sistema de Base de Dados1.ppthhuu6
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERRangel Javier
 
Banco de Dados - Part01
Banco de Dados - Part01Banco de Dados - Part01
Banco de Dados - Part01Rangel Javier
 

Similaire à Curso BD Introdução SGBD (20)

AULA 01.pptx
AULA 01.pptxAULA 01.pptx
AULA 01.pptx
 
Banco de Dados - Conceitos
Banco de Dados - ConceitosBanco de Dados - Conceitos
Banco de Dados - Conceitos
 
bd.ppt
bd.pptbd.ppt
bd.ppt
 
Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1
 
Introdução à Banco de Dados
Introdução à Banco de DadosIntrodução à Banco de Dados
Introdução à Banco de Dados
 
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de DadosAula 4 - Sistemas Gerenciadores de Banco de Dados
Aula 4 - Sistemas Gerenciadores de Banco de Dados
 
BANCO DE DADOS
BANCO DE DADOSBANCO DE DADOS
BANCO DE DADOS
 
Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1
 
Apresentacao1 base de_dados
Apresentacao1 base de_dadosApresentacao1 base de_dados
Apresentacao1 base de_dados
 
Introducao banco de dados
Introducao banco de dadosIntroducao banco de dados
Introducao banco de dados
 
Sistema de Base de Dados1.ppt
Sistema de Base de Dados1.pptSistema de Base de Dados1.ppt
Sistema de Base de Dados1.ppt
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
 
Banco dedados aula001
Banco dedados aula001Banco dedados aula001
Banco dedados aula001
 
Bancodedados
BancodedadosBancodedados
Bancodedados
 
Banco aula 01
Banco aula 01Banco aula 01
Banco aula 01
 
Banco de Dados - Part01
Banco de Dados - Part01Banco de Dados - Part01
Banco de Dados - Part01
 
BDI_1_conceitos
BDI_1_conceitosBDI_1_conceitos
BDI_1_conceitos
 
1_intro.ppt
1_intro.ppt1_intro.ppt
1_intro.ppt
 
02 introducao
02 introducao02 introducao
02 introducao
 
Banco aula 01
Banco aula 01Banco aula 01
Banco aula 01
 

Curso BD Introdução SGBD

  • 1. Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI Modelagem de Dados e Projeto de Banco de Dados Aula 01 Introdução aos Sistemas de Bancos de Dados
  • 2. Introdução aos Sistemas de BD Objetivo – Apresentar uma perspectiva histórica do surgimento dos SGBD, sua importância para as empresas e os principais conceitos e características envolvidas na área de Banco de Dados. Principais tópicos – Importância dos Bancos de Dados – Uma perspectiva histórica – Arquivos versus SGBD’s – Quando usar e quando não usar SGBD – Principais Características dos SGBDs 2
  • 3. Introdução aos Sistemas de BD Principais tópicos (continuação) – Arquitetura “Three-schema” – Modelagem de Dados – Modelos de Dados (Conceituais, Lógicos e Físicos) – Matriz de Classificação de SGBDs – Síntese dos conceitos – Questões de Estudo 3
  • 4. Importância dos Bancos de Dados A competitividade das empresas depende de dados precisos e atualizados. Conforme a empresa cresce, aumenta a sua dependência por dados abundantes e complexos. Assim, ferramentas de gerenciamento, extração rápida e precisa de informações é fundamental. Solução: Sistema Gerenciador de Banco de Dados, ou SGBD. 4
  • 5. Uma perspectiva histórica No início da computação, programas tinham o único objetivo de armazenar e manipular dados. Esses programas gravavam seus dados em disco, segundo estruturas próprias. Programas que não conhecessem a estrutura dos dados não podiam utilizar os dados. Estrutura dos dados Arquivo 5
  • 6. Uma perspectiva histórica Se vários programas precisassem compartilhar os dados de um mesmo arquivo, todos os programas teriam que conhecer e manipular as mesmas estruturas. Estrutura dos dados Estrutura dos dados Arquivo 6
  • 7. Uma perspectiva histórica Se algum programa precisasse realizar alguma mudança na estrutura de dados, – Todos os programas que acessam esse mesmo arquivo tinham que ser alterados, mesmo que a alteração ocorresse em dados não manipulados pelos programas. Isso gerava um grande problema: – Garantir a unicidade das estruturas de dados entre os diversos programas devido à existência de redundâncias. 7
  • 8. Uma perspectiva histórica Para evitar esse problema, colocou-se um sistema intermediário: – Que conhece a estrutura de dados do arquivo. – Fornece apenas dados que cada programa precisa. – Armazena adequadamente os dados de cada programa. Arquivo 8
  • 9. Uma perspectiva histórica Agora, com esse sistema intermediário: – Os programas "verão" apenas os dados que lhes interessam. – Os programas não precisam conhecer os detalhes de como seus dados estão gravados fisicamente. – Os programas não precisarão ser modificados se a estrutura de dados que utilizam não for modificada. – As alterações ficam concentradas nesse sistema intermediário. 9
  • 10. Uma perspectiva histórica Com o tempo, esse sistema intermediário passou a gerenciar vários arquivos. A essa coleção de arquivos foi dado o nome de Banco de Dados e o sistema intermediário recebeu o nome de Sistema Gerenciador de Banco de Dados (SGBD). S G Arquivo B Arquivo Arquivo D 10
  • 11. Uma perspectiva histórica O primeiro SGBD comercial surgiu em 1960. Com o tempo, surgiram padrões para descrever as estruturas de dados: os modelos de dados. A descrição do banco de dados, segundo um modelo de dados é chamada de meta dados. Meta Dados Dados SGBD BD 11
  • 12. Uma perspectiva histórica Hoje, um banco de dados: – É uma coleção de dados coerente e logicamente relacionados com algum significado associado. – É projetado, construído e populado com dados que atendem a um propósito e audiência específicos. – Representa algum aspecto do mundo real, chamado de minimundo. 12
  • 13. Arquivos versus SGBD’s Processamento tradicional Vantagens do SGBD de Arquivos SGBD Definição dos dados é parte do eliminação de Meta Dados código de programas de aplicação redundâncias eliminação de Dependência entre aplicação e Independência entre redundâncias dados aplicações e dados facilidade de manutenção Representação conceitual Representação de dados em nível facilidade de através de dados e físico manutenção programas Cada visão é implementada por facilidade de Permite múltiplas visões módulos específicos consultas 13
  • 14. Uma perspectiva histórica Quando usar SGBD Quando não Usar SGBD Controle redundância Dados e aplicações simples e Controle consistência e estáveis integridade Requisitos de tempo-real não Acesso multiusuário puderem ser atendidos Compartilhamento de dados Controle acesso e segurança Controle de recuperação e restauração Consultas eficientes 14
  • 15. Principais Características dos SGBDs Apoio a múltiplas visões de dados (nível externo) Arquitetura Capacidade de abstração de dados “Three- (nível conceitual) schema” Capacidade de descrever a estrutura de armazenamento físico dos dados (nível interno) Compartilhamento de dados e processamento de transações. 15
  • 16. Arquitetura “Three-schema” “Three-schema” Independência Lógica Usuários Finais de Dados: É a capacidade de alterar Visão Externa 1 ... Visão Externa n o esquema conceitual sem NÍVEL EXTERNO ter que mudar os Mapeamento Conceitual-Externo esquemas externos ou programas de aplicação. Esquema Conceitual NÍVEL CONCEITUAL Mapeamento Conceitual-Interno Independência Física de Esquema Interno Dados: É a capacidade de alterar o esquema interno sem ter que alterar o esquema BD1 ... BDn conceitual e externo. NÍVEL INTERNO 16
  • 17. Modelos de Dados Existem modelos para diferentes níveis de abstração de representação de dados – modelos conceituais – modelos lógicos – modelos físicos • Referem-se: – organização dos arquivos de dados em disco – não são manipulados por usuários ou aplicações que acessam o BD – decisões de implementação são de cada SGBD 17
  • 18. Modelos de Dados Redes Hierárquico Relacional Entidade-Relacionamento ER - Estendido Objeto Objeto - Relacional 18
  • 19. Modelos de Dados Conceituais Representação com alto nível de abstração – modelam de forma mais natural os fatos do mundo real, suas propriedades e seus relacionamentos – são independentes de BD – preocupam-se apenas com a semântica da aplicação – exemplo: • modelo entidade-relacionamento 19
  • 20. Modelos de Dados Lógicos Representa os dados em alguma estrutura (lógica) de armazenamento de dados – também chamados de modelos de BD – dependente de BD – exemplos • modelo relacional (tabelas) • modelos hierárquico 20
  • 21. Modelos de BD (Lógicos) Apóiam: – na especificação dos dados do modelo (DDL) • dados, seus domínios e restrições – na especificação de como manipular os dados (DML) 21
  • 22. Modelos de BD (Físico) Possuem foco na: – Indexação e estrutura de arquivos – Transações e controle de concorrência – Otimização – Recuperação em casos de falhas – Mecanismos de proteção (segurança) – Partição e agrupamento de dados 22
  • 23. Transações Uma transação define uma unidade de execução que pode acessar e atualizar vários itens de dados. Uma transação executa vários comandos como se fossem apenas um comando indivisível (atômico). Os vários comandos são delimitados pelas declarações begin transaction e (commit ou rollback): – begin transaction(x) • Update(a) O SGBD considera este bloco • Delete(b) como um único comando, • Insert(c) atômico e indivisível – commit(x) 23
  • 24. Transações Transações terminadas com commit, em caso de sucesso, efetivam todas as modificações realizadas dentro dela. Transação terminadas com rollback, desfazem todas as modificações realizadas dentro dela. – O banco de dados ficará no mesmo estado que estava antes do início da transação. O camando rollback pode ser chamado explicitamente pelo programador ou pelo SGBD quando ocorre algum erro. 24
  • 25. Transações commit Confirmando Confirmada begin transaction Ativa Cancelando Cancelada rollback 25
  • 26. Transações Um SGBD deve controlar a execução concorrente de transações para assegurar que o estado do banco de dados permaneça consistente. A seriação é uma propriedade que garante que independente da ordem dos acessos aos dados feitos pelas transações, o resultado final será o mesmo. 26
  • 27. Transações Execução das transações T1 e T2 em seqüência: A B A B A B 150 200 150 100 150 0 300 150 200 150 0 100 300 150 T1 T2 1 read (A); 7 read (A); 2 A:=A-50; 8 A:=A-150; 3 write(A); 9 write(A); 4 read(B); 10 10 read(B); 5 B:=B+50; 11 11 B:=B+150; 6 write (B); 12 12 write (B); 27
  • 28. Transações Problema que ocorre sem a seriação no controle de transação: – troca de contexto antes do write (A) – queda do banco antes de write (B) A B A B A B 150 200 150 100 200 50 300 150 200 150 50 100 300 150 T1 T2 1 read (A); 3 read (A); 2 A:=A-50; 4 A:=A-150; 6 write(A); 5 write(A); 7 read(B); 10 10 read(B); 8 B:=B+50; 11 11 B:=B+150; 9 write (B); 12 12 write (B); 28
  • 29. Transações T1 T2 T1 T2 1 read (A); 7 read (A); 1 read (A); 3 read (A); 2 A:=A-50; 8 A:=A-150; 2 A:=A-50; 4 A:=A-150; 3 write(A); 9 write(A); 6 write(A); 5 write(A); 4 read(B); 10 10 read(B); 7 read(B); 10 10 read(B); 5 B:=B+50; 11 11 B:=B+150; 8 B:=B+50; 11 11 B:=B+150; 6 write (B); 12 12 write (B); 9 write (B); 12 12 write (B); A B Resultados finais A B diferentes 0 300 150 300 29
  • 30. Transações Transação devem possuir um conjunto de propriedades que é normalmente referido como propriedades ACID: – Atomicidade – Consistência – Isolamento – Durabilidade 30
  • 31. Transações Atomicidade – Garante que todas as operações na transação serão executadas ou nenhuma será. – Isto evita que falha ocorridas, possam deixar o banco de dados inconsistentes. Consistência – Possui dois aspectos: A consistência do banco dados e a consistência da própria transação. – Uma transação não deve violar as restrições de integridade definidas para o banco de dados. 31
  • 32. Transações Isolamento – Significa que, mesmo no caso de transações executadas concorrentemente, o resultado final é igual ao obtido com a execução isolada de cada uma delas. – A observância desta propriedade das transações pelos SGBDs impede a ocorrência dos problemas de acesso a dados. Durabilidade – Significa que os resultados de uma transação, caso ela seja concluída com sucesso, devem ser persistentes. Mesmo se depois houver falha no sistema. 32
  • 33. Transações externas Gerenciador de SGBD Transações Escalonador Gerenciador de BD Recuperação Index Gerenciador de Cache Memória Log Memória Memória Secundária Primária 33
  • 34. Matriz de Classificação de SGBDs* SGBDs* Complexas Consultas OBJETO- RELACIONAL RELACIONAL Consultas SISTEMA DE Simples LINGUAGEM DE ARQUIVOS PERSISTÊNCIA Dados Simples Dados Complexos * Baseado no livro: Object Relational DBMS by Stonebraker and Moore, Morgan Kaufmann, 1996 34
  • 35. Síntese dos conceitos Banco de dados (BD): – conjunto de dados integrados que por objetivo atender a uma comunidade de usuários. Modelo de dados: – descrição formal das estruturas de dados para representação de um BD; com suas respectivas restrições e linguagem para criação e manipulação de dados. Sistema Gerenciador de banco de dados (SGBD): – software que incorpora as funções de definição, recuperação e alteração de dados em um BD. 35
  • 36. Síntese dos conceitos Modelagem de dados: – é a ação de representar/abstrair dados do minimundo com o objetivo de criar projetos conceituais e lógicos de um BD. – alguns autores incluem os projetos físicos como parte da modelagem de dados, pelo fato de que as otimizações são oriundas de análises do comportamento dinâmico do BD. 36
  • 37. Síntese dos conceitos Projeto conceitual BD: – ação que produz o esquema de dados abstratos que descreve a estrutura de um BD de forma independente de um SGBD (esquema conceitual). Projeto lógico BD: – ação que produz o esquema lógico de dados que representa a estrutura de dados de um BD em acordo com o modelo de dados subjacente a um SGBD. 37
  • 38. Síntese dos conceitos Projeto físico BD: – ação que produz o esquema físico de dados a partir do esquema de lógico de dados com a adição das estratégias de otimização para manipulação das estruturas de dados. As estratégias de otimização são dependentes dos fabricantes dos SGBDs e de suas versões. 38
  • 39. Questões de Estudo 1. Quando faz sentido utilizar um SGBD ao invés de simplesmente utilizar o sistema de arquivos? Quando não faz sentido utilizar um SGBD? 2. O que é independência lógica de dados e por que esse conceito é importante? 3. Explique as diferenças entre independência lógica de dados e independência física de dados. 4. Explique as diferenças entre esquemas externos, lógico e físico. Como esses conceitos se relacionam com os conceitos de independência de dados? 5. Quais são as responsabilidades de um Projetista de Banco de Dados e do DBA? 39
  • 40. Questões de Estudo 6. O Sr. Avarento quer guardar informações de seus funcionários (nome, endereço, momentos preocupantes). O volume de dados o forçou a decidir comprar um SGBD. Para economizar, ele quer comprar um que tenha apenas as características necessárias para executar uma aplicação stand-alone em seu PC. O Sr. Avarento não quer compartilhar essa lista com ninguém. Indique quais das seguintes características de SGBDs o Sr. Avarento necessita? Justifique. – Segurança. – Controle de concorrência. – Recuperação após falhas. – Mecanismos de visão. – Linguagem de consulta. 40
  • 41. Questões de Estudo 7. Descreva os passos de um projeto de BD. 8. Quais dos seguintes itens exercem papel importante na representação de informações do mundo real num BD? Comente. – Linguagem de definição de dados. – Linguagem de manipulação de dados. – Cachê. – Modelo de dados. 9. O que é transação? 10. Por que o SGBD entrelaça as ações de diferentes transações, ao invés de executá-las seqüencialmente? 41
  • 42. Introdução aos Sistemas de Bancos de Dados Referências Bibliográficas 1. Elmasri, R.; Navathe, S. B. [Trad.]. Sistemas de bancos de dados. Traduzido do original: FUNDAMENTALS OF DATABASE SYSTEMS. São Paulo: Pearson(Addison Wesley), 2005. 724 p. ISBN: 85-88639-17-3. 2. Korth, H.; Silberschatz, A. Sistemas de Bancos de Dados. 3a. Edição, Makron Books, 1998. 3. Raghu Ramakrishnan e Johannes Gehrke, Database Management Systems, Second Edition, McGraw-Hill, 2000. 4. Teorey, T.; Lightstone, S.; Nadeau, T. Projeto e modelagem de bancos de dados. Editora Campus, 2007. Referências Web 1. Takai, O.K; Italiano, I.C.; Ferreira, J.E. Introdução a Banco de Dados. Apostila disponível no site: http://www.ime.usp.br/~jef/apostila.pdf. (07/07/2005). 42
  • 43. Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI Obrigado! Prof. Osvaldo Kotaro Takai otakai@gmail.com