Anda di halaman 1dari 148

Faculdade Alvorada

Banco de Dados
Profa. dArrochella Mestre em Gesto de Conhecimento e Tecnologia da Informao

Banco de Dados
Objetivo Geral:

Ensinar e capacitar o aluno sobre as teorias e tcnicas de criao e manipulao de bancos de dados automatizados, por meio de aulas expositivas e prtica de exerccios em laboratrio utilizando ferramentas de Sistema Gerenciador de Bases de Dados.

Banco de Dados
Objetivos Especficos:
Conduzir o estudante, ao longo do curso, a: Revisar fundamentos de Banco de Dados e Modelagem; Revisar conceitos de Normalizao de Dados; Explorar conceitos de objetivos de Bancos de Dados Relacionais; Recomendar melhores prticas aos profissionais AD Administrador de Dados e DBA Administrador de Banco de Dados; Praticar exemplos e estudos de caso como exerccios prticos em laboratrio de informtica utilizando uma ferramenta de software (SGBD); Explorar conceitos avanados de manipulao, manuteno, segurana e gerncia de transaes em Banco de Dados.

Banco de Dados
Contedo programtico:

Organizao de arquivos Modelagem de Dados Regras de integridade Sistema gerenciador de banco de dados (SGBD) Modelo relacional de banco de dados

Banco de Dados
Referncias Bibliogrficas:
Bsicas: SILBERCHATZ, Abraham e. Sistema de Banco de Dados. So Paulo: Makron Books, 1999. MACHADO, Felipe. ABREU, Maurcio. Projeto de Banco de Dados. 8 ed. rica.So Paulo, 1996 Complementares: DATE, C.J. Introduo a Sistemas de Banco de Dados. Rio de Janeiro: Edgard Blucher, 1999 CHEN, Peter, Modelagem de Dados. Ed. Makon Books, 1990; RAMALHO, Jos Antnio Alves. SQL A Linguagem dos Bancos de Dados. So Paulo. Ed. Berkeley , 1999. CERCOLA, Osvaldo Vicente. Banco de dados relacional e distribudo. Rio de Janeiro: LTC, 1991. KERN, Vincius. Banco de dados relacional. Rio de Janeiro: LTC, 1991. KORTH, Henry F. Sistema de banco de dados. So Paulo: Makron, 1989. SALEMI, Joe. Banco de dados cliente/servidor. Rio de Janeiro: Infobook, 1993.

Banco de Dados

Banco de Dados

Imagine voc chegando Portaria do seu Clube, h alguns anos e aquele Porteiro conhecido seu estava de folga. Voc esqueceu a carteirinha e com sua carteira de identidade o Porteiro tentar Verificar sua situao junto Secretaria do Clube.

Banco de Dados
De que forma deveriam ser encontradas as fichas?

Banco de Dados
Conceitos:
Banco de Dados: uma coleo de dados inter-relacionados, representando informaes sobre um domnio especfico. Exemplos: * lista telefnica, * controle de acervo de uma biblioteca, * reserva de hotel, * sistema de recursos humanos de uma empresa,...

Banco de Dados
Conceitos:
Sistema Gerenciador de Banco de Dados(SGBD): um software para facilitar a manipulao das informaes dos bancos de dados e o desenvolvimento de programas aplicativos. Exemplos: * Access, * Oracle, * DB2, * SQL, ...

Banco de Dados
Conceitos:
dados - fatos que podem ser armazenados
exemplos: nomes, telefones, endereos (rua, bairro,cidade) coleo de dados inter-relacionados logicamente

Banco de Dados
Histrico: Dcada de 60: Indexados sequencias: ISAM (Indexed Sequencial Access Method) Dcada de 70: Bancos de dados hierrquicos e em rede
Ofereciam as seguintes funcionalidades adicionais: Identificadores de registros com acesso estruturado atravs de redes de registros Acesso a vrios arquivos indexados simultaneamente compondo uma base de dados nica Proteo restries de acesso a pessoas ou programas autorizados Transaes reconstruo, concorrncia e consistncia

Banco de Dados
Histrico: Dcada de 80: Bancos de dados Relacionais
Ofereciam as seguintes funcionalidades adicionais: Linguagem de consulta com operaes de manipulao de dados e ferramentas para desenvolvimento de aplicaes Independncia de dados

