DCC011: Introdução a Banco de Dados Introdução

Propaganda
Programa
• Introdução
t odução
• Conceitos básicos, características da abordagem de banco de dados, modelos de dados, esquemas e instâncias, arquitetura de um sistema de banco de dados, componentes de um sistema de gerência de banco de dados.
DCC011:
Introdução a Banco de Dados
• Modelos de dados e linguagens
• Modelo
Modelo entidade‐relacionamento (ER), modelo realcional, álgebra entidade‐relacionamento (ER) modelo realcional álgebra
relacional, SQL.
Mirella M. Moro
• Projeto de bancos de dados
Departamento de Ciência da Computação
• Fases do projeto de bancos de dados, projeto lógico de bancos de dados relacionais, normalização.
Universidade Federal de Minas Gerais
[email protected]
• Novas Tecnologias e Aplicações de Banco de Dados
g
p ç
• Bancos de dados orientados a objetos e objeto‐relacionais, dados semi‐
estruturados e XML.
UFMG DCC011 ‐ profa. Mirella M. Moro
2
Sumário
• Introdução
ç
• Exemplo, Características, Vantagens, Implicações
• Quando não utilizar um SGBD
Introdução
• Conceitos e Arquitetura do SBD
• Modelos de Dados, Esquemas e Instâncias
M d l d D d E
I tâ i
• Categorias de Modelos de Dados
Arquitetura de Três Esquemas e Independência de Dados
• Arquitetura de Três Esquemas e Independência de Dados
• Linguagens e Interfaces
• Módulos de Componentes do SGBD e Utilitários
• Classificação dos SGBDs
Cl ifi ã d SGBD
UFMG DCC011 ‐ profa. Mirella M. Moro
1.
2.
3.
4.
5.
6.
3
1. O que é um Banco de Dados?
Sistema de Gerência de Banco de Dados
Sistema de Gerência de Banco de Dados
• [Elmasri & Navathe, 2000]
[El
i&N
h 2000]
• Um sistema de gerência de banco de dados (SGBD) é U i
d
ê i d b
d d d (SGBD) é
um conjunto de programas que permite criar e manter um banco de dados
um banco de dados
• Um banco de dados é uma coleção de dados relacionados
• Representando algum aspecto do mundo real (mini‐mundo ou universo de discurso)
• Logicamente coerente, com algum significado
Logicamente coerente com algum significado
• Projetado, construído e gerado (“povoado”) para uma aplicação específica
UFMG DCC011 ‐ profa. Mirella M. Moro
Conceitos básicos
Exemplo Características
Vantagens
Implicações
Quando não utilizar um SGBD
• BD + SGBD = sistema de banco de dados
5
UFMG DCC011 ‐ profa. Mirella M. Moro
6
Usuários/Programadores
Consultas/Programas
(M t D d )
(Meta-Dados)
• Mini‐mundo: parte de uma universidade
Mi i
d
d
i
id d
• Alguns integrantes
Exemplos
de SGBDs????
• Alunos
• Disciplinas
• Departamentos
D
t
t
Oracle
IBM DB2
My SQL
PostgreSQL
SGBD
Catálogo
2. Exemplo de um Banco de Dados
• Alguns relacionamentos
• Disciplinas
Di i li
são oferecidas por Departamentos
ã f
id
D
t
t
• Alunos estão matriculados em Disciplinas
Banco
de
Dados
D
d
Si t
Sistema
d
de Banco
B
d
de Dados
D d
UFMG DCC011 ‐ profa. Mirella M. Moro
7
Exemplo de um Banco de Dados
UFMG DCC011 ‐ profa. Mirella M. Moro
UFMG DCC011 ‐ profa. Mirella M. Moro
8
Exemplo de um Banco de Dados
9
3. Características da Abordagem de BD
g
UFMG DCC011 ‐ profa. Mirella M. Moro
10
4. Vantagens da Utilização de um SGBD g
ç
• Controle de redundância dos dados
• Auto‐descrição dos dados
• Compartilhamento informações replicadas
• Manutenção de restrições de integridade
Manutenção de restrições de integridade
• Controle de acesso (segurança)
• Armazenamento persistente dos dados
Armazenamento persistente dos dados
• Existência de múltiplas interfaces para os usuários
• Representação de relacionamentos complexos ã d
l i
l
entre os dados
• Recuperação de falhas
f
• Isolamento entre programas e dados: abstração de Isolamento entre programas e dados: abstração de
dados
• Suporte a múltiplas visões dos dados
úl l
d d d
p
p
• Compartilhamento de dados e processa‐mento de transações concorrentes
UFMG DCC011 ‐ profa. Mirella M. Moro
11
UFMG DCC011 ‐ profa. Mirella M. Moro
12
5. Implicações da Abordagem de BD
p ç
g
6. Quando não Utilizar um SGBD
• Adoção/imposição de padrões
ç / p ç
p
• Aplicações simples e bem definidas onde não se p ç
p
espera mudanças
• Aplicações de tempo
Aplicações de tempo‐real
real
• Aplicações onde não é necessário acesso multi‐
usuário
• Motivos:
• Redução do tempo de desenvolvimento das aplicações
• Flexibilidade
• Atualidade da informação disponível
• Investimento inicial alto
Investimento inicial alto
• Generalidade na definição e manipulação dos dados
• Custo adicional para prover outras facilidades funcionais (manutenção de segurança, controle de concorrência, recuperação de falhas, etc.)
• Economia de escala
E
i d
l
UFMG DCC011 ‐ profa. Mirella M. Moro
13
14
UFMG DCC011 ‐ profa. Mirella M. Moro
1. Modelo de Dados, Esquema e Instância
Conceitos e Arquitetura do Conceitos
e Arquitetura do
SBD
M d l
Modelo
de Dados
1. Modelos de Dados, Esquemas e Instâncias
2. Categorias de Modelos de Dados
3. Arquitetura de Três Esquemas e Independência de Dados
4 Linguagens e Interfaces
4.
Linguagens e Interfaces
5. Módulos de Componentes do SGBD e Utilitários
6. Classificação dos SGBDs
Esquema
Regras para
estruturação
dos dados
Instância
Regras para
verificação
das instâncias
UFMG DCC011 ‐ profa. Mirella M. Moro
Modelo de Dados, Esquema e Instância
q
16
Modelo de Dados, Esquema e Instância
q
• Modelo de dados: Conjunto de conceitos
j
descrevem a estrutura de um BD
• Abstração de dados
• Estrutura = tipos de dados + relacionamentos + restrições (+operações  recuperação e atualização)
• Esquema: Descrição (textual ou gráfica) da (
l
áf ) d
estrutura de um BD de acordo com um determinado modelo de dados
determinado modelo de dados
• Instância: Conjunto de dados armazenados em um BD em um determinado instante de tempo
BD em um determinado instante de tempo
Esquema do banco de dados de exemplo
UFMG DCC011 ‐ profa. Mirella M. Moro
17
UFMG DCC011 ‐ profa. Mirella M. Moro
18
Modelo de Dados, Esquema e Instância
Modelo de Dados Esquema e Instância
Modelo de Dados, Esquema e Instância
• Esquema do BD
q
• Armazenado no catálogo
• Mudanças muito menos freqüentes
• Estado do BD
• Dados do banco em qualquer ponto do tempo
• Inicialmente vazio
• Muda frequentemente
d f
• Validade parcialmente guarantida pelo SGBD UFMG DCC011 ‐ profa. Mirella M. Moro
19
UFMG DCC011 ‐ profa. Mirella M. Moro
2. Categorias de Modelo de Dados
Categorias de Modelo de Dados
MODELOS CONCEITUAIS
• Descrevem a estrutura de um BD de uma forma mais próxima da percepção dos usuários
mais próxima da percepção dos usuários
• Independente de aspectos de implementação
• Conceitos: entidades, atributos, relacionamentos
Conceitos: entidades atributos relacionamentos
• Exemplos:
MODELOS REPRESENTACIONAIS (lógicos)
( g
)
• Descrevem a estrutura de um BD da forma como será manipulado através de SGBD
será manipulado através de SGBD
• Mais dependente das estruturas físicas de armazenamento de dados
armazenamento de dados
• Exemplos:
• Modelo relacional
Modelo relacional
• Modelo de rede (CODASYL)
• Modelo hierárquico
• Modelo entidade‐relacionamento (ER)
Modelo entidade relacionamento (ER)
• Modelo funcional
Modelo orientado a objetos (OO)
• Modelo orientado a objetos (OO)
UFMG DCC011 ‐ profa. Mirella M. Moro
20
21
UFMG DCC011 ‐ profa. Mirella M. Moro
Categorias de Modelo de Dados
3. Arquitetura de um Sistema de BD
q
MODELOS FÍSICOS
• Descrevem como os dados são fisicamente armazenados
• Conceitos: formatos dos registros, ordenamento dos registros, caminhos de acesso (eficiência)
dos registros, caminhos de acesso (eficiência)
Características do enfoque de BD
q
22
• Isolamento de programas e dados
• Suporte de visões múltiplas de usuários
• Catálogo para armazenar a descrição (esquema) do BD
Arquitetura de três níveis
• Mantém independência de dados e programas
• Suporta múltiplas visões
úl l
õ
UFMG DCC011 ‐ profa. Mirella M. Moro
23
UFMG DCC011 ‐ profa. Mirella M. Moro
24
Arquitetura de um Sistema de BD
Arquitetura de um Sistema de BD
Componentes
p
1. Esquema interno
•
Descreve armazenamento físico
Descreve armazenamento físico
2. Esquema conceitual
•
•
Descreve entidades, tipos de dados, relacionamentos,
Descreve entidades, tipos de dados, relacionamentos, operações e restrições
Esconde detalhes de armazenamento
3. Esquemas externos (visões)
•
Descreve porções do banco para diferentes comunidades
25
UFMG DCC011 ‐ profa. Mirella M. Moro
Esquema conceitual
q
• 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)
EXTERNO (Ling. Pascal)
EXTERNO (Ling. Cl)
Funcionario
u c o a o = Record
eco d
nome: string(30);
salario: real;
End;
Participante
p
= struct {
char[30] Nome;
int Departamento;
}
CONCEITUAL
Empregado
NOME
SALARIO
DEPARTAMENTO
SEXO
Esquema Físico
í
• Relações guardadas como arquivos desordenados
• Índices na primeira colunas de estudantes
Í di
i i
l
d
t d t
Esquema externo (Visão):
CHARACTER (30)
NUMERIC (5)
NUMERIC (2)
CHARACTER (1)
INTERNO
• Info_Curso(cid:string, horário:string)
I f C
( id t i
h ái ti )
RegistroEmpregado LENGTH=50
LENGTH 50
NOME
TYPE= BYTE(30)
SAL
TYPE=FULLWORD
DEP
TYPE=WORD
SEXO
TYPE=BYTE(1)
27
UFMG DCC011 ‐ profa. Mirella M. Moro
UFMG DCC011 ‐ profa. Mirella M. Moro
28
Independência de Dados
Altera
um nível
• Capacidade de se alterar o esquema em um p
q
determinado nível sem alterar o esquema (ou esquemas) do nível imediatamente mais alto VANTAGEM:
Imunidade dos programas em relação a mudanças
• Imunidade dos programas em relação a mudanças na estrutura do banco de dados
• Um dos maiores benefícios de usar SGBD
Um dos maiores benefícios de usar SGBD
Esquema Conceitual
Esquema Físico
26
Arquitetura de um Sistema de BD
p
exemplo 2
Arquitetura de um Sistema de BD
exemplo 1
exemplo 1
Visão Externa
UFMG DCC011 ‐ profa. Mirella M. Moro
Altera
nível vizinho
Dependência de Dados
Independência de Dados
UFMG DCC011 ‐ profa. Mirella M. Moro
29
UFMG DCC011 ‐ profa. Mirella M. Moro
30
Arquitetura de um Sistema de BD
q
Independência de Dados
Independência de dados lógica
p
g
• Capacidade de alterar o esquema conceitual sem alterar esquema externo ou aplicações
alterar esquema externo ou aplicações
Nível Externo
• Ex. Expansão ou redução
Esquema
Externo n
Independência
lógica
ó
Independência de dados física
• Capacidade de mudar o esquema interno sem Capacidade de mudar o esquema interno sem
mudar o esquema conceitual (ou externo)
Independência
fí i
física
31
• Linguagem de definição de dados (DDL)
g g
ç
(
)
• Baseadas em menus
• Baseadas em formulários
• Gráficas (GUI), diagramas
Gráficas (GUI) diagramas
• Baseadas em linguagem natural
• Para leigos
P l i
• Para DBAs
• Recuperação, inserção, remoção, modificação
• Linguagem de consulta
Linguagem de consulta
• DML de alto nível usada em modo “stand‐alone”
• Exemplo: SQL
Exemplo: SQL
UFMG DCC011 ‐ profa. Mirella M. Moro
Visão do
armazenamento
físico
UFMG DCC011 ‐ profa. Mirella M. Moro
Interfaces
• Linguagem de manipulação de dados (DML)
Linguagem de manipulação de dados (DML)
Visão
comunitária
Nível Interno
Esquema
Interno
4. Linguagens
• Usada para definir esquemas
Visão de cada
usuário
Nível Conceitual
Esquema
Conceitual
• Ex. Reorganização de arquivos para melhorar Ex Reorganização de arquivos para melhorar
desempenho
UFMG DCC011 ‐ profa. Mirella M. Moro
Esquema
Externo 2
Esquema
Externo 1
33
UFMG DCC011 ‐ profa. Mirella M. Moro
32
34
5. Módulos de Componentes do SGBD
Utilitários
• Carga (loading)
g (
g)
• Arquivos dados  Banco de Dados
• Cópia de segurança (backup)
Cópia de segurança (backup)
• Para restaurar em caso de falhas
• (Re
(Re‐)Organização
)Organização de arquivos
de arquivos
• Melhorar o desempenho
• Monitoramento do desempenho
Monitoramento do desempenho
• Fornece estatísticas para o DBA: informações sobre desempenho  reorganização
UFMG DCC011 ‐ profa. Mirella M. Moro
35
UFMG DCC011 ‐ profa. Mirella M. Moro
36
6. Classificação dos SGBDs
Exemplo de um BD Relacional
• Quanto ao modelo de dados adotado
Q
t
d l d d d
d t d
Empregado
• De rede
Hierárquicos • Hierárquicos
• Relacionais
• Orientados a objetos
• Objeto‐relacionais
b
l
NumEmp
NomeEmp
Salário
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 Simão
905
28
130
J Neves
640
28
• Quanto ao número de usuários suportados
• Mono‐usuários
Mono usuários
• Multi‐usuários
Departamento
• Quanto à localização dos dados
Quanto à localização dos dados
• Centralizados
• Distribuídos
37
UFMG DCC011 ‐ profa. Mirella M. Moro
Exemplo de um BD de Rede
Dept
NumDept
NomeDept
21
Pessoal
Ramal
142
25
Financeiro
143
28
Técnico
144
38
UFMG DCC011 ‐ profa. Mirella M. Moro
Exemplo de um BD Hierárquico
E
Empregado
d
Departamento
21
Pessoal
142
032
J Silva
380
074
M Reis
400
089
C Melo
520
092
R Silva
480
Departamento
21
Financeiro
143
142
25
Financeiro
380
074
143
28
Técnico
144
089
C Melo
520
Empregado
032
25
Pessoal
112
J Silva
R Pinto
390
092
M Reis
R Silva
400
480
121
130
28
Técnico
144
112
R Pinto
121
V Simão
130
J Neves
905
J Neves
640
390
905
640
39
UFMG DCC011 ‐ profa. Mirella M. Moro
REVISÃO
UFMG DCC011 ‐ profa. Mirella M. Moro
40
EXERCÍCIO EM DUPLA
• BD, SGBD, SBD
,
,
Modelo
de Dados
V Simão
Regras para
estruturação
dos dados
Esquema
Regras para
verificação das
instâncias
• ELMASRI & NAVATHE, CAP 2, exercício:
,
,
• 2.11 – Escolha uma aplicação de BD com a qual você esteja j
q
p
p
familiarizado. Projete um esquema e apresente um BD para aquela aplicação, utilizando figs 2.1 e 1.2. que tipos de informações e restrições adicionais você gostaria de representar no esquema? Imagine diversos usuários para
representar no esquema? Imagine diversos usuários para seu BD e projete uma visão para um usuário.
p
ç
• OU: utilize a representação em texto
Instância
• Modelos: conceitual, lógico, físico
M d l
i l ló i fí i
• Independência de dados
• DDL, DML
• Modelo: tipo, nro usuários, localização
p ,
,
ç
UFMG DCC011 ‐ profa. Mirella M. Moro
41
UFMG DCC011 ‐ profa. Mirella M. Moro
42
Exercício 2.11 – Escolha uma aplicação de BD com a qual você esteja familiarizado. (a) Projete um esquema de BD para aquela aplicação. (b) Q
Que tipos de informações e restrições adicionais você gostaria de p
ç
ç
g
representar no esquema? (c) Imagine diversos usuários para seu BD e projete uma visão para um usuário.
Exercício 2.11 – Representação em texto
ENTREGA
INÍCIO DA
PRÓXIMA
AULA
FIGURA 2.1
ALUNO: nome, numero, turma, curso
p
CURSO: nome,, numero,, creditos,, depto
PRE-REQ: curso, prereq
DISCIPLINA: id, curso, sem, ano, prof
NOTAS: aluno, disc, nota
FIGURA 2
2.1
1
FIGURA 1.2 – primeira tabela
UFMG DCC011 ‐ profa. Mirella M. Moro
43
FIGURA 1.2 – primeira tabela
UFMG DCC011 ‐ profa. Mirella M. Moro
44
Download