Teas 01
Banco de dados
PORQUE USAR ARQUIVOS?
•
•
•
•
•
•
•
Redundância e inconsistência
Problema de integração
Associação a aplicações
Dificuldade de acesso ( solicitações não usuais )
Isolamento dos dados
Múltiplos usuários ( atualização simultâneas )
Segurança de acesso
Organização de dados em um
ambiente
*Laudon , Jane P- Sistemas de Informações Gerenciais
•Objetivos de um sistema eficiente :
•Informações precisas
•Oportunas
•Exatas
•Relevantes
Organização de dados em um
ambiente
*Laudon , Jane P- Sistemas de Informações Gerenciais
Objetivos de um sistema eficiente :
•Falicitar o acesso das informações aos
usuários
•Somente facilitam o acesso quando estão:
• bem organizados
•Bem administradors
•Bem mantidos
Sistema Gerenciador Banco de
dados
• “ Basicamente o banco de dados deve
oferecer serviços que garantam o
acesso eficiente e concorrente às
informações, permitam notificação e
conhecimento das atividades de outros
membros do grupo e realizem o
acompanhamento da evolução das
atividades e informações do grupo,
dentre outros.”
BANCO DE DADOS O QUE É?
• Date : Sistemas de armazenamento de
dados baseado em computador
• Korth : Coleção de dados que contém
informação sobre um empreendimento
particular
DADO : Valor fisicamente registrado
INFORMAÇÃO : Significado de um valor
para um usuário
SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS ( SGBD )
DATA BASE MANAGEMENT SYSTEM ( DBMS )
• Coleção de arquivos inter-relacionados e
um conjunto de programas, que permitem
a diversos usuários acessar e modificar
esses arquivos.
Em resumo… um sgbd é…
HIERARQUIA DOS DADOS
• Um sistema de computador organiza os dados
em sequencia de hierarquia que começa com o
bit,agrupados em bytes, que representa o
caractere (uma letra ou digito).
• Estes bytes podem ser agrupados ate formar
um campo (ex. Nome) , agrupando-se em
campos correlacionados formamos um registro
(uma ficha), que se relacionados pode se formar
um arquivo e se relacionados fazem parte de
um banco de dados.
HIERARQUIA DOS DADOS
Sistemas tradicionais
•
•
•
•
•
Causam a Redundancia de dados
Dependencia de programas /dados
Falta de flexibilidade
Baixo nível de segurança
Falta de compartilhamento e
disponibilidade de dados
Redundância e inconsistência
• É a presença de dados duplicados em
multiplos arquivos de dados.
– Ocorre quando os dados são armazenados
em locais diferentes na mesma organização.
– Exemplo :
• Folha de pagamento(controla funcionarios)
• Outras areas usam o mesmo funcionario com
numeros e nomes diferentes (cadastros
duplicados)
Dependencia programa/dados
• Cada programa de computador descreve
a localização dos dados , portanto
qualquer alteração tem que modificar
fisicamente o banco de dados e alterar
lógicamente os programas para assim ter
acesso a base de dados
Programa
Banco de dados
Abstração de dados
Abstração de dados
Abstração de dados
Um Modelos de dados
“Coleção de ferramentas conceituais
para descrição, relacionamento,
semântica e restrições dos dados”
Modelo de dados ?
• Há três tipos de modelos de dados:
– o conceitual,
– o lógico
– O físico
“uma estrutura de dados com qualidade é
imprescindível para garantir a legitimidade do
banco de dados facilitando a manutenção do
sistema de aplicação”
Modelagem conceitual
(projeto conceitual)
– abstração de mais alto nível
– objetivo: representação dos requisitos de dados do domínio
• Vantagens
– independente de detalhes de implementação
em um SGBD
– facilita a compreensão da semântica dos dados de um domínio
•
melhor compreendido por usuários leigos
– pode ser mapeado para qualquer modelo lógico de BD
– facilita a manutenção do modelo lógico e a migração para
outro modelo lógico
•
processo de engenharia reversa
Modelagem lógica
(projeto lógico)
• representação da modelagem conceitual
em um modelo
• de BD
• – ênfase na eficiência de armazenamento
• • evitar: muitas tabelas (e junções);
tabelas sub-utilizadas, ...
Modelagem física
(implementação na linguagem)
•
•
•
•
– esquema SQL para a modelagem lógica
• dependente de SGBD
– ênfase na eficiência de acesso
• implementação de consultas, índices, ...
GRUPOS DE MODELOS DE
DADOS:
•
MODELOS LÓGICOS BASEADOS EM
OBJETOS:
–
–
–
–
–
Modelo Entidade-Relacionamento
Modelo Binário
Modelo Semântico de Dados
Modelo Infológico
E vários outros. . .
GRUPOS DE MODELOS DE
DADOS:
•
MODELOS DE DADOS BASEADOS EM
REGISTROS
– Modelo Relacional
– Modelo de Rede
– Modelo Hierárquico
GRUPOS DE MODELOS DE
DADOS:
•
MODELOS DE DADOS FÍSICOS
– Modelo unificador
– Memória em "Frames"
INDEPENDÊNCIA DE DADOS
• INDEPENDÊNCIA FÍSICA:
– Capacidade de se modificar o esquema físico
sem alterar os programas de aplicação
• INDEPENDÊNCIA LÓGICA:
– Capacidade de se modificar o esquema
conceitual sem alterar os programas de
aplicação
USUÁRIOS DO BANCO DE
DADOS
•
•
•
•
•
Programadores de aplicação
Usuários simples
Usuários ocasionais
Usuários especializados
Data Base Administrador ( DBA )
SISTEMA GERENCIADOR DE
BANCO DE DADOS
OBJETIVO:
• Proporcionar um ambiente que seja conveniente e
eficiente na inserção e na recuparação de informações
do banco de dados.
TAREFAS EXECUTADAS:
• Integração com o gerenciados de arquivos.
• Garantia de integridade.
• Garantia de segurança de acesso.
• Garantia de recuperação.
• Controle de concorrência.
Modelos de banco de dados
• Rede
• Hierarquico
• Relacional
Modelo Hierarquico
• Década de sessenta.
• Organizava dados em uma estrutura hierárquica (uma estrutura em
árvore) com sentido de acesso unidirecional, do pai para o filho
sempre começando pela "Raiz". Ou seja, este tipo de banco de
dados constitui-se de uma coleção de registros conectados uns aos
outros por links.
• Os SGBDs mais conhecidos foram o IMS e o System2000 [KORTH,
2001].
• O modelo hierárquico foi definido com base na observação de que
muitas entidades do mundo real são organizadas hierarquicamente.
Reitoria
analise
Professores
Engenharia
Informática básica
Ciências computação
alunos
Modelo Hierarquico
Modelo Hierarquico
• Em resumo, pode-se dizer que este modelo
segue o estilo de um organograma empresarial
(Diretoria - Divisão - Seção - Setor) ou de
biblioteca (Exata - Matemática - Álgebra Linear Vetores ).
• Este modelo é capaz de representar este tipo de
organização de forma direta, mas apresenta
inconvenientes quando esta situação não
aparece claramente com relações de hierarquia
[HEUSER, 1998].
Modelo de Rede
• utilizado principalmente no final da
década de sessenta e durante a década
de setenta.
• Organizava dados em uma estrutura formada
por várias listas, que definia uma intrincada rede
de ligações (estrutura similar a um grafo
direcionado).
• O IDMS e o Total foram os SGBDs mais
conhecidos [KORTH, 2001].
Modelo de Rede
• Este modelo é muitas vezes denominado de
modelo DBTG CODASYL (Data Base Task
Group - subgrupo da Conference On DAta
SYstems and Languages), uma organização
(conferência) existente na década de setenta
responsável pela padronização de linguagens
de programação de sistemas.
• Similar ao modelo hierárquico, os dados no
modelo de redes são organizados em tipos de
registro e ligações entre dois tipos de registro.
• Não existe restrição hierárquica, ou seja,
quaisquer dois tipos de registro podem se
relacionar.
Modelo de Rede
• Assim, tanto o esquema quanto as ocorrências
de dados são visualizados como um grafo
direcionado.
• Um esquema no modelo de redes é chamado
de diagrama de estrutura de dados [KORTH,
2001] [HEUSER, 1998].
• Uma rede é, essencialmente um conjunto
ilimitado de nós (tipos de registros neste caso) e
de ramais de ligação.
Modelo de Rede
• Na verdade, uma hierarquia é apenas um tipo
particular de rede. Uma rede não apresenta o
conceito de nó “raiz” e os registros podem ter
diversos tipos de registros-pais, assim como
diversos tipos de registros-filhos [KORTH,
2001].
• Exemplo: um departamento possui diversos
empregados e diversos escritórios e que, em
cada escritório, há vários empregados lotados.
• Fica claro que não há sentido de “raiz” embora
se possa argumentar que o registro
EMPREGADO tem dois “pais”.
Modelo de Rede
Modelo Relacional
• E. Codd, (IBM ) Califórnia em 1970.
• O projeto inicial foi denominado de Sistema R e
definia a organização dos dados e linguagens
formais para a sua manipulação. Com base
nestas linguagens formais, a primeira versão da
linguagem SQL (Structured Query Language) foi
definida.
• Esta linguagem é, atualmente, um padrão para
gerenciamento de dados em SGBDs relacionais.
Os SGBDs de grande porte mais famosos são:
Oracle,SQL Server, Informix, Sybase e Ingres
[FANDERUFF, 2000], [KORTH, 2001].
Modelo Relacional
• O objeto básico tratado pelo modelo
relacional é a “entidade” ou “relação”, que
pode ser definida como um objeto do
mundo real, concreto ou abstrato e que
possui existência independente.
• Uma entidades eqüivale ao conceito
matemático de conjunto, ou seja, um
agrupamento de elementos[SCHERER,
2000].
Modelo Relacional
• Um banco de dados relacional visa manter
os dados de forma não redundante
(repetição de vários campos em várias
tabelas), executar processamento
integrado, lidar com relações múltiplas
(relacionamentos) e fornecer certo grau de
independência dos dados.
• Diante de um processamento integrado, o
banco de dados torna-se simplificado
causando melhoria na independência dos
dados e, consequentemente, obtendo
maior desempenho [FANDERUFF, 2000].
Modelo Relacional
• O modelo relacional é o modelo mais
utilizado no momento, grandes empresas
e instituições utilizam gigantes bases
relacionais para gerenciar e manter seus
dados [ABBEY, 2002][RAMALHO,
1999][SCHERER, 2000].
Modelo Relacional
Linguagens Banco de dados
Administração Banco de Dados
Visão Geral
Visão geral da estrutura
Visão geral da estrutura
Download

Aulas 1 e 2 apresentação