View
111
Download
1
Category
Preview:
Citation preview
Org. e Projeto de Banco de Dados
Prof. Marcio GonçalvesFundamentos 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.
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.
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.
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.
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.
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.
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
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.
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.
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
ASSELVI / Prof. Marcio Gonçalves
- Exemplo:
Processamento com BD
Sistema de
Vendas
Sistema de
ProduçãoSistema de
Engenharia
Banco de
Dados
Dados de Produto
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.
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.
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.
ASSELVI / Prof. Marcio Gonçalves
Arquiteturas de Hardware/Software
- Modelos de Plataformas para Bancode Dados:
- Mono-Usuário- Centralizada- Cliente/Servidor- Network Computer
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.
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”.
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
ASSELVI / Prof. Marcio Gonçalves
Arquiteturas de Hardware/Software
- Cliente/Servidor- Trafegam na rede comandos de altonível para o SGBD.
- Arquitetura mais utilizada.
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
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.
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:
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.
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.
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
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
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
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:
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.
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.
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.
ASSELVI / Prof. Marcio Gonçalves
Modelo Hierárquico
- Instruções de modificação do BD:
Inclusão = ISRT.
Alteração = REPL.
Exclusão = DLET.
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.
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.
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)
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.
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
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
ASSELVI / Prof. Marcio Gonçalves
Modelo em Rede
- Outro Exemplo:CursoCód Nome
IngrDataIngr
AlunoCódAl NomeAl
HistóricoConceito AnoSem
DisciplinaCodDisc NomeDisc CredDisc
CurricObrOpcDisc
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.
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>] ;
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>;
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
ASSELVI / Prof. Marcio Gonçalves
Modelo em Rede
- Instruções de modificação do BD:
Inclusão = STORE.
Alteração = MODIFY.
Exclusão = ERASE.
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.
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.
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.
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).
ASSELVI / Prof. Marcio Gonçalves
Modelo Relacional
- Produtos conhecidos atualmente: - ORACLE, DB2, SYBASE, SQL SERVER, INTERBASE, MYSQL, INFORMIX, etc.
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.
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.
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.
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.
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.
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
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.
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.
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.
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).
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.
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.
Recommended