SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
Bancos de dados para
    Bibliotecários



Tudo o que você sempre quis saber sobre
      bancos de dados relacionais
     mas tinha medo de perguntar
                  ou
            O ABC do SQL
Objetivo
●   O objetivo deste mini-curso é mostrar na
    teoria e na prática as diferenças entre as
    visões que bibliotecários e analistas de
    sistemas têm sobre bancos de dados,
    contrastando as características de padrões
    como MARC e sistemas bibliográficos como
    o CDS/ISIS com os conceitos e recursos dos
    principais sistemas de bancos de dados
    utilizados no mercado, inclusive na
    automação de bibliotecas.
Apresentação
●   Luciano Ramalho
    –   Aluno do último ano de Biblioteconomia
          (ECA/USP)
    –   Profissional de Tecnologia de Informação com 25
          anos de experiência
         ●   Desenvolvedor de sistemas na BIREME
         ●   Diretor Técnico do BOL na Abril S/A (1994-1996)
         ●   Consultor especializado em sistemas de
              gerenciamento de conteúdo para portais Web
              –   Incubadora Virtual Fapesp
              –   IDGNow, AOL Brasil, UOL, BOL, Serpro, Universidade
                    Metodista etc...
         ●   Colunista da Info Exame (1991-1994)
Conceitos comuns
●   Entidade                    ●   Registro
    –   Pessoa ou coisa do          –   Coleção de campos
        mundo real cujos                descrevendo uma
        dados se pretende               entidade
        armazenar e
        recuperar (ex: aluno,
        produto, vôo)

●   Atributo                    ●   Campo
    –   Dado a respeito de          –   Sequência de
        uma entidade (ex:               caracteres, valor
        data de nascimento,             numérico, data, hora
        preço, tipo do avião)           ou outro tipo de dado
Estruturas de dados
                                          Terminologia de BD relacional

                                                                   bd_opac
                                banco de dados                livros             autores
                                                                       usuários
                                                                        livros
                           arquivo / tabela
Fonte: Laudon & Laudon




                               registro

                           campo
                                                                                     código ASCII do
                          byte                                     00110100            caractere “4”

                         bit                                              0
Estruturas de dados:
vale notar que...
●   Na bibliografia básica de TI, não se encontra
    a idéia de sub-campos
●   Nos sistemas baseados em arquivos, não
    existe o conceito de
    banco de dados
●   Uma coleção de
    registros pode ser
    um arquivo ou
    uma tabela
●   O cilindro simboliza
    banco de dados
Tipos de Bancos de Dados
●   Hierarquicos
                                        obsoletos
●   Em rede (relacionamentos em rede)
●   Relacionais
●   “Pós-relacionais”
●   Orientados a objetos
●   Semiestruturados
    –   Ex: CDS/ISIS
Modelo relacional
●   Concebido por Edgar F. Codd, pesquisador
    britânico trabalhando na IBM em 1970
●   O nome “relacional” vem do termo “relação”,
    sinônimo aproximado de “lista” ou “tabela”
    –   e não do relacionamento entre tabelas, embora
        isto seja outra característica marcante do modelo
●   Jargão dos teóricos de BD
    –   relação = tabela
    –   tupla = registro
    –   atributo = campo
Vantagens do modelo relacional
●   Sólida fundação matemática
    –   limites teóricos bem conhecidos
●   Flexibilidade
    –   comprovada em mais de 30 anos de uso em
        uma imensa variedade de aplicações
●   Padronização
    –   linguagem SQL
    –   normas ISO/ANSI
    –   razoável compatibilidade entre produtos
●   Penetração de mercado
    –   grande disponibilidade de profissionais,
        bibliografia, cursos, ferramentas etc.
Linguagem SQL
●   Histórico
    –   Desenvolvida pela IBM na década de 1970
         ●   aplicação pragmática do modelo relacional
●   Dialetos
    –   Além da IBM, centenas de empresas
        desenvolveram variantes da linguagem SQL
        para incorporar em seus produtos
    –   ISO/ANSI SQL 1989, 1992
●   DDL: Data Definition Language
    –   linguagem de definição de dados
●   DML: Data Manipulation Language
    –   linguagem de manipulação de dados
DDL: criar tabelas e índices
●   Definir campos
    –   tipos de dados
    –   regras (NOT NULL, AUTO INCREMENT)
●   Definir índices
    –   campos simples
    –   campos combinados
    –   campos texto (alguns GBDR)
    –   campos de valor único (UNIQUE)
    –   chave primária
