Bancos de Dados para Bibliotecários
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
4,794
On Slideshare
4,777
From Embeds
17
Number of Embeds
3

Actions

Shares
Downloads
101
Comments
0
Likes
1

Embeds 17

http://www.slideshare.net 10
http://www.linkedin.com 6
https://www.linkedin.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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 6 º semestre de Biblioteconomia (ECA/USP)
      • Profissional de Tecnologia de Informação com 25 anos de experiência
        • Desenvolvedor de sistemas em plataformas Linux, Microsoft e Apple em arquiteturas desktop, cliente-servidor e Internet
        • Colunista da Info Exame (1991-1994)
        • Diretor Técnico do BOL na Abril S/A (1994-1996)
        • Consultor especializado em sistemas de gerenciamento de conteúdo para portais
          • Incubadora Virtual Fapesp
          • IDGNow: mais importante portal brasileiro de notícias em TI
          • Universidade Metodista etc...
  • 4. Paradigmas de armazenagem de dados
    • Armazenagem baseada em arquivos
      • CDS/ISIS
      • dBase, Clipper
      • aplicações de mainframe (~ 1960-1980)
    • Armazenagem baseada em bancos de dados
      • O padrão atual da indústria de informática
  • 5. Conceitos comuns
    • Entidade
      • Pessoa ou coisa do mundo real cujos dados se pretende armazenar e recuperar (ex: aluno, produto, vôo)
    • Atributo
      • Dado a respeito de uma entidade (ex: data de nascimento, preço, tipo do avião)
    • Registro
      • Coleção de campos descrevendo uma entidade
    • Campo
      • Sequência de caracteres, valor numérico, data, hora ou outro tipo de dado
  • 6. Estruturas de dados 00110100 0 bd_circulante livros Terminologia de BD relacional código ASCII do caractere “4” Fonte: Laudon & Laudon usuários usuários autores autores livros livros
  • 7. 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
  • 8. Tipos de Bancos de Dados
    • Hierarquicos
    • Em rede (relacionamentos em rede)
    • Relacionais
    • “Pós-relacionais”
    • Orientados a objetos
    obsoletos
  • 9. 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
  • 10. 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
      • norma ISO/ANSI
      • razoável compatibilidade entre produtos
    • Penetração de mercado
      • grande disponibilidade de profissionais, bibliografia, cursos, ferramentas etc.
  • 11. 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
  • 12. 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
  • 13. DDL: exemplo
  • 14. Tipos de dados
    • CHAR
    • VARCHAR
    • TEXT
    • DATE
    • TIMESTAMP
    • INTEGER
    • FLOAT
    • BLOB
    • etc.
    • http://dev.mysql.com/doc/refman/4.1/pt/reference.html
  • 15. 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
  • 16. Projetar
    • Selecionar campos de uma relação para produzir uma nova relação
  • 17. Selecionar
    • Selecionar registros de uma relação para produzir uma nova relação
  • 18. 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
  • 19. DML: selecionar registros
  • 20. 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)
  • 21. GBDR do mercado
    • Proprietários
      • Oracle
      • Microsoft SQL Server
      • IBM DB2
      • Sybase
      • etc. (dezenas)
    • Livres
      • MySQL
      • PostgreSQL
      • Firebird
      • etc. (poucos)
  • 22. 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
  • 23. 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
  • 24. SQL Engines
    • “ Motores” de bancos de dados para embutir em outros programas
      • ex: agenda de contatos
    • Jet: o motor do MS Access
    • HSQL: o motor do OpenOffice Base
    • Apache Derby
  • 25. Desvantagens do modelo relacional
    • Dificuldade de lidar com hierarquias
      • categorias, relações genéricas ou partitivas
      • sub-campos
    • Rigidez das estruturas de dados
  • 26. Tendências
    • Redução dos sistemas baseados em arquivo a nichos muito específicos
    • Longevidade do modelo relacional
    • Crescimento do modelo orientado a objetos
  • 27. Referências
    • Laudon, K., Laudon, J. - Sistemas de Informação Gerenciais, 5ª Ed. - Prentice-Hall Brasil – 2003
    • Codd, E. F - A Relational Model of Data for Large Shared Data Banks - Communications of the ACM, Vol. 13, No. 6, June 1970 http://www.acm.org/classics/nov95/toc.html
    • MySQL AB - Manual de Referência do MySQL 4.1 (em português) http://dev.mysql.com/doc/refman/4.1/pt/index.html
    • Wikipédia (em português) http://pt.wikipedia.org/
  • 28. Exercício: Dicas do Alex
    • Heuser, Carlos Alberto - Projeto de Banco de Dados
    • Elmasri, R. / Navathe, S. - Sistemas de Banco de Dados