Você está na página 1de 8

Introdução

! Utilização inicial dos computadores


! dados numéricos
! quantidade limitada de informações
Introdução a ! processamento serial
! poucos recursos para programação
Sistemas de Banco de Dados ! ênfase no algoritmo
! dados cativos dos programas
! dados em segundo plano
por • Evolução
Juliano Tonezer da Silva – dados em maior volume
tonezer@(upf.tche.br, dinf.unisc.br) – maior variedade de informações
– meios de maior capacidade
– consultas mais complexas

Introdução 1 Introdução 2

Introdução Evolução
• Evolução
– organização física para os dados Sistema manual de
• índices, “hashing”, inversões arquivamento de registros
– operações próprias dos dados
• atualização, busca
– dados ainda cativos dos programas
– SISTEMAS DE PROCESSAMENTOS DE ARQUIVOS Sistemas de Processamento
– ênfase na economia de tempo e memória de Arquivos
– conjunto de dados relacionados
• compartilhamento
• usuários “on line”, e “batch”
– SISTEMAS DE BANCO DE DADOS Sistemas de Processamento
• autonomia dos dados em relação aos programas de Banco de Dados

Introdução 3 Introdução 4
Sistemas de Arquivos Sistemas de Arquivos: limitações
• Dados de diferentes aplicações não estão integrados
– projetados para atender uma aplicação específica
• Inconsistência e redundância de dados
– Dados separados, isolados e duplicados
• Isolamento e dificuldade de acesso aos dados
– Os arquivos podem ser incompatíveis entre si
• Problemas de integridade
– Como implementar novas regras (restrições) quando as
restrições atingem vários itens em diferentes arquivos?
• Problemas de atomicidade
– Como assegurar após uma falha que os dados sejam
salvos em seu último estado consistente?
• Anomalias no acesso concorrente
• Problemas de segurança
Introdução 5 Introdução 6

Sistemas de Banco de Dados Sistemas de Banco de Dados


• Solução para as limitações dos Sistemas de
processamento de arquivos (ver slide 6)
• Independência de dados/programas
– Alteração dos dados afeta “pouco” os programas
– Não precisa recompilar o programa
• Tratamento dos dados em um nível mais alto
– Linguagens de consulta e/ou manipulação: SQL
• Representar mais facilmente as perspectivas
• os dados são armazenados em um único local, dos usuários
em uma base única, chamada de banco de dados
Introdução 7 Introdução 8
Sistemas de Banco de Dados Sistemas de Banco de Dados:
Usuários
Usuários
Programas de aplicação/consulta
! Usuário que controla SGBD
Sistema
de Banco ! Administrador de Banco de Dados: em inglês
SGBD Software para processar (Database Administrator - DBA)
de Dados consultas/programas

Software para acesso


! Usuários de Banco de Dados
aos dados armazenados ! Analistas de Sistemas
! Programadores de aplicações
! Usuários sofisticados
! Usuários especialistas
definição Banco de ! Usuários navegantes (usuário final)
do BD Dados
Introdução 9 Introdução 10

Usuário do SGBD: DBA Usuário do SGBD: DBA


