Você está na página 1de 16

BANCO DE DADOS

coleo de informaes que existe por um longo perodo de tempo e que


gerenciada por um SGBD.

SISTEMA DE GERENCIAMENTO DE ARQUIVOS (FMS File Management System)

primeira forma utilizada para armazenamento de dados


armazenamento dos dados de forma sequencial em um nico arquivo
vantagem a simplicidade na forma em que os dados so estruturados
no apresenta relao entre os dados, nem mecanismos de busca,
classificao e recursos para evitar problemas de integridade.

MODELO HIERRQUICO (HDS Hierarquical Database System)

Dcada de 60
Organiza os dados de cima para baixo, como uma rvore
Cada registro dividido em partes denominadas segmentos
O banco de dados se assemelha a um organograma com um segmento raiz
e um nmero qualquer de segmentos subordinados
segmentos so arranjados em estruturas com um segmento superior ligado
a um segmento subordinado em um relacionamento pai-filho
Um segmento pai pode ter mais de um filho, mas um segmento filho
s pode ter um pai
desvantagem apresentada rigidez da estrutura de dados, que obriga
refazer todo o banco de dados, caso o seguimento raiz ou os seguimentos
que possuem dependentes sejam alterados

MODELO EM REDE (NDS - Network Database System)

1971
extenso do modelo hierrquico
um filho pode ter mais de um pai
torna a pesquisa mais rpida e mais flexvel, pois no depende de um nico
n raiz como vetor de inicializao de pesquisa
Qualquer alterao feita em uma classe de dados implica na criao de uma
nova estrutura

MODELO RELACIONAL (Relational Model)

1970
representar os dados de forma mais simples, atravs de um de conjuntos de
tabelas inter-relacionadas
abandona os conceitos anteriores, tornando os bancos de dados mais
flexveis, tanto na forma de representar as relaes entre os dados, como na
tarefa de modificao de sua estrutura, sem ter que reconstruir todo o
banco de dados
SQL (Structured Query Language)

MODELO ORIENTADO A OBJETOS

1980
armazenamento de dados complexos, no adequados aos sistemas
relacionais Exemplos: GIS (Geographical Information System) e
CAD/CAM/CAE
baseado nos conceitos de orientao a objetos j difundidos em linguagens
de programao

tratar os tipos de dados complexos como um tipo abstrato (objeto) agrupar


os dados e o cdigo que manipula estes dados em um nico objeto,
estruturando-os de forma que possam ser agrupados em classes
podem usar o mesmo mecanismo de herana para definir superclasses e
subclasses de objetos, criando assim hierarquias

MODELAGAGEM DE DADOS
Modelo Conceitual:

Mais abstrato, nvel mais prximo do usurio


Nvel de regra de negcio e dados
Quais dados so armazenados e seus relacionamentos
Independe de SGDB
Entidades, Relacionamentos e Atributos, Cardinalidade

Modelo Lgico

Nvel mais tcnico e detalhado


Definis-se o SGDB
Quais recursos o SGDB possui para implementar e modelo conceitual
especificado
Tabelas, colunas, chaves

Modelo Fsico

Cdigo SQL para gerar o banco de dados


Linguagem de definio de dados (DDL)

MER (MODELO ENTIDADE-RELACIONAMENTO) OU DER (DIAGRAMA ... )

um modelo formal, preciso, no ambguo ou seja leitores de um MER


devem sempre entender o mesmo

Cada empregado pode lotar no mnimo 0 depto e no mximo vrios


departamentos.
Cada departamento pode ser lotado por no mnimo 1 e no mximo vrios
funcionrios.

GRAUS DE RELACIONAMENTOS
BINRIO

envolve duas entidades


classificados em (1,1) (1,N) (N,N)

TERNRIO

envolve trs entidades


Relacionamentos com quatro ou mais conjuntos de entidades so chamados
de n-rios porm, sua utilizao no recomendada devido. Sugere-se que
sejam quebrados em relacionamentos binrios e/ou ternrios.

