Você está na página 1de 48

Introduo a Bancos de Dados

- Conceitos - Modelos lgicos e relacional - lgebra relacional - SQL - Projeto Lgico

Sistemas de Banco de Dados


Definio:
Coleo de dados inter-relacionados e procedimentos para se acessar estes dados.
A adio de novo (vazios) arquivos ao banco de dados; A insero de novos dados nos arquivos existentes; A recuperao de dados dos arquivos existentes; A atualizao de dados nos arquivos existentes; A eliminao de dados nos arquivos existentes; A remoo permanente de arquivos existentes no Banco de Dados (BD).

Sistemas de Banco de Dados

Tabelas
Nome Paulo Csar Maria Aparecida Carlos Alberto Funo Instrutor Mecnico Motorista Salrio 1.050 720 500 Admisso 01/04/1996 22/05/1995 30/03/2000 Carga_horria 20 40 35

Linhas - registros da tabela. Colunas - campos destes registros descrevem um atributos qualquer da tabela.

Componentes de Sistemas de BD
Dados Hardware Software Usurios

Dados
Componentes de Sistemas de BD

Armazenados em pequenos ou grandes computadores, os quais podem ser manipulados por usurio nico ou usurios mltiplos
integrados

compartilhados

Dados
Componentes de Sistemas de BD

integrados
ID 1 2 3 4 5 6 R tu lo L00120 L00134 L00233 L00567 L00456 L00720 rea 3 4 5 .3 0 3 9 5 .1 5 3 8 5 .6 0 3 6 5 .7 5 3 2 5 .4 5 6 1 5 .4 9

X
T ip o A A A B B A

compartilhados
C o d _ P r o p r ie t r io IP T U 4 5 4 4 .3 1 6 2 4 .4 7 5 .6 2 8 -3 5 3 5 6 4 .5 0 5 7 4 .4 6 5 2 4 .4 5 5 .5 2 8 -4 8 2 2 4 .4 3 5 .3 2 4 -4 6 3 5 8 4 .5 6 1 5 9 4 .8 0 2 5 1 4 .0 6

Cod_Proprietrio Nome 624.475.628-35 524.455.528-48 224.435.324-46 Marcos Antonio Tadeu

salario 800 2.000 3.000

Hardware
Componentes de Sistemas de BD Volumes de memria secundria (dados) Dispositivos de (E/S) Dispositivos de controle

O maior objetivo quanto ao desempenho de sistemas de banco de dados minimizar o nmero de acessos a disco (entradas/sadas de disco)

Software
Componentes de Sistemas de BD

Entre os dados e os usurios est o Sistema Gerenciador de Banco de Dados (SGBD). Responsvel pela criao de arquivos (tabelas), insero de dados, recuperao de dados, etc Suporta as operaes do usurio (uma consulta em SQL)

Usurios
Componentes de Sistemas de BD Programador de Aplicaes Usurio Final Administrador
centralizado para:
reduzir a redundncia dos dados; evitar a inconsistncia at certo ponto; compartilhar os dados; reforar os padres; aplicar restries de segurana; manter a integridade; equilibrar as necessidades conflitantes; garantir a independncia dos dados.

do

Banco

de

Dados

controle

Banco de Dados
SGDB: Sistema Gerenciador de Banco de Dados Definio:
Coleo de dados inter-relacionados e procedimentos para se acessar estes dados.

Objetivo:
Uso eficiente para armazenamento e recuperao dos dados.

Ex:
Oracle, Access, Informix, CodeBase, etc.

Sistemas de Arquivos Convencionais


Caractersticas:
vrios arquivos, diferentes programas para recuperar informaes.

Desvantagens:
redundncia e possvel inconsistncia de dados dificuldade para se acessar informao (programa pode no estar disponvel) inconsistncia devido a acesso de multi-usurios problemas de segurana

Viso Abstratas dos Dados em BD


Nvel fsico:
nvel mais baixo de abstrao descreve como os dados esto armazenados

Nvel lgico (ou conceitual):


descreve dados e relacionamentos entre os mesmos

Nvel de usurio (ou de viso, ou externo):


diferentes vises dos dados (no todos os atributos)

