Вы находитесь на странице: 1из 25

Conceitos Básicos

de Banco de
Dados

Prof. Rafael Lima

Introdução

Revisão de Conceitos Básicos de Banco de Abstração de


dados
Nı́vel Fı́sico
Dados Nı́vel lógico
Nı́vel de visão

Instâncias e
Esquemas

Prof. Rafael Lima Independência de


Dados

FAMETRO Modelo Entidade-


Relacionamento
professor.rlima@gmail.com Linguagens de
Manipulação de
Dados
DMLs
31 de julho de 2017 SQL

Gerenciamento de
Memória

Visão Geral da
Estrutura do
Sistema

Tarefas de um
DBA
Conceitos Básicos
Overview de Banco de
Dados

Introdução Prof. Rafael Lima

Abstração de dados Introdução

Nı́vel Fı́sico Abstração de


dados
Nı́vel lógico Nı́vel Fı́sico
Nı́vel lógico
Nı́vel de visão Nı́vel de visão

Instâncias e
Instâncias e Esquemas Esquemas

Independência de
Independência de Dados Dados

Modelo Entidade-
Modelo Entidade-Relacionamento Relacionamento

Linguagens de
Linguagens de Manipulação de Dados Manipulação de
Dados
DMLs DMLs

SQL SQL

Gerenciamento de
Memória
Gerenciamento de Memória
Visão Geral da
Visão Geral da Estrutura do Sistema Estrutura do
Sistema

Tarefas de um DBA Tarefas de um


DBA
———————– Conceitos Básicos
de Banco de
Dados

Prof. Rafael Lima

Introdução

Abstração de
dados
Nı́vel Fı́sico
Nı́vel lógico
Nı́vel de visão

Instâncias e
Esquemas

Independência de
Dados

Modelo Entidade-
Relacionamento

Linguagens de
Manipulação de
Dados
DMLs
SQL

Gerenciamento de
Memória

Visão Geral da
Estrutura do
Sistema

Tarefas de um
DBA
Conceitos Básicos
Visão de Dados de Banco de
Dados

Prof. Rafael Lima

Introdução

Abstração de
dados
Nı́vel Fı́sico
I Técnicos de desenvolvimento de Banco de Dados Nı́vel lógico
Nı́vel de visão
procuram omitir a complexidade de implementação de Instâncias e
modo a facilitar a interação dos usuários do sistema. Esquemas

Por isso, sistema de banco de dados (SBDs) usuais Independência de


Dados
abstraem os dados da seguinte forma:
Modelo Entidade-
I Nı́vel Fı́sico, Relacionamento
I Nı́vel Lógico, Linguagens de
Manipulação de
I Nı́vel de Visão Dados
DMLs
SQL

Gerenciamento de
Memória

Visão Geral da
Estrutura do
Sistema

Tarefas de um
DBA
Conceitos Básicos
Nı́vel Fı́sico de Banco de
Dados

Prof. Rafael Lima

Introdução

Abstração de
dados
Nı́vel Fı́sico
Nı́vel lógico
Nı́vel de visão

I É o nı́vel mais baixo de abstração que descreve como Instâncias e


Esquemas
esses dados estão sendo armazenados. Independência de
Dados
I No nı́vel fı́sico, estruturas de dados complexas são
Modelo Entidade-
descritas em detalhes. Relacionamento

Linguagens de
Manipulação de
Dados
DMLs
SQL

Gerenciamento de
Memória

Visão Geral da
Estrutura do
Sistema

Tarefas de um
DBA
Conceitos Básicos
Nı́vel Lógico de Banco de
Dados

Prof. Rafael Lima

Introdução

Abstração de
dados
Nı́vel Fı́sico
Nı́vel lógico
I Nı́vel médio de abstração de dados que descreve quais Nı́vel de visão

dados estão armazenados no banco de dados e quais os Instâncias e