AUTO RELACIONAMENTO

GENERALIZAO/ESPECIALIZAO
Especializao total: para cada ocorrncia da entidade genrica existe sempre
uma ocorrncia em uma das entidades especializadas.
O exemplo abaixo apresenta uma especializao total: os clientes de uma
empresa sero apenas pessoas fsicas ou jurdicas.

Especializao parcial: nem toda ocorrncia da entidade genrica possui uma


ocorrncia correspondente em uma entidade especializada.
O exemplo a seguir apresenta uma especializao parcial: os funcionrios da
empresa podero ter outras profisses alm das apresentadas no diagrama
abaixo.

MLTIPLOS NVEIS E HERANA MLTIPLA

GENERALIZAO/ESPECIALIZAO EXCLUSIVA: uma ocorrncia de entidade


genrica aparece, para cada hierarquia generalizao/especializao, no mximo
uma vez.

GENERALIZAO/ESPECIALIZAO NO EXCLUSIVA: Neste caso, uma ocorrncia da


entidade genrica pode aparecer em mltiplas especializaes.

Um professor pode ser tambm funcionrio ou aluno.

ENTIDADE ASSOCIATIVA
No MER no foi prevista a possibilidade de associar dois relacionamentos entre si.

ATRIBUTOS OPCIONAIS: so aqueles que se aplicam apenas a determinadas


ocorrncias de uma entidade, e no a outras. Exemplo: FUNCIONRIO e os
registros profissionais em diferentes entidades de classe: CRM, CREA, OAB, etc.
Atributos opcionais muitas vezes indicam subconjuntos da entidade que devem
ser modelados atravs de especializao.

ATRIBUTOS COMPOSTOS: contedo formado por vrios itens menores. Exemplo:


ENDEREO composto por: nome do logradouro, nmero, complemento (exemplo:
apartamento), bairro, cidade, estado, etc.
ATRIBUTOS MULTIVALORADOS: contedo formado por mais de um valor.
Exemplo: FUNCIONRIO e DEPENDENTE este ltimo como atributo. Para atributos
multivalorados recomenda-se a soluo apresentada:

MODELO RELACIONAL (LGICO)


TABELAS, tambm denominadas RELAO: Estrutura bi-dimensional composta por
linhas (tuplas) e campos (ou atributos).
CHAVE PRIMVRIA (PRIMARY KEY PK):

Identifica um nico registro


No se repete nunca
Tipo: SIMPLES (um nico atributo) e COMPOSTA (mais de um atributo)

CHAVE NICA (Unique):

Utilizada quando determinado campo no deve ser repetido e no chave


primria.
Aumenta a consistncia do BD.
Exemplo: tabela FUNCIONARIO: id << chave primria, cpf << chave nica
(unique) evitando o cadastro do mesmo funcionrio duas vezes.

CHVE ESTRANGEIRA (Foreign Key):

Utilizada quando queremos que o valor de um atributo seja validado a partir


do valor de atributo de outra tabela.
Criamos assim uma relao de dependncia (um relacionamento) entre as
tabelas.

INTEGRIDADE DE DADOS:

Garante a qualidade dos dados.


Os dados devem refletir corretamente a realidade representada pelo BD.
Os dados devem ser consistentes entre si.

INTEGRIDADE DE DOMNIO:

Zela pelos valores ideais e necessrios para um atributo.


Ex.: No permitir um estoque negativo, Impedir uma data de nascimento
superior data atual.

INTEGRIDADE DE ENTIDADE:

Tem o objetivo de validar os valores permitidos a partir de valores j


inseridos prpria entidade. Aps uma auto-consulta a entidade vai
permitir ou no a gravao do novo registro.
Exemplos: No permitir duas pessoas com o mesmo CPF, Impedir a locao
uma fita que j est locada.

INTEGRIDADE REFERENCIAL

Zela pela consistncia dos registros de uma entidade a partir de valores


