40
UERJ - Agosto 2000 © Oscar Luiz Monteiro de Farias 1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

Embed Size (px)

Citation preview

Page 1: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 1

Bancos de Dados

Mestrado em Engenharia de Computação área de concentração Geomática

Page 2: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 2

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.

Page 3: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 3

• Banco de Dados

• Dados

• SGBD (DBMS)

Conceitos fundamentais...

Page 4: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 4

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

Page 5: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 5

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.

Page 6: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 6

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.

Page 7: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 7

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

Page 8: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 8

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)

Page 9: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 9

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

Page 10: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 10

• 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)

InfoLand - Requisitos do Sistema...

Page 11: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 11

• 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

Empresa DI - Imóveis...

Page 12: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 12

• 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

DI Imóveis - Requisitos do Sistema

Page 13: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 13

Empresa DI - Imóveis...

Servidor de BD

Stand de Vendas Gerências Público

Page 14: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 14

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

Page 15: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 15

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)

Page 16: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 16

Projetos: i) SIVAM; ii) ZEE-RJ

• Vários atores envolvidos

• Multi-disciplinaridade

• Ambiente distribuído

• BDs e SIGs

Page 17: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 17

Comparação

Aplicações Pessoais/PMEAplicações Pessoais/PME

OLTPOLTP

Aplicações Cliente-ServidorAplicações Cliente-Servidor

Bancos de Dados DistribuídosBancos de Dados Distribuídos

Detran / SABRE

Infoland

DI Imóveis

Mainframes

Microcomputadores

Redes deComputadores

Projeto SIVAM / ZEEIntegração Ampla

Page 18: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 18

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.

Page 19: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 19

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.

Page 20: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 20

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

Page 21: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 21

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

Page 22: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 22

Page 23: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 23

Sistema Tradicional de Arquivos

MatrículaMatrícula

StudentStudent CourseCourse

CourseCourse

PrerequisitePrerequisiteStudentsStudents

Emissão Histórico EscolarEmissão Histórico Escolar

SectionSection

SectionSectionGradeGrade

ReportsReports

Page 24: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 24

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

Page 25: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 25

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 descrição da base de dadosdados (catálogo ).

• Meta-dados: informação armazenada no catálogo.

Page 26: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 26

Arquivo do Usuário

Page 27: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 27

Meta-Dados

Page 28: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 28

Metadados

Table NameTable Name NumberNumberof Columnsof Columns Primary KeyPrimary Key

Employee 10 Ssn

Department 4 Dnumber

Project 3 Pnumber

... ... ...

SysTables

TableTableNameName

DataDataTypeType LengthLength

Employee Text 15

Employee Text 1

Employee Text 15

... ... ...

ColumnColumnNameName

Fname

Minit

Lname

...

SysColumns

Page 29: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 29

• 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

A Abordagem de Banco de Dados...

Page 30: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 30

Múltiplas visões dos dados

BDBD

Page 31: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 31

Exemplos de visões

StudentTranscriptTRANSCRIPT StudentNameCourseNumber Grade Semester Year Sectionld

COSC1310 C Fall 92 119SmithMATH2410 B Fall 92 112MATH2410 A Fall 91 85COSC1310 A Fall 91 92COSC3320 B Spring 92 102BrownCOSC3380 A Fall 92 135

PREREQUISITES CourseName CourseNumber PrerequisitesCOSC3320Database 3380MATH2410

Data Structures 3320 COSC1310

Page 32: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 32

• 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.

A Abordagem de Banco de Dados...

Page 33: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 33

• Compartilhamento da Base de Dados

– Controle de concorrência ex.: reserva de passagens aéreas

– OLTP - On Line Transaction Processing

A Abordagem de Banco de Dados...

Page 34: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 34

Um ambiente simplificado de Sistema de Banco de Dados

Queries/programas de aplicação

Software para processar queries/programas

Banco de DadosMeta-dados

Software para acesso aos dadosSoftware SGBD

Usuários/programadores

Sistema deBanco de Dados

Page 35: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 35

Atores em Cena

• Administradores de Bancos de Dados

• Projetistas de Bancos de Dados

• Usuários Finais

• Analistas de Sistemas e Programadores

Page 36: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 36

Tipos de Usuários Finais

• Casuais

• Naive ou paramétricos

• Sofisticados

• Stand-alone

Page 37: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 37

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)

Page 38: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 38

• 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

Uso Intencional de um SGBD...

Page 39: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 39

• 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

Uso Intencional de um SGBD...

Page 40: UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de Computação área de concentração Geomática

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 40

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