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

9/19/2014 3:57 PM Suporte Informatica 1

Curso Tcnico em Informtica


Disciplina de Banco de Dados
Prof. Caio Sandro
9/19/2014 3:57 PM Suporte Informatica 2
1.1.Conceito
Habilidade mental que permite aos seres
humanos visualizarem os problemas do mundo
real com vrios graus de detalhe, dependendo do
contexto do problema.
(J.Rumbaugh - Modelagem e Projetos Baseados em Objetos)
1.Nveis de Abstrao de Informao
9/19/2014 3:57 PM Suporte Informatica 3
1.Nveis de Abstrao de Informao
1.1.Conceito
(Valdemar W. Setzer)
mundo real
seres, objetos,
organismos, fatos
organizao;
alteraes
modelo descritivo
informaes informais
descries das estruturas e
das transaes
modelo conceitual
informaes formais
estruturas de informaes;
especificaes de manipulao
modelo operacional
dados
estruturas externas de dados;
especificaes e programas de
manipulao
modelo interno
cadeia de bits e bytes
estruturas internas de arquivos e
tabelas; programas interpretveis ou
executveis
9/19/2014 3:57 PM Suporte Informatica 4
1.Nveis de Abstrao de Informao
1.1.Conceito
(Henry F. Korth)
Viso 1 Viso 2 ... Viso 3
Nvel Conceitual
Nvel Fsico
9/19/2014 3:57 PM Suporte Informatica 5
1.Nveis de Abstrao de Informao
1.2.Modelos de Dados
Coleo de ferramentas conceituais para
descrio de dados, relacionamento entre os
dados, semntica e restries de dados.
(Henry F. Korth)
9/19/2014 3:57 PM Suporte Informatica 6
1.Nveis de Abstrao de Informao
1.2.Modelos de Dados
Modelos lgicos baseados em objetos
Modelo Entidade-Relacionamento
Modelo Binrio
Modelo de Semntica de Dados
Modelo Infolgico
Modelos lgicos baseados em registros
Modelo Relacional
Modelo de Rede
Modelo Hierrquico
Modelos de dados fsicos.
DIVISO EM 3 GRUPOS:
9/19/2014 3:57 PM Suporte Informatica 7
1.Nveis de Abstrao de Informao
1.3.Instncias e Esquemas
Instncia: coleo de informaes armazenadas no banco
de dados em um instante particular.
Esquema: concepo global do banco de dados.
Esquema = Definio, Modelo Instncia = Valor, Contedo
Cliente (Saldo, Idade)
Ana (1200.00, 29) Joo (500.00, 35)
9/19/2014 3:57 PM Suporte Informatica 8
1.Nveis de Abstrao de Informao
1.4.Independncia de Dados
a capacidade de modificar uma definio de esquema em
um nvel, sem afetar a definio de esquema em um nvel
mais alto
Independncia de dados FSICA: capacidade de modificar o
esquema fsico sem precisar reescrever os programas de
aplicao
Independncia de dados LGICA: capacidade de modificar o
esquema conceitual sem a necessidade de reescrever os
programas de aplicao
9/19/2014 3:57 PM Suporte Informatica 9
1.Nveis de Abstrao de Informao
1.5.Linguagem de Definio de Dados
(Data Definition Language - DDL)
Linguagem que define as aplicaes, arquivos e campos que
iro compor o banco de dados (comandos de criao e
atualizao da estrutura dos campos dos arquivos).
EX:
Create Table (comando SQL que cria tabela)
Create Index (comando SQL que cria ndice em uma tabela)
9/19/2014 3:57 PM Suporte Informatica 10
1.Nveis de Abstrao de Informao
1.5.Linguagem de Definio de Dados
(Data Definition Language - DDL)
Onde ficam armazenadas estas definies?
Dicionrio de Dados (Data Dictionary - DD): arquivo que contm
metadados; isto , dados acerca de dados. Este arquivo
consultado antes de dados reais serem lidos ou modificados no
sistema de banco de dados.
9/19/2014 3:57 PM Suporte Informatica 11
1.Nveis de Abstrao de Informao
1.6.Linguagem de Manipulao de Dados
(Data Manipulation Language - DML)
Linguagem que permite aos usurios acessar ou manipular
dados organizados por um modelo de dados apropriado.
9/19/2014 3:57 PM Suporte Informatica 12
1.Nveis de Abstrao de Informao
1.6.Linguagem de Manipulao de Dados
(Data Manipulation Language - DML)
O que a manipulao de dados?
A recuperao da informao armazenada no banco de dados.
A insero de novas informaes no banco de dados.
A remoo de informaes do banco de dados.
9/19/2014 3:57 PM Suporte Informatica 13
1.Nveis de Abstrao de Informao
1.6.Linguagem de Manipulao de Dados
(Data Manipulation Language - DML)
Existem dois tipo bsicos e DML:
Procedimental ou Procedural: requer do usurio a
especificao de quais dados so desejados e como
chegar at eles (EX: lgebra Relacional).
No-Procedimental ou No-Procedural: requer do
usurio a especificao de quais dados so desejados,
sem especificar como chegar at eles (EX: Clculo
Relacional).
9/19/2014 3:57 PM Suporte Informatica 14
1.Nveis de Abstrao de Informao
1.7.Sistema Gerenciador de Banco de Dados
(SGBD)
Um SGBD uma coleo de programas que permitem ao
usurio definir, construir e manipular Bases de Dados para as
mais diversas finalidades.
Um conceito que dever ficar bastante claro inicialmente o que envolve a separao
clara entre os Gerenciadores de Base de Dados dos Gerenciadores de Arquivo.
Sistemas baseados em "Banco de Dados" baseados em Btrieve e dBase (Fox e Clipper),
podem no mximo simular as caractersticas tpicas de um ambiente de Banco de
Dados. As linguagens Delphi (utiliza opcionalmente o padro dBase) e o VB (que
utiliza o Access), recomendam a utilizao de Banco de Dados reais, porm utilizam
queles "Banco de Dados" que possuem algumas caractersticas de Bancos de Dados,
mas possuem caractersticas tpicas de Gerenciadores de Arquivo.
9/19/2014 3:57 PM Suporte Informatica 15
1.Nveis de Abstrao de Informao
1.7.Sistema Gerenciador de Banco de Dados
(SGBD)
Caractersticas Gerais de um SGBD:
Interao com o gerenciador de arquivos
Garantia de Integridade
Garantia de Segurana
Recuperao e Backup
Controle de Concorrncia
Interface de Manipulao
9/19/2014 3:57 PM Suporte Informatica 16
1.Nveis de Abstrao de Informao
1.8.Administradores e Usurios de Banco de
Dados
Administrador de Dados: Desenvolve e administra
centralizadamente estratgias, procedimentos, prticas e planos
capazes de disponibilizar os dados corporativos necessarios,
quando necessrios, com integridade, privacidade,
documentao e compartilhamento. Participa dos
levantamentos de dados, e regras de negcio da empresa.
Elabora e/ou acompanha a confeo de modelos. Participa da
compatibilizao do planejamento de sistemas com os modelos
lgicos. Participa de pesquisa de softwares de apoio,
relacionados a rea de AD, assim como SGBD.
9/19/2014 3:57 PM Suporte Informatica 17
1.Nveis de Abstrao de Informao
1.8.Administradores e Usurios de Banco de
Dados
Administrador de Banco de Dados: Define a criao do
esquema original do banco de dados, a partir dos modelos
lgicos. Definio da estrutura de armazenamentoe do mtodo
de acesso. Modificao da organizao fsica e do esquema.
Concesso de autorizao para acesso a dados. Especificao
de restries e integridades.
9/19/2014 3:57 PM Suporte Informatica 18
1.Nveis de Abstrao de Informao
1.8.Administradores e Usurios de Banco de
Dados
Usurios:
Programadores de Aplicao
Usurios Ocasionais
Usurios Simples
Usurios Especializados
9/19/2014 3:57 PM Suporte Informatica 19
1.Nveis de Abstrao de Informao
1.9.Estrutura Geral de Sistema
Componentes Funcionais de um SGBD:
Gerenciador de Arquivos: gerencia a alocao de espao e
armazenamento em disco e estruturas de dados.
Gerenciador do Banco de Dados: proporciona interface entre os dados de
baixo nvel e os programas de aplicao e consultas.
Processador de Consultas: traduz comandos de uma linguagem de consulta
em instrues de baixo nvel para que o GBD entenda. Tenta otimizar os
pedidos de consulta dos usurios.
Pr-Compilador DML: compila comandos DML em rotinas da linguagem
do host. Precisa interagir com o processador de consultas para gerar cdigo
apropriado.
Compilador DDL: converte comandos DDL em um conjunto de tabelas
contendo metadados, que so armazenados no DD.
9/19/2014 3:57 PM Suporte Informatica 20
1.Nveis de Abstrao de Informao
1.9.Estrutura Geral de Sistema
Arquivo de Dados: armazenam os dados propriamente ditos.
Dicionrio de Dados: armazena informaes sobre a estrutura do banco de
dados.
ndices: proporcionam acesso rpido aos itens de dados com valores
especficos.
Estruturas de Dados de um SGBD:
9/19/2014 3:57 PM Suporte Informatica 21
1.Nveis de Abstrao de Informao
1.10.Vantagens dos Bancos de Dados
Reduo ou Eliminao de Redundncias
Eliminao de Inconsistncias
Compartilhamento dos Dados
Restries de Segurana
Padronizao dos Dados
Independncia dos Dados
Manuteno da Integridade
9/19/2014 3:57 PM Suporte Informatica 22
2.Modelo Entidade-Relacionamento
O modelo de dados entidade-relacionamento baseia-se na
percepo de um universo constitudo por um grupo bsico de
objetos chamados entidades e por relacionamentos entre estes
objetos. Ele foi desenvolvido a fim de facilitar o projeto de banco
de dados permitindo a especificao de um esquema de
empreendimento. Tal esquema representa a estrutura lgica
global do banco de dados.
9/19/2014 3:57 PM Suporte Informatica 23
2.Modelo Entidade-Relacionamento
2.1.Entidades e Conjuntos de Entidades
Entidade
um objeto que existe e distinguvel de outros objetos.
Conjunto de Entidades
um grupo de entidades do mesmo tipo.
Atributo
Um conjunto de diferentes atributos caracteriza uma entidade.
Domnio dos Atributos
Conjunto de valores permitidos ao atributo.
9/19/2014 3:57 PM Suporte Informatica 24
2.Modelo Entidade-Relacionamento
2.1.Entidades e Conjuntos de Entidades
Joo Rua B Ponta grossa
Maria Rua H Ponta Grossa
Carlos Rua S Curitiba
Ana Rua T Ponta Grossa
CLIENTE
4234 500
2234 1200
654 5000
55 4500
CC
9/19/2014 3:57 PM Suporte Informatica 25
2.Modelo Entidade-Relacionamento
2.2.Relacionamentos e Conjuntos de
Relacionamentos
Relacionamento
uma associao entre vrias entidades.
Conjunto de Relacionamentos
um grupo de relacionamentos do mesmo tipo.
9/19/2014 3:57 PM Suporte Informatica 26
2.Modelo Entidade-Relacionamento
2.3.Restries de Mapeamento
Cardinalidade
Restrio que expressa o nmero de entidades ao qual outra
entidade pode estar associada via um relacionamento.
9/19/2014 3:57 PM Suporte Informatica 27
2.Modelo Entidade-Relacionamento
2.3.Restries de Mapeamento
Tipos de Cardinalidade:
Um-para-um (1:1): uma entidade em A est associada a no
mximo uma entidade em B, e uma entidade em B est
associada a no mximo uma entidade em A.
Um-para-muitos (1:N): uma entidade em A est associada a
qualquer nmero de entidades em B, entretanto uma entidade
em B est associada a no mximo uma entidade em A.
Muitos-para-muitos (N:N): uma entidade em A est associada a
qualquer nmero de entidades em B, e uma entidade em B est
associada a qualquer nmero de entidades em A.
9/19/2014 3:57 PM Suporte Informatica 28
2.Modelo Entidade-Relacionamento
2.3.Restries de Mapeamento
Exemplo Cardinalidade Um-para-um (1:1)
a2
b1
b2
b3
b4
a1
a3
a4
a2
9/19/2014 3:57 PM Suporte Informatica 29
2.Modelo Entidade-Relacionamento
2.3.Restries de Mapeamento
Exemplo Cardinalidade Um-para-Muitos (1:N)
a2
b1
b2
b3
b4
a1
a3
a2
b4
9/19/2014 3:57 PM Suporte Informatica 30
2.Modelo Entidade-Relacionamento
2.3.Restries de Mapeamento
Exemplo Cardinalidade Muitos-para-Muitos (N:N)
a2
b1
b2
b3
b4
a1
a3
a4
a2
9/19/2014 3:57 PM Suporte Informatica 31
Dependncia Existencial:
se a existncia da entidade x depende da existncia da entidade
y, ento diz-se que x existencialmente dependente de y. A
entidade y chamada dominante e x chamada subordinada.
a2
b1
b2
b3
b4
a1
a3
a2
b4
a2
b1
b2
a1
a3
b4
2.Modelo Entidade-Relacionamento
2.3.Restries de Mapeamento
9/19/2014 3:57 PM Suporte Informatica 32
2.Modelo Entidade-Relacionamento
2.4.Chaves Primrias
Como fazer para identificar uma entidade
e/ou um relacionamento em um conjunto
de entidades de um Banco de Dados?
9/19/2014 3:57 PM Suporte Informatica 33
2.Modelo Entidade-Relacionamento
2.4.Chaves Primrias
Superchave: conjunto de um ou mais atributos que permite
identificar unicamente uma entidade no conjunto de entidades.
Chaves Candidatas: conjuntos com o menor nmero possvel
de atributos que permite identificar unicamente uma entidade
no conjunto de entidades.
Chave Primria: chave candidata escolhida como
identificao de entidades no conjunto de entidades.
Chave Estrangeira: atributo de uma entidade que chave
primria da entidade com a qual possui relacionamento.
9/19/2014 3:57 PM Suporte Informatica 34
2.Modelo Entidade-Relacionamento
2.5.Entidades Fortes e Fracas
Entidade Forte: uma entidade que possui chave primria,
por definio uma entidade dominante.
Entidade Fraca: uma entidade que no possui chave
primria, por definio uma entidade subordinada. Para
formarmos a chave primria de uma entidade fraca, utilizamos
a chave primria da entidade forte da qual ela
existencialmente dependente mais um conjunto mnimo de
atributos que possa identificar uma entidade em um conjunto de
entidades fracas.
9/19/2014 3:57 PM Suporte Informatica 35
2.Modelo Entidade-Relacionamento
2.5.Entidades Fortes e Fracas
4234 500
2234 1200
654 5000
55 4500
CC
5 D 10
6 C 12
2 C 150
8 D 150
1 C 70
2 D 60
Tansao
9/19/2014 3:57 PM Suporte Informatica 36
2.Modelo Entidade-Relacionamento
2.6.Diagrama Entidade-Relacionamento (MER)
Entidade: representada por retngulos.
Atributos: representados por crculos ou elipses.
Relacionamentos: representados por losangos ligados s
entidades por linhas.
Cliente
nome
endereo
rg
CC
saldo
numero
ClienteConta
9/19/2014 3:57 PM Suporte Informatica 37
2.Modelo Entidade-Relacionamento
2.6.Diagrama Entidade-Relacionamento (MER)
Restries de Mapeamento
Cliente
nome
endereo
rg
CC
saldo
numero
ClienteConta
1 1
Cliente
nome
endereo
rg
CC
saldo
numero
ClienteConta
1 N
Cliente
nome
endereo
rg
CC
saldo
numero
ClienteConta
N N
9/19/2014 3:57 PM Suporte Informatica 38
2.Modelo Entidade-Relacionamento
2.6.Diagrama Entidade-Relacionamento (MER)
Restries de Mapeamento
Cliente
nome
endereo
rg
CC
saldo
numero
ClienteConta
1 1-N
Cliente
nome
endereo
rg
CC
saldo
numero
ClienteConta
1-2 N
Aluno
nome
endereo
rg
Disciplina
Prof
Nome
Matricula
30 N
9/19/2014 3:57 PM Suporte Informatica 39
2.Modelo Entidade-Relacionamento
2.6.Diagrama Entidade-Relacionamento (MER)
Papis
Empregado
nome
endereo
rg
Trabalha para
1
N
gerente
funcionrio
Entidade Fraca
CC
Transaes
data
numero
CCTransao
1 N
saldo
numero
valor
9/19/2014 3:57 PM Suporte Informatica 40
2.Modelo Entidade-Relacionamento
2.6.Diagrama Entidade-Relacionamento (MER)
Grau do Relacionamento
Empregado
nome
endereo
rg
Trabalha para
1
N
gerente
funcionrio
Unrio
CC
Transaes
data
numero
CCTransao
1 N
saldo
numero
valor
Binrio
9/19/2014 3:57 PM Suporte Informatica 41
2.Modelo Entidade-Relacionamento
2.6.Diagrama Entidade-Relacionamento (MER)
Grau do Relacionamento
Cliente
nome
endereo
rg
1-2,1-N
CC
Agncia
nome
ClienteCCGerente
1-N,1-N 1,N
saldo
numero
Ternrio
9/19/2014 3:57 PM Suporte Informatica 42
2.Modelo Entidade-Relacionamento
2.6.Diagrama Entidade-Relacionamento (MER)
Dependencia Existencial ou
Relacionamento Parcial
CC
Transaes
data
numero
CCTransao
1 N
saldo
numero
valor
Nem todas as contas correntes precisam conter transaes, mas todas as
transaes devem se relacionar com uma conta corrente.
9/19/2014 3:57 PM Suporte Informatica 43
2.Modelo Entidade-Relacionamento
2.6.Diagrama Entidade-Relacionamento (MER)
Atributos de Relacionamentos
Cliente
nome
endereo
rg
CC
saldo
numero
ClienteConta
N N
rg
numero
9/19/2014 3:57 PM Suporte Informatica 44
2.Modelo Entidade-Relacionamento
2.6.Diagrama Entidade-Relacionamento (MER)
Especializao ou Generalizao
Conta
saldo
numero
uma
Poupana
juros
Corrente
descoberto
9/19/2014 3:57 PM Suporte Informatica 45
2.Modelo Entidade-Relacionamento
2.6.Diagrama Entidade-Relacionamento (MER)
Especializao ou Generalizao
As especializaes se utilizam de herana para compartilhar atributos e/ou
relacionamentos. Isto quer dizer que as entidades Popana e Corrente possuem
todos os atributos e relacionamentos da entidade Conta, mas a entidade Conta
no possue os relacionamentos e atributos das entidades especializadas. Diz-se
que a entidade superior (Conta) a entidade Me. E as entidades inferiores
(Poupana e Corrente) so entidades Filho. Desta forma fcil fazer a
analogia de que os filhos herdam as caractersticas dos pais, e nunca o
contrrio.
9/19/2014 3:57 PM Suporte Informatica 46
2.Modelo Entidade-Relacionamento
2.6.Diagrama Entidade-Relacionamento (MER)
Agregao
Funcionrio Projeto
Trabalha
N N
Mquina
Usa
N
1