provenientes de outras entidades, isto , determinado registro vai
depender diretamente de um registro de outra tabela.
o Um registro em uma tabela pai pode ter um ou mais registros em
uma tabela filho.
o Um registro em uma tabela filho sempre tem um registro coincidente
em uma tabela pai.
o Para a incluso de um registro em uma determinada tabela filho,
necessrio que exista um registro pai coincidente.
o Um registro pai s poder ser excludo se no possuir nenhum
registro filho.

CONSTRAINTS (RESTRIES): principais constraints ou restries utilizadas nos


bancos de dados relacionais.

MAPEAMENTO DO MODELO CONCEITUAL PARA O LGICO

NORMALIZAO DE DADOS
So seis as formas normais mais utilizadas:

1FN 1 Forma Normal


2FN 2 Forma Normal
3FN 3 Forma Normal
FNBC Forma Normal de Boyce e Codd
4FN 4 Forma Normal
5FN 5 Forma Normal

CHAVES

Chave candidata: Atributo ou conjunto de atributos que so nicos para


cada registro. Para cada tabela podemos ter uma ou vrias chaves desse
tipo. Exemplo: codigo e cpf.
Chave primria: Entre as chaves candidatas, escolhemos uma para ser o
identificador principal da tabela. Este atributo passa a ser chamado de
chave primria (PK Primary Key).
Chaves alternativas: So as chaves candidatas que no foram definidas
como chave primria.
Chave estrangeira: o atributo ou conjunto de atributos que faz a ligao
com a chave primria de outra tabela.
DEPENDNCIA FUNCIONAL (DF)

Sempre que um atributo X identifica um atributo Y, dizemos que entre eles h uma
dependncia funcional. Temos, portanto, que X o determinante e que Y o
dependente.
A representao : X->Y (l-se X determina Y ou Y dependente de X). cidade>estado
Ex.: Cliente: CodCliente, Nome, DataNascimento, Placa, Ano, Marca
Ou seja Nome e DataNascimento so dependentes funcionais de CodCliente.
TRANSITIVIDADE
Se um atributo X determina Y e se Y determina Z, podemos dizer que X determina
Z de forma transitiva, isto , existe uma dependncia funcional transitiva de X
para Z.
cidade -> estado
estado -> pas
cidade -> pas (cidade determina pas de forma transitiva)
DEPENDNCIA FUNCIONAL IRREDUTVEL ESQUERDA
O lado esquerdo de uma dependncia funcional irredutvel quando o
determinante est em sua forma mnima, isto , quando no possvel reduzir a
quantidade de atributos determinantes sem perder a dependncia funcional.
{cidade, estado} -> pas (no est na forma irredutvel esquerda, pois podemos
ter somente o estado como determinante)
estado -> pas (est na forma irredutvel esquerda)

Nota: Nem sempre estar na forma irredutvel esquerda significa possuir um


determinante com apenas uma coluna.

DEPENDNCIA MULTIVALORADA (DMV)


A DMV uma ampliao da Dependncia Funcional (DF). Na DMV o valor de um
atributo determina um conjunto de valores de um outro atributo.
representada por X -> ->Y (X multidetermina Y ou Y multidependente de X).
DF: {CPF} -> {Nome} Temos somente um nome para cada CPF
DMV: {CPF} -> -> {Dependente} Temos vrios dependentes para cada pessoa

FORMAS NORMAIS
Regra de ouro: "no misturar assuntos em uma mesma Tabela". Por exemplo: na
Tabela Clientes devemos colocar somente campos relacionados com o assunto
Clientes. No devemos misturar campos relacionados com outros assuntos, tais
como Pedidos, Produtos, etc.

Primeira Forma Normal


Uma relao estar na primeira forma normal 1FN, se no houver grupo de dados
repetidos, isto , se todos os valores forem nicos. Em outras palavras podemos
definir que a primeira forma normal no admite repeties ou campos que tenha
mais que um valor.