DDL: exemplo
Tipos de dados
●   CHAR
●   VARCHAR
●   TEXT
●   DATE
●   TIMESTAMP
●   INTEGER
●   FLOAT
●   BLOB
●   etc.

    http://dev.mysql.com/doc/refman/4.1/pt/reference.html
Operações básicas
           no modelo relacional
●   Projetar
●   Selecionar
●   Vincular
●   Em SQL:
    –   SELECT matricula, nome, curso
        FROM alunos, cursos
        WHERE alunos.ano_ingresso >= 2000
        AND alunos.cod_curso = cursos.cod_curso
Projetar
●   Selecionar campos de uma
    relação para produzir uma
    nova relação
Selecionar
●   Selecionar registros de
    uma relação para produzir
    uma nova relação
Vincular
●   Extrair campos de duas ou mais relações
    diferentes para produzir uma nova relação
●   Os registros são vinculados (relacionados) por
    um campo-chave
DML: selecionar registros
Software para
    bancos de dados relacionais
●   Gerenciadores de Banco de Dados
    Relacionais (GBDR)
    –   arquitetura cliente-servidor
    –   as estações de trabalho são os clientes
    –   um computador mais poderoso é o servidor
●   SQL Engines
    –   “motores” para embutir em outros softwares
●   Aplicativos de acesso
    –   softwares para rodar em estação de trabalho,
        com base de dados local ou remota (cliente-
        servidor)
GBDR do mercado
●   Proprietários
    –   Oracle
    –   Microsoft SQL Server
    –   IBM DB2
    –   Sybase
    –   etc. (dezenas)
●   Livres
    –   MySQL
    –   PostgreSQL
    –   Firebird
    –   etc. (poucos)
Vantagens do gerenciador de
          banco de dados
●   Independência entre dados e aplicações
    –   maior flexibilidade para uso dos dados
●   Segurança
    –   controles de acesso centralizados no GBDR
●   Desempenho
    –   suporte a um grande número de clientes
        consultando, inserindo e modificando dados
        simultaneamente
●   Integridade
    –   controles de consistência
    –   ex.: proibido deletar um curso se houverem
        alunos inscritos
Aplicativos de acesso
●   Servem para gerar relatórios e formulários de
    acesso a bancos de dados locais ou remotos
●   Localmente, armazenam dados em um
    arquivo, acessado através de um “SQL
    Engine”
●   Remotamente, podem acessar todos os GBDR
    importantes
●   Exemplos desta categoria:
    –   Microsoft Access
         ●   parte do MS Office Professional
    –   OpenOffice Base
         ●   parte do OpenOffice.org 2.0
Paradigmas de armazenagem
             de dados
●   Armazenagem baseada em arquivos
    –   os programas clientes acessam diretamente os
          arquivos de dados
         ●   CDS/ISIS
         ●   dBase, Clipper, FoxPro
         ●   Microsoft Access, SQLite
         ●   aplicações de mainframe (~ 1960-1980)
●   Armazenagem baseada em gerenciadores
    bancos de dados
    –   os programas clientes acessam os dados através de
          um servidor de banco de dados
    –   padrão atual do mercado de informática
SQL Engines
●   “Motores” de bancos de dados para embutir
    em outros programas
    –   ex: agenda de contatos
●   SQLite
●   Jet: o motor do MS Access
●   HSQL: o motor do OpenOffice Base
●   Apache Derby
Desvantagens do
              modelo relacional
●   Dificuldade de lidar com      ...seria interessante notar o absurdo 
                                    ...seria interessante notar o absurdo 
                                  do padrão do MRN [Modelo 
    campos compostos e              do padrão do MRN [Modelo 
                                  Relacional Normalizado]: se um 
                                    Relacional Normalizado]: se um 
    campos multivalorados         livro tiver 3 autores e 5 assuntos, 
                                    livro tiver 3 autores e 5 assuntos, 
                                  será necessário representá­lo no 
●   Dificuldade de lidar com        será necessário representá­lo no 
                                  MRN por meio de uma linha na 
                                    MRN por meio de uma linha na 
    hierarquias                   tabela Livros, mais 3 na Nomes­de­
                                    tabela Livros, mais 3 na Nomes­de­
    –   categorias, relações      autores (que implementaria o 
                                    autores (que implementaria o 
                                  atributo multivalorado 
                                    atributo multivalorado 
        genéricas ou partitivas   correspondente) e mais 5 na de 
                                    correspondente) e mais 5 na de 
    –   sub-campos                Assuntos, num total de 9 linhas em 
                                    Assuntos, num total de 9 linhas em 
●   Rigidez das estruturas        três tabelas distintas [...].
                                    três tabelas distintas [...].
    de dados                      V. W. Setzer, Banco de Dados, 
                                   V. W. Setzer, Banco de Dados, 
                                  2005
                                   2005