Outros conceitos em BD
Instncia de BD:
coleo de informaes armazenadas em um determinado momento

Esquema de BD:
projeto geral do banco de dados (esquemas fsico, lgico e sub-esquemas)

Independncia de dados:
fsica: modificaes no esquema fsico no acarretam alteraes nos programas de aplicao lgica: modificaes no esquema lgico no acarretam alteraes nos programas de aplicao

Administrador Dados X Administrador de BD


AD - modela e observa os dados do ponto de vista de sentido, integrao e negcio. ABD (DBA) - implementa e otimiza as definies do AD, gerencia o dia-a-dia do BD (backup, upgrade de verso e de disco, acompanhamento da performance). Enfoque diferente sobre a mesma matria prima:

Dados

Papel do Administrador de Dados AD


Participar dos levantamentos de dados junto com as reas usurias. Definir a estrutura de informao da empresa. Responsabilizar-se pela qualidade e compatibilidade dos modelos de dados. Planejar e coordenar a evoluo do Banco de Dados. Administrar a descrio da base de dados (Dicionrio de Dados). Disseminar na organizao a importncia da rea de AD.

Papel do Administrador de Banco de Dados - ABD (DBA)


Concede autorizao para acesso aos dados. Definio do esquema fsico. Coordena e monitora o uso do banco de dados. Adquire software e hardware necessrios para o uso e o bom desempenho. Especifica regras de integridade.

Administrao de Dados
OBJETIVOS : Gerenciar os dados como um patrimnio da empresa. Gerenciar o controle centralizado dos dados e processos. Disponibilizar dados com integridade, segurana, privacidade. Compartilhar os dados para toda a empresa. Criar o modelo conceitual da base de dados da empresa. Facilitar o desenvolvimento de novas aplicaes. Atingir todos os nveis dentro da empresa. Disponibilizar os dados necessrios, na hora solicitada atravs de mecanismo de fcil uso.

Atividades da Administrao de Dados


Padronizao Operacionais Planejamento

Atividades de Padronizao
Definio e nomenclatura dos dados e de regras para codificao de nome de dado. Procedimentos de criao e modificao dos dados, manual de sistema. Documentao sobre os dados usurios, descrio conceitual.

Atividades Operacionais
Identificar e documentar os dados, suas aplicaes (atuais e potenciais) e seus usurios Definir e documentar fluxos de dados do sistema de informao Perceber novas entidades e atributos Traado e atualizao do modelo global de dados Anlise do fluxo de dados na empresa

Atividades de Planejamento
Estudar a necessidade de dados a longo prazo Estudar os dados necessrios ao relacionamento de rgos da empresa Estudar influncias externas

Modelo de Dados
Modelo de dados uma estrutura de referncia para organizar dados logicamente. Deve suportar no mnimo:
a especificao de entidades e relacionamentos. o gerenciamento de restries de integridade (coerncia dos dados) Operaes de atualizao; e mtodos de acesso a dados adequados estrutura de dados do modelo.

Modelos de Dados
Existem 3 grupos de modelos :
Modelos lgicos baseados em objetos : usados na descrio de dados nos nveis conceitual e visual. Modelos lgicos baseados em registros: tambm usados na descrio de dados nos nveis conceitual e visual com enfoque em registros. Modelos de dados fsicos: usados para descrever os dados no nvel mais baixo.

Modelos Lgicos de Dados


Modelos baseados em objetos
Modelo Entidade-Relacionamento (E-R) Modelos orientados a objetos

Modelos baseados em registros


Modelo relacional Modelo de redes Modelo de hierrquico

Modelos Lgicos de Dados


Modelos baseados em objetos

Modelo de Entidade-Relacionamento (E-R) Definio:


Baseado na percepo do mundo real, composto de objetos (entidades) e relacionamentos. Facilita o projeto do BD e permite a especificao do esquema.

Entidade :
objeto do mundo real Cliente: Nome Jos Silva, RG M5625223, Tel 3373-2489 unicidade entidades concretas (ex: Cliente, Carro, etc.) e abstratas (ex: Feriados do ano). conjunto de atributos (ex: Nome, RG, Tel)

