2 Aula - Banco de Dados - Conceitos

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 47

Banco de Dados - Conceitos

Claudinete Vicente Borges


[email protected]
Agosto de 2023
1
Por que estudar BD?
E os Dados??
Onde mora Maria?

Onde está o
SGBD?

1 2 3

2
Preocupação : Armazenamento + Recuperação 2
Por que estudar BD?

 Os Bancos de Dados fazem parte do nosso dia-


a-dia:
 gestão de RH

 operação bancária

 reserva de hotel

 compra de passagens aéreas

 catálogo informatizado de uma biblioteca

 matrícula em uma disciplina da universidade

 compras pela internet

 ... 3
Por que estudar BD?

 Aplicações não-tradicionais que utilizam banco de


dados:
 dados geográficos e mapas

 dados multimídia (vídeos, músicas, …)

 ciência de dados

 ...

4
Conceitos básicos
 Dado: fato do mundo real que está registrado
 exemplos: endereço, data

 Informação: fato útil que pode ser extraído direta


ou indiretamente a partir dos dados
 exemplos: endereço de entrega, idade

o Banco de dados: um conjunto de dados


integrados, cujo objetivo é atender uma
comunidade de usuários. (Heuser, 2012)

5
Exemplo de um BD

6
Banco de dados

 Banco de dados = instância de dado + meta-


dados
 Instância de dado
• Dado propriamente

 Meta-dados
• Dicionário de dados
– Contém informações sobre o Esquema da
base de dados
– Mantido por Linguagens de Definição de
7
Dados
Nem sempre foi assim...

 Sistemas de Arquivos (armazenados em pastas, no disco):

 Dados de diferentes aplicações não estão integrados

 Dados são projetados para atender uma aplicação


específica

8
Sistemas de arquivos
dados não integrados

 Em uma fábrica com os dados em sistemas de arquivos:

Sistema para Sistema para Sistema para


Setor de Vendas Setor de Produção Setor de Engenharia

Arquivos Arquivos Arquivos


de vendas de produção de engenharia

Teclado TC60 R$ 20,00 Teclado TC60 10/11/2000 Teclado TC60 teclado.gif


Monitor 15´ M60 R$ 150,00 Monitor 15´ M60 20/11/2000 Monitor 15´ M60 monitor.gif
Mouse MS09 R$ 10,00 Mouse MS09 09/11/2000 Mouse MS09 mouse.gif

Mesmos dados aparecem em todos os arquivos da fábrica


[baseado em Heuser]
Sistemas de arquivos
dados não integrados

 Mesmo objeto da realidade é representado várias vezes na


base de dados
 Exemplo - teclado, monitor e mouse

 Redundância não controlada de dados


 Não há gerência automática da redundância
 Redundância não controlada leva a
• inconsistência dos dados
• re-digitação de informações
• dificuldade de extração de informações

– Dados pouco confiáveis e de baixa disponibilidade


10
Sistemas de arquivos
dados não integrados

 Concorrência
 Difícil implementação
 Tolerância a falhas
 Falta de luz, erro de disco, interrupção de
funcionamento, etc, podem corromper
arquivos
 Cópias? restauração do estado anterior? Consistência da
base?
 Segurança
 Como garantir? Senha única para o arquivo (comunitária)?
 Isolamento de dados
11
 Diversidade de formatos de arquivos
Banco de dados

 Em uma fábrica com os dados em bancos de dados:


Sistema para Sistema para Sistema para
Setor de Vendas Setor de Produção Setor de Engenharia

Banco de
dados

teclado.gif
monitor.gif Dados aparecem
R$ 50,00 Teclado TC60 mouse.gif uma única vez
R$ 400,00 Monitor 15´ M60
R$ 30,00 Mouse MS09 10/11/2020 no banco
20/11/2021
09/11/2022
1 2
[baseado em H e user]
Gerenciamento do banco de dados

 Banco de Dados de uma fábrica:


Sistema para Sistema para Sistema para
Setor de Vendas Setor de Produção Setor de Engenharia

Software que
permite a criação e

SGBD gerência da base de


dados

Exemplos destes Softwares:


Banco de • Livres:
dados
•FireBird, PostgreSQL e
MySQL, MongoDB
teclado.gif • Comerciais (pagos)
monitor.gif
R$ 50,00
R$ 400,00
Teclado TC60 mouse.gif •Oracle, DB2 e
Monitor 15´ M60
R$ 30,00
Mouse MS09 10/11/2020 SQLServer
20/11/2021
09/11/2022 13
Sistema Gerenciador de Bancos de Dados
(SGBD)

 Um SGBD (Sistema Gerenciador de Banco de


Dados) consiste em uma coleção de dados inter-
relacionados e em um conjunto de programas
para acessá-los.

 SGBDs são projetados para gerenciar grandes