Tendências
●   Redução dos sistemas baseados em arquivo
    a nichos muito específicos

●   Longevidade do modelo relacional

●   Crescimento do modelo semiestruturado
GBD semiestruturados

● GT.M               ● Apache CouchDB
● MongoDB            ● Google Datastore

● Neo4j              ● Amazon SimpleDB

● ThruDB             ● Apache Cassandra

● Hypertable         ● Hadoop Hbase

● Riak               ● Redis




    Quase todos são projetos recentes
       (iniciados após o ano 2000)
Referências
●   Laudon, Kenneth. Sistemas de informacao  ̧ ̃
    gerenciais administrando a empresa digital. 5th
    ed. Rio de Janeiro: Pearson Prentice Hall, 2005.
●   Setzer, V. Bancos de dados aprenda o que sao,  ̃
    melhore seu conhecimento, construa os seus.
               ̃                  ̈
    1st ed. Sao Paulo: Edgard Blucher, 2005.
●   Abiteboul, S., Buneman, P., Suciu, D. - Data on
    the web: from relations to semistructured data
    and XML, San Francisco: Morgan Kaufmann,
    1999.
Exercício: Dicas do Alex
●   Procure os títulos abaixo usando o
    PHPMyAdmin
    –   Heuser, Carlos Alberto - Projeto de Banco de
          Dados
    –   Elmasri, R. / Navathe, S. - Sistemas de Banco de
          Dados




  Por sinal, ambos são ótimas referências
Para quem quer estudar o modelo relacional

Mais conteúdo relacionado

Mais procurados

Introdução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de DadosIntrodução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de Dadosinfo_cimol
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDVinicius Buffolo
 
Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dadosEdgar Stuart
 
Banco de Dados - Part01
Banco de Dados - Part01Banco de Dados - Part01
Banco de Dados - Part01Rangel Javier
 
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Leinylson Fontinele
 
Apresentação Final de Banco de Dados
Apresentação Final de Banco de DadosApresentação Final de Banco de Dados
Apresentação Final de Banco de Dadossamlobo
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoRademaker Siena
 
Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Alexandre Duarte
 
Aula 1 - Introdução ao Conteúdo de Banco de Dados
Aula 1 - Introdução ao Conteúdo de Banco de DadosAula 1 - Introdução ao Conteúdo de Banco de Dados
Aula 1 - Introdução ao Conteúdo de Banco de DadosHenrique Nunweiler
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Vitor Hugo Melo Araújo
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquicorosimaracorsino
 
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)Leinylson Fontinele
 
Psi-mod-13
Psi-mod-13Psi-mod-13
Psi-mod-13diogoa21
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01 Léo Dias
 
Sistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dadosSistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dadosJuh Souza
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosOrlando Junior
 

Mais procurados (20)

Introdução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de DadosIntrodução a modelagem de dados - Banco de Dados
Introdução a modelagem de dados - Banco de Dados
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Html Básico
Html BásicoHtml Básico
Html Básico
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBD
 
Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dados
 
Banco de Dados - Part01
Banco de Dados - Part01Banco de Dados - Part01
Banco de Dados - Part01
 
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
 
Apresentação Final de Banco de Dados
Apresentação Final de Banco de DadosApresentação Final de Banco de Dados
Apresentação Final de Banco de Dados
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01
 
Aula 1 - Introdução ao Conteúdo de Banco de Dados
Aula 1 - Introdução ao Conteúdo de Banco de DadosAula 1 - Introdução ao Conteúdo de Banco de Dados
Aula 1 - Introdução ao Conteúdo de Banco de Dados
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER
 
Modelagem de dados
Modelagem de dados Modelagem de dados
Modelagem de dados
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquico
 
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)Banco de Dados II  Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
Banco de Dados II Aula 02 - Modelagem de Dados (Definição, Modelo conceitual)
 
Psi-mod-13
Psi-mod-13Psi-mod-13
Psi-mod-13
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
Sistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dadosSistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dados
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 

Destaque

Bancos de Dados para Bibliotecários
Bancos de Dados para BibliotecáriosBancos de Dados para Bibliotecários
Bancos de Dados para BibliotecáriosLuciano Ramalho
 
Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)
Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)
Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)Gleyciana Garrido
 
Sistema de Gerenciamento de Biblioteca
Sistema de Gerenciamento de BibliotecaSistema de Gerenciamento de Biblioteca
Sistema de Gerenciamento de BibliotecaRonaiza Card
 
