por ceça [email protected]. introdução aos sgbds alguns aspectos de sgbds motivação,...
TRANSCRIPT
Por Ceç[email protected]
Introdução aos SGBDs
Alguns aspectos de SGBDs Motivação, Funções, Vantagens
11/04/23 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
11/04/23 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
11/04/23 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 estruturas14
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 dadosOs 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
Ceça Moraes 21
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 Peso_peça
Num_ peça Cor_peça Peso_peça
Ceça Moraes 22
Um registro pode ser dividido em vários Partes utilizadas com menos freqüência
poderia ser armazenadas em dispositivos mais lentos
Num_ peça Cor_peça Peso_peça
Num_ peça Cor_peça Num_ peça Peso_peça
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 extensivaNão é capaz de executar consultas
ad hocA administração do sistema pode ser
complexa e difícilÉ difícil fazer alterações nas
estruturas existentesOs recursos de segurança
provavelmente serão inadequados27
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ógicosMú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áriosDados 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)
11/04/23 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
11/04/23 Ceça Moraes 36
Funções do SGBD
37
38
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
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árioGerenciamento 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 sofisticadosGerenciamento 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
46
S Q L
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)
11/04/23 Ceça Moraes 47
O Banco de Agencia de Automóveis (arquivo CARROS)
CodigoCodigo MarcaMarca ModeloModelo ANO_ ANO_ MODELOMODELO
PLACAPLACA ANO_ ANO_ FABRICACAOFABRICACAO
5555 FiatFiat Uno MilleUno Mille 20072007 KHT3353KHT3353 20072007
123123 FiatFiat IdeaIdea 20092009 GGO0011GGO0011 20092009
989989 FiatFiat FiorinoFiorino 19961996 KSF2134KSF2134 19961996
6464 GMGM CorsaCorsa 20082008 MRR9877MRR9877 20072007
721721 VWVW PassatPassat 20102010 KLG3566KLG3566 20092009
11/04/23 Ceça Moraes 48
ColunasColunas• Campos ou AtributosCampos ou Atributos
LinhasLinhas• Registros (dados)Registros (dados)
Inserção de registro INSERT
Modificação de registro UPDATE
Remoção de registro DELETE
Consulta
SELECT11/04/23 Ceça Moraes 49
Selecionar os atributos MARCA, CODIGO e MODELO para os carros fabricados em 2007SELECT MARCA, CODIGO, MODELO
FROM CARROS
WHERE ANO_FABRICACAO = 2007
Resultado:MarcaMarca CodigoCodigo ModeloModelo
FiatFiat 5555 Uno MilleUno Mille
GMGM 6464 CorsaCorsa
11/04/23 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
11/04/23 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 Relacional11/04/23 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
11/04/23 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_FIM11/04/23 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
11/04/23 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
11/04/23 Ceça Moraes 57
11/04/23 Ceça Moraes 58
Peças
FP
Fornecedores Projetos
Empregados
PJFPJ GJ
PP
EJ
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.11/04/23 Ceça Moraes 59
Fornecedores, Peças e relacionamento FP
11/04/23 Ceça Moraes 60
P#P# PNOMEPNOME CORCOR PESOPESO
P1P1 PorcaPorca VermelhoVermelho 1212
P2P2 PinoPino VerdeVerde 1717
P3P3 ParafusoParafuso AzulAzul 1212
P4P4 ParafusoParafuso VermelhoVermelho 1414
P5P5 CameCame AzulAzul 1212
P6P6 TuboTubo VermelhoVermelho 1919
F#F# FNOMEFNOME STATUSSTATUS CIDADECIDADE
F1F1 SmithSmith 2020 LondresLondres
F2F2 JonesJones 1010 ParisParis
F3F3 BlakeBlake 3030 ParisParis
F4F4 ClarkClark 2020 LondresLondres
F5F5 AdamsAdams 3030 AtenasAtenas
F
P
FP F#F# P#P# QTDQTD
F1F1 P1P1 300300
F1F1 P2P2 200200
F1F1 P3P3 400400
F1F1 P4P4 200200
F1F1 P5P5 100100
F1F1 P6P6 100100
F2F2 P1P1 300300
F2F2 P2P2 400400
F3F3 P2P2 200200
F4F4 P2P2 200200
F4F4 P4P4 300300
F4F4 P5P5 400400
Aprimoramento do compartilhamento de dados
Aprimoramento da segurança de dadosMelhoria na integração dos dadosMinimização da inconsistência dos dadosAprimoramento do acesso aos dadosAprimoramento da tomada de decisãoAumento 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
11/04/23 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
11/04/23 Ceça Moraes 64