grupos de informações.

14
SGBD

 O gerenciamento envolve
 A definição de estruturas para o
armazenamento da informação;
 O fornecimento de mecanismos para manipular
as informações;
 Garantir a INTEGRIDADE dos dados;

15
Objetivos de um SGBD
 Isolar os usuários dos detalhes mais internos do banco de dados (abstração
de dados).
 Prover independência de dados às aplicações (estrutura física de
armazenamento e a estratégia de acesso).
Vantagens:
 rapidez na manipulação e no acesso à informação;

 redução do esforço humano (desenvolvimento e utilização);

 gerenciamento de transações/atomicidade;

 redução da redundância e da inconsistência de informações;

 redução de problemas de integridade;

 compartilhamento de dados;

 aplicação automática de restrições de segurança;

 controle integrado de informações distribuídas fisicamente;

16
Objetivos de um SGBD

 O grande objetivo de um SGBD é prover aos


usuários uma visão ABSTRATA dos dados
 O sistema omite certos detalhes de como os
dados são armazenados e mantidos;
 Mas oferece mecanismos eficientes para
BUSCA e ARMAZENAMENTO

17
Abstração de Dados

Mundo Real
Sistema Médico

Modelo  Independente do
modelo de dados
Médico Consulta Paciente
Conceitual
 Independente do
(modelo abstrato dos
SGBD CRM nome
dados)

 Dependente do
Modelo Lógico modelo de dados Orientado a Objeto-
 Independente do
Relacional
(estrutura dos dados) Objetos relacional
SGBD
Médico (CRM, Nome)

 Dependente do  Organização física dos dados


Modelo Físico modelo de dados  Estruturas de armazenamento de dados
 Dependente do SGBD  Índices de acesso
19
Modelos de Dados

19
Modelos de Bancos de Dados

Os modelos de bancos de dados definem a forma


como os dados encontram-se organizados
internamente.
...
Em ordem cronológica, temos os seguintes
modelos: redes, hierárquicos, relacionais,
objeto-relacionais e orientados a objetos.

20
O Modelo de Redes
Os dados são representados por coleções de
registros e os relacionamentos por elos

Luiza Reta da Vitória 900 55


Penha

556 1.000
Matheus Carlos Vila Velha
Moreira

647 5.366

Gabriel Francisco Serra

801 10.533

Clientes Contas
21
O Modelo Hierárquico
 Os dados e relacionamentos são representados
por registros e ligações, respectivamente.
 Os registros são organizados como coleções
arbitrárias de árvores.

Luiza Reta da Vitória Gabriel Francisco Serra


Penha

Math Carlos Vila Velha


eus Moreira

556 1.000 647 5.366

900 55 647 5.366 801 10.533 25


O Modelo Relacional
Fundamentado na Teoria de Conjuntos
O Modelo Relacional
R3 R4
R1

R2

Fundamental:
Usuário vê o B. Dados como
um conjunto de tabelas
(relações)
O Modelo Relacional
Tabela Cliente (dados)
codCliente nome rua cidade
015 Luiza Reta da Penha Vitória
Matheus Carlos Moreira Vila Velha
021
Gabriel Francisco Serra
037

Tabela Conta (dados)


nroConta saldo
900 55,00
556 1.000,00
647 5.366,00
801 10.533,00

codCliente nroConta
015 900
021 556
021 647
Tabela Cliente-Conta 037 647
(relacionamento) 27
037 801
Diferença entre os Modelos

 O modelo relacional não usa ponteiros ou


ligações;

 O modelo relacional relaciona registros a partir de


valores do registro;

26
Modelos de Arquitetura de SGBD

27
Arquitetura – Centralizada
 O banco de dados centralizado se resume à centralização
dos dados em um único servidor. E este é acessado por
aplicações ou clientes;
 Como estamos trabalhando com um único servidor, é
necessário que ele tenha um processamento potente e
um ótimo desempenho para gerenciar o banco de dados.

28
Arquitetura – Distribuída
 O banco de dados distribuído, como o próprio nome diz, é
caracterizado pela distribuição de dados, geograficamente,
por diversos servidores ou computadores;
 Para que esse tipo de banco de dados funcione, é preciso
que todos esses elementos de armazenamento de dados
estejam sincronizados e em processo constante de
atualização para que os dados fiquem íntegros em todos os
locais.

29
Funções de um SGBD

30
Instâncias e Esquemas

 Os bancos de dados mudam a medida que


informações são inseridas ou apagadas
 A coleção de informações armazenadas é
