Você está na página 1de 65

Banco de Dados I

Introdução
Introdução

 O que é um banco de dados

ou base de dados
ou database?
O que é um banco de dados?

Antigamente...
O que é um banco de dados?

Antigamente...
O que é um banco de dados?

Evolução...
O que é um banco de dados?

Atualmente...
O que é um banco de dados?

É um conjunto de dados inter-relacionados que


objetivam atender as necessidades de um
conjunto de usuários.

Exemplos:
● Lista telefônica
● Fichas de pacientes de um hospital
● Formulários para compras de produtos
● ...
Questões relacionadas a banco de dados:

• Quantas pastas eu consigo guardar num


armário?
Questões relacionadas a banco de dados:

• Quantas pastas eu consigo guardar num armário?


• Quantas gavetas eu consigo abrir por vez?
Questões relacionadas a banco de dados:

• Quantas pastas eu consigo guardar num armário?


• Quantas gavetas eu consigo abrir por vez?
• Como eu vou encontrar os dados?
Questões relacionadas a banco de dados:

• Quantas pastas eu consigo guardar num armário?


• Quantas gavetas eu consigo abrir por vez?
• Como eu vou buscar os dados?

• Quantas pessoas conseguem acessar os


dados?
Questões relacionadas a banco de dados:

• Quantas pastas eu consigo guardar num armário?


• Quantas gavetas eu consigo abrir por vez?
• Como eu vou buscar os dados?
• Quantas pessoas conseguem acessar os dados?

• Quem pode atualizar cada ficha?


Questões relacionadas a banco de dados:

• Quantas pastas eu consigo guardar num armário?


• Quantas gavetas eu consigo abrir por vez?
• Como eu vou buscar os dados?
• Quantas pessoas conseguem acessar os dados?
• Quem pode atualizar cada ficha?

• Posso tirar duas fichas ao mesmo tempo?


Questões relacionadas a banco de dados:

• Quantas pastas eu consigo guardar num armário?


• Quantas gavetas eu consigo abrir por vez?
• Como eu vou buscar os dados?
• Quantas pessoas conseguem acessar os dados?
• Quem pode atualizar cada ficha?
• Posso tirar duas fichas ao mesmo tempo?

• Duas pessoas podem ter a mesma ficha?


Problemas...

• E se duas pessoas precisarem da mesma ficha?


Problemas...

• E se duas pessoas precisarem da mesma ficha?

• E se uma ficha estiver sendo usada e outra


pessoa duplicar a mesma ficha?
Problemas...

• E se duas pessoas precisarem da mesma ficha?


• E se uma ficha estiver sendo usada e outra pessoa duplicar a mesma
ficha?

• E se alguém apagar a ficha que eu preciso?


Problemas...

• E se duas pessoas precisarem da mesma ficha?


• E se uma ficha estiver sendo usada e outra pessoa duplicar a mesma
ficha?
• E se alguém apagar a ficha que eu preciso?

• E se eu precisar de outros dados


relacionados a uma mesma ficha?
Resultado...

• E se duas pessoas precisarem da mesma ficha?


• E se uma ficha estiver sendo usada e outra pessoa duplicar a mesma
ficha?
• E se alguém apagar a ficha que eu preciso?
• E se eu precisar de outros dados relacionados a uma mesma ficha?
Solução!!!

Sistema de Gerenciamento de Banco de Dados


● Armazenar grandes quantidades de dados,
● Consultar os dados de forma eficiente,
● Permitir que vários usuários acessem os mesmos dados,
● Controlar e autorizar quem pode acessar e atualizar os dados,
● Disparar rotinas agendadas sobre os dados ....
Sistema de Gerência de Banco
de Dados (SGBD)
É um software que auxilia na definição, carga,
atualização e manutenção de um banco de dados.

Inglês: DataBase Management System - DBMS


SGBD

● Cada informação é armazenada uma única vez


● Redundância - apenas para fins de segurança,
controlada pelo sistema, sendo invisível ao usuário
Características das aplicações de
banco de dados (1/4)
 Arquivos devem ser projetados para atender
diferentes necessidades
▪ Estruturas de dados complexas

 Banco de dados é acessado por múltiplos


programas
▪ Múltiplas equipes de desenvolvimento podem estar envolvidas

▪ Definição da estrutura da base de dados deve ser mantida de


forma centralizada, deve estar disponível para múltiplos usuários
Características das aplicações de
banco de dados (2/4)
 Dados devem estar corretos

● Programas devem garantir a manutenção de


restrições de integridade

Restrição de Integridade: regra que deve ser cumprida


para garantir que base de dados está correta.
Exemplos:

– Chaves Primárias são únicas – o identificador de um funcionário


é único.
– Restrições de preenchimento obrigatório – garantem que
determinados campos sejam informados.
Características das aplicações de
banco de dados (3/4)
 Banco de dados é acessado concorrentemente
por múltiplos usuários
• Programas devem implementar controle de acesso
concorrente

 Nem todo usuário pode ver/acessar qualquer


informação
• Programas devem implementar autorização de acesso
aos dados
Características das aplicações de
banco de dados (4/4)
Dados são de importância vital e não podem ser
perdidos
• Além de mecanismos de cópias de dados, o sistema
deve ser capaz de:
– Após uma falha, recuperar o BD rapidamente;
– Transações confirmadas ao usuário não podem ser
reprocessadas
Sistemas de arquivos versus
Sistemas de banco de dados
Principais ações em um SGBD

Definição: especificar as estruturas e os tipos de


dados a serem gravados, com uma descrição
detalhada de cada tipo de dado.

Construção: processo de consistir e criar as


estruturas dos dados no banco de dados.

Manipulação : consultar dados específicos e