• Instalação e Configuração do Servidor
• Uma das principais razões da utilização de um – ...
SGBD é ter o controle central dos dados e dos • Definição e modificações do esquema e estruturas de
programas de acesso a eles dados
– …
• A pessoa que tem esse controle é chamada de
• Administração dos objetos do SGBD e BD
Administrador do banco de dados – Estruturas de armazenamento, esquemas, tabelas,
[Korth & Silberschatz]
– …
• Principal usuário de um SGBD, que é • Segurança: administração de usuários
– Autorização de acesso, coordenação e monitoração do uso
responsável pela manutenção de seus – …
objetos • Manutenção do Sistema
– Estratégias de Backup, restore;
• Requer conhecimento técnico e paciência! – Monitoração de performance,
– ...
Introdução 11 Introdução 12
Usuários de banco de dados Banco de Dados: conceitos
! Analistas de Sistemas • coleção de dados relacionados [Elmasri & Navathe]
! Programadores de aplicações
– Interagem com o sistema através de chamadas DML • coleção de dados logicamente coerente e com
! Usuários sofisticados algum significado inerente
– Interagem com o sistema sem escrever programas;
– Formulam solicitações com linguagens de consultas • é projetado, construído e “populado” com dados
! Usuários especialistas para um objetivo específico
! Usuários sofisticados de aplicações não tradicionais, ...
! Sistemas especialistas, sistemas de base de conhecimento • representa algum aspecto do mundo real, algumas
! Usuários navegantes vezes chamado de minimundo [Golendziner]
! usuário final
! Interagem com o sistema através dos programas • conjunto de dados que contém informações sobre
aplicativos um empreendimento particular [Korth & Silberschatz]
Introdução 13 Introdução 14

Problemas no desenvolvimento Problemas no desenvolvimento de


de aplicações de banco de dados aplicações de banco de dados (2)

[Heuser]
[Heuser]
Introdução 15 Introdução 16
SGBD: conceitos SGBD: Funções
• SGBD = Sistema de Gerência de Banco de Dados " Redundância controlada
– em inglês: DBMS = DataBase Management System
• coleção de programas que permitem aos usuários " Compartilhamento de dados
criar e manter um banco de dados " Múltiplas interfaces
• Coleção de dados inter-relacionados e um conjunto
" Restrições de Acesso
de programas para acessá-los [Korth & Silberschatz]
Novas
• Software que manipula todos os acessos ao banco " Restrições de Integridade
Preocupações
de dados [Date] " Restauração em caso de falha
• Software que serve para armazenar e acessar dados
em um banco de dados [Heuser]
Introdução 17 Introdução 18

Conceitos e terminologia Modelo de dados


• Característica fundamental de SGBD
• Modelo de dados – prover certo nível de abstração de dados, escondendo
• Esquema do banco de dados detalhes de armazenamento
• Instância do banco de dados • Modelos de dados
• Independência de dados – principal ferramenta para obter esta abstração
conjunto de conceitos que podem ser usados para descrever a
• Linguagens de SGBD estrutura de um banco de dados.
• Classificações de SGBD – estrutura do banco de dados
• Arquitetura de banco de dados Cliente- • tipos de dados
• relacionamentos
servidor • restrições que devem ser mantidas sobre os dados
• Estado da tecnologia de banco de dados – deve incluir um conjunto de operações para especificar
busca e atualização de dados.

Introdução 19 Introdução 20
Esquemas e Instâncias
Esquemas e Instâncias MÉDICO PACIENTE
cod_med nome_med especialidade cod_pac nome_pac
• Esquema do banco de dados
– descrição do banco de dados CONSULTA Modelo relacional

– pode ser representado por um diagrama cod_med Cod_pac dia hora esquema
• descreve apenas alguns aspectos
MÉDICO
PACIENTE
• Instâncias do banco de dados cod_med nome_med especialidade
cod_pac nome_pac
– dados no banco de dados em um determinado M1 JOÃO Pediatria
momento. M2 MARIA Cardiologia P1 ANA
P2 JOSÉ
CONSULTA
cod_med Cod_pac dia hora
M1 P2 10/3 14
Instâncias do banco de
M2 P1 11/3 16 dados
Introdução 21 Introdução 22