Softwares para bibliotecas: opções gratuitas/livres e critérios para seleção
Softwares para bibliotecas: opções gratuitas/livres e critérios para seleçãoSoftwares para bibliotecas: opções gratuitas/livres e critérios para seleção
Softwares para bibliotecas: opções gratuitas/livres e critérios para seleçãoLígia 'lilly' Freitas
 
Banco de Dados Multimidia
 Banco de Dados Multimidia Banco de Dados Multimidia
Banco de Dados MultimidiaFatinha de Sousa
 
Campus M21 | Medienpraxis III: Online / Social Media - Vorlesung II
Campus M21 | Medienpraxis III: Online / Social Media - Vorlesung IICampus M21 | Medienpraxis III: Online / Social Media - Vorlesung II
Campus M21 | Medienpraxis III: Online / Social Media - Vorlesung IIDaniel Rehn
 
SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...
SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...
SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...dbi services
 
Semana 5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência
Semana  5: Caracteres, tipos char e int, tipos de valor vs. tipos de referênciaSemana  5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência
Semana 5: Caracteres, tipos char e int, tipos de valor vs. tipos de referênciaManuel Menezes de Sequeira
 
ECM-Webinar: Alfresco Migration Bestandsdaten Teil 2
ECM-Webinar: Alfresco Migration Bestandsdaten Teil 2ECM-Webinar: Alfresco Migration Bestandsdaten Teil 2
ECM-Webinar: Alfresco Migration Bestandsdaten Teil 2dmc digital media center GmbH
 
Otimizando aplicações Zend Framework - Tchelinux
Otimizando aplicações Zend Framework - TchelinuxOtimizando aplicações Zend Framework - Tchelinux
Otimizando aplicações Zend Framework - TchelinuxElton Minetto
 
Atelier agile 2009_09_27
Atelier agile 2009_09_27Atelier agile 2009_09_27
Atelier agile 2009_09_27domidp
 
Lean Kanban FR 2013 - Vin et kanban
Lean Kanban FR 2013 - Vin et kanbanLean Kanban FR 2013 - Vin et kanban
Lean Kanban FR 2013 - Vin et kanbanJulien Fallet
 
Dominator: Rectifieuse plane de profils à CN et avance lente de Jones & Shipman
Dominator: Rectifieuse plane de profils à CN et avance lente de Jones & ShipmanDominator: Rectifieuse plane de profils à CN et avance lente de Jones & Shipman
Dominator: Rectifieuse plane de profils à CN et avance lente de Jones & Shipmanjonesshipman
 
Què ha fet ICV-EUiA amb el meu vot?
Què ha fet ICV-EUiA amb el meu vot?Què ha fet ICV-EUiA amb el meu vot?
Què ha fet ICV-EUiA amb el meu vot?iniciativaverds
 
Présentation LMAX Disruptor So@t
Présentation LMAX Disruptor So@tPrésentation LMAX Disruptor So@t
Présentation LMAX Disruptor So@tFrancois Ostyn
 

Destaque (20)

Bancos de Dados para Bibliotecários
Bancos de Dados para BibliotecáriosBancos de Dados para Bibliotecários
Bancos de Dados para Bibliotecários
 
Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)
Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)
Projeto de Banco de Dados: Gerenciamento de Locadora de Vídeo (parte escrita)
 
Sistema de Gerenciamento de Biblioteca
Sistema de Gerenciamento de BibliotecaSistema de Gerenciamento de Biblioteca
Sistema de Gerenciamento de Biblioteca
 
Presentation nantes ecocampus 2 upc d_ferrer
Presentation nantes ecocampus 2 upc d_ferrerPresentation nantes ecocampus 2 upc d_ferrer
Presentation nantes ecocampus 2 upc d_ferrer
 
Er biblioteca
Er bibliotecaEr biblioteca
Er biblioteca
 
Softwares para bibliotecas: opções gratuitas/livres e critérios para seleção
Softwares para bibliotecas: opções gratuitas/livres e critérios para seleçãoSoftwares para bibliotecas: opções gratuitas/livres e critérios para seleção
Softwares para bibliotecas: opções gratuitas/livres e critérios para seleção
 
Banco de Dados Multimidia
 Banco de Dados Multimidia Banco de Dados Multimidia
Banco de Dados Multimidia
 
Campus M21 | Medienpraxis III: Online / Social Media - Vorlesung II
Campus M21 | Medienpraxis III: Online / Social Media - Vorlesung IICampus M21 | Medienpraxis III: Online / Social Media - Vorlesung II
Campus M21 | Medienpraxis III: Online / Social Media - Vorlesung II
 
SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...
SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...
SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...
 
Tutorialphpmyadmin
TutorialphpmyadminTutorialphpmyadmin
Tutorialphpmyadmin
 
