31
Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka http://www.uniriotec.br/~tanaka [email protected] ORÁCULO Consultoria de Sistemas Rio de Janeiro Utilização por terceiros autorizada com citação da fonte.

Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka [email protected] ORÁCULO Consultoria de Sistemas

Embed Size (px)

Citation preview

Page 1: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

BANCO DE DADOS(Fundamentos e Projeto)

Asterio K. Tanakahttp://www.uniriotec.br/~tanaka

[email protected]

ORÁCULOConsultoria de Sistemas

Rio de Janeiro Utilização por terceiros autorizada com citação da fonte.

Page 2: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Programa deaplicação de BDSGBD Programa deaplicação de BD

Programa deaplicação

dadose

regras

SISTEMA DE INFORMAÇÃO

Sistema de informação:- Organização- Pessoas- Tecnologia

- hardware- software- telecomunicações

Page 3: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Evolução dos Sistemas de Informação

• 50-60’s: programas com dados armazenados

• 60-70’s: sistemas de arquivos

• 70-90’s: sistemas de bancos de dados

• 90’s - ? (depois da WWW): sistemas de informações para Web (WIS)

Page 4: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Programa com dados armazenados

Programa com gerência de arquivos

Programa deaplicação de BD

Sistema deGerência

de BD

Programa com gerência de arquivos

Programa com gerência de arquivos

Programa deaplicação de BD

Programa deaplicação de BD

arquivosde dados

bancode dados

Programa com dados armazenados

Programa com dados armazenados

Programa deaplicação de BD

MiddleWare

Programa deaplicação de BDAplicaçõesFontes

dedados

MiddleWareMiddleWare

Page 5: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Mini-mundo Banco de

Dados

Usuários

Aplicações

• Coleção autodescritiva de dados relacionados, logicamente coerentes e com algum significado inerente.

• Projetado, construído e povoado com dados para um propósito específico.

• Grupo de usuários e Aplicações pré-concebidas.

Banco de DadosConceitos Básicos

Page 6: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Um Ambiente (simplificado) de Sistema de Banco de Dados

Definiçãodo BD

(Metadados)

BDarmazenado

Consultas / Programas de Aplicação

Software para processarconsultas / programas

Software para acessardados armazenados

Usuários / Programadores

Sistema de BD

SGBD

Page 7: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Componentes de um SGBD

Comandos em LDD

Comandos privilegiados

Consulta dealto nível

Programas deaplicação

Comandos em LMD

TransaçõescompiladasCompilador

da LDDCompilador

da LMD

Processadorde consultas

Processadordo BD em tempo

de execução

Compiladorda linguagemhospedeira

Subsistema de controle deconcorrência / backup / restauração

Gerenciadordos dados

armazenados

Banco de dados armazenado

Catálogo/Dicionáriode Dados

ABD e equipe usuáriosocasionais

programadoresde aplicações

usuáriosparamétricos

Pré-compilador

Page 8: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Processamento de uma Aplicação

Sistema Operacional

Área de Entrada e Saída

Base deDados

Armazenados

CatálogoSistema /Dicionáriode Dados

SGBD

Área Local deDados

Programa deAplicação

10

12

11

76

9854

3

2 1

Fluxo de Dados

Fluxo de Controle

Page 9: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Características dos Sistemas de Bancos de Dadosversus Sistemas de Arquivos

• Natureza auto-contida de um sistema de banco de dados

– metadados armazenados num catálogo ou dicionário de dados

• Independência entre programas e dados

– estrutura dos arquivos de dados armazenada no catálogo separadamente dos programas de acesso

• Abstração de dados

– representação conceitual dos dados através de modelos de dados

• Suporte de múltiplas visões de dados

– diferentes perspectivas ou visões de usuários

• Suporte a transações

– compartilhamento de dados e processamento multiusuário

Page 10: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

A Arquitetura de Três Esquemas

VisãoExterna 1

VisãoExterna n

Esquema Conceitual

Esquema Interno

Usuários finais

. . .NÍVEL EXTERNO

NÍVEL CONCEITUAL

NÍVEL INTERNO

mapeamento externo/conceitual

mapeamento conceitual/interno

Page 11: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Independência de Dados

Capacidade de mudar o esquema num nível de um sistema de banco de dados sem ter que mudar o esquema no nível seguinte mais alto.

• Independência lógica de dados:

Capacidade de mudar o esquema conceitual sem ter que mudar esquemas externos ou programas de aplicação.

• Independência física de dados:

Capacidade de mudar o esquema interno sem ter que mudar o esquema conceitual

Page 12: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

MODELOS DE DADOS

