Você está na página 1de 40

DCC011:

Introduo a Banco de Dados

Rodrygo Santos
rodrygo@dcc.ufmg.br

Departamento de Cincia da Computao


Universidade Federal de Minas Gerais
Programa
Introduo
Conceitos bsicos, caractersticas da abordagem de banco de
dados, modelos de dados, esquemas e instncias, arquitetura de
um sistema de banco de dados, componentes de um sistema de
gerncia de banco de dados.
Modelos de dados e linguagens
Modelo entidade-relacionamento (ER), modelo realcional, lgebra
relacional, SQL.
Projeto de bancos de dados
Fases do projeto de bancos de dados, projeto lgico de bancos de
dados relacionais, normalizao.
Novas Tecnologias e Aplicaes de Banco de Dados
Gerenciamento de dados massivos. Bancos de dados no-
relacionais (aka NoSQL)

2
Sumrio
Introduo
Exemplo, Caractersticas, Vantagens, Implicaes
Quando no utilizar um SGBD

Conceitos e Arquitetura do SBD


Modelos de Dados, Esquemas e Instncias
Categorias de Modelos de Dados
Arquitetura de Trs Esquemas e Independncia de
Dados
Linguagens e Interfaces
Mdulos de Componentes do SGBD e Utilitrios
Classificao dos SGBDs

3
Introduo
1. Conceitos bsicos
2. Exemplo
3. Caractersticas
4. Vantagens
5. Implicaes
6. Quando no utilizar um SGBD
1. O que um Banco de Dados?
[Elmasri & Navathe, 2000]
Um banco de dados uma coleo de
dados relacionados
Representando algum aspecto do mundo real
(mini-mundo ou universo de discurso)
Logicamente coerente, com algum significado
Projetado, construdo e gerado (povoado)
para uma aplicao especfica

5
Sistema de Gerncia de Banco de Dados

Um sistema de gerncia de banco de


dados (SGBD) um conjunto de
programas que permite criar e manter
um banco de dados
BD + SGBD = sistema de banco de dados

6
Usurios/Programadores

Consultas/Programas
Exemplos
de SGBDs????
Oracle
IBM DB2
SGBD My SQL
PostgreSQL

Catlogo Banco
de
(Meta-Dados) Dados

Sistema de Banco de Dados

7
2. Exemplo de um Banco de Dados
Mini-mundo: parte de uma universidade
Alguns integrantes
Alunos
Disciplinas
Departamentos
Alguns relacionamentos
Disciplinas so oferecidas por
Departamentos
Alunos esto matriculados em Disciplinas

8
Exemplo de um Banco de Dados

9
Exemplo de um Banco de Dados

10
3. Caractersticas da Abordagem de BD

Auto-descrio dos dados (metadados)


Isolamento entre programas e dados:
abstrao de dados
Suporte a mltiplas vises dos dados
Compartilhamento de dados e processa-
mento de transaes concorrentes

11
4. Vantagens da Utilizao de um SGBD

Controle de redundncia dos dados


Compartilhamento informaes replicadas
Manuteno de restries de integridade
Controle de acesso (segurana)
Armazenamento persistente dos dados
Existncia de mltiplas interfaces para os
usurios
Representao de relacionamentos complexos
entre os dados
Recuperao de falhas

12
5. Implicaes da Abordagem de BD

Adoo/imposio de padres
Reduo do tempo de desenvolvimento
das aplicaes
Flexibilidade
Atualidade da informao disponvel
Economia de escala

13
6. Quando no utilizar um SGBD

Aplicaes simples e bem definidas onde no se


esperam mudanas
Aplicaes onde no necessrio acesso multi-
usurio
Aplicaes de tempo-real
Motivos:
Investimento inicial alto
Generalidade na definio e manipulao dos dados
Custo adicional para prover outras facilidades
funcionais (manuteno de segurana, controle de
concorrncia, recuperao de falhas, etc.)