Banco de Dados
Histrico: Dcada de 90: Banco de dados orientado a Objetos Atualmente: Bancos de dados XML nativo Bancos de dados on-line que permitem disponibilizar servios via web Bancos de dados puro JAVA Banco de dados especficos para aplicaes real-time

Banco de Dados
Histrico: Linguagem padro para manipulao de banco de dados: SQL Structured Query Language

Disco

Banco de Dados
Voltemos ao nosso Clube: Imaginem que ele fez uma Lista com todos os Scios do Clube e os nomes dos dependentes de cada scio. Como ele fazia para .... - encontrar um dependente? - atualizar o pagamento das mensalidades? - excluir um scio e seus dependentes?

Banco de Dados
e quando um scio vem pagar as mensalidades atrasadas?
-

Localiza o scio na lista Atualiza sua situao Localiza sua ficha no arquivo Informa pagamento das mensalidades Identifica cada um de seus dependentes Localiza os dependentes na lista e Atualiza os dependentes

Banco de Dados
Servios rotineiros: - o refazimento da lista feito mensalmente aps o pagamento das mensalidades - Listagem de aniversrios para envio de correspondncias - Listagem dos dependentes ordenados por data de aniversrio para verificao de maioridade - Listagem dos inadimplentes - ...

Banco de Dados
Agora imaginem que nosso Clube tenha 10.000 Associados.

Banco de Dados
Problemas encontrados no bando de dados do nosso Clube: - Inconsistncia e redundncia de dados
a mesma informao est repetida em vrios lugares

Dificuldade de acesso aos dados


novas requisies podem ser obtidas de listas j produzidas e isto impede que a lista original seja alterada

Isolamento de dados
como os dados esto dispersos em vrios arquivos, e estes arquivos podem possuir diversos formatos, difcil escrever novas aplicaes para recuperao apropriada

Problemas de integridade
pela prpria redundncia

Banco de Dados
Por estes problemas, especialistas vem trabalhando desde os anos 60, em novas tcnicas para montagem de banco de dados.

A idia chegar de forma fcil e segura a um modelo interno de nosso escopo a partir da viso do mundo real.
Isso chamamos de abstrao da informao.

Banco de Dados
ABSTRAO DA INFORMAO: Definio: 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 et al., Editora Campus, 1997 Livro: Modelagem e Projetos baseado em objetos

Banco de Dados
Tipos de Banco de Dados:
-

Por nmero de usurios:


monousurio - multiusurio
-

Por nmero de sites Centralizado Distribudo

Modelo de Dados
Objetivos de um Modelo de Dados:
-

Representar o ambiente observado Servir de instrumento para comunicao Documentar e Normalizar Fornecer Processos de Validao

Observar aspectos de relacionamento entre objetos

Modelo de Dados
Caractersticas dos Modelos
-

CONCEITUAL: viso geral do negcio, facilita entendimento entre usurios e desenvolvedores, s possui entidades e os atributos principais e pode conter relacionamentos n:n LGICO: deriva do Modelo Conceitual e visa representao do negcio, possui entidades associativas em lugar de relacionamentos n:n, define chaves primrias das entidades, normalizado at 3. Forma Normal, adequao aos padres de nomenclatura e j deve ter as entidades e atributos documentados. FSICO: elaborado a partir do Modelo Lgico, pode variar conforme o SGBD escolhido, pode variar com base na anlise de acesso aos dados, visando atender aos requisitos de performance, pode ter tabelas somente fsicas.

Modelo de Dados
Etapas para Construo do Modelo
-

MODELO CONCEITUAL representa as regras de negcio sem limitaes tecnolgicas ou de implementao. Mais adequado para o envolvimento do usurio. MODELO LGICO Leva em considerao limites impostos por algum tipo de tecnologia de banco de dados. MODELO FSICO Leva em considerao limites impostos por um SGBD e pelos requisitos no funcionais dos programas que acessam os dados.

Modelo de Dados
Conceitos:

Relacionamento:
associao entre instncias de Entidades, devido regra de negcios. Normalmente ocorre entre instncias de duas Entidades, podendo ocorrer entre Instncias da mesma Entidade (auto-relacionamento) ou entre trs ou mais Entidades.

Relacionamentos
conceito:

associao entre entidades. representam os vnculos que existem entre as entidades no mundo real. so representados por losangos.
Exemplo: no sistema de controle acadmico da Faculdade o relacionamento MATRICULA, vincula um ALUNO a uma DISCIPLINA.

Relacionamentos
conceitos

Grau

igual a quantidade de entidades vinculadas atravs do relacionamento.


Disciplina

Func
Pr-Req

Lotao

Depto

Grau 2

Grau 1

Relacionamentos
conceitos

Classe
identifica

quantas vezes cada instncia de uma entidade pode participar do relacionamento.

para relacionamentos binrios temos classes:


1:1

1:N
N:N

Relacionamentos Classe 1:1


Cada FUNC participa de quantos PROJETOS?

1 Func
Participa

1 Projeto

Cada PROJETO tem a participao de quantos FUNC?

Classe 1:1

Classe 1:1

1 Func Utiliza

1 Carro

Kurt Brian Tonya Scott Nancy

Fargo Mustang Ranger Jeep Prizm

Relacionamentos Classe 1:N


Cada FUNC participa de quantos PROJETOS?

1 Func
Participa

N Projeto

Cada PROJETO tem a participao de quantos FUNC?

Relacionamentos Classe N:1


Cada FUNC participa de quantos PROJETOS?

N Func
Participa

1 Projeto

Cada PROJETO tem a participao de quantos FUNC?

Classe 1:N
1 Cliente Aluga

N
Vdeo Gone with the Wind

Silva Johnson Hill

Terminator
Terminator II

Cerveny
Denton

Cretaceous Park
Sandlot Son of Flubber

BladeRunner Bad News bears Fried Green Tomatoes

Relacionamentos Classe N:N


Cada FUNC participa de quantos PROJETOS?

N Func
Participa

N Projeto

Cada PROJETO tem a participao de quantos FUNC?

Classe N:N

Modelo de Dados
Conceitos:

Cardinalidade:
indica quantas ocorrncias de uma Entidade participam no mnimo (Cardinalidade mnima) e no mximo (Cardinalidade Mxima) de um Relacionamento.

Modelo de Dados
Conceitos:

Normalizao:
conjunto de regras que visa minimizar as anomalias de modificao dos dados e dar maior flexibilidade em sua utilizao.

Modelo Entidade - Relacionamento


Elementos:
- Entidades Conjuntos de coisas que possuem caractersticas prprias.
Exemplos: Cliente, Produto, Contrato de Operao

- Instncia cada elemento da Entidade. Pode tambm ser chamada de Ocorrncia Modelo Lgico
Exemplos: Registro, Linha ou Tupla Modelo Fsico

- Relacionamentos Vnculos ou associaes entre Entidades. - Atributo Tudo que se pode relacionar como sendo prprio da Entidade
Exemplos: Cdigo do Produto (Entidade Produto) Nome do Cliente

Banco de Dados
Entidade: conjunto de objetos sobre os quais preciso armazenar informaes teis. conjunto de vrios elementos (mais que 1). conjuntos de elementos distinguveis que aceitam um cdigo para diferenci-los. seus atributos NO dependem de outras entidades. conjuntos qualificativos (ex. grau de instruo). Ex de possveis Entidades: pessoas, locais, objetos, documentos, etc.

Entidade
representao
Funcionrios Produtos

matricula nome endereo

cdigo descrio unidade

Notas Fiscais

Cargos

srie

nmero data emisso

cdigo

descrio

pr-requisitos

Atributos
conceito

informaes teis a respeito de uma entidade ou relacionamento. os atributos de uma entidade permanecem constantes para todos os seus relacionamentos. os atributos de uma entidade so independentes de todas as demais entidades.

Atributos tipos

determinante: seu valor representa um elemento da entidade. seu valor nico para a entidade. deve ser sublinhado. composto necessita ser dividido em sub-atributos, para que seu significado seja melhor compreendido. multivalorado pode assumir mais do que um valor para cada entidade, diferenciado com um (*).

Atributos representao
Funcionrios Produtos

matricula nome endereo

cdigo descrio unidade

Notas Fiscais

Cargos

srie

nmero data emisso

cdigo

descrio

pr-requisitos

Atributos ex: atributo composto

Funcionrios endereo matricula rua n CEP

Atributos ex: multivalorado

Funcionrios * telefone matricula

