Você está na página 1de 8

Introduo

Utilizao inicial dos computadores


! ! ! ! ! !

Introduo a Sistemas de Banco de Dados


por Juliano Tonezer da Silva
tonezer@(upf.tche.br, dinf.unisc.br)

dados numricos quantidade limitada de informaes processamento serial poucos recursos para programao nfase no algoritmo dados cativos dos programas ! dados em segundo plano dados em maior volume maior variedade de informaes meios de maior capacidade consultas mais complexas
Introduo 2

Evoluo

1

Introduo

Introduo
Evoluo
organizao fsica para os dados
ndices, hashing, inverses

Evoluo
Sistema manual de arquivamento de registros

operaes prprias dos dados


atualizao, busca

dados ainda cativos dos programas SISTEMAS DE PROCESSAMENTOS DE ARQUIVOS nfase na economia de tempo e memria conjunto de dados relacionados
compartilhamento usurios on line, e batch

Sistemas de Processamento de Arquivos

SISTEMAS DE BANCO DE DADOS


autonomia dos dados em relao aos programas

Sistemas de Processamento de Banco de Dados

Introduo

Introduo

Sistemas de Arquivos

Sistemas de Arquivos: limitaes


Dados de diferentes aplicaes no esto integrados
projetados para atender uma aplicao especfica

Inconsistncia e redundncia de dados


Dados separados, isolados e duplicados

Isolamento e dificuldade de acesso aos dados


Os arquivos podem ser incompatveis entre si

Problemas de integridade
Como implementar novas regras (restries) quando as restries atingem vrios itens em diferentes arquivos?

Problemas de atomicidade
Como assegurar aps uma falha que os dados sejam salvos em seu ltimo estado consistente?

Anomalias no acesso concorrente Problemas de segurana


Introduo 5 Introduo 6

Sistemas de Banco de Dados

Sistemas de Banco de Dados


Soluo para as limitaes dos Sistemas de processamento de arquivos (ver slide 6) Independncia de dados/programas
Alterao dos dados afeta pouco os programas No precisa recompilar o programa

Tratamento dos dados em um nvel mais alto


Linguagens de consulta e/ou manipulao: SQL

os dados so armazenados em um nico local, em uma base nica, chamada de banco de dados
Introduo 7

Representar mais facilmente as perspectivas dos usurios


Introduo 8

Sistemas de Banco de Dados


Usurios Programas de aplicao/consulta Sistema de Banco de Dados SGBD Software para processar consultas/programas Software para acesso aos dados armazenados
!

Sistemas de Banco de Dados: Usurios


!

Usurio que controla SGBD


!

Administrador de Banco de Dados: em ingls (Database Administrator - DBA)

Usurios de Banco de Dados


! ! ! !

definio do BD
Introduo

Banco de Dados
9

Analistas de Sistemas Programadores de aplicaes Usurios sofisticados Usurios especialistas Usurios navegantes (usurio final)
Introduo 10

Usurio do SGBD: DBA


Uma das principais razes da utilizao de um SGBD ter o controle central dos dados e dos programas de acesso a eles A pessoa que tem esse controle chamada de Administrador do banco de dados
[Korth & Silberschatz]

Usurio do SGBD: DBA


Instalao e Configurao do Servidor
...

Definio e modificaes do esquema e estruturas de dados


Administrao dos objetos do SGBD e BD


Estruturas de armazenamento, esquemas, tabelas,

Principal usurio de um SGBD, que responsvel pela manuteno de seus objetos Requer conhecimento tcnico e pacincia!
Introduo 11

Segurana: administrao de usurios


Autorizao de acesso, coordenao e monitorao do uso

Manuteno do Sistema
Estratgias de Backup, restore; Monitorao de performance, ...
Introduo

12

Usurios de banco de dados


! ! !

Banco de Dados: conceitos


coleo de dados relacionados [Elmasri & Navathe] coleo de dados logicamente coerente e com algum significado inerente projetado, construdo e populado com dados para um objetivo especfico representa algum aspecto do mundo real, algumas vezes chamado de minimundo [Golendziner] conjunto de dados que contm informaes sobre um empreendimento particular [Korth & Silberschatz]
13 Introduo 14

Analistas de Sistemas Programadores de aplicaes


Interagem com o sistema atravs de chamadas DML

Usurios sofisticados
Interagem com o sistema sem escrever programas; Formulam solicitaes com linguagens de consultas

Usurios especialistas
! !

Usurios sofisticados de aplicaes no tradicionais, ... Sistemas especialistas, sistemas de base de conhecimento usurio final Interagem com o sistema atravs dos programas aplicativos
Introduo

Usurios navegantes
! !

Problemas no desenvolvimento de aplicaes de banco de dados

Problemas no desenvolvimento de aplicaes de banco de dados (2)

[Heuser]
Introduo 15 Introduo

[Heuser]
16

SGBD: conceitos
SGBD = Sistema de Gerncia de Banco de Dados
em ingls:

SGBD: Funes
" Redundncia controlada " Compartilhamento de dados " Mltiplas interfaces " Restries de Acesso " Restries de Integridade " Restaurao em caso de falha
Novas Preocupaes

DBMS = DataBase Management System

coleo de programas que permitem aos usurios criar e manter um banco de dados Coleo de dados inter-relacionados e um conjunto de programas para acess-los [Korth & Silberschatz] Software que manipula todos os acessos ao banco de dados [Date] Software que serve para armazenar e acessar dados em um banco de dados [Heuser]
Introduo 17

