to get the file

Propaganda
Por Ceça
[email protected]

Introdução aos SGBDs

Alguns aspectos de SGBDs
 Motivação, Funções, Vantagens
31/05/2017
Ceça Moraes
2
 Banco
de dados:
 Conjunto de dados inter-relacionados que
objetivam atender as necessidades de um
conjunto de usuários
 Sistema
de Gerenciamento do
BD (SGBD):
 Software que auxilia na definição, carga,
atualização e manutenção de um banco de dados
31/05/2017
Ceça Moraes
3

As boas decisões exigem boa informação
derivada de fatos brutos

Os dados são gerenciados de forma mais
eficiente quando armazenados em um banco
de dados

As base de dados evoluíram a partir de
sistemas de arquivo de computador
4
 Banco de dados:estrutura
computacional compartilhada e integrada
que armazena:
 um conjunto de dados do usuário final, ou seja,
fatos brutos de interesse para esse usuário
 metadados, ou, dados sobre dados
▪ Os metadados fornecem uma descrição das
características dos dados e do conjunto de
relacionamentos entre os dados do BD
5
O
sistema de gerenciamento
de bancos de dados (SGBD)
 conjunto de programas que gerenciam a
estrutura do banco de dados e controlam o
acesso aos dados armazenados
31/05/2017
Ceça Moraes
6
7
 Podem ser classificados de acordo
com:
 Número de usuários
 Localização(ões)
 Tipo e extensão do uso esperado
8

Bancos de dados monousuario – suporte a
apenas um usuário por vez
 Banco de dados de desktop – bd monousuário
executado em um computador pessoal

Banco de dados multiusuario dá suporte a
vários usuários simultaneamente
 Banco de dados de grupo de trabalho: número
relativamente pequeno de usuários
 Banco de dados empresarial: utilizado por uma
organização inteira, com suporte a muitos usuários
9
 Banco de dados centralizado:
 dados localizados em um único local
 Banco de dados distribuído:
 dados distribuídos por vários locais
diferentes
10
 Banco de dados operacional:
 suporte às operações diárias de uma
empresa
 Data warehouses (armazém de
dados):
 dados utilizados para gerar informações
necessárias à tomada de decisões
11

Dados estruturados são resultado da
formatação de dados não estruturados
 A estrutura é aplicada com base no tipo de
processamento que se deseja executar nos
dados

Dados semi-estruturados já foram
parcialmente processados
 Nem totalmente sem estrutura nem
estritamente tipados
 XML (Extensible Markup Language)
12
13

Documentos (dados) em arquivos físicos em
pastas e armários

1ª. Evolução: especialista em processamento
de dados (PD)
 conversão de um sistema de arquivos manual para
um sistema de arquivos computadorizado
▪ criava as estruturas de arquivos computacionais
necessárias
 Escrevia o software que gerenciava os dados
dentro dessas estruturas
14

Conforme o número de arquivos aumentava
no pequeno sistema de arquivos:
 Cada arquivo no sistema utilizava seu próprio
aplicativo para armazenar, recuperar e modificar
dados
 Cada arquivo era de propriedade do indivíduo ou
do departamento encarregado pela sua criação

A atividade do grupo de PD era programação
15
16
17

Dependência de dados: quando houver
qualquer mudança nas características de
armazenamento de dados do arquivo

Independência de dados: alterações nas
características de armazenamento de dados
sem afetar a capacidade dos aplicativos
18

O significado prático da dependência é a
diferença entre o formato de dados lógicos e
físicos
 Formato de dados lógicos: os seres humanos
visualizam os dados
 Formato de dados físicos: como o computador
deve trabalhar com os dados

Os programas continham:
 Detalhes de abertura de arquivo, especificação de
registros e definições de campo
19


Imunidade das aplicações a alterações na
representação física e nas técnicas de acesso
Representação
 Lógica (aplicação)
 Física (armazenamento)

Que alterações podem ser feitas???
 Campos: nome, salario
 Registros: (“Jose Carlos”, 5000.00)
 Arquivos: FUNCIONARIO

Dois ou mais registros podem ser
combinados em um só
 O registro lógico de uma aplicação é um