Qual a melhor soluo?


Caso 1
Funcionrios * telefone matricula DDD n descrio

Caso 2 Funcionrios
telefone

matricula
*DDD *n *descrio

Atributos ex: composto e multivalorado

Funcionrios * telefone matricula DDD n descrio

Entidades Fracas
Dependem de uma entidade forte A Entidade Fraca representada por:

Dependncia de Existncia Dependncia de Identificador

Entidades Fracas
Dependncia de Existncia

Func

1
Pertence

N
Dependente

Entidades Fracas
Dependncia de Identificador

Contribuinte

1
Faz

N
Declarao IR

Relacionamentos Totalidade

Uma Entidade dita TOTAL num relacionamento, quando TODOS os seus elementos participam deste relacionamentos.

Caso contrrio a Entidade dita PARCIAL.

Atributos de Relacionamento

Um Atributo pertence a um Relacionamento classe N:N, sempre que:


fixa-se

um elemento da 1 entidade, e observa-se o valor do atributo para cada mudana de elemento na 2 entidade. se o valor do atributo mudar, ento ele no pode pertencer a 1 entidade. se o atributo no pertence as entidades envolvidas, e relevante no contexto do relacionamento, ento ele atributo do relacionamento.

Atributos de Relacionamento

A quem pertence os ATRIBUTOS: PRECO, QUANTIDADE e PRAZO?


N N
Vende

Produtos

Fornecedores

Atributos de Relacionamento

PRECO, QUANTIDADE e PRAZO, no podem pertencer a PRODUTOS, pois se fosse assim TODOS os FORNECEDORES deveriam praticar o mesmo preo.
N
Vende

Produtos

Fornecedores

*Condies Preo

Quant Prazo

Atributos de Relacionamento

PRECO, QUANTIDADE e PRAZO, no podem pertencer a FORNECEDORES, pois se fosse assim TODOS os PRODUTOS de um fornecedor teriam o mesmo preo.
Produtos
N
Vende

Fornecedores
*Condies

Preo

Quant

Prazo

Atributos de Relacionamento

No pertencendo nem a PRODUTOS ou a FORNECEDORES, e sento relevante no relacionamento VENDA, so atributos do relacionamento
Produtos
N
Vende

Fornecedores

*Condies

Preo

Quant

Prazo

Atributos de Relacionamento
A quem pertence os ATRIBUTOS: DATA ADMISSO e DATA LOTAO?

N 1
Pertence

Funcionario

Departamento

Auto-Relacionamentos

Relacionamento de uma ENTIDADE consigo mesma. tambm chamados de Relacionamentos RECURSIVOS.


Exemplo: Uma empresa tem a entidade FUNC e deseja saber quais so os funcionrios casados com outros funcionrios.

Auto-Relacionamentos
Jordan Mike

1 Func 1 isto equivalente a: Casado com

Rieta
Colleen Sean Jody

Walt
Andrew Larry Whitney Barb John

Func

Casado com

Func

Auto-Relacionamento

Num Auto-Relacionamento necessrio saber o PAPEL que cada elemento do conjunto de entidade est representando.
1

mulher
Casdo com Peas

N
compe Componentes

Funcionario

marido

composta

quantidade

Relacionamentos Mltiplos

uma extenso do relacionamento binrio para um nmero qualquer de entidades.


Materiais N N Requisies

MRP

N Pedidos Compra

Relacionamentos Mltiplos
Um PROF em uma DISCIPLINA esto associados a quantos ALUNOS?
Aluno N

Um ALUNO em uma DISCIPLINA esto associados a quantos PROF?


1 Professor

PDA

Um ALUNO e um PROF esto associados em quantas DISCIPLINAS?


N Disciplina

Agregaes
Um AGREGADO tratado como sendo uma ENTIDADE composta por um NICO RELACIONAMENTO. Serve para que RELACIONAMENTOS MLTIPLOS sejam decompostos.

Agregaes

O relacionamento MRP no permite que uma REQUISIO seja atendida quando o MATERIAL est no estoque:
Materiais N N Requisies

MRP

N Pedidos Compra

Agregaes

Soluo:
Decompor MRP em 2 relacionamentos:
1) MATERIAIS - REQUISIO 2) PEDIDO e o relacionamento 1. Materiais
N Item Req N

