Bancos de dados Bancos de dados aplicados ao estudo de proteínas.
Bancos de Dados para Bibliotecarios
-
Upload
luciano-ramalho -
Category
Technology
-
view
8.150 -
download
3
description
Transcript of Bancos de Dados para Bibliotecarios
Bancos de dados para Bibliotecários
Tudo o que você sempre quis saber sobrebancos de dados relacionais
mas tinha medo de perguntarou
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– 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
Estruturas de dados
bit
byte
campo
registro
arquivo / tabela
banco de dados
00110100
0
usuáriosusuários
autoresautoreslivroslivros
bd_opac
livros
Terminologia de BD relacional
código ASCII do caractere “4”
Fo
nte
: L
aud
on
& L
aud
on
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 deregistros pode serum arquivo ouuma tabela
● O cilindro simbolizabanco de dados
Tipos de Bancos de Dados
● Hierarquicos● Em rede (relacionamentos em rede)● Relacionais● “Pós-relacionais”● Orientados a objetos● Semiestruturados– Ex: CDS/ISIS
obsoletos
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, cursoFROM alunos, cursosWHERE alunos.ano_ingresso >= 2000AND 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 campos compostos e campos multivalorados
● Dificuldade de lidar com hierarquias– categorias, relações
genéricas ou partitivas– sub-campos
● Rigidez das estruturas de dados
...seria interessante notar o absurdo do padrão do MRN [Modelo Relacional Normalizado]: se um livro tiver 3 autores e 5 assuntos, será necessário representálo no MRN por meio de uma linha na tabela Livros, mais 3 na Nomesdeautores (que implementaria o atributo multivalorado correspondente) e mais 5 na de Assuntos, num total de 9 linhas em três tabelas distintas [...].
V. W. Setzer, Banco de Dados, 2005
...seria interessante notar o absurdo do padrão do MRN [Modelo Relacional Normalizado]: se um livro tiver 3 autores e 5 assuntos, será necessário representálo no MRN por meio de uma linha na tabela Livros, mais 3 na Nomesdeautores (que implementaria o atributo multivalorado correspondente) e mais 5 na de Assuntos, num total de 9 linhas em três tabelas distintas [...].
V. W. Setzer, Banco de Dados, 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● MongoDB● Neo4j● ThruDB● Hypertable● Riak
● Apache CouchDB● Google Datastore● Amazon SimpleDB● Apache Cassandra● Hadoop Hbase● 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ênciasPara quem quer estudar o modelo relacional