UERJ - Agosto 2000© Oscar Luiz Monteiro de Farias1 Bancos de Dados Mestrado em Engenharia de...

Preview:

Citation preview

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

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 3

• Banco de Dados

• Dados

• SGBD (DBMS)

Conceitos fundamentais...

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

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.

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.

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

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)

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

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

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

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

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 13

Empresa DI - Imóveis...

Servidor de BD

Stand de Vendas Gerências Público

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

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)

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

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

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.

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.

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

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

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 22

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

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

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.

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 26

Arquivo do Usuário

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 27

Meta-Dados

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

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

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 30

Múltiplas visões dos dados

BDBD

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

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

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

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

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

UERJ - Agosto 2000

© Oscar Luiz Monteiro de Farias 36

Tipos de Usuários Finais

• Casuais

• Naive ou paramétricos

• Sofisticados

• Stand-alone

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)

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

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

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

Recommended