9/19/2014 3:57 PM Suporte Informatica 47
2.Modelo Entidade-Relacionamento
2.6.Diagrama Entidade-Relacionamento (MER)
Simplificando Relacionamentos
Cliente
nome
endereo
rg
CC
saldo
numero
ClienteConta
N N
rg
numero
Cliente
nome
endereo
rg
CC
saldo
numero
ClienteConta
N N
rg
numero
1
1
9/19/2014 3:57 PM Suporte Informatica 48
3.Restries de Integridade
Um meio de assegurar que mudanas feitas no
banco de dados, no resultem em perdas e/ou
inconsistncias dos dados.
9/19/2014 3:57 PM Suporte Informatica 49
3.Restries de Integridade
Tipos de Restrio
Declaraes de Chave: O conjunto de restries e atualizaes vlidas
restringido quelas que no criam duas entidades com o mesmo valor numa
chave candidata.
Cardinalidade: Restringe o conjunto de relacionamentos vlidos entre
entidades.
Tipo de Domnio: Restringe o atributo a um tipo especfico de dado. Os tipos
variam de acordo com o SGBD usado.
I ntegridade Referencial: Assegura que um valor que aparece em uma relao
para um dado conjunto de atributos aparea tambm em um certo conjunto de
atributos em outra relao.
9/19/2014 3:57 PM Suporte Informatica 50
3.Restries de Integridade
Tipos de Restrio
Asseres: Uma assero um predicado expressando uma condio que
desejamos que o banco de dados sempre satisfaa.
Gatilhos (Triggers): Um gatilho um comando executado automaticamente
pelo sistema como um efeito colateral de uma modificao no banco de dados.
Dependncias Funcionais: Generalizao de dependncias de chave. Elas
requerem que um valor em um certo conjunto de atributos determine
univocamente o valor em outro conjunto de atributos.
9/19/2014 3:57 PM Suporte Informatica 51
3.Restries de Integridade
Tipos de Restrio
Dependncias Funcionais
EMPRESTIMO (num_emprestimo,agencia, cpf, quantia)
num_emprestimo quantia
9/19/2014 3:57 PM Suporte Informatica 52
3.Restries de Integridade
Tipos de Restrio
Dependncias Funcionais
A B C D
a1 b1 c1 d1
a1 b2 c1 d2
a2 b2 c2 d2
a2 b3 c2 d3
a3 b3 c2 d4
A A
A C
AB D
AB A
D C
A partir das dependncias dadas acima,
encontre mais 5 dependncias.
9/19/2014 3:57 PM Suporte Informatica 53
3.Restries de Integridade
Tipos de Restrio
Dependncias Funcionais
Fecho de um Conjunto de Dependncias Funcionais
Para considerar todas as dependncias funcionais vlidas, podemos partir de
um conjunto de dependncias dadas, e implicar logicamente o fecho de
dependncias.
Para levantar logicamente o fecho de dependncias (se F um conjunto de
dependncias dadas, o fecho chamado de F
+
.), usamos 3 regras propostas por
Armstrong, chamadas axiomas de Armstrong. Tambm usaremos outros 3
axiomas adicionais.
9/19/2014 3:57 PM Suporte Informatica 54
3.Restries de Integridade
Tipos de Restrio
Dependncias Funcionais
Fecho de um Conjunto de Dependncias Funcionais
Reflexividade: se a um conj. de atributos e ba, ento vale ab
Aumentao: Se vale ab e g um conj.de atributos, ento ga gb vale.
Transitividade: Se valem a b, e b g, ento a g tambm vale.
Unio: Se valem ab, e ag, ento a bg tambm vale.
Decomposio: Se vale a bg , ento ab e ag tambm valem.
Pseudotransitividade: Se valem a b , e g b ento valem a g
9/19/2014 3:57 PM Suporte Informatica 55
3.Restries de Integridade
Tipos de Restrio
Dependncias Funcionais
Fecho de um Conjunto de Dependncias Funcionais
A partir das dependncias dadas abaixo para o esquema R, levante o fecho de
dependncias funcionais usando as regras dadas, e se possvel indique a regra
usada..
R=(A, B, C, G, H, I)
A B
A C
CG H
CG HI
B H

Вам также может понравиться