Requisies

Agregado

N
Item Pedido N

Pedidos Compra

Agregaes
Exemplo: Como conseqncia da ALOCAO de um FUNCIONRIO num PROJETO, ele pode necessitar que uma MQUINA.
N Alocado N

Funcionario

Projeto

N
Utiliza 1

Mquina

Estrutura de Generalizao e Especializao


Permite que uma ENTIDADE tenha sub-classes ou pertena a superclasses. A associao entre uma Generalizao (super-classe) e suas Especializaes (sub-classes), recebe o nome de isa ( um). ISA Representada por um tringulo:

Estrutura de Generalizao e Especializao


Tambm conhecidas como PARTICIONAMENTO. Serve para representar ENTIDADES com ATRIBUTOS parcialmente disjuntos. Permite que um relacionamento fique restrito a um sub-conjunto de uma ENTIDADE.

Estrutura de Generalizao e Especializao


Uma super-classe uma Generalizao de um conjunto de Especializaes (subclasses). Cada Especializao HERDA, atributos e relacionamentos da Entidade da qual derivou.

Relacionamentos entre Especializaes de uma mesma Generalizao so um tipo de AutoRelacionamento.

Estrutura de Generalizao e Especializao

A entidade FUNCIONRIOS pode ser particionada em:


Func

ISA

Motoristas

Secretrias

Engenheiros

Estrutura de Generalizao e Especializao

Os Atributos NOME, DATA ADMISSO, RG, so Atributos de FUNCIONRIOS. O Atributo IDIOMAS, s til para SECRETRIAS. Os Atributos HABILITAO, ACIDENTES so exclusivos dos MOTORISTAS

Atributos (campos)
Atributo: Elemento de dado que contm informao que descreve uma entidade
Funcionrio

Cod-Func Nome Dependentes

Endereo

Cidade

Estado

Atributo Monovalorado: assume um nico valor para cada elemento do conjunto-entidade Ex.: Nome Atributo Composto: formado por um ou mais sub-atributos Ex.: Endereo

Atributo Multivalorado: uma nica entidade tem diversos


valores para este atributo (seu nome e sempre representado no plural) Ex.: Dependentes

Atributo Determinante: identifica cada entidade de um


conjunto-entidade (tambm conhecido com atributo chave) Ex.: Cod_Func

Domnio de um Atributo: conjunto de valores permitidos


para o atributo Ex.: Sexo {M, F)

Estrutura de Generalizao e Especializao


Exerccio:
Todos os FUNCIONRIOS esto lotados num DEPARTAMENTO. Somente os MOTORISTAS dirigem VECULOS. Apenas os ENGENHEIROS participam de PROJETOS.

Func
RG nome data admisso

ISA

Motoristas

Secretrias

Engenheiros

habilitao * acidentes

* Idiomas

CREA

Estrutura de Generalizao e Especializao


Func
nome Veculos N dirigem N RG data admisso Veculos N 1 lotao Departamento

ISA
N

N Motoristas

Secretrias

Engenheiros

Participa

habilitao * acidentes

* Idiomas

CREA

Atributos Globais
Esto associados a uma Entidade ou a um Relacionamento. Seu valor CONSTANTE para todo o conjunto ao qual pertence.
Exemplo: numa biblioteca considere que a MULTA por dia de atraso de um exemplar seja constante.

Atributo Global

Livro
cdigo nome

multa

Atributo Global

Tipos de Arquivos
Um arquivo convencional, seja seqencial, seqencial-indexado, direto ou indexado, normalmente constitudo por um conjunto de registros lineares que no possuem informaes de relao entre si.

Caracterstica do arquivo sequencial


Os registros armazenados possuem uma ordem de classificao lgica, determinada por um ou mais campos, que constituem a chave.

Caracterstica do arquivo sequencial


Os registros possuem o mesmo formato, assim cada valor de atributo est associado ao nome do atributo pela sua posio relativa no registro.

Caracterstica do arquivo sequencial


Um

valor de chave identifica um conjunto de valores de atributos, e com este, forma um registro fsico.

Caracterstica do arquivo sequencial


Leitura de um arquivo seqencial na procura de um determinado registro efetuado lendo serialmente o arquivo.

Caracterstica do arquivo sequencial