chamada de INSTÂNCIA do banco de dados
(mudam com frequência)
 O projeto geral do banco de dados é
chamado ESQUEMA do banco de dados
(não mudam com frequência)

31
Independência dos Dados

 O uso de bancos de dados permite modificar o


ESQUEMA dos dados em um nível sem afetar a
definição do esquema em um nível mais alto. Isto é
chamado de ...
independência
Minimundo
dos dados
Projeto Conceitual

Níveis Projeto Lógico esquema


De
Abstração
Projeto Físico instâncias
32
Independência dos Dados
 Existem 2 tipos de Independência de dados
 Independência física de dados: habilidade de
modificar o esquema físico sem a necessidade
de reescrever as aplicações
 Estas modificações são necessárias para
melhorar o desempenho
 Independência lógica de dados: habilidade de
modificar o esquema conceitual sem a
necessidade de reescrever os programas
aplicativos
 Estas modificações são necessárias
quando a estrutura lógica é alterada.
 Exemplo: adição de um novo atributo
33
Independência dos Dados

 A independência lógica dos dados é mais difícil de


ser alcançada do que a independência física, pois
os programas são bastante dependentes da
estrutura lógica dos dados que eles acessam

34
Linguagem de Consulta – SQL
SQL – Structured Query Language

DDL DML
Linguagem de Linguagem de
definição de manipulação
dados de dados

Padrão ANSI

35
Linguagem de Definição de Dados (DDL)

 Um esquema de banco de dados é especificado por


um conjunto de definições expressas por uma
linguagem especial chamada Linguagem de
Definição de Dados (Data Definition Language)
 Linguagem para a definição de estruturas de dados
 Essas definições são armazenadas no
“dicionário de dados“ - contém metadados, i.e.,
dados sobre os dados

36
Linguagem de Definição de Dados (DDL)

 Exemplo

37
Linguagem de Manipulação de Dados
(DML)

 Manipulação de dados significa:


 A busca da informação armazenada no BD
 A inserção de novas informações no BD
 A eliminação de informações do BD
 A modificação dos dados armazenados no BD

SQL é uma linguagem Não-procedural


(declarativa): o usuário informa qual dado
deseja acessar SEM especificar como
obtê-lo.
38
Exemplo de consultas SQL

39
Usuários do Banco de Dados

 Programadores de Aplicações
 São os usuários que escrevem os programas
de aplicação através da DML
 Usuários de alto nível
 Interagem com o sistema sem escrever
programas, por interfaces disponíveis nesse
ambiente
 Escrevem consultas SQL e submetem à execução
sem a necessidade de escrever uma aplicação
para esse fim
40
Usuários do Banco de Dados

 Usuários ingênuos/leigos
 Interagem com o sistema por meio de
programas aplicativos
 Exemplo: um cliente do banco invocaria um
programa para efetuar a transferência de 50
reais da conta A para a conta B
 Administradores do banco de dados
 Usuários mais especializados para um banco
de dados.
41
Usuários do Banco de Dados
 Funções do Administrador do banco de dados
 Definição do esquema
 Definição de estruturas de armazenamento e
métodos de acesso
 Modificação de esquema e de organização
física
 Concessão de autorização para acesso aos
dados
 Especificação de restrições de integridade

42
Arquitetura Geral de um SGBD

Vários
Interface componentes
Processamento trabalham em
de Consultas conjunto...
Processamento
de Transações
Acesso a
Arquivos

Base de Dados

SGBD 43
Arquitetura
Geral de
um SGBD

44
Estrutura Geral do sistema

 Gerenciador de arquivos
 Gerenciador do banco de dados
 Processador de consultas
 Pré-compilador da DML
 Compilador da DDL
 Arquivos
 Arquivos de dados

 Dicionário de dados

 Índices
45
Estrutura Geral do sistema

 Gerenciador de Transações
 Controla a integridade dos dados no Banco de dados
 Acessos simultâneos vários usuários

 Fundamental em processo de recuperação de falhas


no sistema
 Otimizador de Consultas
 Escolhe a forma mais eficiente para execução de
uma consulta

46
Bibliografia
SILBERSCHATZ, Abraham. Sistema de banco de dados. 6. ed. São
Paulo: Campus, 2012.
HEUSER, Carlos Alberto. Projeto de Banco de Dados. 6. ed. Porto
Alegre: Sagra Luzzato, 2008.
CHEN, Peter. Modelagem de Dados - A abordagem Entidade-
Relacionamento para Projeto Lógico. São Paulo: Makron Books, 1990.
OLIVEIRA, Celso. SQL – Curso prático. São Paulo: Novatec, 2002.

47

Você também pode gostar