Esquemas
inter-relacionamento entre eles.
Independência de
I Embora a implementação dessas estruturas simples no Dados

Modelo Entidade-
nı́vel lógico possa envolver estruturas complexas no nı́vel Relacionamento
fı́sico, o usuáruio do nı́vel lógico não necessariamente Linguagens de
Manipulação de
precisa estar familiarizado com esta complexidade. Dados
DMLs
SQL

Gerenciamento de
Memória

Visão Geral da
Estrutura do
Sistema

Tarefas de um
DBA
Conceitos Básicos
Nı́vel de visão de Banco de
Dados

Prof. Rafael Lima

Introdução

Abstração de
dados
I O mais alto nı́vel de abstração descreve apenas parte do Nı́vel Fı́sico
Nı́vel lógico
banco de dados. Nı́vel de visão

Instâncias e
I Muitos usuários não precisam conhecer todo o SBD. Esquemas
Pelo contrário, os usuários, muitas vezes, utilizam Independência de
Dados
apenas uma parte do SBD.
Modelo Entidade-
I Assim, para que estas interações sejam simplificadas, Relacionamento

um nı́vel de visão é definido. Linguagens de


Manipulação de
Dados
I O sistema pode proporcionar diversas visões do banco DMLs

de dados. SQL

Gerenciamento de
Memória

Visão Geral da
Estrutura do
Sistema

Tarefas de um
DBA
Conceitos Básicos
Visão Geral dos 3 nı́veis de abstração de Banco de
Dados

Prof. Rafael Lima

Introdução

Abstração de
dados
Nı́vel Fı́sico
Nı́vel lógico
Nı́vel de visão

Instâncias e
Esquemas

Independência de
Dados

Modelo Entidade-
Relacionamento

Linguagens de
Manipulação de
Dados
DMLs
SQL

Gerenciamento de
Memória
Figura: 1
Visão Geral da
Estrutura do
Os três nı́veis de abstração de dados em um Banco de Dados Sistema

(BD). Tarefas de um
DBA
Conceitos Básicos
Instâncias e Esquemas de Banco de
Dados

Prof. Rafael Lima

Introdução

Abstração de
dados
Nı́vel Fı́sico
I O conjunto de informações contidas em um Nı́vel lógico
Nı́vel de visão
determinado banco de dados, em um dado momento, é Instâncias e
Esquemas
chamado instância do banco de dados.
Independência de
I O projeto geral do banco de dados é chamado de Dados

esquema. Esquemas são alterados com pouca Modelo Entidade-


Relacionamento
frequência. Linguagens de
Manipulação de
I Analogia de declaração de variáveis e valor de variáveis. Dados
DMLs
SQL

Gerenciamento de
Memória

Visão Geral da
Estrutura do
Sistema

Tarefas de um
DBA
Conceitos Básicos
Independência de Dados de Banco de
Dados

Prof. Rafael Lima

Introdução

Abstração de
dados
Nı́vel Fı́sico
I A independência de dados, no paradigma de banco de Nı́vel lógico
Nı́vel de visão
dados, é a capacidade de modificar definição de
Instâncias e
esquemas de um determinado n;ivel sem afetar o Esquemas
esquema de nı́vel superior. Independência de
Dados
I Independência de dados fı́sica
Modelo Entidade-
I Independência de dados lógica Relacionamento

I Correlação com encapsulamento de linguagens de Linguagens de


Manipulação de
programação modernas. Dados
DMLs
SQL

Gerenciamento de
Memória

Visão Geral da
Estrutura do
Sistema

Tarefas de um
DBA
Conceitos Básicos
Modelo Entidade Relacionamento (ER) de Banco de
Dados

Prof. Rafael Lima

Introdução

Abstração de
I O modelo de dados ER tem por base a percepção do dados
Nı́vel Fı́sico
mundo real como um conjunto de objetos básicos, Nı́vel lógico
Nı́vel de visão
chamados de entidades e do relacionamento entre eles. Instâncias e
Esquemas
I Entidades são descritos por atributos. ex: uma conta
Independência de
pode ser modelada como entidade. Esta entidade pode Dados