subconjunto apropriado do registro
armazenado
Num_ peça
Cor_peça
Num_ peça
Ceça Moraes
Num_ peça
Cor_peça
Peso_peça
Peso_peça
21


Um registro pode ser dividido em vários
Partes utilizadas com menos freqüência
poderia ser armazenadas em dispositivos mais
lentos
Num_ peça
Num_ peça
Cor_peça
Cor_peça
Ceça Moraes
Peso_peça
Num_ peça
Peso_peça
22

A estrutura do sistema de arquivos dificulta a
combinação de dados a partir de várias fontes
 A estrutura organizacional realiza o
armazenamento dos mesmos dados básicos em
locais diferentes (Ilhas de informação)
 É improvável que os dados armazenados em
locais diferentes sejam sempre atualizados de
modo consistente

Redundância de dados: ocorre quando os
mesmos dados são armazenados de forma
desnecessária em locais diferentes
23


Inconsistência de dados: quando versões
diferentes e conflitantes dos mesmos dados
aparecem em locais diferentes
Anomalias de dados: quando nem todas as
alterações necessárias nos dados
redundantes são realizadas com sucesso
 Anomalias de atualização
 Anomalias de inserção
 Anomalias de exclusão
24

O sistema de banco de dados consiste de
dados relacionados logicamente e
armazenados em um único repositório de
dados lógicos
 Pode ser fisicamente distribuído em vários locais

O SGBD elimina a maioria dos problemas de
inconsistência, dependência e anomalia de
dados
25

O SGBD armazena não apenas as estruturas
de dados, mas também os relacionamentos
entre essas estruturas e os caminhos de
acesso a elas
 Se há redundância, é controlada

Cuida também da definição,
armazenamento e gerenciamento de todos
os caminhos de acesso necessários a esses
componentes
26





Exige programação extensiva
Não é capaz de executar consultas ad hoc
A administração do sistema pode ser
complexa e difícil
É difícil fazer alterações nas estruturas
existentes
Os recursos de segurança provavelmente
serão inadequados
27


Simplificar o desenvolvimento de aplicações
caracterizadas por uso intensivo de DADOS
COMO?
 Provendo serviços que diminuem o tempo de
desenvolvimento
 Através de ferramentas o usuário pode:
▪ realizar entrada de dados
▪ examinar dados
▪ manipular dados de acordo com a aplicação
28

Dados e Metadados na base
 Os dados e a descrição correspondente são
armazenadas na base e gerenciadas pelo SGBD

Independência de Dados-Programas
 Modificações como inclusão de um novo campo
não afetam os programas

Abstração de Dados
 Representação conceitual através de um modelo
de dados baseado em conceitos lógicos

Múltiplas Visões
29
30
31

O termo SGBD refere-se a uma organização
de componentes que
 define e regula a coleta, o armazenamento, o
gerenciamento e a utilização de dados em um
ambiente de banco de dados

o SGBD é composto de 5 partes principais:
 Hardware
 Software
 Pessoas
 Procedimentos
 Dados
32



Hardware: dispositivos físicos do sistema
Software – três tipos: sistema operacional; O
SGBD; Os aplicativos e utilitários
Pessoas:
 Os administradores de sistema
 Os administradores de banco de dados
 Os projetistas
 Os programadores e analistas de sistemas
 Os usuários finais
33


Procedimentos: instruções e regras que
orientam o projeto e a utilização do SGBD
Dados: conjunto de fatos armazenados no
banco de dados
 As soluções de BD devem ser efetivas em relação
a custos-benefícios e a fatores táticos e
estratégicos
 É provável que a tecnologia de BD já em uso afete
a seleção de um sistema
34


Sistemas multiusuários
Dados do banco são:
 Integrados
▪ BD é um conjunto de vários arquivos de dados
relacionados
▪ Exemplo: Empregado(CPF, Nome, Depto, Salario) e
Matricula(CPF,Curso)
31/05/2017
Ceça Moraes
35

Compartilhados
▪ Porções de dados utilizadas por vários usuários
inclusive ao mesmo tempo!!
▪ Exemplo: informações de EMPREGADO para
usuários do departamento de pessoal e de
educação