• Uma coleção de conceitos, construídos com base em mecanismos de abstrações, que são usados para descrever um conjunto de dados e as operações para manipular os dados.

• Representação:

– sintaxe de linguagem

– notação gráfica

Page 13: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Categorias de Modelos de Dados• Modelos conceituais:

representam a realidade a um nível alto de abstração (ex: ER, modelos semânticos, OO)

• Modelos lógicos ou de implementação:

suportam descrições de dados que possam ser processadas por computador (ex: hierárquico, em rede, relacional, relacional-objeto, OO).

• Modelos físicos:

descrevem como os dados são armazenados no computador através de informações como tipos de arquivos, formatos e ordenação de registros, caminhos de acesso (ex: várias formas de estruturas de arquivos).

Page 14: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Esquema Conceitual Entidade-Relacionamento

EMPREGADO

DEPARTAMENTO

PROJETO

DEPENDENTE

supervisiona

emprega

trabalha

gerencia

possui

controla

Data início

NúmeroNome

NumeroNomeLocal

Horas

CPFNomeData nascimentoSexoEnderecoSalario

NomeSexodata nascimentoRelacionamento

supervisionadosupervisor

(1,1) (1,N)

(0,N)(1,N)

(0,N)(0,N)

(0,N)

(0,N)

(0,N)

(1,1)

(1,1)

(0,1)

Page 15: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Esquema ConceitualDiagrama de Classes - UML

Page 16: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Um esquema de banco de dados relacional

Nome CPF Data-Nasc Endereço Sexo Salário Supervisor Dept

Nome Número

Num-Dept Localidade

Nome Número Local Dept

CPF-Emp Num-Proj Horas

CPF-Emp Nome-Dep Sexo Data-Nasc Relacionamento

EMPREGADO

DEPARTAMENTO

LOCALIZACAO

PROJETO

TRABALHO

DEPENDENTE

Gerente Num Dept Data-Inicio

GERENCIA

Page 17: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Uma instância de banco de dados relacional

Nome CPF Data-Nasc Endereço Sexo Salário Supervisor Dept

Nome

Num-Dept Localidade

Nome Núm Local Dept

CPF-Emp Num-Proj Horas

CPF-Emp Nome-Dep Sexo Data-Nasc Relacionamento

EMPREGADO

DEPARTAMENTO

LOCALIZACAO

PROJETO

TRABALHO

DEPENDENTE

JoaoFrankAliciaJaneRamonJoyceAhmadJames

123456789333445555999887777987654321666884444453453453987987987888665555

09Jan5508Dez4519Jul5820Jun3115Set5231Jul6229Mar5910Nov27

333445555888665555987654321888665555333445555333445555987654321 nulo

Santos,SPSantos,SPTatui,SPLins,SPMarilia,SPSantos,SPSantos,SPSantos,SP

MMFFMFMM

3000040000250004300038000250002500055000

55445541

PesquisaAdministracaoSede

541

333445555987654321888665555

22Mai8801Jan9219Jun91

14555

SantosCampinasLinsBauruSantos

123456789123456789666884444453453453453453453333445555333445555333445555333445555999887777999887777987987987987987987987654321987654321888665555

ProdutoXProdutoYProdutoZInformat.Reorgan.Beneficios

123102030

LinsBauruSantosCampinasSantosCampinas

555414

1231223102030101030302020

32,5 7,540,020,020,010,010,010,010,030,010,035,05,020,015,0nulo

333445555333445555333445555987654321123456789123456789123456789

AliceTeoJoyAbnerMiguelAliceBeth

FMFMMFF

05Abr7625Out7303Mai4829Fev3201Jan7831Dez7805Mai57

FilhaFilhoEsposaEsposoFilhoFilhaEsposa

Num

541

Num CPF Inicio

GERENCIA

Page 18: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Funcionalidades de um SGBD

• Controle de redundância

• Compartilhamento de dados

• Controle de acesso

• Múltiplas interfaces

• Representação de relacionamentos

• Cumprimento das restrições de integridade

• Capacidade de “backup” e restauração

Page 19: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Controle de Redundância

Redundância de dados

Problemas da redundância de dados:

• duplicação de esforço para manter os dados atualizados;

• desperdício de espaço de armazenamento;

• possibilidade de inconsistência dos dados

Armazenamento em um único local no banco de dados

X

Redundância para melhorar o desempenho das consultas.

Page 20: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Compartilhamento de Dados

• Sistemas multiusuários

• Controle de concorrência

• Transações atômicas

Page 21: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Controle de Acesso

Segurança e autorização

• senhas para usuários e para grupos de usuários;

• restrição de acesso a parte do banco de dados;

• proibição de executar certas operações;

• acesso de usuários paramétricos restrito apenas a transações “enlatadas”;

