Histórico dos Bancos de Dados
Download
Report
Transcript Histórico dos Bancos de Dados
Histórico
Etapas da evolução rumo a tomada de
decisão:
Aplicações
Isoladas: dados duplicados, dados
inconsistentes, processos duplicados.
Sistemas Integrados: racionalização de
processos, manutenção dos dados.
Sistemas de Informação: racionalização de
processos, racionalização de dados.
Histórico
O desenvolvimento da teoria de Banco de
Dados ajudou sobretudo na independência
de dados, ou seja, qualquer mudança na
estrutura física ou na estratégia de acesso
não implica em alteração nos aplicativos
que utilizam tal dado.
Banco de Dados
Definição
Coleção de dados inter-relacionados
Conjunto de dados estruturados que são
confiáveis, coerentes e compartilhados por
usuários que têm necessidade de informações
diferentes.
Coleção compartilhada de dados logicamente
relacionados e da descrição destes dados que são
projetados para satisfazer as necessidades de
informação de uma organização.
Histórico dos Bancos de Dados
1950
– 1960:
Fitas
magnéticas usadas para armazenamento
de dados
Atualizações: lia de uma fita e escrevia as
modificações em uma nova fita
1960
– 1970:
Início
do uso dos discos rígidos
Início dos bancos de dados relacionais
Histórico dos Bancos de Dados
Década
de 80:
Início
dos bancos de dados comerciais: IBM, DB2,
Oracle, Ingres, entre outros
Início dos bancos de dados OO, paralelos e
distribuídos
Início
década de 90:
Linguagem
SQL
Início dos bancos de dados de apoio à decisão
Histórico dos Bancos de Dados
Final
da década de 90:
Crescimento
da www
Adaptação dos BDs à Web
Disponibilidade 7 dias por semana, 24 horas
por dia
Início
de 2000:
Surgimento
da XML
Objetivos dos BDs
Independência dos dados
Controle da Inconsistência e Redundância dos
dados
Compartilhamento dos Dados
Controle de Acesso
– Deve dispor de recursos que possibilitem
selecionar a autoridade de cada usuário.
Interfaceamento
– Deverá disponibilizar formas de acesso gráfico.
Objetivos dos BDs
Privacidade dos dados
Segurança Lógica e Física
Tratamento de Concorrência
Integridade dos dados
Vantagens dos Bancos de Dados
Vantagens em relação aos sistemas de arquivos:
é compacto
é rápido (recuperação e manutenção dos dados)
menos trabalho braçal
fluxo corrente (disponibilidade de informações a
qualquer momento)
controle centralizado
Além de todas as vantagens dos BD´s citadas
anteriormente
Vantagens:
redução
ou eliminação da redundância de dados;
manutenção da integridade dos dados;
redução da perda de espaço de armazenamento;
acesso ao dado através de uma linguagem de consulta;
estabelecimento de padrões;
aplicação
de restrições de segurança.
Desvantagens:
instalação
e manutenção são mais caras;
a falha de um componente do sistema integrado pode
parar todo o sistema.
Conceitos Básicos - BD
Um campo é a unidade básica de uma tabela. Possui
um nome, tipo e tamanho.
Um dado pode ser definido como sendo o valor do
campo quando é armazenado no Banco de Dados;
Ex.: Nome, Telefone, Salário....
Ex.: Jose, 2228-4040, R$ 450,00 ....
Tabela Lógica:
União de linhas e colunas para armazenamento de
dados dos sistemas.
Tabela Aluno
Conceitos Básicos - BD
CAMPOS
Nome
RA
Idade
Carlos
25478
25
Maria
12568
28
Dados
Conceitos Básicos - BD
Registro:
coleção
de itens de dados
ex.: um registro de funcionários
um registro é dividido em vários campos:
- um campo pode ser um nome, um numero ou
uma combinação de caracteres;
Arquivo
/ Tabela / Entidade:
Coleção
de registros
Conceitos Básicos - BD
Nome
RA
Idade
Carlos
25478
25
Maria
12568
28
REGISTROS
TABELA ALUNOS
Conceitos Básicos - BD
Informação pode ser definida como sendo o
Valor que este campo representa para as
atividades da empresa.
Ex.: Resposta a uma consulta. “Quantos são os
alunos do curso de CC que cursaram a
disciplina Estrutura de Dados?”
“Quanto foi o lucro mensal da empresa?”
Um Banco de Dados representará sempre
aspectos do Mundo Real.
Pessoal Envolvido em um BD
Os Projetistas de Banco de Dados (DBP) são analistas
que identificam os dados a serem armazenados em
um Banco de Dados e pela forma como estes serão
representados.
Os Analistas e Programadores de desenvolvimento
criam sistemas que acessam os dados da forma
necessária ao Usuário Final, que é aquele que
interage diretamente com o Banco de Dados.
Os Administradores de Banco de Dados (DBA) são
responsáveis pelo controle ao acesso aos dados e
pela coordenação da utilização do BD.
Pessoal Envolvido em um BD
Usuários Finais:
ocasionais : tipicamente gerentes e tomadores
de decisão.
paramétricos : usuários de transações
“enlatadas”, por exemplo, caixas de bancos,
funcionários de reservas em companhias aéreas.
sofisticados : engenheiros, cientistas, analistas
de negócios.Utilizam-se das facilidades do
SGBD.
DBA – Database Administrator
entender e traduzir as necessidades
informação dos vários setores da empresa;
controlar e gerenciar de forma centralizada
dados da empresa;
aplicar restrições de segurança aos objetos
banco de dados;
definir e reforçar padrões;
decidir a estrutura de armazenamento
estratégia de acesso;
monitorar o desempenho do SGBD.
de
os
do
e
Funções do DBA
Desenvolve e administra:
Estratégias
Procedimentos
Práticas e
Planos capazes de disponibilizar os dados corporativos
necessários.
Definição do conteúdo de informações do banco de
dados
Definição da estrutura de armazenamento e a
estratégia de acesso
Funções do DBA
Servir de elo de ligação com os usuários
Definir os controles de segurança e
integridade:
Definir quem tem acesso a que porções do
banco de dados e criar mecanismos que evitem
inconsistências na base de dados.
Funções do DBA
Definir a estratégia de backup e recuperação:
É função do DBA definir como e quando os backup do
banco de dados serão efetuados e a estratégia a ser
adotada para a recuperação de informações em caso de
danos ao banco de dados.
Monitorar o desempenho e atender as necessidades de
modificações:
O DBA deve organizar o sistema de tal forma que se
possa obter o melhor desempenho para a empresa.
Sistemas de Gerenciamento
de Banco de Dados (SGBD)
Sistemas de Computação que permitem ao
usuário, definir, criar, manter e controlar o
acesso ao BD.
Consistem em uma coleção de dados interrelacionados e em um conjunto de
programas para acessá-los.
Sistema de Gerência de Banco de Dados
(SGBD)
Coleção de programas responsáveis para
gerenciamento dos dados em um BD.
SGBD
Banco de
Dados
Banco de Dados e SGBDs
SGBD
TOTALLivros
NAutor Nom
Total
A1
Denis
2
A2
Georges 1
Livro
num
Livro Autor
1
2
livr
livro2
o1
A1
A1
3
livro3
A2
Por que SGBDs
Volume crescente de Dados a serem
gerenciados: terabytes em BDs como:
cadeias
de supermercados;
censo populacional - IBGE;
Necessidade de Independência da
aplicação em relação aos dados;
Padronização e desempenho;
Sistema Gerenciador do banco de
dados - SGBD
Database Management System – DBMS
Banco
de Dados (BD) = Coleção de dados
inter-relacionados
DBMS/SGBD = Módulo que proporciona a
interface entre dados armazenados no banco
de dados e os programas de aplicação e
consultas submetidas ao sistema
retirar e armazenar informações no BD
Sistema Gerenciador de Banco de
Dados
Aplicação 1
SGBD
Aplicação 2
Aplicação 3
Banco de
Dados
Definições - SGBD
É o software responsável pelo gerenciamento
(armazenamento e recuperação) dos dados no
Banco de Dados.
Coleção de dados inter-relacionados em um
conjunto de programa para acessá-los.
Coleção de programas que capacite o usuário a
criar e manter um BD.
A integração entre BD físico e os usuários se dá
através de um software, o SGBD.
Interfaces do SGBD
Interfaces Baseadas em Menus para
Clientes Web
Interface baseada em formulários
Interface Gráfica para os usuários
Interfaces de Linguagem Natural
Interfaces para Usuários Parametrizáveis
Interfaces Baseadas em Menus para
Clientes Web
Interface baseada em formulários
Interface baseada em formulários
Interface Gráfica para os usuários
Interfaces de Linguagem Natural
Interfaces para Usuários Parametrizáveis
SGBDs existentes
PostgreSQL
Oracle
DBase
Access
Interbase
IBM DB2 Universal Database
Microsoft SQL Server
Arquiteturas dos SGBD´s
Plataformas Centralizadas
Sistemas de Computadores Pessoais
Arquitetura Cliente – Servidor.
Modelos de Dados
Formas de Representação que servem
para descrever as estruturas das
informações contidas em um BD.
As Três Abordagens Clássicas
O usuário vê o banco de dados segundo um modelo de
visões;
O modelo de visões e o modelo conceitual são bastante
semelhantes, as vezes idênticos;
Portanto os conceitos aplicados aqui servem tanto para
o nível conceitual quanto para o de visões;
Abordagem Hierárquica;
Abordagem em Rede
Abordagem Relacional;
A Abordagem Hierárquica
Esta seção e as seguintes são baseadas em um banco
de dados contendo as entidades: Filial, Departamento e
Funcionário.
Na abordagem hierárquica, como o próprio nome já diz,
os dados são organizados de acordo com níveis
hierárquicos preestabelecidos;
Os primeiros bancos de dados estão baseados nesta
abordagem. Segundo Date, “um banco de dados
hierárquico, compõe-se de um conjunto ordenado de
árvores – mais precisamente, de um conjunto ordenado
de ocorrências múltiplas de um tipo único de árvore”.
A Abordagem Hierárquica
Na abordagem hierárquica, podemos ver o banco de
dados como um único arquivo organizado em níveis. O
nível superior que contém a filial é chamado de raiz.
Qualquer acesso ao banco de dados deve ser feito a
partir dele;
Em geral, a raiz pode ter qualquer quantidade de
dependentes, e estes, qualquer quantidade de
dependentes de nível mais baixo
Exemplo de um Modelo Hierárquico
Filial
Departamento
Funcionário
Departamento
Funcionário
Exemplo de um Modelo Hierárquico
001 - Curitiba
001- Comercial
001- João
002- Administrativo
002- Antonio
Exemplo de um Modelo Hierárquico
002 – São Paulo
001- Financeiro
001- João
002- Antonio
002- Pessoal
001- Maria
002- José
Exemplo de um Modelo Hierárquico
Dados do Cliente
Nome Rua
Dados Bancários
Cidade
Num_CC Saldo
Exemplo de um Modelo Hierárquico
Banco das Antigas
Maria
201
R1
Caicó
550,00
Pedro
205
R3
Jundiaí
2.000,00
A Abordagem em Rede
No modelo em rede as informações são representadas
por uma coleção de registros e o relacionamento entre
elas é formado através de ligações (link);
Extensão do modelo hierárquico;
É uma relação membro-proprietário, na qual um membro
pode ter muitos proprietários.
A Abordagem em Rede
Em um BD estruturado como um modelo em rede há
freqüentemente mais de um caminho para acessar um
determinado elemento de dado.
A principal diferença entre a abordagem hierárquica e a
em rede é que um registro-filho tem exatamente um pai
na abordagem hierárquica, enquanto na estrutura de
rede um registro-filho pode ter qualquer número de pais.
Exemplo 1
001- Londrina
001- Comercial
001 - João
002- Curitiba
002 - Administrativo
002- Antonio
003- Industrial
003- Pedro
004- Maria
A Abordagem Relacional
Um banco de dados relacional consiste
em uma coleção de tabelas, cada uma
designada por um nome único.
Tabelas
Uma
tabela é uma representação bidimensional de dados composta de linhas e
colunas;
Uma tabela de alunos de uma escola é
apresentada a seguir.
Aluno
Num-Matricula
Nome-Aluno
Sexo-Aluno
1
Maria
F
2
João
M
3
Pedro
M
4
Carla
F
5
Sandra
F
Regras:
1)
Nomes de tabelas devem ser únicos no banco de
dados;
2)
De preferência a nomes no singular;
3)
De preferência a nomes curtos.
Atributos ou Colunas
Considerando a tabela Aluno;
Ela tem três colunas Num_Matrícula,
Nome_Aluno e Sexo_Aluno;
A cada uma destas colunas damos o
nome de atributo;
Um nome de atributo deve ser único em
uma tabela e dizer exatamente o tipo de
informação que ele representa.
Atributos ou Colunas
Regras:
1) Uma coluna (atributo) não segue um ordenamento
especifico;
2) O valor de uma coluna não pode ser decomposto em mais
de uma coluna;
3) Nome de uma coluna deve expressar exatamente o que
armazena;
4) Deve-se utilizar prefixos padronizados, Cod-Dept,
Nome-Funcionorio, Qtde-Estoque.
Linhas, Registros ou Tuplas
A tabela Aluno possui cinco registros;
Cada registro representa um relacionamento entre um conjunto de valores;
A este relacionamento damos o nome de registro, linha ou ainda Tupla;
Cada linha da tabela é única e possui um atributo identificador
(Num_Matrícula);
Este atributo identificador é chamado de chave primária.
Regras:
1) Em uma tabela não devem existir linhas duplicadas;
2) As linhas de uma tabela não seguem uma ordem
especifica.
Terminologias aplicadas a BD
Terminologia Básica
Campo: unidade básica de informação mínima com significado
Registro: conjunto de campos
Arquivo: conjunto de registros
Banco de Dados (BD): conjunto de arquivos e as formas de
manipulação
Terminologia Relacional
Campo: atributo
Registro: tupla
Arquivo: tabela ou relação
Domínio: conteúdo da relação
Modelo Relacional
É o padrão atual para a construção de ferramentas
de BD
Basicamente, um BD relacional é composto de
tabelas ou relações
Uma tabela é um conjunto não ordenado de linhas
Cada linha é composta por uma série de valores de
campo
Cada campo é identificado por um nome de
campo
O conjunto de campos das linhas de uma tabela
que possuem o mesmo nome formam uma coluna
Modelo Relacional - Composição de um Banco
de Dados Relacional
Automóveis
Valor do campo
(valor do
atributo)
Linha (tupla)
Coluna
(atributo)
Nome da Coluna
(nome do atributo)
num_placa
modelo
ano
marca
IAV8864
Gol
1988
VW
BCX6574
Tempra
1993
Fiat
IIJ0493
Parati
1997
VW
FGD5362
Astra
2000
GM