Modelos Lgicos de Dados


Modelos baseados em objetos

Modelo Entidade-Relacionamento (E-R):


conjunto de entidades conjunto de relacionamentos atributos Entidades: coisas ou objetos do mundo real
(emprstimo, pessoa)

representada por um conjunto de atributos cada atributo possui um domnio

Relacionamentos
Um relacionamento uma associao entre diferentes entidades. Um conjunto de relacionamentos uma coleo de relacionamentos do mesmo tipo
Ex: Cliente e Conta

Maioria do tipo binria


envolve dois conjuntos de entidades

Podem ter atributos descritivos


ex: Cliente e Conta podem ter um atributo descritivo data, indicando a data da ltima movimentao daquele cliente.

Atributos
Importante definir o que atributo e o que pode ser um outro conjunto de entidades.
Ex: Conjunto de entidades Cliente: Nome_Cliente, Endereco, Telefone
Neste caso s h espao para um nmero de telefone. Se houver a necessidade de se guardar vrios nmeros, deve-se criar outro conjunto de entidades Telefone

Modelos Lgicos de Dados


Modelos baseados em objetos

E-R - entidade-relacionamentos
coleo de entidades e relacionamentos (retngulo=entidade, losango=relacionamento, elipse=atributo)

cpf pessoa

end. acessar

nmero

saldo

conta corrente

Cardinalidade de relacionamentos
um-para-um
Ex: Time - Tcnico

um-para-muitos
Ex: Cliente - Carro

muitos-para-um
idem anterior (ordem inversa)

muitos-para-muitos
Ex: Paciente - Mdico

Modelos Lgicos de Dados


Modelos baseados em objetos

E-R - entidade-relacionamentos
Cardinalidade:
expressa o nmero de entidades que a outra entidade pode ser associada 1:1, 1:n, n:1, n:n data cpf pessoa end.
1

nmero acessar
1-n

saldo

conta corrente

E-R Exemplo
Banco de Dados de uma instituio financeira:
Agncia (todas as agncias de um banco)
atributos: nome-agncia, cidade-agncia, ativo

Cliente (todas as pessoas que tm uma conta no banco)


atributos: nome-cliente, seguridade-social, rua, cidadecliente

Funcionrio (todas as pessoas que trabalham para o


banco) atributos: nome-funcionrio, nmero-telefone

Conta (todas as contas dos clientes)


atributos: nmero-conta, saldo

Transao (todas as transaes executadas nas contas)


atributos: nmero-transao, data, quantia

E-R Exemplo
1 cliente 1 possui 1,N conta 1 1 executada sobre agncia 1 1,N 1,N executa transao trabalha em 1,N gerencia

1,N funcionrio

Conjuntos de entidades
Cliente
nomecliente Jones Smith Hayes Jackson Curry Turner Williams seguridade -social 1723467 2354615 1535345 1434534 9345345 1158344 2927857 Cidadecliente Main Austin North GeorgeTown Main Austin North GeorgeTown Park Round Rock Putnam San Marcos Nassau Austin rua

Conta
numeroconta 17 23 15 14 93 11 29 16 18 25 10 saldo 1000 2000 1500 1500 500 900 1200 1300 2000 2500 2200

Conjuntos de relacionamentos
Conta Cliente
nomecliente Jones Smith Hayes Jackson Curry Turner Williams seguridade -social 1723467 2354615 1535345 1434534 9345345 1158344 2927857 rua Main North Main North Park Putnam Nassau Cidadecliente Austin GeorgeTown Austin GeorgeTown Round Rock San Marcos Austin
numeroconta 17 23 15 14 93 11 29 16 18 25 10 saldo 1000 2000 1500 1500 500 900 1200 1300 2000 2500 2200

Modelos Lgicos de Dados


Modelos baseados em objetos

Modelos orientados a objetos


coleo de objetos objetos contm atributos e mtodos para acessar suas informaes objetos do mesmo tipo so agrupado em classes Classe empregado atributos: nome, endereo mtodos: define_nome, recupera_nome define_endereo, recupera_endereo

Modelos Lgicos de Dados


