Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

62
Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados

Transcript of Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

Page 1: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

Org. e Projeto de Banco de Dados

Prof. Marcio GonçalvesFundamentos de Banco de Dados

Page 2: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Definição Banco de Dados

- Conjunto de dados interrelacionadosque objetivam atender as necessidadesde um conjunto de usuários.

- Inglês: Database.

- BD = Banco de Dados.

Page 3: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Definição de SGBD’s

- Inglês: Database Management System.

- SGBD = Sistema de Gerência deBanco de Dados.

- Software que incorpora as funções de definição, recuperação e manutenção de dados em um banco de dados.

Page 4: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Linguagens Envolvidas em SGBD’s

DDL - “Data Definition Language”

DML - “Data Manipulation Language”

- Linguagem usada para descrever omodelo lógico.

- Linguagem usada para escrever instruções que trabalham sobre a base de dados.

Page 5: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Funções Envolvidas em SGBD’s

DBA - Administrador do Banco de Dados- Responsável pela parte física.

AD - Administrador de Dados- Responsável pela parte lógica.

Page 6: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Funções Envolvidas em SGBD’s

Projetista de Banco de Dados- Constrói partes do modelo conceitual da base de dados .

Analista de Sistemas- Define e projeta aplicações sobre abase de dados.

Page 7: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Funções Envolvidas em SGBD’s

Programador- Constrói aplicações usando os modelosconceituais e lógicos existentes.

Usuários Finais- Acessam a base de dados através deaplicações.

Page 8: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Processamento sem BD

- Exemplo:

Sistema de

Vendas

Sistema de

Produção

Sistema de

Engenharia

Arquivos de

Vendas

Arquivos de

Produção

Arquivos de

Engenharia

Dados de Produto

Page 9: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Processamento sem BD

- Dados de diferentes aplicações não estão integrados.

- Dados estão projetados para atenderuma aplicação específica.

Page 10: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Problemas com a Falta de Integração

- Mesmo objeto da realidade é múltiplasvezes representado na base de dados.

- Redundância não controlada dos dados.

Page 11: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

- Redundância ocasiona em:

- Inconsistência dos dados.

- Redigitação de informações.

Problemas com a Falta de Integração

Page 12: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

- Exemplo:

Processamento com BD

Sistema de

Vendas

Sistema de

ProduçãoSistema de

Engenharia

Banco de

Dados

Dados de Produto

Page 13: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

- Cada informação é armazenada umaúnica vez.

Processamento com BD

- Eventual redundância controlada pelosistema é invisível para o usuário.

Page 14: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

- Prover independência das aplicações em relação aos dados.(significa que uma alteração no modelode dados não deve afetar as aplicações)

Propostas dos Bancos de Dados

- O SGBD oferece isolamento dasaplicações em relação aos dados.

Page 15: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

- Oferecer abstração de dados.

Propostas dos Bancos de Dados

- Ou seja, as aplicações devem ver os dados de forma abstrata, independente de detalhes físicos de implementação.

Page 16: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Arquiteturas de Hardware/Software

- Modelos de Plataformas para Bancode Dados:

- Mono-Usuário- Centralizada- Cliente/Servidor- Network Computer

Page 17: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Arquiteturas de Hardware/Software

- Mono-Usuário- Banco de dados encontra-se no mesmocomputador em que são executadas asaplicações.- Não há múltiplos usuários.- Típico de computadores pessoais.

Page 18: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Arquiteturas de Hardware/Software

- Centralizada- Banco de dados encontra-se no mesmocomputador em que são executadas asaplicações.- Múltiplos usuários acessam atravésde terminais “burros”.- Arquitetura típica de “main-frame”.

Page 19: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

Arquiteturas de Hardware/Software

- Cliente/Servidor- Múltiplos usuários.- Servidor de banco de dados. Ou seja,um computador contém todos os arquivos do banco mais o SGBD.- Os clientes executam as aplicações.

ASSELVI / Prof. Marcio Gonçalves

Page 20: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Arquiteturas de Hardware/Software

- Cliente/Servidor- Trafegam na rede comandos de altonível para o SGBD.

- Arquitetura mais utilizada.

Page 21: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

Arquiteturas de Hardware/Software

- “Network Computer”- Atualmente é somente uma proposta.

- Uso de computadores com capacidadesrestritas (não possuem disco).

- Aplicações são enviadas pela redeao cliente.

ASSELVI / Prof. Marcio Gonçalves

Page 22: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Histórico de Banco de Dados

- A dificuldade das organizações para manter os “sistemas legados”.