Introduo

18

Conceitos e terminologia
Modelo de dados Esquema do banco de dados Instncia do banco de dados Independncia de dados Linguagens de SGBD Classificaes de SGBD Arquitetura de banco de dados Clienteservidor Estado da tecnologia de banco de dados
Introduo 19

Modelo de dados
Caracterstica fundamental de SGBD
prover certo nvel de abstrao de dados, escondendo detalhes de armazenamento

Modelos de dados
principal ferramenta para obter esta abstrao
conjunto de conceitos que podem ser usados para descrever a estrutura de um banco de dados.

estrutura do banco de dados


tipos de dados relacionamentos restries que devem ser mantidas sobre os dados

deve incluir um conjunto de operaes para especificar busca e atualizao de dados.


Introduo 20

Esquemas e Instncias
Esquema do banco de dados
descrio do banco de dados pode ser representado por um diagrama
descreve apenas alguns aspectos

Esquemas e Instncias
MDICO cod_med nome_med especialidade CONSULTA cod_med Cod_pac PACIENTE cod_pac nome_pac
Modelo relacional

dia

hora

esquema PACIENTE cod_pac nome_pac


P1 P2 ANA JOS

Instncias do banco de dados


dados no banco de dados em um determinado momento.

MDICO cod_med nome_med especialidade


M1 M2 JOO MARIA Pediatria Cardiologia

CONSULTA cod_med Cod_pac


M1 M2
Introduo 21

dia
10/3 11/3

hora
14 16
Introduo

P2 P1

Instncias do banco de dados


22

Independncia de dados
Independncia lgica de dados
capacidade de mudar o esquema conceitual sem a necessidade de modificar programas de aplicao e esquemas externos apenas definio de vises e mapeamentos devem ser alterados exemplo: acrescentar um campo a um registro, acrescentar uma definio de tipo de registro

Linguagens de SGBD
linguagem de definio de dados (Data Definition Language - DDL)
esquema conceitual e interno (na maioria das vezes)

Linguagem de especificao do armazenamento (Storage Definition Language - SDL) Linguagem definio de vises (View Definition Language-VDL)
esquema externo

Independncia fsica de dados


capacidade de mudar o esquema interno sem a necessidade de alterar o esquema conceitual (ou externos) exemplo: reorganizao fsica de arquivos, criao de estruturas de acesso adicionais
Introduo 23

Linguagem de manipulao de dados (Data Manipulation Language - DML)


alto-nvel, no-procedural, declarativa
orientada a conjuntos (set-oriented, set-at-a-time) linguagem de consulta

baixo-nvel, procedural
orientada a registros (record-at-time) sublinguagem de dados, embutida em uma linguagem hospedeira
Introduo 24

SGBD: Classificaes
Modelo de dados

Arquitetura de banco de dados Cliente-Servidor


Multi-usurio Servidor de banco de dados
Executa o SGBD Um computador contem todos os arquivos do banco de dados

Rede, hierrquico, relacional, objeto-relacional, orientado a objetos e outros monousurio, multi-usurio centralizado: Cliente-servidor distribudo (SGBD) Propsito geral Propsito especfico
Introduo 25

Nmero de usurios

Localizao da base de dados


Clientes
Executam as aplicaes

Trafegam na rede
comandos de alto nvel para o SGBD

Generalidade

Vantagem
Menor trafego de dados na rede

Arquitetura atualmente em uso


Introduo 26

Arquitetura de banco de dados Cliente-Servidor X Relacional


Todos os bancos de dados relacionais so cliente-servidor Relacional a forma de o banco de dados armazenar e recuperar as informaes Cliente-servidor a forma de o banco de dados se relacionar com os outros programas (servios de banco de dados)

Estado da tecnologia de BD
# Tecnologia bsica j desenvolvida " Modelos de dados " Organizao do espao de armazenamento " Estruturas de acesso " Processamento de consultas " Processamento de transaes " Cpias e reconstruo do banco de dados
" (backup, recovery)

Introduo

27

Introduo

28

Estado da tecnologia de BD (2)


# Novos problemas para modelagem de projeto: " Complexidade dos dados " todos os tipos de objetos complexos " hipermodelos com mltiplos elos (WWW) " Tcnicas inovadoras de visualizao, navegao e manipulao " acesso Internet " CD-ROMs " gravadores de vdeo/audio " rastreadores (scanners) " Flexibilidade de manipulao - usurios querem adicionar novas estruturas e relacionamentos " recuperao de informaes interativas " realidade virtual
Introduo 29

Estado da tecnologia de BD (3)


# Novas aplicaes de banco de dados: " Engenharia - CAD/CASE/CAE " Cincias " Biologia " Cincia da Terra " Sistemas de Informaes Geogrficas (GIS) " Educao - CAI " Educao distncia " Enciclopdias e Bancos de Dados Textuais " Multimdia/Visualizao + Banco de Dados " Realidade virtual " Aplicaes interativas
Introduo 30

Bibliografia
DATE, C.J. Introduo a Sistemas de Bancos de Dados: traduo (4 edio americana). Rio de Janeiro: Campus, 1994. (captulos 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 implementao. Sexta edio (traduo). LTC Livros Tcnicos e Cientficos, 1999 (captulo 1) SILBERSCHATZ, Abraham.; KORTH, Henry F.; SUDARRSHAN, S. Sistemas de Banco de Dados. 3 ed. So Paulo: MAKRON BOOKS, 1999 (captulo 1)
Introduo 31