Persistentes
 Uma vez aceitos pelo SGBD para entrada inicial
no BD, só podem ser removidos do BD por
alguma solicitação explícita ao SGBD
31/05/2017
Ceça Moraes
36
37
Funções do
SGBD

Gerenciamento do dicionários de dados
 O SGBD armazena as definições de elementos de
dados e seus relacionamentos (metadados) em
um dicionario de dados
 Quaisquer mudanças feitas na estrutura do
banco de dados são registradas no dicionário de
dados
 Fornece abstração de dados e remove a
dependência de dados do sistema
38
39

Gerenciamento de armazenamento de dados
 Cria e gerencia as estruturas complexas
necessárias para o armazenamento de dados
 Sintonização de desempenho: atividades que
tornam o desempenho do banco de dados mais
eficiente em termos de armazenamento e
velocidade de acesso
 O SGBD armazena o banco em vários arquivos de
dados físicos
40
41

Transformação e apresentação de dados
 Transforma os dados inseridos em conformidade
com as estruturas internas
 Formata os dados recuperados fisicamente para as
expectativas lógicas do usuário

Gerenciamento de segurança
 Sistema de segurança que garante a segurança de
usuário e a privacidade dos dados
 Regras de segurança determinam: usuários que
podem acessar o banco de dados, itens de dados que
o usuário pode acessar e operações
42

Controle de acesso de multiusuário
 Para fornecer integridade e consistência de
dados, o SGBD utiliza algoritmos sofisticados

Gerenciamento de backup e recuperação
 Fornece backup e recuperação de dados para
garantir a segurança e a integridade dos dados
 O gerenciamento de recuperação trata da
recuperação do banco de dados após uma falha
▪ Recurso fundamental para preservar a integridade dos
dados
43

Gerenciamento de integridade de
dados
 O SGBD promove e aplica regras de integridade
▪ Minimizando a redundância
▪ Maximizando a consistência
 Os relacionamentos de dados armazenados no
dicionário de dados são utilizados para garantir a
integridade
 Garantia importante em sistemas de bancos de
dados orientados a transações
44

Linguagem de acesso a bancos de dados e
interfaces de programação de aplicações
 Fornece acesso aos dados por meio de uma
linguagem de consulta
 Linguagem Estruturada de Consulta (SQL)
▪ linguagem de consulta vigente e o padrão de acesso a
dados suportado pela maioria dos fornecedores de
SGBD
45

Usuários precisam:





Acrescentar estrutura
Inserir dados nas estruturas
Consultar dados
Alterar dados
Remover dados e suas
estruturas
SQL
46

A SQL é a linguagem padrão para interação
com banco de dados relacionais e é
reconhecida por quase todos os produtos de
banco de dados hoje

Padrão ANSI (American National Stardard
Institute)
31/05/2017
Ceça Moraes
47

O Banco de Agencia de Automóveis (arquivo CARROS)
Codigo
Marca
Modelo
ANO_
MODELO
PLACA
ANO_
FABRICACAO
55
Fiat
Uno Mille
2007
KHT3353
2007
123
Fiat
Idea
2009
GGO0011
2009
989
Fiat
Fiorino
1996
KSF2134
1996
64
GM
Corsa
2008
MRR9877
2007
721
VW
Passat
2010
KLG3566
2009

Colunas
• Campos ou Atributos

Linhas
• Registros (dados)
31/05/2017
Ceça Moraes
48

Inserção de registro
 INSERT

Modificação de registro
 UPDATE

Remoção de registro

 DELETE
Consulta
SELECT
31/05/2017
Ceça Moraes
49

Selecionar os atributos MARCA, CODIGO e MODELO
para os carros fabricados em 2007
SELECT MARCA, CODIGO, MODELO
FROM CARROS
WHERE ANO_FABRICACAO = 2007

Resultado:
31/05/2017
Marca
Codigo
Modelo
Fiat
55
Uno Mille
GM
64
Corsa
Ceça Moraes
50

Esquema
 A estrutura lógica do BD
 Exemplo: informações sobre o conjunto de
empregados, cursos e relacionamentos entre eles

Instância
 O conteúdo atual do BD em um determinado