- A chegada dos primeiros sistemas de banco de dados no fim da década de 60.

Page 23: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Histórico de Banco de Dados

- Hierárquico- Rede- Relacionais- Orientado a Objetos

- Modelos de Sistemas de Banco de Dados:

Page 24: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Hierárquico

- Outros: System 2000.

- Largamente utilizado durante a década de 70 e início da década de 80.

- A IBM teve o IMS (DL/1) um dos bancos de dados hierárquicos mais conhecidos.

Page 25: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Hierárquico

- Um BD hierárquico é composto de árvores de registros.- Entre os diferentes tipos de registros(segmentos) existem as ligações pai-filho.

- Um determinado registro somente podepossuir um registro pai.

Page 26: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Hierárquico

- Esquema gráfico de um BD hierárquico:

CodPeça NomePeça CorPeça PesoPeça CidadePeça

CodFornec

Peça

NomeFornec StatusFornec CidadeFornec QtdFornec

Fornec

Definição de tipo de relação pai-filho

Definição de tipo de registro

Page 27: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Hierárquico

- Um possível estado do BD hierárquico:

P1 Eixo Cinza 10 Blumenau

F3

Peça

Álvares 5 São Paulo 200

Fornec

F2 Souza 10 Rio 400

F1 Silva 5 São Paulo 300

Page 28: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Hierárquico

P2 Roda Preto 16 Rio

F4

Peça

Tavares 8 Rio 350

Fornec

F1 Silva 5 São Paulo 300

P3 Mancal Verde 30 São Paulo

Peça

Page 29: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Hierárquico

- Um registro (segmento) pai pode possuir filhos de diferentes tipos.

- A hierarquia pode estender-se pordiversos níveis.

- Outras considerações:

Page 30: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Hierárquico

- Instruções de acesso a dados:

- get next <record name>

[ where < select criteria>];

- Esta instrução busca um registro raiz que obedece a determinado critério com base em valores de seus campos.

Page 31: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Hierárquico

- Instruções de acesso a dados:

- get next <record name> under this

[ where < select criteria>] ;

- Esta instrução busca um registro que é filho do registro corrente e que obedece a um determinado critério.

Page 32: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Hierárquico

- Exemplos de acessos a dados:

1 - Buscar os nomes dos fornecedores que embarcam o produto de código P2.

Page 33: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Hierárquico

- Instruções de modificação do BD:

Inclusão = ISRT.

Alteração = REPL.

Exclusão = DLET.

Page 34: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Hierárquico

- Análise do modelo hierárquico:

- Adequado somente para problemas hierárquicos.

- Em caso de problemas não hierárquicos cria a redundância de dados.

Page 35: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Hierárquico

- Análise do modelo hierárquico:- O modelador tem que escolher um tipo de registro pai com base em considerações de performance.

- Em caso de problemas não hierárquicos cria anomalias nas instruções de modificação da base de dados.

Page 36: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo em Rede

- Grande família de SGBD’s baseada em um padrão CODASYL e mais tarde no ANSI.- O IDMS da Cullinet Software tornou-seum dos mais conhecidos.- Outros: IDS/2, RMS (Digital)

Page 37: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo em Rede

- Em um BD em Rede um determinado registro pode possuir diversos registrospai.

- A única restrição é que em um tipo deligação um registro somente pode participar uma vez.

Page 38: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo em Rede- Esquema gráfico de um BD em rede:

CodPeça NomePeça CorPeça PesoPeça

Peça

Definição de tipo de relação pai-filho

QtdeEmbarq

Embarq

CodFornec NomeFornec CidadeFornec

Fornec

Definição de tipo de registro

Page 39: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo em Rede

- Um possível estado do BD em rede:

P1 Eixo Cinza 10

PeçaP2 Roda Preto 16 P3 Mancal Verde 10

300

Embarq400 200 300 350

F1 Silva São P.

FornecF2 Souza Rio F3 João São P. F4 Pedro Rio

Page 40: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo em Rede

- Outro Exemplo:CursoCód Nome

IngrDataIngr

AlunoCódAl NomeAl

HistóricoConceito AnoSem

DisciplinaCodDisc NomeDisc CredDisc

CurricObrOpcDisc

Page 41: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo em Rede

- Instruções de acesso a dados:

- get next <record name> where < select criteria>;

- Instrução que busca um registro de um tipo que obedece a determinado critério com base em valores de seus campos.

- Não está restrita a registros raiz.

Page 42: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo em Rede

- Instruções de acesso a dados:

- Esta instrução busca um registro de um tipo que obedece a determinado critério e que é filho do registro corrente dentro da ligação indicada.

