SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

BPMN - Modelagem de negocio
BPMN - Modelagem de negocioBPMN - Modelagem de negocio
BPMN - Modelagem de negocioEduardo Greco
 
Aula 04 coneitos de auditoria de sistemas
Aula 04   coneitos de auditoria de sistemasAula 04   coneitos de auditoria de sistemas
Aula 04 coneitos de auditoria de sistemassorayaNadja
 
SPSNYC2019 - What is Common Data Model and how to use it?
SPSNYC2019 - What is Common Data Model and how to use it?SPSNYC2019 - What is Common Data Model and how to use it?
SPSNYC2019 - What is Common Data Model and how to use it?Nicolas Georgeault
 
Unidade iv.2 gestão de pedidos
Unidade iv.2   gestão de pedidosUnidade iv.2   gestão de pedidos
Unidade iv.2 gestão de pedidosDaniel Moura
 
Mejores prácticas para migrar sus bases de datos a AWS
Mejores prácticas para migrar sus bases de datos a AWSMejores prácticas para migrar sus bases de datos a AWS
Mejores prácticas para migrar sus bases de datos a AWSAmazon Web Services LATAM
 
Introdução ao Data Warehouse
Introdução ao Data WarehouseIntrodução ao Data Warehouse
Introdução ao Data WarehouseMessias Batista
 
Database Technology- ITM
Database Technology- ITMDatabase Technology- ITM
Database Technology- ITMNilofar Nilue
 
Data Architecture for Solutions.pdf
Data Architecture for Solutions.pdfData Architecture for Solutions.pdf
Data Architecture for Solutions.pdfAlan McSweeney
 
Build a Case for BI with ROI Figures
Build a Case for BI with ROI FiguresBuild a Case for BI with ROI Figures
Build a Case for BI with ROI FiguresAnalytics8
 
Infra-estrutura de TI
Infra-estrutura de TIInfra-estrutura de TI
Infra-estrutura de TIemmonks
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de ConfiguraçãoWagner Zaparoli
 
Apresentação Banco de Dados - Caché
Apresentação Banco de Dados - CachéApresentação Banco de Dados - Caché
Apresentação Banco de Dados - CachéRenzo Petri
 

La actualidad más candente (20)

BPMN - Modelagem de negocio
BPMN - Modelagem de negocioBPMN - Modelagem de negocio
BPMN - Modelagem de negocio
 
Aula 04 coneitos de auditoria de sistemas
Aula 04   coneitos de auditoria de sistemasAula 04   coneitos de auditoria de sistemas
Aula 04 coneitos de auditoria de sistemas
 
SGBD
SGBDSGBD
SGBD
 
SPSNYC2019 - What is Common Data Model and how to use it?
SPSNYC2019 - What is Common Data Model and how to use it?SPSNYC2019 - What is Common Data Model and how to use it?
SPSNYC2019 - What is Common Data Model and how to use it?
 
Unidade iv.2 gestão de pedidos
Unidade iv.2   gestão de pedidosUnidade iv.2   gestão de pedidos
Unidade iv.2 gestão de pedidos
 
Mejores prácticas para migrar sus bases de datos a AWS
Mejores prácticas para migrar sus bases de datos a AWSMejores prácticas para migrar sus bases de datos a AWS
Mejores prácticas para migrar sus bases de datos a AWS
 
Bancodedados
BancodedadosBancodedados
Bancodedados
 
Introdução ao Data Warehouse
Introdução ao Data WarehouseIntrodução ao Data Warehouse
Introdução ao Data Warehouse
 
Aula 6 - Qualidade de Software
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
 
Database Technology- ITM
Database Technology- ITMDatabase Technology- ITM
Database Technology- ITM
 
Data Architecture for Solutions.pdf
Data Architecture for Solutions.pdfData Architecture for Solutions.pdf
Data Architecture for Solutions.pdf
 
Build a Case for BI with ROI Figures
Build a Case for BI with ROI FiguresBuild a Case for BI with ROI Figures
Build a Case for BI with ROI Figures
 
Mdm
MdmMdm
Mdm
 
Introdução a Bancos de Dados
Introdução a Bancos de DadosIntrodução a Bancos de Dados
Introdução a Bancos de Dados
 
Classificação
ClassificaçãoClassificação
Classificação
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Cadeia de Valor.pptx
Cadeia de Valor.pptxCadeia de Valor.pptx
Cadeia de Valor.pptx
 
Infra-estrutura de TI
Infra-estrutura de TIInfra-estrutura de TI
Infra-estrutura de TI
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de Configuração
 
Apresentação Banco de Dados - Caché
Apresentação Banco de Dados - CachéApresentação Banco de Dados - Caché
Apresentação Banco de Dados - Caché
 

Similar a 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
 
Banco de dadosBanco de dadosBanco de dados
Banco de dadosBanco de dadosBanco de dadosBanco de dadosBanco de dadosBanco de dados
Banco de dadosBanco de dadosBanco de dadosDanielRibeiro136663
 

Similar a 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
 
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
 
Banco de dadosBanco de dadosBanco de dados
Banco de dadosBanco de dadosBanco de dadosBanco de dadosBanco de dadosBanco de dados
Banco de dadosBanco de dadosBanco de dados
 

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