Leitura de um arquivo seqencial na procura de um determinado registro efetuado lendo serialmente o arquivo.

Caracterstica do arquivo sequencial


Leitura de um arquivo seqencial na procura de um determinado registro efetuado lendo serialmente o arquivo.

Caracterstica do arquivo sequencial indexado


Os registros so classificados segundo uma Chave

Caracterstica do arquivo sequencial indexado


Os registros vo sendo armazenados em ordem seqencial na forma de blocos. Os blocos de dados so chamados de rea Primria de Dados.

Caracterstica do arquivo sequencial indexado


Durante a carga do arquivo formada a rea de ndice, em diversos nveis.

Caracterstica do arquivo sequencial indexado


O ndice de bloco constitudo de um conjunto de entradas que permitiro o acesso direto rea primria.

Caracterstica do arquivo sequencial indexado

Cada registro dentro do bloco poder ser


facilmente localizado, seja por acesso seqencial ou por controle por meio de contador.

Caracterstica do arquivo direto


O Arquivo Direto formado atravs da correspondncia biunvoca entre um determinado valor de chave com endereo fsico num dispositivo de acesso direto.

Caracterstica do arquivo direto


O endereo fsico na maioria dos casos um nmero relativo de bloco, assinalado pelo software de mtodo de organizao e acesso do arquivo.

Caracterstica do arquivo indexado A existncia de um ou mais ndices, cada um em correspondncia a um atributo do arquivo.

Caracterstica do arquivo indexado


Os ndices contm um conjunto de entradas os quais so constitudos por uma parte com o valor do atributo e outra parte com um ponteiro ao endereo do registro que o contm.

Caracterstica do arquivo indexado


Cada registro gravado no disco no primeiro lugar disponvel, no existindo ordem de colocao serial em correspondncia ordem sequencial de uma chave.

Caracterstica do arquivo indexado


Os ndices primrios e secundrios esto classificados na ordem seqencial dos valores de atributo correspondentes.

Caracterstica do arquivo indexado


A construo de ndices secundrios podem resultar em reas de ndices maior do que reas de dados.

Acesso Sequencial
Como o nome mesmo diz, o acesso (leitura ou gravao) de um arquivo na ordem fsica de gravao dos registros. Podemos ler e/ou gravar arquivos organizados seqenciais, indexado seqencial, indexado e direto.

Modelo de Dados
Conceitos:

CHAVE

Chave Primria: atributo ou grupamento de atributos que tem a propriedade de identificar unicamente uma ocorrncia da Entidade. Outro Nome: PK

Chave Estrangeira: a Chave Primria de uma Entidade que aparece em outra em virtude de um relacionamento. Na outra entidade ela chama-se Chave Estrangeira ou FK.

Modelo de Dados
Conceitos: 1. Forma Normal: eliminao dos grupos de repetio 2. Forma Normal: no h dependncia parcial em relao Chave Primria 3. Forma Normal: os atributos que no fazem parte da chave primria devem ser independentes entre si.

Projeto de Chaves

Chave: um conjunto de um ou mais atributos que, tomados coletivamente, permite-nos identificar unicamente uma entidade no conjunto-entidade

Integridade de Entidade: Nenhum atributo que participe da chave de um conjunto-entidade deve aceitar valores nulos

Aspectos Relevantes
A questo fundamental do projeto de chaves reduzir ao mximo os efeitos de redundncia A alterao dos valores de campos constituintes da chave primria ou a remoo de uma entidade de um conjunto- entidade pode ocasionar problemas de integridade referencial

Modelo de Dados
As entidades so nomeadas e so compostas por atributos. Seus relacionamentos tambm tm nomes e podem ou no conter atributos. Para que um objeto seja uma entidade, ele precisa ser necessrio para nosso escopo, ter atributos e um identificador nico. Esse identificador que chamamos de chave.

Banco de Dados
Vamos voltar ao nosso exemplo do clube. Entidade chamada Scio Atributos nome do scio, data de associao, data de nascimento, endereo, etc.

Banco de Dados
Mas h tambm atributos que recorrem, ou seja, que aparecem, ou podem aparecer, mais de uma vez. Os dados dos dependentes se repetem nas fichas dos scios. E os Dependentes, como podemos inser-los?

Banco de Dados

1 Scio tem

Dependente

Banco de Dados
Exemplo:

N Scio participa

Atividade

Banco de Dados
que vai resultar em:

1
Scio participa N Scio / Atividade

pertence

1
Atividade

Banco de Dados
Scio

1
N Dependente

N N Atividade

1 N Pagamento

Banco de Dados
H atributos que recorrem, ou seja, que aparecem, ou podem aparecer, mais de uma vez. Os dados dos dependentes se repetem nas fichas dos scios. Sendo assim, como podemos inserir os Dependentes e os Pagamentos feitos pelos Scios ?

Banco de Dados
Vamos voltar ao nosso exemplo do clube.
Entidade Scio Atributos nome do scio, data de associao, data de nascimento, endereo, telefone, local de trabalho do Scio Entidade Dependente Atributos nome do dependente, data de nascimento, sexo, etc. Entidade Pagamentos Atributos data de pagamento, valor recebido, etc.,

Banco de Dados
Entidade Scio Key matrcula Atributos nome do scio, data de associao, data de nascimento, endereo, telefone, local de trabalho do Scio Entidade Dependente Key matricula scio + n dependente Atributos nome do dependente, SUPERCHAVE data de nascimento, sexo, etc. Entidade Pagamentos Key matricula scio + data pagamento Atributos data de pagamento, SUPERCHAVE valor recebido, etc.,

Criando um Modelo

Recomendaes para criao de um DER


1. Antes de comear a modelar, conhea o mundo real. 2. Identifique quais so as ENTIDADES. 3. Para cada Entidade represente seus ATRIBUTOS. 4. Confronte cada Entidade consigo mesma e com as demais na procura de possveis RELACIONAMENTOS 5. Verifique a existncia de ATRIBUTOS DE RELACIONAMENTO. 6. Para relacionamentos mltiplos estude a necessidade de AGREGAES. 7. Desenhe o DER, com todas as Entidades, Atributos, Relacionamentos, Classes e Restries de Totalidade. 8. Analise cuidadosamente todas as restries que voc imps. 9. At que voc e os seus usurios estejam convencidos de que o DER reflete fielmente o mundo real, volte ao item 1.

Exemplo das Informaes em um Banco de Dados

nome Jos Joo Joo Antonio Antonio

rua Figueiras Laranjeiras Laranjeiras Ip Ip

cidade Campinas Campinas Campinas So Paulo So Paulo

conta 900 556 647 647 801

saldo 55,00 1.000,00 5.366,00 5.366,00 10.533,00

Colunas de uma Tabela Tipos mais usados


INTEGER SMALLINT CHARACTER DECIMAL DATE TIME TIMESTAMP

Banco de Dados
Tipos de Banco de Dados:
-

Por modelo:
Relacional - Objeto - Relacional-objeto (ou relacional estendido) - Rede - Hierrquico - XML
-

O Modelo de Rede
Os dados so representados por colees de registros e os relacionamentos por elos.

Jos

Filgueiras Campinas

900

55

556

4.000

Joo

Laranjeiras Campinas

647

5.366

Antnio Yp

Campinas
801 10.533

O Modelo Hierrquico
Os dados e relacionamentos so representados por registros e ligaes, respectivamente. Os registros so organizados como colees arbitrrias de rvores.

Jos

Filgueiras

Campinas

Antnio Yp

Campinas

Joo Laranjeiras Campinas

556
900 55

4.000

647

5.366 647 5.366

801

10.533

O Modelo Relacional
Tabela Cliente (dados) cd-cliente nome rua
015 021 037 Jos Joo Antnio Figueiras Laranjeiras Ip

cidade
Campinas Campinas So Paulo

Tabela Conta (dados) nro-conta saldo


900 556 647 801 55 1.000 5.366 10.533

Tabela Cliente-Conta (relacionamento) cd-cliente nro-conta


015 021 021 037 037 900 556 647 647 801

Modelo Relacional (continuao) Tanto os dados quanto os relacionamentos so representados por tabelas. Possui fundamento matemtico slido. Prescinde de estruturas de ndice eficientes e hardware adequado para alcanar desempenho vivel em situaes prticas. 0 Banco de Dados no Nvel Conceitual (modelo ER)

rua

saldo

nome

cidade

nmero

Cliente

Possui

conta

Sntese da notao de Peter Chen


TIPO ENTIDADE ATRIBUTO

