Bancos de Dados

Propaganda
Bancos de Dados
Mestrado em Engenharia de Computação
área de concentração Geomática
UERJ -
© Oscar Luiz Monteiro de Farias
1
Bibliografia
• [1] ELMASRI, R., NAVATHE, S. B. - Fundamentals of Database
Systems, Redwood City: Benjamin/Cummings Publishing
Company, Inc., 1994.
• [2] KORTH, H., SILBERSCHATZ, A. - Sistema de Bancos de
Dados, São Paulo: Makron Books, 1998.
• [3] COUGO, PAULO - Modelagem Conceitual e Projeto de
Bancos de Dados, Rio de Janeiro: Editora Campus, 1997.
• Manuais de SGBDs (DBMSs) específicos.
UERJ -
© Oscar Luiz Monteiro de Farias
2
Conceitos fundamentais...
• Banco de Dados
• Dados
• SGBD (DBMS)
UERJ -
© Oscar Luiz Monteiro de Farias
3
Conceitos fundamentais...
• Bancos de Dados (BD) - Coleção de dados
relacionados
• Dados - fatos conhecidos que podem ser
registrados e que possuem um significado
implícito
UERJ -
© Oscar Luiz Monteiro de Farias
4
Propriedades implícitas de um Banco de Dados...
i) Um BD representa algum aspecto do mundo real
(miniworld ou Universo do Discurso). Mudanças no
miniworld são refletidas no BD.
ii) Um BD é uma coleção logicamente coerente de
dados com algum significado inerente.
iii) Um BD é projetado, construído e alimentado com
dados para um propósito específico. Possui um grupo
intencionado de usuários e algumas aplicações préconcebidas, de interesse destes usuários.
UERJ -
© Oscar Luiz Monteiro de Farias
5
Propriedades implícitas de um Banco de Dados...
iv) Um Banco de Dados tem alguma fonte, de onde
seus dados são derivados, algum grau de interação
com eventos do mundo real e alguma audiência que
está ativamente interessada no conteúdo dos seus
dados.
UERJ -
© Oscar Luiz Monteiro de Farias
6
Bancos de Dados - Aplicações
• Caderninho (agenda) de telefones
• InfoLand - Comércio de Computadores
• Empresa DI que constrói e comercializa
imóveis
• DETRAN
• Sistema SABRE
• Projetos SIVAM e ZEE-RJ
UERJ -
© Oscar Luiz Monteiro de Farias
7
Agenda de telefones
• Controle manual
• normalmente os dados são de interesse de um único
usuário
• consultas por índices
• número limitado de entradas e de ítens por entrada
• operações de inclusão, exclusão e alteração fáceis
de realizar
• a perda dos dados pode trazer sérios transtornos
(falta de backup)
UERJ -
© Oscar Luiz Monteiro de Farias
8
InfoLand - Comércio de Computadores
• Universitário que monta micros e os revende
• único usuário do sistema
• clientes sofisticados, requerendo
configurações sob-medida
• monta 8 micros/mês
• dificuldade em lembrar-se das configurações
• pretende expandir os negócios
UERJ -
© Oscar Luiz Monteiro de Farias
9
InfoLand - Requisitos do Sistema...
• Mala direta para os clientes com ofertas
• Controle das configurações instaladas
• Ofertas sob medida para cada cliente, tendo
em vista a sua configuração
• abatimentos e/ou brindes em função do
número de clientes recomendados
• financiamento das vendas (em dólar)
UERJ -
© Oscar Luiz Monteiro de Farias
10
Empresa DI - Imóveis...
• Possui 2000 imóveis para comercializar
• patrimônio imobiliário (terrenos, aps,
salas...) no valor de US$ 8 bi
• desenvolve espaços urbanos
• Atividades principais:
– comercialização de imóveis
– administração imobiliária
UERJ -
© Oscar Luiz Monteiro de Farias
11
DI Imóveis - Requisitos do Sistema
•
•
•
•
•
•
Sistema Integrado de Informações
ambiente de rede (Intranet/Internet)
Posição instantânea da situação do imóvel
Posição financeira de cada cliente
Relatórios gerenciais diversos
Usuários não especializados
– uso intensivo de formulários e relatórios préfabricados
UERJ -
© Oscar Luiz Monteiro de Farias
12
Empresa DI - Imóveis...
Servidor de BD
Stand de Vendas
UERJ -
Gerências
© Oscar Luiz Monteiro de Farias
Público
13
DETRAN
• Emite carteiras de motoristas, certificados
de registro e licenciamento de veículos
• Controle de cobrança das multas
• Controle de cobrança de impostos
• Milhares de usuários
• Permite consultas via rede bancária e
Internet
• consultas por RENAVAM, motorista
UERJ -
© Oscar Luiz Monteiro de Farias
14
SABRE (www.sabre.com)
•
•
•
•
Sistema de Reservas (viagens aéreas, etc.)
mais de 140.000 consultas diárias
mais de 40% das reservas das viagens efetuadas no mundo
oferece serviços para mais de 440 Cias aéreas e 47.000
hotéis
• tempo de resposta médio <= 3 seg
• 210.000 terminais interconectados
• Tulsa Data Center => 30 mainframes capacidade de 14,337
MIPS e 60 terabytes de armazenamento (equivalente a 15
bilhões de páginas de informação)
UERJ -
© Oscar Luiz Monteiro de Farias
15
Projetos: i) SIVAM; ii) ZEE-RJ
• Vários atores envolvidos
• Multi-disciplinaridade
• Ambiente distribuído
• BDs e SIGs
UERJ -
© Oscar Luiz Monteiro de Farias
16
Comparação
Microcomputadores
Redes de
Computadores
Mainframes
Aplicações
Aplicações Pessoais/PME
Pessoais/PME
Infoland
Aplicações
Aplicações Cliente-Servidor
Cliente-Servidor DI Imóveis
OLTP
OLTP
Detran / SABRE
Bancos de
de Dados
Dados Distribuídos
DistribuídosProjeto SIVAM / ZEE
Integração Ampla Bancos
UERJ -
© Oscar Luiz Monteiro de Farias
17
Sistema Gerenciador de Banco de Dados
(SGBD)...
Um SGBD - DBMS (Data Base Magement
System) é uma coleção de programas que
capacita os usuários a definir, criar,
manipular e manter Bancos de Dados.
UERJ -
© Oscar Luiz Monteiro de Farias
18
Sistema Gerenciador de Banco de Dados
(SGBD)...
• Definir um banco de dados envolve
especificar as estruturas (tabelas), tipos de
dados e restrições relativas aos dados
armazenados no banco de dados.
• Construir um banco de dados é o processo de
armazenar os dados em algum meio de
armazenamento que seja controlado pelo
SGBD.
UERJ -
© Oscar Luiz Monteiro de Farias
19
Sistema Gerenciador de Banco de Dados
(SGBD)...
• Manipular um banco de dados compreende
funções como consultá-lo (query) para recuperar
(recovery) determinados dados, atualizá-lo para
refletir as mudanças no mini-mundo e gerar
relatórios.
• Database System = software + database
UERJ -
© Oscar Luiz Monteiro de Farias
20
Exemplo: Banco de Dados Acadêmico
• Definição:
– especificar a estrutura dos registros de cada arquivo e os
diferentes tipos de elementos de dados a serem
armazenados em cada registro.
– especificar um tipo de dados para cada elemento de dado
a ser armazenado no registro.
• Construção:
– armazenar os dados que representam cada estudante,
curso, seção, grau, e pré-requisito nos arquivos (tabelas)
correspondentes
• Manipulação: envolve consultas e atualizações
UERJ -
© Oscar Luiz Monteiro de Farias
21
UERJ -
© Oscar Luiz Monteiro de Farias
22
Sistema Tradicional de Arquivos
Emissão Histórico Escolar
Matrícula
Student
Course
Students
Section
Course
Grade
Reports
Prerequisite
Section
UERJ -
© Oscar Luiz Monteiro de Farias
23
Limitações do Sistema Tradicional ...
• Cada usuário define e implementa os arquivos
necessários para a sua aplicação específica
– Dados isolados e em diferentes arquivos
– Registros incompatíveis
– Duplicação de dados (redundância)
• Programas dependentes dos dados
UERJ -
© Oscar Luiz Monteiro de Farias
24
A Abordagem de Banco de Dados...
• Um único repositório de dados é definido
uma única vez, posteriormente é atualizado
e consultado por vários usuários.
• O Sistema de Banco de Dados contém a
base de dados e a descrição da base de
dados (catálogo ).
• Meta-dados: informação armazenada no
catálogo.
UERJ -
© Oscar Luiz Monteiro de Farias
25
Arquivo do Usuário
UERJ -
© Oscar Luiz Monteiro de Farias
26
Meta-Dados
UERJ -
© Oscar Luiz Monteiro de Farias
27
Metadados
SysTables
Table Name
Employee
SysColumns
Number
of Columns
10
Primary Key
Column
Name
Table
Name
Data
Type
Length
Ssn
Fname
Employee
Text
15
Department
4
Dnumber
Minit
Employee
Text
1
Project
3
Pnumber
Lname
Employee
Text
15
...
...
...
...
...
...
UERJ -
...
© Oscar Luiz Monteiro de Farias
28
A Abordagem de Banco de Dados...
• Independência programas-dados
• Independência programa-operação
operação = funtion member = método
[assinatura (interface) + implementação]
• abstração de dados = independência
programas-dados + programa-operação
• representação conceitual
• modelo de dados
UERJ -
© Oscar Luiz Monteiro de Farias
29
Múltiplas visões dos dados
BD
UERJ -
© Oscar Luiz Monteiro de Farias
30
Exemplos de visões
TRANSCRIPT StudentName
Smith
Brown
PREREQUISITES
UERJ -
CourseNumber
COSC1310
MATH2410
MATH2410
COSC1310
COSC3320
COSC3380
StudentTranscript
Grade
Semester
C
Fall
B
Fall
A
Fall
A
Fall
B
Spring
A
Fall
CourseName
Database
CourseNumber
3380
Data Structures
3320
© Oscar Luiz Monteiro de Farias
Year
92
92
91
91
92
92
Sectionld
119
112
85
92
102
135
Prerequisites
COSC3320
MATH2410
COSC1310
31
A Abordagem de Banco de Dados...
• Suporte a múltiplas visões dos dados
Uma visão pode ser um subconjunto do
banco de dados ou ela pode conter dados
virtuais que são derivados de arquivos do
bd, mas não explicitamente armazenados.
UERJ -
© Oscar Luiz Monteiro de Farias
32
A Abordagem de Banco de Dados...
• Compartilhamento da Base de Dados
– Controle de concorrência
ex.: reserva de passagens aéreas
– OLTP - On Line Transaction Processing
UERJ -
© Oscar Luiz Monteiro de Farias
33
Um ambiente simplificado de Sistema de
Banco de Dados
Usuários/programadores
Queries/programas de aplicação
Sistema de
Banco de Dados
Software para processar queries/programas
Software
SGBD
Software para acesso aos dados
Meta-dados
UERJ -
Banco de Dados
© Oscar Luiz Monteiro de Farias
34
Atores em Cena
• Administradores de Bancos de Dados
• Projetistas de Bancos de Dados
• Usuários Finais
• Analistas de Sistemas e Programadores
UERJ -
© Oscar Luiz Monteiro de Farias
35
Tipos de Usuários Finais
• Casuais
• Naive ou paramétricos
• Sofisticados
• Stand-alone
UERJ -
© Oscar Luiz Monteiro de Farias
36
Uso Intencional de um SGBD...
• Controle de Redundância
– multiplicação de esforços na entrada de dados
– economia de espaço
– consistência dos dados
• Restrições a acessos não autorizados
(subsistema de autorização e segurança)
– controles similares se aplicam ao software de
SGBD (ex.: criação de novas contas)
UERJ -
© Oscar Luiz Monteiro de Farias
37
Uso Intencional de um SGBD...
• Armazenamento persistente para estruturas de
dados e objetos (bancos de dados orientados a
objetos - oodb)
• Uso de regras de dedução para inferir novas
informações (sistemas de bancos de dados
dedutivos)
• Múltiplas interfaces para os usuários
– linguagens de consulta (query languages), linguagens
de programação, formulários, menus, linguagens
naturais
UERJ -
© Oscar Luiz Monteiro de Farias
38
Uso Intencional de um SGBD...
• Representação de complexas relações entre os
dados
• Imposição de Restrições de Integridade
– especificação de um tipo de dados para cada ítem de
dados
– relacionar um registro em um arquivo com registros em
outros arquivos
– unicidade de valores para ítens de dados (chaves)
• Backup and Recovery
UERJ -
© Oscar Luiz Monteiro de Farias
39
Implicações da abordagem de Banco de
Dados
• Potencial para disseminar padrões
• Redução do tempo de desenvolvimento de
aplicações
• Flexibilidade
• Informação sempre atualizada (up-to-date)
• Economias de escala
UERJ -
© Oscar Luiz Monteiro de Farias
40
Download