Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Histórico
Histórico
• Década de 1960
Histórico (cont...)
• Final de 1960
Histórico (cont...)
• Década de 1980
• Os projetos System R e SQL/DS, banco de dados
relacional.
• DB Relacionais X Rede e Hierárquicos.
• Durante os anos 80, os DB do tipo Relacional são
absolutos.
8
Histórico (cont...)
• Década de 1990
• Explosão da WEB, maior utilização dos sistemas de DB.
• Sistemas que aceitam interface para Web.
• DB voltados para consulta, utilização da linguagem SQL.
9
HISTÓRICO (CONT...)
• Anos 2000
Fitas magnéticas
Introdução
• Por que estudar Bancos de Dados?
• Os Bancos de Dados fazem parte do nosso dia-a-dia:
• Escola/Universidade
• Reserva de hotel
• Cadastro em um site online
• etc
Por que estudar BD?
13
Distribuídos.
Relacional
Exemplo de um BD
BDs nem sempre foram utilizados
• Sistemas de Arquivos (armazenados em pastas, no
disco):
• Funcionalidades oferecidas
• Registros de tamanho fixo com campos de tipos diferentes
• Possibilidade de memória virtual e persistência
• Índices: hash, árvore-B
• Bloqueio de arquivo e registro para concorrência
Surge os Banco de
Dados
Bancos de Dados
• Mesmo sistema anterior, mas usando banco de dados:
Sistema Gerenciador de Bancos de
Dados (SGBD)
• SGBD é:
• o conjunto de programas de computador (softwares) responsáveis
pelo gerenciamento de uma base de dados.
• Objetivo
• retirar da aplicação cliente a responsabilidade de gerenciar o acesso,
a manipulação e a organização dos dados.
• O SGBD disponibiliza uma interface para:
• Inclusão
• Alteração
• Consulta
• Exclusão
• Em bancos de dados relacionais a interface é constituída pelas
APIs (Application Programming Interface) ou drivers do SGBD,
que executam comandos na linguagem SQL (Structured Query
Language).
SGBD
• Envolve:
• A definição da estrutura para armazenamento das informações
• Fornecimento de mecanismos para manipular as informações
• SGBD precisa garantir a INTEGRIDADE dos dados,
evitando resultados anômalos
• Concorrência, por exemplo.
SGBD
• Objetivo:
• gerenciar o acesso, manipulação e organização dos dados.
• retirar da aplicação cliente a responsabilidade de gerenciar o acesso,
a manipulação e a organização dos dados.
• SGBD:
• O sistema omite detalhes
• Oferece mecanismos de busca eficiente
• Vantagens:
• rapidez na manipulação e no acesso à informação,
• redução do esforço humano (desenvolvimento e utilização),
• redução da redundância e da inconsistência de informações,
• redução de problemas de integridade,
• compartilhamento de dados,
• aplicação automática de restrições de segurança,
• controle integrado de informações distribuídas fisicamente.
26
{ pessoa:&p1{
nome:"Maria", idade:45, filho:&p2,filho:&p3
}
pessoa:&p2{
nome:"José", idade:23, mãe:&p1
}
pessoa:&p3{
nome:"Joana", idade:22, mãe:&p1
}
}
Representação de bases de objeto
• Representação em grafo
root pessoa
nome José
pessoa
pessoa filho
&p2
idade 23
Maria nome
&p1 mãe
filho
45 idade nome Joana
mãe &p3
idade 22
Banco de dados biológicos
• Constitui um grande conjunto de dados persistentes
• Geralmente contêm uma grande quantidade de registros.
• Ex.: Registro associado a uma sequência de nucleotídeos
• normalmente contém:
• Uma descrição do tipo de molécula;
• Seu nome científico;
• Citações na literatura correspondentes a esta sequência.
• Objetivo:
• permitir integrar e consultar, de forma otimizada:
• dados de sequências de DNA
• padrões de expressão de genes,
• estrutura de proteínas,
• consequências clínicas,
• dentre outros elementos resultantes de pesquisas efetuadas no projeto
genoma
Bancos de dados semiestruturados
• São uma forma de dados estruturados que não estão de
acordo com a estrutura formal dos modelos de dados
associados com BDs relacionais
• As informações são guardadas e manipuladas na forma
de XML, por exemplo, ao invés de tabelas.
Dados semi-estruturados ?
• Dados semi-estruturados: dados heterogêneos e
irregulares, por exemplo XML
• Novas aplicações requerem mais flexibilidade de
representação e estão constantemente evoluindo
o esquema
• Os modelos relacional e de objetos podem não
ser suficientes
Dados semi-estruturados ?
• Uma solução: usar um modelo de grafo para armazenar
os dados com características semi-estruturadas
• Origens de dados semi-estruturados:
• integração de fontes heterogêneas
• fontes de dados sem estrutura rígida
• dados biológicos
• dados da Web
Dados semi-estruturados ?
• Evolução:
nome nome
email tel
Ana tel Ana tel
ana@abc.com.br 9715432
3334567 3334567
Uma sintaxe para dados semi-estruturados
http://www.w3.org/TR/REC-xml (2/98)
O Segredo do sucesso de HTML
<bibliography>
<book> <title> Foundations… </title>
<author> Abiteboul </author>
<author> Hull </author>
<author> Vianu </author>
<publisher> Addison Wesley </publisher>
<year> 1995 </year>
</book>
…
</bibliography>
<?xml version=“1.0”>
<NotaFiscal>
<NomeCliente> Ana Silva </NomeCliente>
<EndCliente> Rua das Margaridas, Maceió, AL </EndCliente
<EndEnvio> Rua das Margaridas, Maceió, AL </EndEnvio>
<Item>
<codigo> 123 </codigo>
<descricao> Parafuso 8mm </decricao>
<quantidade> 20 </quantidade>
<preco> 3,00 </preco>
</Item>
<Item> … </Item>
</NotaFiscal>
Exemplo
ficha <ficha>
Sintaxe
nome trab tipo <nome>
<fn>Vera</fn>
<ln>Santos</ln>
fn ln IBGE end email gerente
</nome>
<trab tipo=“gerente">
Vera Santos cidade cep vera@ibge.br IBGE
<end>
<cidade>Natal</cidade>
Natal 52310
<cep>52310</cep>
</end>
Elementos fn <email>vera@ibge.br</email>
Atributos tipo </trab>
Dados 52310
</ficha>
Os segredos de XML
• Como HTML:
• simples, legível, fácil de aprender
• universal e transportável
• suportado pela W3C (indústria absorve!)
• Mas, Além de HTML
• flexível : podemos representar qualquer tipo de
informação
• extensível: pode-se representar informação de qualquer
forma
Mandamentos iniciais:
• XML deverá ser diretamente utilizável na Internet
• XML deverá suportar uma larga variedade de aplicações
• XML deverá ser compatível com SGML
• A criação de páginas XML deverá ser simples
• XML deve ser de grande legibilidade
• Criação de documentos deverá ser rápida
• Sintaxe deverá ser formal e concisa
Extensibilidade e estrutura
• Desenvolvedor pode inventar livremente as tags que lhes pareçam
úteis para marcar os componentes de um documento.
• Exemplo: diversas formas de representar uma data
• <date> 5 janeiro 2000 </date>
• <date>
<ano> 2000 </ano>
<mes> 01 </mes>
<dia> 05 </dia>
</date>
• <date format='ISO-8601'> 2000-01-05 </date>
• Grande liberdade de escolha das estruturas de dados facilita a
troca de dados
• comércio eletrônico
• transações financeiras e comerciais
• pesquisa e indústria de biotecnologias
• multimídia
53
Data-Definition Language
Para expressar a especificação do esquema de dados
resultado da compilação dos parâmetros DDL’s
armazenado em tabelas que constituem o dicionário de
dados ou diretório de dados
dicionário de dados: arquivo de metadados (dados a
respeito de dados)- no SGBD o diretório é consultado
antes que o dado real seja modificado
55
Data-Manipulation Language
manipulação de dados:
Data-Manipulation Language
Procedurais exigem que o usuário especifique quais
dados são necessários, e como obtê-los.
Não Procedurais exigem que se especifique quais
dados são necessários, sem especificar como obtê-los.
Linguagens de consulta (query) SQL
58