14
Conceitos e Arquitetura do SBD

1. Modelos de Dados, Esquemas e Instncias


2. Categorias de Modelos de Dados
3. Arquitetura de Trs Esquemas e Independncia de Dados
4. Linguagens e Interfaces
5. Mdulos de Componentes do SGBD e Utilitrios
6. Classificao dos SGBDs
1. Modelo de Dados, Esquema e Instncia

Modelo de dados: Conjunto de conceitos


descrevem a estrutura de um BD
Tipos de dados + relacionamentos + restries
(+operaes recuperao e atualizao)
Esquema: Descrio (textual ou grfica) da
estrutura de um BD de acordo com um
determinado modelo de dados
Instncia: Conjunto de dados armazenados em
um BD em um determinado instante de tempo

16
Modelo de Dados, Esquema e Instncia

Modelo
de Dados Esquema Instncia
Regras para Regras para
estruturao verificao
dos dados das instncias

17
Modelo de Dados, Esquema e Instncia

Esquema do banco de dados de exemplo


18
Modelo de Dados, Esquema e Instncia

19
Modelo de Dados, Esquema e Instncia
Esquema do BD
Armazenado no catlogo
Mudanas muito menos freqentes

Estado do BD
Dados do banco em qualquer ponto do tempo
Inicialmente vazio
Muda frequentemente
Validade parcialmente guarantida pelo SGBD
20
2. Categorias de Modelo de Dados
MODELOS CONCEITUAIS
Descrevem a estrutura de um BD de uma forma
mais prxima da percepo dos usurios
Independente de aspectos de implementao
Conceitos: entidades, atributos, relacionamentos
Exemplos:
Modelo entidade-relacionamento (ER)
Modelo orientado a objetos (OO)

21
Categorias de Modelo de Dados
MODELOS REPRESENTACIONAIS (lgicos)
Descrevem a estrutura de um BD da forma
como ser manipulado atravs de SGBD
Mais dependente das estruturas fsicas de
armazenamento de dados
Exemplos:
Modelo relacional
Modelo de rede (CODASYL)
Modelo hierrquico
Modelos no-relacionais (chave-valor, famlia de
colunas, documentos, grafos)

22
Categorias de Modelo de Dados
MODELOS FSICOS
Descrevem como os dados so fisicamente
armazenados
Conceitos: formatos dos registros,
ordenamento dos registros, caminhos de
acesso (eficincia)

23
3. Arquitetura de um Sistema de BD

Caractersticas do enfoque de BD
Isolamento de programas e dados
Suporte de vises mltiplas de usurios
Catlogo para armazenar a descrio
(esquema) do BD

Arquitetura de trs nveis


Mantm independncia de dados e programas
Suporta mltiplas vises
24
Arquitetura de um Sistema de BD
Componentes
1. Nvel interno (como est armazenado)
Descreve armazenamento fsico
2. Nvel conceitual (o que est
armazenado)
Descreve entidades, tipos de dados,
relacionamentos, operaes e restries
Esconde detalhes de armazenamento
3. Nvel externo (vises)
Descreve pores do banco para diferentes
comunidades 25
Arquitetura de um Sistema de BD

26
Arquitetura de um Sistema de BD
exemplo 1
Esquema conceitual (o que)
Estudantes (eid: string, nome: string, login: string,
idade: integer, gpa: real)
Cursos (cid: string, cnome: string, creditos: integer)
Matricula (eid: string, cid: string, nota: string)
Esquema interno (como)
Relaes guardadas como arquivos desordenados
ndices na primeira colunas de estudantes
Esquema externo (viso):
Lista_Matricula(nome: string, cnome: string)

27
Arquitetura de um Sistema de BD
exemplo 2
EXTERNO (Ling. Pascal) EXTERNO (Ling. C)
Funcionario = Record Participante = struct {
nome: string(30); char[30] Nome;
salario: real; int Departamento;
End; }