Uma tabela com esta estrutura apresentaria diversos problemas. Por exemplo se
um casal tiver mais de um filho, teremos que digitar o Nome do Pai e da Me
diversas vezes, tantas quantos forem os filhos. Isso forma um Grupo de Repetio.
Alm do mais pode ser que por erro de digitao o Nome dos Pais no seja
digitado exatamente igual todas as vezes, o que pode acarretar problemas na hora
de fazer pesquisas ou emitir relatrios.
Este problema ocorre porque "Misturamos Assuntos" em uma mesma tabela.
Colocamos as informaes dos Pais e dos Filhos em uma mesma tabela. A
esoluo para este problema simples: Criamos uma tabela separada para a
Informao dos Pais e Relacionamos a tabela Pais com a Tabela Filhos atravs de
um relacionamento do tipo Um para Vrios, ou seja, um casal da Pais pode ter
Vrios Filhos.

As duas tabelas Resultantes da Aplicao da Primeira Forma Normal: Pais e Filhos


esto na Primeira Forma Normal, a Tabela Original, a qual misturava informaes
de Pais e Filhos, no estava na Primeira forma Normal.

Segunda Forma Normal


Ocorre quando a chave Primria composta por mais de um campo. Neste caso,
devemos observar se todos os campos que no fazem parte da chave dependem
de todos os campos que compem a chave. Se algum campo depender somente
de parte da chave composta, ento este campo deve pertencer a outra tabela.
Observe o Exemplo Indicado na Tabela da Figura abaixo:

A Chave Primria Composta formada pela combinao dos Campos


"NmeroDaMatrcula" e "CdigoDoCurso". O Campo Avaliao depende tanto do
CdigoDoCurso quanto do NmeroDaMatrcula, porm o campo DescrioDoCurso,
depende apenas do CdigoDoCurso, ou seja, dado o cdigo do curso possvel
localizar a respectiva descrio, independentemente do NmeroDaMatrcula. Com
isso temos um campo que no faz parte da Chave Primria e depende apenas de
um dos campos que compem a chave Primria Composta, por isso que dizemos
que esta tabela no est na Segunda Forma Normal.
A Resoluo para este problema tambm simples: "Dividimos a Tabela que no
est na Segunda Forma Normal em duas outras tabelas, conforme indicado pela
figura abaixo, sendo que as duas tabelas resultantes esto na Segunda Forma
Normal.

Informaes sobre Avaliaes e Cursos em Tabelas Separadas.


OBS -> A Distino entre a Segunda e a Terceira forma normal, que veremos logo
em seguida, muitas vezes confusa. A Segunda Forma normal est ligada a
ocorrncia de Chaves Primrias compostas.

Terceira Forma Normal


Na definio dos campos de uma entidade podem ocorrer casos em que um
campo no seja dependente diretamente da chave primria ou de parte dela, mas
sim dependente de um outro campo da tabela, campo este que no a Chave
Primria.
Quando isto ocorre, dizemos que a tabela no est na Terceira Forma Normal,
conforme indicado pela tabela da figura abaixo:

Tabela com um Campo dependente de Outro campo que no a Chave Primria.


No est na Terceira Forma Normal.
Observe que o Campo DescrioDoCargo depende apenas do Campo
CdigoDoCargo, o qual no faz parte da Chave Primria. Por isso dizemos que esta
tabela no est na terceira forma normal. A Soluo deste problema tambm
simples. Novamente basta dividir a tabela em duas outras, conforme indicado pela
figura a seguir. As duas tabelas resultantes esto na Terceira Forma Normal.

Com isso podemos concluir que como resultado do Processo de Normalizao,


iremos obter um nmero maior de tabelas, porm sem problemas de redundncia
e inconsistncia dos dados.

Forma Normal De Boyce-Codd


Uma tabela est na BCNF se e somente se estiver na 3FN e todo atributo no
chave depender funcionalmente diretamente da chave primria, ou seja, no h
dependncias entre atributos no chave.