possuir os atributos número, tipo e saldo. Modelo Entidade-


Relacionamento
I Relacionamento é uma associação de entidades. Por Linguagens de
Manipulação de
exemplo, o relacionamento depositante associa um Dados
cliente a cada conta que ele possui. Neste caso cliente é DMLs
SQL

visto como uma entidade. Gerenciamento de


Memória

Visão Geral da
Estrutura do
Sistema

Tarefas de um
DBA
Conceitos Básicos
Modelo ER de Banco de
Dados

Prof. Rafael Lima

Introdução

Abstração de
dados
Nı́vel Fı́sico
Nı́vel lógico
I Além das entidades e dos relacionamentos, o modelo Nı́vel de visão

ER representa certas regras, as quais o conteúdo do Instâncias e


Esquemas
banco de dados precisa respeitar. Independência de
Dados
I Tais regras são os mapeamento de cardinalidades., as
Modelo Entidade-
quais expressam o número de entidades às quais a outra Relacionamento
entidade se relaciona através de um determinado Linguagens de
Manipulação de
relacionamento. Dados
DMLs
SQL

Gerenciamento de
Memória

Visão Geral da
Estrutura do
Sistema

Tarefas de um
DBA
Conceitos Básicos
Diagramas ER de Banco de
Dados

Prof. Rafael Lima

Introdução

Abstração de
dados
Nı́vel Fı́sico
Nı́vel lógico
Nı́vel de visão

Instâncias e
Esquemas

Independência de
Dados

Modelo Entidade-
Relacionamento

Linguagens de
Manipulação de
Dados
DMLs
Figura: 2 SQL

Gerenciamento de
Exemplo de diagrama ER. Baixado em: Memória

http://www.conceptdraw.com Visão Geral da


Estrutura do
Sistema

Tarefas de um
DBA
Conceitos Básicos
Linguagens de Manipulação de Dados de Banco de
Dados

Prof. Rafael Lima

Introdução

I Por manipulação de dados entendemos: inserção, Abstração de


dados
remoção, modificação e recuperação de dados de Nı́vel Fı́sico
Nı́vel lógico
informações armazenadas no banco de dados. Nı́vel de visão

Instâncias e
I A linguagem de manipulação de de dados (DML) é a Esquemas

linguagem que viabiliza o acesso ou a manipulação dos Independência de


Dados
dados de forma compatı́vel com o modelo apropriado. Modelo Entidade-
Relacionamento
I Uma consulta é uma solicitação para recuperação de
Linguagens de
informações. A parte de uma DML responsável pela Manipulação de
Dados
recuperação de informações é chamada de linguagem de DMLs
SQL
consultas. Uma linguagem de consultas muito como é a
Gerenciamento de
SQL Memória

Visão Geral da
Estrutura do
Sistema

Tarefas de um
DBA
Conceitos Básicos
SQL de Banco de
Dados
I Os exemplos mostrados a seguir serão compatı́veis com Prof. Rafael Lima

o PostgreSQL. Introdução

1 mydb=> SELECT v e r s i o n ( ) ; Abstração de


dados
version Nı́vel Fı́sico
3 −− Nı́vel lógico
Nı́vel de visão
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Instâncias e
Esquemas
PostgreSQL 8 . 0 . 2 6 on i 5 8 6 −pc−l i n u x −gnu , c o m p i l e d Independência de
by GCC 2 . 9 6 Dados
5 ( 1 row ) Modelo Entidade-
Relacionamento
mydb=> SELECT c u r r e n t d a t e ;
7 date Linguagens de
Manipulação de
−−−−−−−−−−−− Dados
9 2002−08−31 DMLs
SQL
( 1 row )
Gerenciamento de
11 mydb=> SELECT 2 + 2 ; Memória
? column ? Visão Geral da
13 4 Estrutura do
Sistema
( 1 row )
Tarefas de um
DBA
codigos/01/01.sql
Conceitos Básicos
de Banco de
Dados