• proibição de uso de software privilegiado, como o software de criação de contas.

Page 22: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Múltiplas Interfaces

• Linguagens de consulta para usuários casuais;

• Linguagens de programação para programadores de aplicações;

• Interfaces gráficas com formulários (telas) e menus para usuários paramétricos;

• Interfaces para administração do banco de dados;

• Linguagem natural.

Page 23: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Cumprimento das Restrições de Integridade

• Tipo de dado (domínio)

• Unicidade de itens de dados (chave)

• Integridade referencial

• Restrições derivadas da semântica dos dados

Cumprimento automático pelo SGBD

ou

Especificação em programas de aplicação

Page 24: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Capacidade de Backup e Restauração

Casos de falha de hardware ou de software.

Backup e restauração (“recovery”) : consistência de estado do banco de dados.

Page 25: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Pessoal envolvido em grandes sistemas de bancos de dados

• Classe dos administradores

– administrador de sistema

– administrador de dados

– administrador de BD (ABD)

– pessoal de operação e suporte

Page 26: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

• Classe dos desenvolvedores

– projetistas do BD

– analistas de sistemas

– programadores de aplicações

• Classe dos usuários finais

– usuários ocasionais

– operadores de aplicações

– usuários sofisticados

Page 27: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Ambiente de BD - Papéis

• Administrador do Sistema– instala e mantém o SGBD

– necessário bom conhecimento do SO

– tem os mais altos privilégios

• Administrador do BD– responsável por criar e manter BDs

– tem privilégios nos BDs que gerencia

• Administrador de Dados– responsável pelo ambiente de dados da organização

Page 28: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

AD versus ABD• Administração de Dados está voltada para o

planejamento conceitual e a organização dos recursos de dados

– modelagem de dados, desenvolvimento de políticas e padrões para uso e gerência dos dados, treinamento de usuários, coordenação de atividades com projetistas de sistemas e usuários

• Administração de Banco de Dados está voltada para aspectos técnicos associados a um ambiente específico de um sistema de gerenciamento de banco de dados, no que diz respeito à operação e manutenção física de um ou mais BDs.

Page 29: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

1. Participar dos levantamentos de dados, eventos/funções e regras de negócio junto às

áreas funcionais da Empresa;

2. Elaborar e acompanhar a confecção dos modelos Conceituais de Dados;

3. Participar da compatibilização do planejamento de sistemas com os modelos de

Dados;

4. Responsabilizar-se pela qualidade e compatibilidade dos modelos de dados com os

modelos de implementação;

5. Planejar e coordenar a evolução dos Banco de Dados da Empresa;

6. Definir, manter e auditar os metadados do Dicionário de Dados;

7. Participar da elaboração e ajuste da MDS;

8. Disseminar pela organização a utilização da AD;

9. Normatizar a administração e utilização dos dados em ambientes centralizado e

cliente/servidor;

10. Participar da pesquisa de softwares de apoio à AD, ADB e correlatos.

Funções do Administrador de Dados

Page 30: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Funções do Administrador de Banco de Dados1. Definição e organização da Base de Dados

- Construir o Modelo Lógico/Físico da Base de Dados;- Promover o Espaço Físico para o armazenamento;- Manter a organização Física da Base de Dados;- Manter o Dicionário/Diretório de Dados;- Manter o nível de desempenho nas operações a Base de Dados.

Proteção da Base de Dados- Controlar as operações sobre a Base de Dados;- Manter a integridade dos Dados;- Controlar o uso correto de mecanismos de recuperação;- Detectar violações de regras; Resolução de conflitos.

Especificação da documentação- Descrição da Base de Dados;- Padrões; Procedimentos de Utilização; Senhas de Acesso;- Estatísticas de Desempenho;- Procedimentos de Recuperação;- Facilidades para ambientes de teste;- Diretrizes para Treinamento.

Suporte- Escolha, Instalação, Manutenção e suporte ao uso do SGBD;- Participação na escolha do software SGBD e seus produtos afins;- Contato com os Fornecedores.

Page 31: Asterio K. Tanaka BANCO DE DADOS (Fundamentos e Projeto) Asterio K. Tanaka tanaka tanaka@uniriotec.br ORÁCULO Consultoria de Sistemas

Asterio K. Tanaka

Bancos de dados não são sempre a solução

• Sobrecustos

– Alto investimento inicial

– Custo da generalidade do SGBD

– “Overhead” de processamento

• Quando NÃO usar bancos de dados

– Volume de dados pequeno, aplicações simples, bem definidas. Mudanças não são esperadas.

– Requisitos estritos de tempo real.

– Acessos múltiplos e concorrentes não são necessários.