realizar atualizações para refletir as alterações do
mundo real.
Estrutura
geral
de um
SGBD
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
Usuários
[[[[[
Usuários de SGBD:
Usuários de SGBD:

Usuários leigos: usuários comuns que


interagem com o sistema através das interfaces
de aplicação.
Usuários de SGBD:

Programadores de aplicações: profissionais em


computação que interagem com o sistema por
meio de Linguagens de Manipulação de Dados
(Data Manipulation Language – DML) envolvidas
em programas escritos em diferentes
linguagens hospedeiras.
Usuários de SGBD:

Usuários avançados: interagem com os


sistemas usando ferramentas de consulta em
DMLs.
Usuários de SGBD:

Administrador de BD: coordena todas as


atividades do sistema de banco de dados, possui
um bom conhecimento dos recursos e
necessidades de informação da empresa.
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[

Aplicações
Aplicações que usam SGBD
Aplicações que usam SGBD

Interfaces de aplicação: são as formas de acesso direto


ao SGBD.
Aplicações que usam SGBD

Programas de aplicação: são as APIs que utilizam os


SGBDs para manipulação e armazenamento dos
dados.
Aplicações que usam SGBD

Ferramentas de consulta: são programas específicos


para processar os dados e obter informações.
Ex.: mineração de dados, OLAP, inteligência artificial...
Aplicações que usam SGBD

Ferramentas de administração: são os programas que o


DBA utiliza para administrar o SGBD.
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[

Componentes
do
Processador
de
Consultas
Componentes do Processador
de Consultas
Componentes do Processador
de Consultas

Compilador e linkeditor para programas de aplicação:


Converte os procedimentos da aplicação em consultas de
DML. Interage com o compilador DML de modo a gerar o
código apropriado.

DML – Data Manipulation Language - Linguagem de


Manipulação de Dados : usada para manipular os
dados, com operações de inserção, remoção, alteração
e recuperação.
Componentes do Processador
de Consultas

Consultas em DML - responsável pelo acesso e a


manipulação do dados (recuperação, inserção, remoção e
alteração)
Componentes do Processador
de Consultas

Interpretador de DDL: Interpreta os comandos DDL e os


registra no dicionário de dados.

DDL - Data-Definition Language - Linguagem de Definição


de Dados : usada para especificar um esquema (conjunto de
definições) de dados

O resultado da compilação dos comando da DDL gera o


dicionário de dados (arquivo de metadados – dados sobre os
dados).
Componentes do Processador
de Consultas

Código de objeto do programa de aplicação: resultado do


processamento do compilador e linkeditor.
Componentes do Processador
de Consultas

Compilador e organizador de DML: Traduz comandos DML


em instruções de baixo nível, entendidas pelos mecanismos de
avaliação de consultas.
Componentes do Processador
de Consultas

Mecanismos de avaliação de consultas: Otimiza e executa as


instruções de baixo nível geradas pelo compilador DML.
[[[

Gerenciador
de
Armazenamento
Gerenciador de
Armazenamento

Responsável por fazer a interface entre o armazenamento de


dados (último nível) e as consultas e programas de aplicação
submetidos ao sistema.
Ele também realiza a interface do SGBD com o Sistema de
Arquivos do Sistema Operacional.
Traduz os diversos comandos DML em comandos de baixo nível
de sistemas de arquivos.
Gerenciador de
Armazenamento

O desempenho de um SGBD depende diretamente da


eficiência das estruturas usadas na representação dos dados e
do quanto este sistema está apto a operar essas estrutura de
dados.
Gerenciador de
Armazenamento

Gerenciador de buffer: responsável pela intermediação de


dados do disco para a memória principal e vice-versa.
Gerenciador de
Armazenamento

Gerenciador de arquivos: administra a alocação de espaço no


armazenamento em disco e as estruturas de dados usadas para
representar estas informações.
Gerenciador de
Armazenamento

Gerenciador de autorização e integridade: testam o


cumprimento das regras de integridade e a permissão ao
usuário no acesso ao dado.
Gerenciador de
Armazenamento

Gerenciamento de transação: cuida da execução das


transações.
Componentes do armazenamento
em disco
Componentes do armazenamento
em disco

Dados: armazena os dados (o banco de dados


propriamente dito).
Componentes do armazenamento
em disco

Índices: estruturas que otimizam o acesso aos itens de


dados.
Componentes do armazenamento
em disco

Dicionário de dados ou metadados: dados sobre os


dados. Contêm definições da estrutura de cada arquivo,
o tipo e formato de armazenamento de cada item de
dados e as restrições dos dados.
Componentes do armazenamento
em disco

Dados estatísticos: armazena informações estatísticas


relativas aos dados contidos no banco de dados. Essas
informações são usadas pelo processador de consultas
para seleção de meios eficientes para execução de
consultas.
Então... Com um bom SGBD temos

JUNTAMENTE com o trabalho de bons


analistas de sistemas, administradores de BD,
arquitetos de informação, engenheiros de
dados, cientistas de dados, ....
Para discussão em sala de aula:
Citar exemplos de possíveis dados contidos em
bancos de dados de aplicações para:
▪Vendas
▪Recursos humanos
▪Controle hospitalar
▪Bancos
▪Universidades
▪Cias aéreas
Exercícios para próxima aula:

1-) Qual a diferença entre BD e SGBD?


2-) Cite alguns problemas referentes ao
tratamento de dados:
3-) Cite algumas vantagens do uso de um SGBD:
Bibliografia Utilizada:

Sistemas de Banco de Dados. (Cap. 1)


Silberchatz, Korth e Sudarshan. 5ª Edição.
Elsevier, 2012.

Sistemas de Banco de Dados. (Cap. 1) Elmarsi e


Navathe. 6ª Edição. Pearson Prentice Hall, 2011.

Você também pode gostar