Bancos de dados para Bibliotecrios
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 prtica as diferenas entre as vises que bibliotecrios e analistas de sistemas tm sobre bancos de dados, contrastando as caractersticas de padres como MARC e sistemas bibliogrficos como o CDS/ISIS com os conceitos e recursos dos principais sistemas de bancos de dados utilizados no mercado, inclusive na automao de bibliotecas.
Apresentao
Luciano Ramalho
Aluno do 6 semestre de Biblioteconomia (ECA/USP)
Profissional de Tecnologia de Informao com 25 anos de experincia
Desenvolvedor de sistemas em plataformas Linux, Microsoft e Apple em arquiteturas desktop, cliente-servidor e Internet
Colunista da Info Exame (1991-1994)
Diretor Tcnico do BOL na Abril S/A (1994-1996)
Consultor especializado em sistemas de gerenciamento de contedo para portais
Incubadora Virtual Fapesp
IDGNow: mais importante portal brasileiro de notcias em TI
Universidade Metodista etc...
Paradigmas de armazenagem
de dados
Armazenagem baseada em arquivos
CDS/ISIS
dBase, Clipper
aplicaes de mainframe (~ 1960-1980)
Armazenagem baseada em bancos de dados
O padro atual da indstria de informtica
Conceitos comuns
Entidade
Pessoa ou coisa do mundo real cujos dados se pretende armazenar
e recuperar (ex: aluno, produto, vo)
Atributo
Dado a respeito de uma entidade (ex: data de nascimento, preo, tipo do avio)
Registro
Coleo de campos descrevendo uma entidade
Campo
Sequncia de caracteres, valor numrico, data, hora
ou outro tipo de dado
Estruturas de dados
bitbytecamporegistroarquivo / tabelabanco de dados00110100
0
usuriosusuriosautoresautoreslivroslivrosbd_circulante
livros
Terminologia de BD relacional
cdigo ASCII do
caractere 4
Fonte: Laudon & Laudon
Estruturas de dados:
vale notar que...
Na bibliografia bsica de TI, no se encontra a idia de sub-campos
Nos sistemas baseados em arquivos, no existe o conceito de
banco de dados
Uma coleo de
registros pode ser
um arquivo ou
uma tabela
O cilindro simboliza
banco de dados
Tipos de Bancos de Dados
Hierarquicos
Em rede (relacionamentos em rede)
Relacionais
Ps-relacionais
Orientados a objetos
obsoletos
Modelo relacional
Concebido por Edgar F. Codd, pesquisador britnico trabalhando na IBM em 1970
O nome relacional vem do termo relao, sinnimo aproximado de lista ou tabela
e no do relacionamento entre tabelas, embora isto seja outra caracterstica marcante do modelo
Jargo dos tericos de BD
relao = tabela
tupla = registro
atributo = campo
Vantagens do modelo relacional
Slida fundao matemtica
limites tericos bem conhecidos
Flexibilidade
comprovada em mais de 30 anos de uso em uma imensa variedade de aplicaes
Padronizao
linguagem SQL
norma ISO/ANSI
razovel compatibilidade entre produtos
Penetrao de mercado
grande disponibilidade de profissionais, bibliografia, cursos, ferramentas etc.
Linguagem SQL
Histrico
Desenvolvida pela IBM na dcada de 1970
aplicao pragmtica do modelo relacional
Dialetos
Alm 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 definio de dados
DML: Data Manipulation Language
linguagem de manipulao 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 primria
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
Operaes bsicas
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 relao para produzir uma nova relao
Selecionar
Selecionar registros de uma relao para produzir uma nova relao
Vincular
Extrair campos de duas ou mais relaes diferentes para produzir uma nova relao
Os registros so 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 estaes de trabalho so os clientes
um computador mais poderoso o servidor
SQL Engines
motores para embutir em outros softwares
Aplicativos de acesso
softwares para rodar em estao de trabalho, com base de dados local ou remota (cliente-servidor)
GBDR do mercado
Proprietrios
Oracle
Microsoft SQL Server
IBM DB2
Sybase
etc. (dezenas)
Livres
MySQL
PostgreSQL
Firebird
etc. (poucos)
Vantagens do gerenciador de banco de dados
Independncia entre dados e aplicaes
maior flexibilidade para uso dos dados
Segurana
controles de acesso centralizados no GBDR
Desempenho
suporte a um grande nmero de clientes consultando, inserindo e modificando dados simultaneamente
Integridade
controles de consistncia
ex.: proibido deletar um curso se houverem alunos inscritos
Aplicativos de acesso
Servem para gerar relatrios e formulrios de acesso a bancos de dados locais ou remotos
Localmente, armazenam dados em um arquivo, acessado atravs 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
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
Desvantagens do
modelo relacional
Dificuldade de lidar com hierarquias
categorias, relaes genricas ou partitivas
sub-campos
Rigidez das estruturas de dados
Tendncias
Reduo dos sistemas baseados em arquivo a nichos muito especficos
Longevidade do modelo relacional
Crescimento do modelo orientado a objetos
Referncias
Laudon, K., Laudon, J. - Sistemas de Informao 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 Referncia do MySQL 4.1 (em portugus)
http://dev.mysql.com/doc/refman/4.1/pt/index.html
Wikipdia (em portugus)
http://pt.wikipedia.org/
Exerccio: Dicas do Alex
Heuser, Carlos Alberto - Projeto de Banco de Dados
Elmasri, R. / Navathe, S. - Sistemas de Banco de Dados
Click to edit the title text format
Click to edit the outline text format
Second Outline Level
Third Outline Level
Fourth Outline Level
Fifth Outline Level
Sixth Outline Level
Seventh Outline Level
Eighth Outline Level
Ninth Outline Level
Top Related