Semana 5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência
Semana  5: Caracteres, tipos char e int, tipos de valor vs. tipos de referênciaSemana  5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência
Semana 5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência
 
ECM-Webinar: Alfresco Migration Bestandsdaten Teil 2
ECM-Webinar: Alfresco Migration Bestandsdaten Teil 2ECM-Webinar: Alfresco Migration Bestandsdaten Teil 2
ECM-Webinar: Alfresco Migration Bestandsdaten Teil 2
 
Einführung in SCRUM
Einführung in SCRUMEinführung in SCRUM
Einführung in SCRUM
 
Otimizando aplicações Zend Framework - Tchelinux
Otimizando aplicações Zend Framework - TchelinuxOtimizando aplicações Zend Framework - Tchelinux
Otimizando aplicações Zend Framework - Tchelinux
 
Atelier agile 2009_09_27
Atelier agile 2009_09_27Atelier agile 2009_09_27
Atelier agile 2009_09_27
 
Lean Kanban FR 2013 - Vin et kanban
Lean Kanban FR 2013 - Vin et kanbanLean Kanban FR 2013 - Vin et kanban
Lean Kanban FR 2013 - Vin et kanban
 
Dominator: Rectifieuse plane de profils à CN et avance lente de Jones & Shipman
Dominator: Rectifieuse plane de profils à CN et avance lente de Jones & ShipmanDominator: Rectifieuse plane de profils à CN et avance lente de Jones & Shipman
Dominator: Rectifieuse plane de profils à CN et avance lente de Jones & Shipman
 
Què ha fet ICV-EUiA amb el meu vot?
Què ha fet ICV-EUiA amb el meu vot?Què ha fet ICV-EUiA amb el meu vot?
Què ha fet ICV-EUiA amb el meu vot?
 
Présentation LMAX Disruptor So@t
Présentation LMAX Disruptor So@tPrésentation LMAX Disruptor So@t
Présentation LMAX Disruptor So@t
 
MySQL Query Optimization
MySQL Query OptimizationMySQL Query Optimization
MySQL Query Optimization
 

Semelhante a Bancos de Dados para Bibliotecarios

PostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfPostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfArleiEvaristo
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoLuis Ferreira
 
Introdução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoIntrodução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoDaniel Brandão
 
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosApresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosMozart Dornelles Claret
 
Aula8.pptx
Aula8.pptxAula8.pptx
Aula8.pptxacsme
 
Banco de dados orientados a objetos
Banco de dados orientados a objetos Banco de dados orientados a objetos
Banco de dados orientados a objetos Raquel Machado
 
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Banco de Dados NoSQL - Disciplina: Sistemas DistribuídosBanco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Banco de Dados NoSQL - Disciplina: Sistemas DistribuídosJoão Helis Bernardo
 
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017Renato Groff
 
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
 

Semelhante a Bancos de Dados para Bibliotecarios (20)

PostgreSQL-Prático.pdf
PostgreSQL-Prático.pdfPostgreSQL-Prático.pdf
PostgreSQL-Prático.pdf
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informação
 
Introdução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoIntrodução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel Brandão
 
Tema3.pptx
Tema3.pptxTema3.pptx
Tema3.pptx
 
Tema3.pptx
Tema3.pptxTema3.pptx
Tema3.pptx
 
Slide da aula 04
Slide da aula 04Slide da aula 04
Slide da aula 04
 
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosApresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
 
BANCO DE DADOS.pptx
BANCO DE DADOS.pptxBANCO DE DADOS.pptx
BANCO DE DADOS.pptx
 
Bd ii material
Bd ii   materialBd ii   material
Bd ii material
 
Bancos de dados NoSQL (Not only sql)
Bancos de dados NoSQL (Not only sql)Bancos de dados NoSQL (Not only sql)
Bancos de dados NoSQL (Not only sql)
 
Data WareHOuse
Data WareHOuseData WareHOuse
Data WareHOuse
 
Aula8.pptx
Aula8.pptxAula8.pptx
Aula8.pptx
 
Banco de dados orientados a objetos
Banco de dados orientados a objetos Banco de dados orientados a objetos
Banco de dados orientados a objetos
 
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Banco de Dados NoSQL - Disciplina: Sistemas DistribuídosBanco de Dados NoSQL - Disciplina: Sistemas Distribuídos
Banco de Dados NoSQL - Disciplina: Sistemas Distribuídos
 
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
NoSQL para Desenvolvedores .NET - Developers-SP - Setembro-2017
 
Bancos de dados NoSQL
Bancos de dados NoSQLBancos de dados NoSQL
Bancos de dados NoSQL
 