- get next <record name> under this in <set name> [ where < select criteria>] ;

Page 43: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo em Rede

- Instruções de acesso a dados:

- Instrução da própria abordagem em rede para buscar um registro pai de um filho em uma dada cadeia de registros.

- get <record name> over this in <set name>;

Page 44: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

- Exemplos de acessos a dados:

1 - Buscar os nomes dos fornecedores que embarcaram o produto de código P2.

Modelo em Rede

Page 45: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo em Rede

- Instruções de modificação do BD:

Inclusão = STORE.

Alteração = MODIFY.

Exclusão = ERASE.

Page 46: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo em Rede

- Análise do modelo em rede:

- Na abordagem em rede não aparecem as anomalias de manutenção da base dedados que aparecem em modelos hierárquicos.

- A abordagem em rede não está restrita somente a atender problemas hierárquicos.

Page 47: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo em Rede

- Análise do modelo em rede:

- O programador tem que conhecer as ligações existentes na base de dados.

- A independência de dados fica prejudicada, pois a criação/eliminaçãode ligações implica em alteração dos programas.

Page 48: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Relacional

- Surgiu dos trabalhos teóricos de Codd (IBM) procurando um modelo lógico independente de detalhes de implementação.

- Baseado na álgebra relacional.

Page 49: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Relacional

- Pesquisas e construções de protótiposiniciaram em meados da década de 70.

- Como primeiros produtos surgiram oSystem R (IBM) e o INGRES (Universidade da Califórnia).

Page 50: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Relacional

- Produtos conhecidos atualmente: - ORACLE, DB2, SYBASE, SQL SERVER, INTERBASE, MYSQL, INFORMIX, etc.

Page 51: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Relacional

- Sistema relacional é aquele no qual os dados são percebidos pelos usuários como tabelas.- Uma das idéias básicas por trás da abordagem relacional é a de que os valores de atributos são atômicos.

Page 52: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Relacional

- As ligações entre linhas de diferentes tabelas são feitas através do uso devalores de atributos.

Page 53: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Relacional

- Conceitos básicos:

- Chave Primária: Coluna ou colunascujos valores diferenciam uma linha das demais para todos os possíveis valores de uma tabela.

- O valor da chave primária não pode ser vazio.

Page 54: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Relacional

- Conceitos básicos:

- Chave Estrangeira: Coluna ou colunasde uma tabela, cujos valores devem aparecer na chave primária de uma tabela(de outra tabela ou da mesma).

- Normalmente exige-se que a chave primária seja mínima.

Page 55: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Relacional

- Conceitos básicos:- Chave Candidata: Coluna ou colunasde uma tabela, cujos valores diferenciam uma linha das demais para todos os possíveis valores de uma tabela. Porém,por questões funcionais não foram escolhidas para chave primária.

Page 56: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

- Análise do modelo relacional:

- No modelo relacional a independênciade dados aumenta, pois programas nãosão influenciados pela existência ou nãode caminhos de acesso.

Modelo Relacional

Page 57: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Orientado a Objetos

- Os bancos de dados orientados a objeto iniciaram-se primeiramente em projetosde pesquisa nas universidades e centrosde pesquisa (início dos anos 80).

- Existem atualmente ainda poucos produtos no mercado.

Page 58: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Orientado a Objetos

- O banco de dados Jasmine da ComputerAssociates é um dos mais conhecido no mercado atualmente.

- O Jasmine é o primeiro banco de dados considerado totalmente orientado a objetos.

- Outros: Caché da InterSystem.

Page 59: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Orientado a Objetos

- Os bancos de dados orientados a objetostem como objetivo integrar a orientação a objeto com as aptidões dos bancos de dados.

- Disponibilizando mais abstração da estrutura de dados do que os bancos de dados convencionais.

Page 60: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Orientado a Objetos

- Os bancos de dados orientados a objetosatualmente estão direcionados a disponibilizar soluções para apoiar aplicações que utilizam tipos de dadoscomplexos (como multimídia e desenho).

Page 61: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Orientado a Objetos

- Isto deve-se ao fato que os bancos de dados convencionais (no momento) encontram algumas dificuldades para tratar estes tipos de dados.

Page 62: Org. e Projeto de Banco de Dados Prof. Marcio Gonçalves Fundamentos de Banco de Dados.

ASSELVI / Prof. Marcio Gonçalves

Modelo Orientado a Objetos

- Transição:

- Vários fornecedores de banco de dadosrelacionais estão disponibilizando em seus produtos o conceito de objeto-relacional.