Prof. Rafael Lima

Introdução
CREATE TABLE t e m p e r a t u r a s (
2 cidade varchar (80) , Abstração de
dados
temp min i n t , −− minima Nı́vel Fı́sico
4 temp max i n t , −− maxima Nı́vel lógico
Nı́vel de visão
prcp r e a l , −− p r e c i p i t a c a o Instâncias e
6 data date Esquemas
); Independência de
8 INSERT INTO t e m p e r a t u r a s Dados

VALUES ( ’ San F r a n c i s c o ’ , 4 6 , 5 0 , 0 . 2 5 , ’ 1994−11−27 Modelo Entidade-


Relacionamento
’);
10 SELECT ∗ from t e m p e r a t u r a s Linguagens de
Manipulação de
Dados
codigos/01/02.sql DMLs
SQL

Gerenciamento de
Memória

Visão Geral da
Estrutura do
Sistema

Tarefas de um
DBA
Conceitos Básicos
Mais informações em SQL no POSTGRESQL de Banco de
Dados

Prof. Rafael Lima

Introdução

Abstração de
dados
Nı́vel Fı́sico
Nı́vel lógico
Nı́vel de visão

Instâncias e
Esquemas
https://www.postgresql.org/docs/8.0/static/tutorial- Independência de
start.html Dados

Modelo Entidade-
Relacionamento

Linguagens de
Manipulação de
Dados
DMLs
SQL

Gerenciamento de
Memória

Visão Geral da
Estrutura do
Sistema

Tarefas de um
DBA
Conceitos Básicos
Administração de Memória de Banco de
Dados

Prof. Rafael Lima

Introdução

Abstração de
dados
I Bancos de dados exigem um grande volume de Nı́vel Fı́sico
Nı́vel lógico
memória; Nı́vel de visão

I Dados são transferidos dos discos para memória quando Instâncias e


Esquemas
necessário. Independência de
Dados
I Esta transferência é lenta comparada a velocidade do
Modelo Entidade-
processador. Relacionamento

Linguagens de
I Desta forma, os dados presentes no banco devem ser Manipulação de
Dados
estruturados de forma a minimizar a necessidade de DMLs
movimentação entre disco e memória. SQL

Gerenciamento de
Memória

Visão Geral da
Estrutura do
Sistema

Tarefas de um
DBA
Conceitos Básicos
Memória no BD de Banco de
Dados

Prof. Rafael Lima

Introdução

Abstração de
dados
I O desempenho do banco de dados não só depende do Nı́vel Fı́sico
Nı́vel lógico
hardware usado, mas também da eficácia das estruturas Nı́vel de visão

usadas para a representação destes dados. Instâncias e


Esquemas
I O gerenciador de memória é um módulo de programas Independência de
Dados
para interface entre o armazenamento de dados em um
Modelo Entidade-
nı́vel baixo e consultas e programas de aplicação Relacionamento

submetidos ao sistema. O gerenciador de memória é Linguagens de


Manipulação de
responsável pelo armazenamento, recuperação e Dados
DMLs
atualização de dados no banco de dados. SQL

Gerenciamento de
Memória

Visão Geral da
Estrutura do
Sistema

Tarefas de um
DBA
Conceitos Básicos
Estrutura geral do sistema de Banco de
Dados

Prof. Rafael Lima

Introdução

Abstração de
dados
Nı́vel Fı́sico
Nı́vel lógico
Nı́vel de visão

I Todo BD é dividido em módulos especı́ficos. Instâncias e


Esquemas
I Os componentes funcionais do sistema de BD podem Independência de
Dados
ser divididos em: componentes de processamento de
Modelo Entidade-
consultas e componentes de administração de dados. Relacionamento