Apresentação Banco de Dados - Caché
Apresentação Banco de Dados - CachéApresentação Banco de Dados - Caché
Apresentação Banco de Dados - Caché
 
Xml pucminas2013
Xml pucminas2013Xml pucminas2013
Xml pucminas2013
 
Banco de Dados - Aula 02
Banco de Dados - Aula 02Banco de Dados - Aula 02
Banco de Dados - Aula 02
 
Banco de dados aula 2
Banco de dados  aula 2Banco de dados  aula 2
Banco de dados aula 2
 

Mais de Luciano Ramalho

Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem PythonLuciano Ramalho
 
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Luciano Ramalho
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Luciano Ramalho
 
Encapsulamento com descritores
Encapsulamento com descritoresEncapsulamento com descritores
Encapsulamento com descritoresLuciano Ramalho
 
Arduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoArduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoLuciano Ramalho
 
Objetos Pythonicos - compacto
Objetos Pythonicos - compactoObjetos Pythonicos - compacto
Objetos Pythonicos - compactoLuciano Ramalho
 
Iteraveis e geradores em Python
Iteraveis e geradores em PythonIteraveis e geradores em Python
Iteraveis e geradores em PythonLuciano Ramalho
 
Encapsulamento com Descritores em Python
Encapsulamento com Descritores em PythonEncapsulamento com Descritores em Python
Encapsulamento com Descritores em PythonLuciano Ramalho
 
Python: Iteraveis, geradores etc
Python: Iteraveis, geradores etcPython: Iteraveis, geradores etc
Python: Iteraveis, geradores etcLuciano Ramalho
 
Jython no JavaOne Latin America 2011
Jython no JavaOne Latin America 2011Jython no JavaOne Latin America 2011
Jython no JavaOne Latin America 2011Luciano Ramalho
 
Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Luciano Ramalho
 
OO em Python sem sotaque
OO em Python sem sotaqueOO em Python sem sotaque
OO em Python sem sotaqueLuciano Ramalho
 
Python, a arma secreta do Google
Python, a arma secreta do GooglePython, a arma secreta do Google
Python, a arma secreta do GoogleLuciano Ramalho
 

Mais de Luciano Ramalho (20)

Wiki-wiki S/A
Wiki-wiki S/AWiki-wiki S/A
Wiki-wiki S/A
 
Mongodb: agregação
Mongodb: agregaçãoMongodb: agregação
Mongodb: agregação
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)
 
Encapsulamento com descritores
Encapsulamento com descritoresEncapsulamento com descritores
Encapsulamento com descritores
 
Iteraveis e geradores
Iteraveis e geradoresIteraveis e geradores
Iteraveis e geradores
 
Arduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoArduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojo
 
Objetos Pythonicos - compacto
Objetos Pythonicos - compactoObjetos Pythonicos - compacto
Objetos Pythonicos - compacto
 
Iteraveis e geradores em Python
Iteraveis e geradores em PythonIteraveis e geradores em Python
Iteraveis e geradores em Python
 
Encapsulamento com Descritores em Python
Encapsulamento com Descritores em PythonEncapsulamento com Descritores em Python
Encapsulamento com Descritores em Python
 
Dojo com Processing
Dojo com ProcessingDojo com Processing
Dojo com Processing
 
Dojo com Arduino
Dojo com ArduinoDojo com Arduino
Dojo com Arduino
 
Python: Iteraveis, geradores etc
Python: Iteraveis, geradores etcPython: Iteraveis, geradores etc
Python: Iteraveis, geradores etc
 
Open Library no Mongodb
Open Library no MongodbOpen Library no Mongodb
Open Library no Mongodb
 
Jython no JavaOne Latin America 2011
Jython no JavaOne Latin America 2011Jython no JavaOne Latin America 2011
Jython no JavaOne Latin America 2011
 
Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)
 
OO em Python sem sotaque
OO em Python sem sotaqueOO em Python sem sotaque
OO em Python sem sotaque
 
Modelos ricos
Modelos ricosModelos ricos
Modelos ricos
 
Python, a arma secreta do Google
Python, a arma secreta do GooglePython, a arma secreta do Google
Python, a arma secreta do Google
 