CONCEITUAL
Empregado
NOME CHARACTER (30)
SALARIO NUMERIC (5)
DEPARTAMENTO NUMERIC (2)
SEXO CHARACTER (1)

INTERNO
RegistroEmpregado LENGTH=50
NOME TYPE= BYTE(30)
SAL TYPE=FULLWORD
DEP TYPE=WORD
SEXO TYPE=BYTE(1)

28
?
Altera
Viso Externa
um nvel
Esquema Conceitual

Altera
Esquema Fsico nvel vizinho

Dependncia de Dados
Independncia de Dados
29
Independncia de Dados
Capacidade de se alterar o esquema em
um determinado nvel sem alterar o
esquema (ou esquemas) do nvel
imediatamente mais alto
VANTAGEM:
Imunidade dos programas em relao a
mudanas na estrutura do banco de dados
Um dos maiores benefcios de usar SGBD

30
Independncia de Dados
Independncia de dados lgica
Capacidade de alterar o esquema conceitual sem
alterar esquema externo ou aplicaes
Ex. Adio de novas entidades

Independncia de dados fsica


Capacidade de mudar o esquema interno sem
mudar o esquema conceitual (ou externo)
Ex. Reorganizao de arquivos para melhorar
desempenho

31
Arquitetura de um Sistema de BD
Nvel Externo
Esquema Esquema Esquema Viso de cada
Externo 1 Externo 2 Externo n usurio

Independncia
Nvel Conceitual
lgica
Viso
Esquema comunitria
Conceitual
Independncia Nvel Interno
fsica
Esquema Viso do
Interno armazenamento
fsico

32
4. Linguagens
Linguagem de definio de dados (DDL)
Definio de esquemas
Linguagem de manipulao de dados
(DML)
Insero, remoo, modificao
Linguagem de consulta de dados (DQL)
Seleo de dados de interesse
Exemplo: SQL

33
5. Mdulos de Componentes do SGBD

34
Utilitrios
Carga (loading)
Arquivos dados Banco de Dados
Cpia de segurana (backup)
Para restaurar em caso de falhas
(Re-)Organizao de arquivos
Melhorar o desempenho
Monitoramento do desempenho
Fornece estatsticas para o DBA: informaes
sobre desempenho reorganizao
35
6. Classificao dos SGBDs
Quanto ao modelo de dados adotado
De rede
Hierrquicos
Relacionais
Orientados a objetos
Objeto-relacionais
No-relacionais
Quanto ao nmero de usurios suportados
Mono-usurios
Multi-usurios
Quanto localizao dos dados
Centralizados
Distribudos
36
Exemplo de um BD Relacional
NumEmp NomeEmp Salrio Dept
Empregado 032 J Silva 380 21
074 M Reis 400 25
089 C Melo 520 28
092 R Silva 480 25
112 R Pinto 390 21
121 V Simo 905 28
130 J Neves 640 28

Departamento NumDept NomeDept Ramal


21 Pessoal 142
25 Financeiro 143
28 Tcnico 144

37
Exemplo de um BD de Rede
Empregado
032 J Silva 380
Departamento
074 M Reis 400
21 Pessoal 142

089 C Melo 520

25 Financeiro 143 092 R Silva 480

112 R Pinto 390

28 Tcnico 144 121 V Simo 905

130 J Neves 640

38
Exemplo de um BD Hierrquico

Departamento
21 Pessoal 142 25 Financeiro 143 28 Tcnico 144

Empregado
032 J Silva 380 074 M Reis 400 089 C Melo 520
112 R Pinto 390 092 R Silva 480 121 V Simo 905
130 J Neves 640

39
REVISO
BD, SGBD, SBD
Regras para Regras para
estruturao verificao das
Modelo
dos dados instncias
de Dados Esquema Instncia

Modelos: conceitual, lgico, fsico


Independncia de dados
DDL, DML, DQL
Modelo: tipo, nro usurios, localizao
40