instante de tempo (dados)
 Exemplo: Antônio fez o curso de Oracle
31/05/2017
Ceça Moraes
52

Coleção de ferramentas para descrever




Dados
Relacionamentos entre os dados
Semântica dos dados
Restrições dos dados

Modelo Entidade-Relacionamento (E-R)

Modelo Relacional
31/05/2017
Ceça Moraes
53

Componentes “macro”
 Entidades (objeto distinguível)
▪ Qualquer objeto sobre o qual desejamos registrar
informações (Funcionários, Projetos)
 Relacionamento entre entidades (trabalha_em)

Amplamente usado para projeto de BD
 Modelo E-R é usualmente convertido para um
projeto do modelo relacional o qual é usado para
armazenar e gerenciar os dados
31/05/2017
Ceça Moraes
54

Propriedades
 Informações que desejamos registrar
▪ Entidade Funcionários têm local de trabalho
▪ Entidade Projetos têm o tempo em que estão
sendo executados
 A tabela FUNCIONÁRIOS deve incluir o
atributo CIDADE
 A tabela PROJETOS deve incluir os atributos
DATA_INICIO e DATA_FIM
31/05/2017
Ceça Moraes
55

Uma empresa armazena informações sobre:
 Os projetos em andamento;
 As peças usadas nesses projetos;
 Os fornecedores que fornecem as peças;
 Os empregados que trabalham nos projetos.


Projetos, Peças, Fornecedores, Empregados
são as Entidades básicas
31/05/2017
Ceça Moraes
56

Relacionamentos entre entidades
 Relacionamento Fornecedor/Peças – FP
▪ Fornecedores fornecem peças
▪ Peças são fornecidas por fornecedores

A partir do relacionamento FP
 Dado um fornecedor, obter as peças fornecidas
por ele
 Dada uma peça, obter os fornecedores que
fornecem essa peça
31/05/2017
Ceça Moraes
57
Fornecedores
FP
Projetos
FPJ
Peças
PJ
EJ
GJ
Empregados
PP
31/05/2017
Ceça Moraes
58



Os relacionamentos fazem parte dos dados
tanto quanto as entidades básicas
Precisam ser representados no banco
de dados
Conversão para o modelo relacional
 No modelo relacional as entidades os
relacionamentos são representados por tabelas.
31/05/2017
Ceça Moraes
59

Fornecedores, Peças e relacionamento FP
F
P
FP
F#
P#
QTD
Londres
F1
P1
300
10
Paris
F1
P2
200
Blake
30
Paris
F1
P3
400
F4
Clark
20
Londres
F1
P4
200
F5
Adams
30
Atenas
F1
P5
100
F1
P6
100
F2
P1
300
F2
P2
400
F3
P2
200
F4
P2
200
F4
P4
300
F4
P5
400
F#
FNOME
STATUS
CIDADE
F1
Smith
20
F2
Jones
F3
P#
PNOME
COR
PESO
P1
Porca
Vermelho
12
P2
Pino
Verde
17
P3
Parafuso
Azul
12
P4
Parafuso
Vermelho
14
P5
Came
Azul
12
P6
Tubo
Vermelho
19
31/05/2017
Ceça Moraes
60







Aprimoramento do compartilhamento de
dados
Aprimoramento da segurança de dados
Melhoria na integração dos dados
Minimização da inconsistência dos dados
Aprimoramento do acesso aos dados
Aprimoramento da tomada de decisão
Aumento de produtividade do usuário final
61

Suporte a transações
 Transferência de uma quantia de dinheiro de uma
conta A para outra conta B
 Envolve duas operações de atualização
▪ Uma para retirar o dinheiro da conta A
▪ Outra para adicionar o dinheiro na conta B
 O sistema deve garantir que as duas operações
devem ser realizadas ou nenhuma delas, mesmo
na presença de falhas
31/05/2017
Ceça Moraes
62

Aumento de custos

Complexidade de gerenciamento

Manutenção do banco de dados atualizado

Dependência do fornecedor

Ciclos frequentes de atualização/substituição
63

Rob & Coronel – Capítulo 1

Navathe – Capítulo 1
31/05/2017
Ceça Moraes
64
Download