Bancos de Dados para Bibliotecarios

  • 1. Bancos de dados para Bibliotecários Tudo o que você sempre quis saber sobre bancos de dados relacionais mas tinha medo de perguntar ou O ABC do SQL
  • 2. Objetivo ● O objetivo deste mini-curso é mostrar na teoria e na prática as diferenças entre as visões que bibliotecários e analistas de sistemas têm sobre bancos de dados, contrastando as características de padrões como MARC e sistemas bibliográficos como o CDS/ISIS com os conceitos e recursos dos principais sistemas de bancos de dados utilizados no mercado, inclusive na automação de bibliotecas.
  • 3. Apresentação ● Luciano Ramalho – Aluno do último ano de Biblioteconomia (ECA/USP) – Profissional de Tecnologia de Informação com 25 anos de experiência ● Desenvolvedor de sistemas na BIREME ● Diretor Técnico do BOL na Abril S/A (1994-1996) ● Consultor especializado em sistemas de gerenciamento de conteúdo para portais Web – Incubadora Virtual Fapesp – IDGNow, AOL Brasil, UOL, BOL, Serpro, Universidade Metodista etc... ● Colunista da Info Exame (1991-1994)
  • 4.
  • 5.
  • 6. Conceitos comuns ● Entidade ● Registro – Pessoa ou coisa do – Coleção de campos mundo real cujos descrevendo uma dados se pretende entidade armazenar e recuperar (ex: aluno, produto, vôo) ● Atributo ● Campo – Dado a respeito de – Sequência de uma entidade (ex: caracteres, valor data de nascimento, numérico, data, hora preço, tipo do avião) ou outro tipo de dado
  • 7. Estruturas de dados Terminologia de BD relacional bd_opac banco de dados livros autores usuários livros arquivo / tabela Fonte: Laudon & Laudon registro campo código ASCII do byte 00110100 caractere “4” bit 0
  • 8. Estruturas de dados: vale notar que... ● Na bibliografia básica de TI, não se encontra a idéia de sub-campos ● Nos sistemas baseados em arquivos, não existe o conceito de banco de dados ● Uma coleção de registros pode ser um arquivo ou uma tabela ● O cilindro simboliza banco de dados
  • 9. Tipos de Bancos de Dados ● Hierarquicos obsoletos ● Em rede (relacionamentos em rede) ● Relacionais ● “Pós-relacionais” ● Orientados a objetos ● Semiestruturados – Ex: CDS/ISIS
  • 10. Modelo relacional ● Concebido por Edgar F. Codd, pesquisador britânico trabalhando na IBM em 1970 ● O nome “relacional” vem do termo “relação”, sinônimo aproximado de “lista” ou “tabela” – e não do relacionamento entre tabelas, embora isto seja outra característica marcante do modelo ● Jargão dos teóricos de BD – relação = tabela – tupla = registro – atributo = campo
  • 11. Vantagens do modelo relacional ● Sólida fundação matemática – limites teóricos bem conhecidos ● Flexibilidade – comprovada em mais de 30 anos de uso em uma imensa variedade de aplicações ● Padronização – linguagem SQL – normas ISO/ANSI – razoável compatibilidade entre produtos ● Penetração de mercado – grande disponibilidade de profissionais, bibliografia, cursos, ferramentas etc.
  • 12. Linguagem SQL ● Histórico – Desenvolvida pela IBM na década de 1970 ● aplicação pragmática do modelo relacional ● Dialetos – Além da IBM, centenas de empresas desenvolveram variantes da linguagem SQL para incorporar em seus produtos – ISO/ANSI SQL 1989, 1992 ● DDL: Data Definition Language – linguagem de definição de dados ● DML: Data Manipulation Language – linguagem de manipulação de dados
  • 13. DDL: criar tabelas e índices ● Definir campos – tipos de dados – regras (NOT NULL, AUTO INCREMENT) ● Definir índices – campos simples – campos combinados – campos texto (alguns GBDR) – campos de valor único (UNIQUE) – chave primária
  • 15. Tipos de dados ● CHAR ● VARCHAR ● TEXT ● DATE ● TIMESTAMP ● INTEGER ● FLOAT ● BLOB ● etc. http://dev.mysql.com/doc/refman/4.1/pt/reference.html
  • 16. Operações básicas no modelo relacional ● Projetar ● Selecionar ● Vincular ● Em SQL: – SELECT matricula, nome, curso FROM alunos, cursos WHERE alunos.ano_ingresso >= 2000 AND alunos.cod_curso = cursos.cod_curso
  • 17. Projetar ● Selecionar campos de uma relação para produzir uma nova relação
  • 18. Selecionar ● Selecionar registros de uma relação para produzir uma nova relação
  • 19. Vincular ● Extrair campos de duas ou mais relações diferentes para produzir uma nova relação ● Os registros são vinculados (relacionados) por um campo-chave
  • 21. Software para bancos de dados relacionais ● Gerenciadores de Banco de Dados Relacionais (GBDR) – arquitetura cliente-servidor – as estações de trabalho são os clientes – um computador mais poderoso é o servidor ● SQL Engines – “motores” para embutir em outros softwares ● Aplicativos de acesso – softwares para rodar em estação de trabalho, com base de dados local ou remota (cliente- servidor)
  • 22. GBDR do mercado ● Proprietários – Oracle – Microsoft SQL Server – IBM DB2 – Sybase – etc. (dezenas) ● Livres – MySQL – PostgreSQL – Firebird – etc. (poucos)
  • 23. Vantagens do gerenciador de banco de dados ● Independência entre dados e aplicações – maior flexibilidade para uso dos dados ● Segurança – controles de acesso centralizados no GBDR ● Desempenho – suporte a um grande número de clientes consultando, inserindo e modificando dados simultaneamente ● Integridade – controles de consistência – ex.: proibido deletar um curso se houverem alunos inscritos
  • 24. Aplicativos de acesso ● Servem para gerar relatórios e formulários de acesso a bancos de dados locais ou remotos ● Localmente, armazenam dados em um arquivo, acessado através de um “SQL Engine” ● Remotamente, podem acessar todos os GBDR importantes ● Exemplos desta categoria: – Microsoft Access ● parte do MS Office Professional – OpenOffice Base ● parte do OpenOffice.org 2.0
  • 25. Paradigmas de armazenagem de dados ● Armazenagem baseada em arquivos – os programas clientes acessam diretamente os arquivos de dados ● CDS/ISIS ● dBase, Clipper, FoxPro ● Microsoft Access, SQLite ● aplicações de mainframe (~ 1960-1980) ● Armazenagem baseada em gerenciadores bancos de dados – os programas clientes acessam os dados através de um servidor de banco de dados – padrão atual do mercado de informática
  • 26. SQL Engines ● “Motores” de bancos de dados para embutir em outros programas – ex: agenda de contatos ● SQLite ● Jet: o motor do MS Access ● HSQL: o motor do OpenOffice Base ● Apache Derby
  • 27. Desvantagens do modelo relacional ● Dificuldade de lidar com ...seria interessante notar o absurdo  ...seria interessante notar o absurdo  do padrão do MRN [Modelo  campos compostos e do padrão do MRN [Modelo  Relacional Normalizado]: se um  Relacional Normalizado]: se um  campos multivalorados livro tiver 3 autores e 5 assuntos,  livro tiver 3 autores e 5 assuntos,  será necessário representá­lo no  ● Dificuldade de lidar com será necessário representá­lo no  MRN por meio de uma linha na  MRN por meio de uma linha na  hierarquias tabela Livros, mais 3 na Nomes­de­ tabela Livros, mais 3 na Nomes­de­ – categorias, relações autores (que implementaria o  autores (que implementaria o  atributo multivalorado  atributo multivalorado  genéricas ou partitivas correspondente) e mais 5 na de  correspondente) e mais 5 na de  – sub-campos Assuntos, num total de 9 linhas em  Assuntos, num total de 9 linhas em  ● Rigidez das estruturas três tabelas distintas [...]. três tabelas distintas [...]. de dados V. W. Setzer, Banco de Dados,  V. W. Setzer, Banco de Dados,  2005 2005
  • 28. Tendências ● Redução dos sistemas baseados em arquivo a nichos muito específicos ● Longevidade do modelo relacional ● Crescimento do modelo semiestruturado
  • 29.
  • 30. GBD semiestruturados ● GT.M ● Apache CouchDB ● MongoDB ● Google Datastore ● Neo4j ● Amazon SimpleDB ● ThruDB ● Apache Cassandra ● Hypertable ● Hadoop Hbase ● Riak ● Redis Quase todos são projetos recentes (iniciados após o ano 2000)
  • 31. Referências ● Laudon, Kenneth. Sistemas de informacao ̧ ̃ gerenciais administrando a empresa digital. 5th ed. Rio de Janeiro: Pearson Prentice Hall, 2005. ● Setzer, V. Bancos de dados aprenda o que sao, ̃ melhore seu conhecimento, construa os seus. ̃ ̈ 1st ed. Sao Paulo: Edgard Blucher, 2005. ● Abiteboul, S., Buneman, P., Suciu, D. - Data on the web: from relations to semistructured data and XML, San Francisco: Morgan Kaufmann, 1999.
  • 32. Exercício: Dicas do Alex ● Procure os títulos abaixo usando o PHPMyAdmin – Heuser, Carlos Alberto - Projeto de Banco de Dados – Elmasri, R. / Navathe, S. - Sistemas de Banco de Dados Por sinal, ambos são ótimas referências Para quem quer estudar o modelo relacional