ATRIBUTO CHAVE TIPO ENTIDADE FRACA ATRIBUTO MULTI VALORADO TIPO RELACIONAMENTO

ATRIBUTO COMPOSTO TIPO RELACIONAMENTO IDENTIFICADOR ATRIBUTO DERIVADO

E1

E2

E1

E2

Taxa de Cardinalidade 1:N para E1:E2 em R

Participao Parcial de E1 em R, Participao Total de E2 em R

(min, max)

E1

Restrio Estrutural (min,max) na Participao de E1 em R

Modelo de Dados

Sistema Gerenciador de Banco de Dados


SGBD

programas

Bancos de dados

SGBD
Princpios Bsicos:
Atomicidade Consistncia Isolamento Durabilidade

Sistema Gerenciador de Banco de Dados

- Redundncia Controlada
- Dados compartilhados - Concorrncia

- Reconstruo (utilitrios)

Linguagens de Definio e Manipulao de Dados


Esquema do Banco de Dados
E o projeto geral (estrutura) do banco de dados. no muda com frequencia; h um esquema para cada nvel de abstrao e um sub-esquema para cada viso de usurio.

Linguagem de Definio de Dados (DDL)


Permite especificar o esquema do banco de dados, atravs de um conjunto de definies de dados. A compilao dos comandos em DDL armazenada no dicionrio (ou diretrio) de dados. metadados

Manipulao de dados
recuperao da informao armazenada, insero de novas informaes, excluso de informaes, modificao de dados armazenados.

Linguagem de Manipulao de Dados (DML)


Permite ao usurio acessar ou manipular os dados, vendo-os da forma como so definidos no nIvel de abstrao mais alto do modelo de dados utilizado. Uma consulta (query) um comando que requisita uma recuperao de informao. A parte de uma DML que envolve recuperao de informao chamada linguagem de consulta*.

Sistema de Gerenciamento de Bancos de Dados

Mdulo de programa que fornece a interface entre os dados de baixo nvel armazenados num banco de dados e os programas aplicativos ou as solicitaes submetidas ao sistema.

Software que manipula todos os acessos ao banco de dados; proporciona a interface de usurio ao sistema de banco de dados.

Sistema de Gerenciamento de Bancos de Dados


[Date91] ilustra o papel do sistema de gerncia de banco de dados, de forma conceitual: - 0 usurio emite uma solicitao de acesso. - 0 SGBD intercepta a solicitao e a analisa. - 0 SGBD inspeciona os esquemas externos (ou subesquemas) relacionados quele usurio, os mapeamentos entre os trs nveis, e a definio da estrutura de armazenamento. - 0 SGBD realiza as operaes solicitadas no banco de dados armazenado.

Sistema de Gerenciamento de Bancos de Dados


Tarefas:

interao com o sistema de arquivos do sistema operacional, cumprimento da integridade, cumprimento da segurana, cpias de segurana (backup) e recuperao, controle de concorrncia

Administrao de Sistemas de Bancos de Dados


Administrador de Dados ( DBA)
definio e atualizao do esquema do banco de dados.

Administrador do SGBD
definio da estrutura de armazenamento e a estratgia (ou mtodo) de acesso, concesso de autorizao para acesso a dados, definio de controles de integridade, definio de estratgias para cpia de segurana e recuperao, monitoramento do desempenho, execuo de rotinas de desempenho, modificao da organizao fsica.

Estrutura Geral de um Sistema de Bancos de Dados


Usurios ingnuos
interfaces de aplicativos

programadores de aplicativos
APIs para aplicativos

usurios sofisticados

administrador do banco de dados


esquema do banco de dados

consultas

pr-compilador DML cdigo objeto de aplicativos gerenciador do banco

processador de consultas

compilador DDL

gerenciador de arquivos

arquivos de dados

dicionrio de dados

. Relao - tabela . Tupla - linha da tabela . Atributo - coluna da tabela . Domnio - valores possveis para um atributo . Chave primria da relao - conjunto de atributos que identificam unicamente cada linha da tabela . Grau da relao - nmero de colunas da tabela . Cardinalidade da relao - nmero de ocorrncias na relao

FIM DA PARTE DE BANCO DE DADOS

EXERCCIOS DE BANCO DE DADOS

Anda mungkin juga menyukai