Linguagens de
Manipulação de
Dados
DMLs
SQL

Gerenciamento de
Memória

Visão Geral da
Estrutura do
Sistema

Tarefas de um
DBA
Conceitos Básicos
Componentes de processamento de consultas de Banco de
Dados

Prof. Rafael Lima

Introdução

Abstração de
dados
Nı́vel Fı́sico
Nı́vel lógico
Nı́vel de visão
I Os omponentes de processamento de consulta de um Instâncias e
Esquemas
BD possui:
Independência de
1. Pré-compilador e Compilador DML Dados
2. Interpretador DDL Modelo Entidade-
3. Componentes para tratamento de consultas Relacionamento

Linguagens de
Manipulação de
Dados
DMLs
SQL

Gerenciamento de
Memória

Visão Geral da
Estrutura do
Sistema

Tarefas de um
DBA
Conceitos Básicos
Componentes de adminsitração de de Banco de
Dados
armazenamento de dados Prof. Rafael Lima

Introdução

Abstração de
dados
Nı́vel Fı́sico
Nı́vel lógico
Nı́vel de visão

Instâncias e
I Os componentes para administração do armazenamento Esquemas
de dados incluem: Independência de
Dados
1. Gerenciamento de autorizações e integridade;
Modelo Entidade-
2. Gerenciamento de transações; Relacionamento
3. Administração de arquivos; Linguagens de
4. Administração de buffer. Manipulação de
Dados
DMLs
SQL

Gerenciamento de
Memória

Visão Geral da
Estrutura do
Sistema

Tarefas de um
DBA
Conceitos Básicos
Estruturas de dados utilizadas de Banco de
Dados

Prof. Rafael Lima

Introdução

Abstração de
dados
Nı́vel Fı́sico
I Algumas estruturas de dados são exigidas como parte Nı́vel lógico

de implementação fı́sica do sistema: Nı́vel de visão

Instâncias e
I Arquivo de dados, que armazena o próprio banco de Esquemas
dados. Independência de
Dados
I Dicionário de dados, que armazena metadados. Este
Modelo Entidade-
dicionário é muito usado. Relacionamento
I Índices, que propocionam acesso rápido aos dados. Linguagens de
I Estatı́sticas dos dados, que armazenam informações Manipulação de
Dados
estatı́sticas relativas aos dados contidos no banco. DMLs
SQL

Gerenciamento de
Memória

Visão Geral da
Estrutura do
Sistema

Tarefas de um
DBA
Conceitos Básicos
Administrador de um banco de dados de Banco de
Dados

Prof. Rafael Lima

Introdução

Abstração de
dados
Nı́vel Fı́sico
I O DBA (do inglês: DataBase Admin) é o profissional Nı́vel lógico
Nı́vel de visão
responsável pela administração do banco de dados. Instâncias e
Suas funções são: Esquemas

Independência de
1. Definição do esquema e modelagem; Dados
2. Definições de estruturas de dados e métodos de acesso; Modelo Entidade-
3. Esquema e modificações na organização fı́sica; Relacionamento

4. Fornecer autorização de acesso ao sistema; Linguagens de


Manipulação de
5. Especificação de regras de integridade. Dados
DMLs
SQL

Gerenciamento de
Memória

Visão Geral da
Estrutura do
Sistema

Tarefas de um
DBA
Conceitos Básicos
de Banco de
Dados

Prof. Rafael Lima

Introdução

Abstração de
dados
Nı́vel Fı́sico
Nı́vel lógico
Nı́vel de visão
Dúvidas?
Instâncias e
enviar e-mail para: Esquemas

professor.rlima@gmail.com Independência de
Dados

Modelo Entidade-
Relacionamento

Linguagens de
Manipulação de
Dados
DMLs
SQL

Gerenciamento de
Memória

Visão Geral da
Estrutura do
Sistema

Tarefas de um
DBA