Modelo relacional (+ utilizado)
Modelos baseados em registros coleo de tabelas representando dados e relacionamento entre estes dados
ENTIDADE : FUNCIONARIOS
R E G IST R O 98752 97345 89234 NOME JO O D A SIL V A H E N R IQ U E C A R D O SO JO S D E SO U Z A ID A D E 32 28 34 SA L A R IO 2000.00 1700.00 3500.00 D E PT O 1 2 3

ENTIDADE: DEPARTAMENTO
D EPTO 1 2 3 NOME D PI D SR DME C ID A D E S JC A M P O S NATAL C U IA B A ESTA D O SP RN MT

Modelos Lgicos de Dados


Modelo de redes
Modelos baseados em registros dados representados por uma coleo de registros relacionamento entre os dados representados por ponteiros Joo Jos Maria Ana 43567 43693 40234 44667 INPE INPE CTA CTA A-III 700 A-II 500

Modelos Lgicos de Dados


Modelo hierrquico
Modelos baseados em registros similar ao modelo de redes (registro e ponteiros) dados organizados como uma estrutura de rvore Terreno industrial Embraer GM comercial pblico

LA

escola

parque

Modelo Relacional
Coleo de tabelas com nome nico Colunas da tabela representam atributos Linhas da tabela contm valores para os atributos Domnio do atributo: conjunto de possveis valores
X = { x | x -5 e x 5 } Y={y|y0}

Conceito de Relao
Relao: define uma tabela no banco de dados.
Dado os domnios D1, D2,..., Dn no necessriamente distintos, uma relao definida: R = { (d1, d2,..., dn) | d1 D1, d2 D2,..., dn Dn } O conjunto (d1, d2,..., dn) de valores ordenados define um tupla.

Uma relao o conjunto de n-tuplas ordenadas, onde n define o grau da relao.

Exemplo de uma Relao


EMPREGADO
REGISTRO NOME 98752 97345 89234 JOO DA SILVA JOS DE SOUZA IDADE 32 34 SALARIO 2000.00 1700.00 3500.00 DEPTO 1 2 3

HENRIQUE CARDOSO 28

Atributo registro nome idade salrio depto

Domnio inteiro positivo conjunto de caracteres inteiro positivo real positivo inteiro positivo

Chaves de uma Relao


Conceito de atributo chave:
valor que no se repete dentro de uma relao pode ser um nico atributo ou a combinao de mais atributos Nome Rua Endereo Bairro CPF Cidade

chave: CPF

chave: Rua + Bairro + Cidade

Chaves
Superchave
Conjunto de um ou mais atributos que, tomados coletivamente, permite-nos identificar unicamente uma entidade de um conjunto.

Chave candidata
Superchave com a seguinte caracterstica: se qualquer dos atributos deixar de ser considerado, os atributos restantes no so suficientes para identificar unicamente uma entidade no conjunto.

Chave primria
uma chave candidata escolhida pelo projetista do BD para identificar as entidades de um conjunto de entidades (normalmente a chave candidata mais simples)

Conceito de chaves de uma relao Super-chave:


um ou mais atributos que permitem identificar cada registro da tabela como nico.

Chave candidata:
corresponde a super-chave mnima, ou seja no existe sub-conjunto da super-chave. { cpf } chave candidata? { cpf, nome } chave candidata?

Chave primria:
chave candidata escolhida no projeto da tabela do banco

Dependncia de existncia
Se a existncia da entidade X depende da existncia da entidade Y, ento X dito dependente da existncia de Y. Se Y for eliminado, X tambm o ser.
Ex: Conta e Transao
Toda transao tem que estar ligada a uma conta. Se uma conta excluda, exclui-se todas as suas transaes.

Converso E-R Modelo Relacional


Entidades com atributos chaves bem definidos geram uma relao. Relacionamentos geram uma relao adicionando-se os atributos chaves das entidades relacionadas. Entidades com atributos chaves no bem definidos geram uma relao adicionando-se a chave da relao que dependem

Converso E-R Modelo Relacional


data cpf pessoa end. acessar nmero saldo

conta corrente

pessoa (cpf, endereo) acesso (cpf,numero,data) contacorrente(numero,saldo)

Você também pode gostar