Linguagens de SGBD
Independência de dados • linguagem de definição de dados (Data Definition
• Independência lógica de dados Language - DDL)
– esquema conceitual e interno (na maioria das vezes)
– capacidade de mudar o esquema conceitual sem a
necessidade de modificar programas de aplicação e • Linguagem de especificação do armazenamento
esquemas externos (Storage Definition Language - SDL)
– apenas definição de visões e mapeamentos devem ser • Linguagem definição de visões (View Definition
alterados Language-VDL)
– exemplo: acrescentar um campo a um registro, – esquema externo
acrescentar uma definição de tipo de registro • Linguagem de manipulação de dados (Data
• Independência física de dados Manipulation Language - DML)
– capacidade de mudar o esquema interno sem a – alto-nível, não-procedural, declarativa
necessidade de alterar o esquema conceitual (ou • orientada a conjuntos (set-oriented, set-at-a-time)
externos) • linguagem de consulta
– exemplo: reorganização física de arquivos, criação de – baixo-nível, procedural
estruturas de acesso adicionais • orientada a registros (record-at-time)
• sublinguagem de dados, embutida em uma linguagem hospedeira
Introdução 23 Introdução 24
Arquitetura de banco de dados
SGBD: Classificações
Cliente-Servidor
➤ Modelo de dados
Rede, hierárquico, relacional, objeto-relacional,
• Multi-usuário

orientado a objetos e outros


• Servidor de banco de dados
– Executa o SGBD
➤ Número de usuários – Um computador contem todos os arquivos do banco de
➨ monousuário, multi-usuário dados
➤ Localização da base de dados • Clientes
➨ centralizado: Cliente-servidor – Executam as aplicações
➨ distribuído (SGBD) • Trafegam na rede
– comandos de alto nível para o SGBD
➤ Generalidade • Vantagem
➨ Propósito geral – Menor trafego de dados na rede
➨ Propósito específico
• Arquitetura atualmente em uso

Introdução 25 Introdução 26

Arquitetura de banco de dados


Estado da tecnologia de BD
Cliente-Servidor X Relacional
#Tecnologia básica já desenvolvida
• Todos os bancos de dados relacionais são " Modelos de dados
cliente-servidor " Organização do espaço de armazenamento
• Relacional é a forma de o banco de dados " Estruturas de acesso
armazenar e recuperar as informações
" Processamento de consultas
• Cliente-servidor é a forma de o banco de
" Processamento de transações
dados se relacionar com os outros
" Cópias e reconstrução do banco de dados
programas (serviços de banco de dados)
" (backup, recovery)

Introdução 27 Introdução 28
Estado da tecnologia de BD (2) Estado da tecnologia de BD (3)
#Novos problemas para modelagem de projeto: #Novas aplicações de banco de dados:
" Complexidade dos dados " Engenharia - CAD/CASE/CAE
" todos os tipos de objetos complexos " Ciências
" hipermodelos com múltiplos elos (WWW) " Biologia
" Técnicas inovadoras de visualização, navegação e
" Ciência da Terra
manipulação
" acesso à Internet " Sistemas de Informações Geográficas (GIS)
" CD-ROMs " Educação - CAI
" gravadores de vídeo/audio " Educação à distância
" rastreadores (scanners) " Enciclopédias e Bancos de Dados Textuais
" Flexibilidade de manipulação - usuários querem adicionar " Multimídia/Visualização + Banco de Dados
novas estruturas e relacionamentos " Realidade virtual
" recuperação de informações interativas " Aplicações interativas
" realidade virtual
Introdução 29 Introdução 30

Bibliografia
• DATE, C.J. Introdução a Sistemas de Bancos de Dados:
tradução (4ª edição americana). Rio de Janeiro: Campus, 1994.
(capítulos 1 e 2)
• GOLENDZINER, Lia Goldstein. Conceitos de Bancos de
Dados. Porto Alegre: CPGCC/UFRGS, 1996 (notas de aula)
• HEUSER, Carlos A. Fundamentos de Banco de Dados. Porto
Alegre: CPGCC/UFRGS, 2000 (notas de aula)
• KROENKE, DAVID M. Banco de Dados: Fundamentos,
projeto e implementação. Sexta edição (tradução). LTC –
Livros Técnicos e Científicos, 1999 (capítulo 1)
• SILBERSCHATZ, Abraham.; KORTH, Henry F.;
SUDARRSHAN, S. Sistemas de Banco de Dados. 3ª ed. São
Paulo: MAKRON BOOKS, 1999 (capítulo 1)
Introdução 31

Você também pode gostar