Você está na página 1de 31

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF.

PAULO BORGES
CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

HISTRICO DA ANLISE DE SISTEMAS


No incio dos anos 70 comearam a surgir Metodologias (Tcnicas Estruturadas) para tentar
disciplinar o processo de Programao e Anlise dos Sistemas. Antes disso existiam poucas regras.
Basicamente as regras eram restritas linguagem de programao que se utilizava. Os programadores e
analistas utilizavam mtodos prprios que dificultavam o entendimento do servio por pessoas que no
estavam diretamente envolvidas no projeto e isso fazia com que os projetos demorassem mais tempo,
fossem mais caros e tivessem um custo de manuteno mais elevado.
OBJETIVOS PRIMRIOS DAS METODOLOGIAS

Realizar programas de alta qualidade com comportamento previsvel


Realizar programas que possam ser facilmente modificveis
Simplificar programas e o processo de desenvolvimento de programas
Realizar maior planejamento e controle do processo de desenvolvimento
Acelerar o desenvolvimento de sistemas
Diminuir o custo de desenvolvimento de sistemas

EVOLUO DAS METODOLOGIAS

Programao Estruturada (incio dos anos 70)


Projeto Estruturado (meados dos anos 70)
Anlise Estruturada (final dos anos 70)
Modelagem de Dados (anos 80)
Anlise Essencial / Anlise Orientada Objetos (anos 90)

METODOLOGIAS
Atualmente as metodologias existentes para o desenvolvimento de sistemas so utilizadas para
orientar e ordenar o trabalho do Analista de Sistemas ao longo do processo de desenvolvimento. Uma
boa metodologia deve definir o processo de desenvolvimento, possui modelos para representar abstraes
(diagramas) e possuir diretivas para orientao do trabalho.

CICLO DE DESENVOLVIMENTO (CICLO DE VIDA)


Compreende todas as atividades necessrias para definir, desenvolver, testar operar e manter um
sistema. Os objetivos principais so:

Definir as atividades a serem executadas;


Prover pontos de controle;
Padronizar o processo de desenvolvimento.

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

FASES PRINCIPAIS DO CICLO DE VIDA

LEVANTAMENTO
ANLISE
PROJETO
IMPLEMENTAO (CODIFICAO)
TESTE
IMPLANTAO
MANUTENO

LEVANTAMENTO (ANLISE DE REQUISITOS)

Planejamento
Descrio do sistema atual
Construo do modelo do sistema atual (Modelo Grfico)
Identificao dos problemas do sistema atual
Identificao das necessidades no atendidas pelo sistema atual
Definio dos requisitos para um novo sistema
Formulao de alternativas de soluo
Redao do plano do projeto (custo e prazo da soluo, responsabilidades, requisitos de qualidade,
cronograma)

ANLISE

Atividade para qual o analista deve dedicar a maior parte do seu tempo e esforo
Consiste em definir e modelar o que o sistema ir fazer, independente da tecnologia que ser
utilizada na implementao
feita uma reavaliao do plano de projeto, principalmente dos custos e benefcios quantificados na
fase anterior

PROJETO

Definir a melhor alternativa para implementar, em um dado ambiente computacional, todas as


caractersticas do sistema definidas na Anlise
Os critrios utilizados na escolha das alternativas so: performance, facilidade de uso, facilidade de
alterao, segurana (contra acesso indevidos e perdas acidentais de dados) e confiabilidade

IMPLEMENTAO (CODIFICAO)

Consiste na codificao dos programas e criao dos arquivos de dados

TESTE

Consiste na definio de casos de testes e na realizao de testes unitrios do sistema, testes de


integrao entre os mdulos e testes de aceitao (normalmente feitos com os usurios)

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

IMPLANTAO

Implantar o sistema nas instalaes do usurio


Fornecer os manuais do sistema
Dar carga dos arquivos de dados reais
Treinamento dos usurios

MANUTENO

Todo trabalho executado aps a implantao chamado de manuteno


Manuteno Corretiva corrigir erros
Manuteno Adaptativa adaptar o sistema a uma nova realidade
Manuteno Evolutiva dotar o sistema de novas capacidades

ANLISE DE REQUISITOS

o primeiro passo no modelo do processo. O que devo fazer e no a forma como ser
implementado. Serve como contrato entre o desenvolvedor e o comprador
o processo de aquisio, refinamento e verificao das necessidades do sistema
O objetivo sistematizar o processo de definio dos requisitos, obtendo uma especificao correta e
completa do mesmo para elaborao do Documento de Requisitos

REQUISITOS

um conjunto de necessidades estabelecido pelo cliente/usurio dos sistema que definem a estrutura
e o comportamento do software que ser desenvolvido
Os itens dos requisitos so: dados, processos, restries de negcio, pessoas envolvidas e o
relacionamento entre todos esses itens
Existem dois tipos de requisitos: Funcionais (Diretos) e No Funcionais (Indiretos)
As principais tcnicas para obteno dos requisitos so: Entrevista, Questionrio, Inspeo de
documentos utilizados nos processos existentes, Observao direta, BRAINSTORMING (reunio de
pessoas com diferentes nveis de informao e conhecimento sobre o sistema desejado. Essa
discusso conduzida por um mediador. Diversas cabeas pensam melhor do que uma)
REQUISITOS FUNCIONAIS

Definem a funcionalidade desejada do software, ou seja, definem funes, aes ou operaes que
podero vir a ser realizadas pelo sistema, seja por meio de comandos dos usurios ou pela
ocorrncia de eventos internos ou externos ao sistema
REQUISITOS NO FUNCIONAIS

Referem-se s qualidades globais de um software, tais como: fcil manuteno, segurana,


facilidade de uso, desempenho, baixo custo, funcionalidade, interfaces, tipos de usurios

CONCEITOS BSICOS
3

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

Dado
a representao de um evento.
Informao
o dado processado por um determinado Sistema de maneira que possa ser utilizado para a tomada
de alguma ao/deciso.

DADO

SISTEMA
PROCESSAMENTO

INFORMAO

Computador s armazena dados, gerando informaes.


Exemplos :
Data de nascimento = Dado
Idade = Informao

Notas Prova = Dado


Mdia = Informao

BANCO DE DADOS
Definies

Critrio de abordagem para a integrao de dados e informaes da empresa.


Coleo de dados armazenados e organizados de modo a atender as necessidades dos usurios.
Refere-se especialidade de armazenar, organizar e recuperar os dados num computador e as
ferramentas para faz-lo.

Requisitos para o seu sucesso

Estar baseado num planejamento global;


Ser considerado como um recurso corporativo;
Independer estruturalmente de processos ou aplicaes especficas;
Estar destinado a ser compartilhado por qualquer processo ou aplicao dentro da empresa.

Sistema de Gerncia de Banco de Dados (SGBD)


usual dizer que os termos Banco de Dados e SGBD so sinnimos, porm o Banco de Dados
representa o contedo e o SGBD a ferramenta (software) para manipular o Banco de Dados.
Definimos um SGBD como um conjunto de software para gerenciar (criar, modificar, manipular) um
Banco de Dados e para garantir a integridade e segurana dos dados.

Funes de um SGBD

Integridade dos dados


o Preciso e validade dos dados armazenados.
4

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

Redundncia dos dados


o Evitar a redundncia dos dados.

Controle dos dados


o Dados s podero ser acessados ou modificados por usurios autorizados.

Independncia dos dados


o Permite que o Banco de Dados seja modificado sem necessitar reescrever os programas
que j esto prontos.

Facilidade de uso
o Aplicaes so desenvolvidas mais rapidamente e com mais segurana, aumentando a
produtividade da programao, tornando os programas mais simples e diminuindo o
tempo de manuteno.

Uso compartilhado
o Permitir que vrios usurios acessem o Banco de Dados ao mesmo tempo.

Portabilidade
o Ser independente do Sistema Operacional e de qualquer tipo de equipamento.

Utilitrios
o necessrio que existam ferramentas de apoio ao SGBD.

Desempenho
o O desempenho do SGBD pode ser medido pelo tempo de resposta e pela eficincia no
armazenamento dos dados. O desempenho depende principalmente da arquitetura
empregada e da implementao fsica.

Componentes de um SGBD

Linguagem de definio de dados (DDL)


o a linguagem utilizada para definir o contedo do Banco de Dados, suas tabelas e
seus dados

Linguagem de manipulao dos dados (DML)


o Permite que se faam operaes de acesso, incluso, atualizao e eliminao dos
dados existentes nos Bancos de Dados pelos programas de aplicao.

Dicionrio de Dados
o utilizado para descrever os dados e suas relaes em forma totalmente conceitual e
independente do seu envolvimento nas diversas aplicaes.

Linguagem de consulta (QUERY)


o Permite que o usurio final, com poucos conhecimentos tcnicos, possa obter, de forma
simples, informaes do Banco de Dados.

Utilitrios
o Programas auxiliares que realizam diversas operaes num Banco de Dados tais como:
compactar, reorganizar, recuperar dados, obter cpia do Banco de Dados etc.

Alm dos analistas e programadores existem profissionais que trabalham diretamente com o Banco
de Dados:
Administrador de Dados (AD)
5

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

Planeja o Modelo de Dados;


Coordena a utilizao do Modelo de Dados;
Administra o Banco de Dados.
Administrador do Banco de Dados (DBA)

Gerencia o modelo fsico do Banco de Dados;


Cuida da operacionalidade e eficincia do Banco de Dados.

MODELAGEM DE DADOS
Engenharia da Informao

Metodologia utilizada para o Desenvolvimento de Sistemas cujo enfoque principal o DADO.


Baseia-se no Princpio da Independncia dos Dados, ou seja, os dados possuem estruturas e
caractersticas inerentes a si mesmos, independentes dos processos que os utilizam ou venham a
utilizar.
A idia principal levantar as estruturas de dados que vo dar origem aos Bancos de Dados,
provendo um fcil acesso aos mesmos. Os dados so estveis, no so volteis como os
processos.
O suporte desta metodologia est baseado na tcnica de Modelagem de Dados e seus
relacionamentos, desenvolvida inicialmente por Peter Chen (1976).

Modelo

a representao abstrata e simplificada de um sistema real, com a qual se pode explicar ou testar
o seu comportamento, em seu todo, ou em partes.
ex. Planta baixa de um apartamento
Aeromodelo
Manequim
O Modelo tem como referncia o objeto observado, objeto este que pode ser uma empresa, um
departamento, uma funo da empresa, um sistema , etc.
Modelagem de Dados
Consiste no processo de levantamento de dados, investigao e anlise dos dados e seus
relacionamentos, enfocando quais informaes so necessrias para o funcionamento do objeto
observado, independentemente de como ele funciona. utilizada como meio para obteno das
estruturas de dados que nos levam ao projeto de banco de dados.
Ao longo do processo de modelagem temos 3 tipos distintos de modelos de dados:
Modelo Conceitual

Os objetos(dados), suas caractersticas e relacionamentos tem a representao fiel ao


ambiente observado, independente de quaisquer consideraes fsicas e operacionais;
Representa o objeto observado e suas necessidades presente e futura de informao;
A partir do Modelo Conceitual dever ser possvel derivar diferentes estruturas de
implementao, sem haver necessidade de se alterar o Modelo Conceitual;
Esse modelo est ligado s fases de anlise e nunca s fases de projeto;
Para representar esse modelo utilizamos como tcnica a abordagem EntidadeRelacionamento(E-R) que se destina basicamente ao projeto de Banco de Dados.
Modelo Lgico de Dados
6

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

Os objetos, suas caractersticas e relacionamentos tem a representao de acordo com as regras


de implementao e limitaes imposta por algum tipo de tecnologia. Depende do modelo fsico
da implementao (abordagem relacional / rede / hierrquica);

Utilizam-se conceitos tais como: chaves de acesso, controle de chaves duplicadas,


normalizao, integridade referencial, etc;
Esse modelo est ligado fase de projeto.
Modelo Fsico de Dados

Utiliza as caractersticas fsicas de implementao em funo do Banco de Dados utilizado;


Deve obedecer aos requisitos de desempenho do sistema (tempo de resposta, I/O, espao em
disco, etc.);
Descreve as estruturas fsicas de armazenamento dos dados tais como: tamanho dos campos,
ndices, nomenclaturas, tipo de preenchimento dos campos, etc.

Estrutura Lgica dos Dados


Representa como acontece a conexo entre as diversas entidades que esto relacionadas entre si, mas
no mostra como esta conexo implementada.
Exemplo:
DEPARTAMENTO

EMPREGADO

Para se representar a Estrutura Lgica dos Dados foi introduzido por Bachman uma tcnica de
diagramao chamada de Diagrama de Estrutura de Dados. Essa tcnica tem a finalidade de obter
uma viso grfica do Modelo de Dados. So utilizados os seguintes smbolos:

O retngulo representa um tipo de entidade

A flecha utilizada para relacionar 2 tipos de entidades. Define a


relao existente.

Tipos de Associaes
Relao 1:1
A cada ocorrncia de uma entidade A corresponde uma nica ocorrncia de um outro tipo de
entidade B.
Exemplos:

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

HOMEM

PAS

casamento

presidncia

MULHER

PRESIDENTE

Relao 1:N
Define uma estrutura onde a cada ocorrncia de um tipo de entidade corresponde 0 a N
valores do outro tipo. a relao bsica de estruturas hierrquicas, alm de existir
freqentemente em estruturas rede.
Exemplos:
PAI

SISTEMA
paternidade

componentes-sistema

FILHO

PROGRAMA

Relao M:N
A relao M:N especifica que M ocorrncias de uma certa entidade aponta para N ocorrncias
de outra entidade.
Exemplos:
PROJETO

PEA

projeto-pessoal

MATRIA

pea-fornecedor
matria-aluno

PESSOAL

FORNECEDOR

ALUNO

As relaes M:N so muito comuns, mas no tem suporte direto pelos SGBD mais usuais.
necessrio a sua converso para diversas relaes 1:N com a criao de um novo tipo de entidade
(freqentemente denominada de entidade associativa) que passa a relacionar os tipos de entidades
anteriores.
Exemplos:

PROJETO

PESSOAL

PEA

FORNECEDOR

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

APROPRIAO DE
MO DE OBRA

PEDIDO

MATRIA

ALUNO

TURMA

Modelos de Bancos de Dados


um modo de estruturar logicamente as informaes. Os principais modelos de Banco de Dados
so os seguintes:
Modelo Relacional, Modelo Orientado a Objeto, Modelo Relacional-Objeto, Modelo Rede e
Modelo Hierrquico
Modelo Relacional

Utiliza a teoria dos conjuntos como base formal para a descrio de Modelo
de Dados
Se baseia na lgebra relacional e no clculo relacional
Os dados so estruturados em tabelas (relaes) que so formadas de linhas
(tuplas) e colunas (atributos)
Estrutura de ndices separadas dos dados
Relaes so normalizadas
Integridade referencial mantida pelas aplicaes/SGBD
Permite auto-relacionamento

So exemplos de Bancos de Dados Relacional : DB2, SYBASE, ORACLE,


INFORMIX, ACCESS, SQL SERVER, FIREBIRD, POSTGRESQL, MYSQL,
PARADOX, INGRES, INTERBASE

MODELO ENTIDADE-RELACIONAMENTO (MODELAGEM CONCEITUAL)

A Lei do Mundo
O mundo est cheio de coisas que possuem caractersticas prprias e que se relacionam entre si.

A abordagem Entidade-relacionamento se baseia, conceitualmente, no que est descrito acima. Em


funo disso podemos definir os conceitos necessrios dentro da abordagem E-R:

Conceitos Bsicos
na Lei do Mundo

Abordagem do Modelo E-R


(Modelagem de Dados)
9

Abordagem Orientada a Objetos


(Modelagem da Informao)

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

Conjunto de objetos ou elementos


individualizados, semelhantes
Individualizao de objetos ou
elementos

Entidades

Classes

Instncias ou ocorrncias

Objetos

Caractersticas prprias
Inter-relacionamento de objetos

Atributos

Atributos

Relacionamentos

Associaes

ENTIDADES
So as coisas que existem no negcio, ou seja, descrevem o negcio em si e precisamos
armazenar dados a seu respeito.
a representao de um conjunto de informaes de mesma caracterstica e suas instncias
(ocorrncias) representam o conjunto dessas caractersticas (dados).
exemplo: Dado o texto abaixo, extrair as Entidades existentes:
Uma Clnica Mdica necessita controlar as consultas mdicas realizadas e marcadas pelos seus
mdicos e fazer o acompanhamento dos pacientes atendidos.
Soluo:
Consulta Mdica (data da consulta, mdico, paciente)
Mdico
Paciente

ENTIDADES FRACAS
Uma entidade chamada de fraca se a sua existncia depender de outra entidade (chamada de entidade
forte).

BANCO

Entidade Forte

1,1
POSSUI

1,N
10

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

AGNCIA

Entidade Fraca

ENTIDADES ASSOCIATIVAS OU AGREGADAS


Resulta da associao entre duas ou mais entidades sendo sua identificao feita atravs das entidades
que ela associa.
exemplo:
POSSUI
PROJETO

1,M

1,N

FUNCIONRIO

Em funo do relacionamento M x N surge ento a entidade ALOCAO.

PROJETO

ALOCAO

FUNCIONRIO

cdigo projeto
matrcula funcionrio

ATRIBUTOS
So as caractersticas inerentes a cada um dos objetos observados (entidades). Os atributos
possuem valor.
Atravs da anlise dos atributos, podemos enquadrar um objeto como pertencente a um
determinado conjunto distinto.
exemplos:
PESSOA
Escolaridade = nvel superior
Data Nascimento = 19/03/47
Cidade = Nova Friburgo
CARRO
Placa = VFC1234
Marca = Fiat
Modelo = Palio EX
RELACIONAMENTOS
o acontecimento que liga dois objetos no mundo real. Atravs do mapeamento dos
relacionamentos, podemos demonstrar como um objeto se comporta em relao aos demais, qual o seu
grau de dependncia de outros objetos e qual a associao de dados existente entre eles.
11

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

Os relacionamentos podem ser basicamente:


Entre instncias de objetos de diferentes tipos;

Entre instncias de um mesmo tipo de objeto (auto-relacionamento ou


relacionamento recursivo)
exemplo:
PESSOA

CARRO

Temos que identificar qual o relacionamento entre os


objetos. Esse relacionamento se expressa atravs de uma
construo verbal. Tambm temos que caracterizar o
relacionamento (apontar qual a sua cardinalidade).

PESSOA
1,1
PROPRIETRIA
0,N
CARRO

0,1
PESSOA

CASADA COM

0,1

GRAU OU CARDINALIDADE

PESSOA

PESSOA

1,1

DIRIGE
DIRIGE

0,N

DIRIGIDO

CARRO

CARRO

PETER CHEN

JAMES MARTIN
12

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

RELACIONAMENTO 1:1 (UM para UM)


1,1

1,1

MARIDO

ESPOSA
CASADO

RELACIONAMENTO 1:N (UM para MUITOS)

1,1

1,N

EMPRESA

FILIAL
POSSUI

RELACIONAMENTO M:N (MUITOS para MUITOS)

1,M

1,N

ATLETA

ESPORTE
PRATICA

Exerccio:
Fazer o Diagrama Entidade-Relacionamento considerando as seguintes Entidades:

ALUNO
DISCIPLINA
PROFESSOR
CURSO

Observaes:
1 Uma disciplina pertence a somente um curso;
2 Um aluno pode cursar diversas disciplinas;
3 Um professor pode lecionar diversas disciplinas e uma disciplina pode ser lecionada por
diversos professores;
4 Considerar a existncia de 4 possveis notas;
5 Considerar freqncia como sendo somente um indicativo de aprovao/reprovao.

13

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

Soluo do Exerccio:

1,M

CURS
CURSA
A

ALUNO

1,N
DISCIPLINA

1,N
ALUNO / DISCIPLINA

PROFESSOR / DISCIPLINA

Obs.: Nesta soluo no possvel identificar qual o professor que


ministra a disciplina para um determinado aluno. Na verdade existe um
relacionamento entre mltiplas entidades. No caso um relacionamento
ternrio (ALUNO / DISCIPLINA / PROFESSOR).

MINISTRA

1,M
PROFESSOR

14

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

ALUNO

1,M

1,N

DISCIPLINA

1,1

PROFESSOR

M
ALUNO

N
CURS
CURSA

DISCIPLINA

M
CD. ALUNO
CD. DISCIPLINA
CD. PROFESSOR
LECIONA

PROFESSOR

ALUNO

1,M

1,N

15

DISCIPLINA

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

. NOTAS tambm se relaciona com


ALUNO / DISCIPLINA
N

NOTAS

Obs.: NOTAS e FREQUNCIA no tem sentido sozinho, so apenas atributos do relacionamento


ALUNO / DISCIPLINA (no existem informaes a serem guardadas em relao NOTAS e
FREQUNCIA)

ALUNO

CURSA

DISCIPLINA

CD. ALUNO
CD DISCIPLINA
CD. PROFESSOR
NOTA1,2,3,4
FREQUNCIA
LECIONA

1,N

TEM

PROFESSOR

16

1,1

CURSO

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

Obs.: Como sabemos quantas notas existem, apesar de fugir da normalizao, adotamos essa soluo
(redundncia controlada).

No exerccio anterior, criamos uma estrutura chamada de Agregao. A Agregao acontece quando
existe um relacionamento (M:N) entre entidades e por sua vez este relacionamento se relaciona com uma
outra entidade. Grficamente podemos representar essa situao de duas maneiras:

17

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

Exerccios:
1) Considerando as entidades:
FUNCIONRIO
PROJETO
FUNO
Temos o seguinte:
Um funcionrio pode trabalhar em vrios projetos simultaneamente e cada projeto pode
ter vrios funcionrios. Dependendo do projeto em que o funcionrio atue, o funcionrio pode ter
funes distintas. Todo funcionrio tem um gerente que tambm funcionrio.
Representar o Diagrama E-R.

2) Considerando as entidades:
EMPRESA
PESSOA
DEPARTAMENTO
Temos o seguinte:
A empresa formada por vrias pessoas que podem ser do tipo: executivos, acionistas,
funcionrios. Os funcionrios esto alocados pelos diversos departamentos da empresa.
Representar o Diagrama E-R.

18

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

Soluo dos exerccios:


1)

FUNCIONRIO

1,M

1,N

PROJETO

ATUA
1,M

Aqui eu no consigo identificar a funo que o


funcionrio exerce pois a mesma depende do
projeto em que ele est trabalhando.

EXERCE

1,N
FUNO

1,1
M
FUNCIONRIO

1,N

ATU
ATUA
A

N
PROJETO

M
EXERCE
TEM GERENTE
1

19

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

FUNO

2)

EMPRESA

1,1

1,N

PESSOA

FORMADA POR
1,1

PERTENCE

FUNCIONRIOS

EXECUTIVOS

ACIONISTAS

1,N

1,1
1,N
DEPTO

No exerccio acima temos uma estrutura chamada de Generalizao-Especializao (GEN-SPEC). Nesse


caso, Funcionrios, Executivos e Acionistas so especializaes de Pessoa (que a generalizao).
Pessoa tambm pode ser chamada de Super-Tipo equanto que as especializaes so chamadas de SubTipo. A implementao fsica desse conceito pode ser feita atravs de um atributo que indique o tipo de
pessoa (identificador).

20

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

Modelo Lgico
A partir do Modelo Conceitual elaborado atravs do Diagrama E-R, obteremos o Modelo Lgico
aplicando um conjunto de regras bem definidas. Essas regras atuaro basicamente em dois grupos
distintos de elementos: as estruturas de relacionamento, agregao e especializao de um lado e as
entidades e seus atributos de outro.
O Modelo Lgico pode ser obtido atravs dos seguintes passos:
1 - Obter o Modelo Conceitual
2 - Definir o tipo de implementao (Rede, Relacional, O-O)
3 - Aplicar as regras de derivao especficas
4 - Adaptar o modelo s necessidades (redundncia, desnormalizao, etc. So
artifcios criados para resolver problemas de desempenho, flexibilidade, independncia e segurana)
Modelo Relacional ou Abordagem Relacional
Proposto por Edgard F. Codd (anos 70) est baseado na Teoria dos Conjuntos (lgebra
Relacional). As operaes utilizadas para manuseio dos conjuntos podem ser utilizadas sobre estruturas
de dados. O Modelo Relacional utiliza o conceito de tabelas, ou seja, a tabela a viso tabular ou plana
representativa de uma relao. O termo Relacional advm do fato de as relaes serem implementadas
atravs de uma estrutura de dados relacional.
Os dados so representados em forma de tabelas (relaes) atravs de linhas (tuplas) e colunas
(domnios ou atributos).
Vantagens da Abordagem Relacional
- Independncia total dos dados
- Viso mltipla dos dados
- Reduo na atividade de desenvolvimento / manuteno
- Melhoria na segurana dos dados
Conceitos
- Chaves Candidatas
repetidas (tuplas).

So as colunas de uma tabela que podem garantir que no haver linhas

- Chave Primria
Dentre as chaves candidatas, a coluna escolhida (ou mais de uma coluna)
que identifica univocamente uma tupla.
- Chave Estrangeira
uma chave, portanto identifica de modo nico uma tupla. Ela no est em
seu local original (local de origem) mas sim em um local para onde foi migrada (no estrangeiro). Ela
tem um local de origem e l possui suas caractersticas originais ( uma chave primria).
atravs da chave estrangeira que se estabelece o relacionamento entre duas
tabelas.
Obs.: No ambiente relacional uma tabela acessvel por qualquer campo (atributo)
independente deste ser declarado como chave ou no. Para isso usamos o recurso do ndice que um
recurso fsico visando otimizar a recuperao via um mtodo de acesso. Alguns autores chamam o ndice
de Chave Secundria.

exemplos:
21

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

1) Supondo uma tabela que tivesse os seguintes atributos:


nome do eleitor, data de cadastramento, junta eleitoral, identidade, cpf, ttulo
de eleitor, data de nascimento, endereo, etc.
Poderamos utilizar para chaves candidatas os seguintes atributos: identidade, cpf ou
ttulo de eleitor. Porm, devido as caractersticas da tabela, o mais apropriado que a chave primria
fosse o atributo ttulo de eleitor.
2) Dado o Diagrama E-R abaixo, atravs do conceito de chave estrangeira ser
estabelecido o relacionamento descrito:

1,1

1,N

AUTOR

LIVROS
PUBLICA

CDIGO AUTOR
NOME
ENDEREO

CDIGO LIVRO
TTULO
EDITORA
PREO

Para efetivarmos o relacionamento acima, inserimos na tabela LIVROS o atributo


CDIGO AUTOR que ser considerado como uma chave estrangeira.

AUTOR

1,1

1,1

LIVROS

No exemplo acima podemos colocar o atributo CDIGO AUTOR na tabela LIVROS


ou o atributo CDIGO LIVRO na tabela AUTOR. O efeito seria o mesmo. A implementao ir
definir que soluo adotar.

Derivao do Modelo E-R para o Modelo Lgico (Modelo Relacional)


Regras:
22

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

1) Mapeamento das Entidades


Toda Entidade transforma-se em uma tabela.
2) Mapeamento dos Relacionamentos
a) Relacionamento 1:N (Entidades distintas)

1,1

1,N

DEPTO

FUNCIONRIO
TEM

A Entidade cuja cardinalidade N, carrega o identificador (chave primria) da Entidade


cuja cardinalidade 1.
b) Relacionamento 1:N (envolvendo auto-relacionamento)

1,N

FUNCIONRIO

TEM GERENTE

1,1

Matrcula

Nome

Matrcula Gerente

100
200
300
400
500

Carlos
Maria
Ana
Joo
Irene

200
200
500
500
500

Incluir a chave primria da Entidade na prpria Entidade como chave estrangeira.

c) Relacionamento 1:1 (Entidades distintas)

FUNCIONRIO

1,1

1,1

CHEFIA
23

DEPTO

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

As Entidades envolvidas neste relacionamento carregaro o identificador da outra


conforme a convenincia do projeto.

d) Relacionamento 1:1 (envolvendo auto-relacionamento)

1,1

PESSOA

CASADA COM

1,1

Cdigo Pessoa

Nome

Cdigo Cnjuge

100
200
300
400
500
600

Carlos
Maria
Ana
Joo
Irene
Jos

200
100
600
500
400
300

Incluir a chave primria da Entidade na prpria Entidade como chave estrangeira.


e) Relacionamento M:N (Entidades distintas)

1,M

1,N

ALUNO

DISCIPLINA
CURSA

O relacionamento torna-se uma tabela, carregando os seus prprios atributos (se houver) e
os identificadores das Entidades que se relacionam.
f) Relacionamento M:N (envolvendo auto-relacionamento)

0,M
24

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

DISCIPLINA

PR-REQUISITO

0,N

Cdigo Disciplina Nome

Cdigo Disciplina

Cdigo Pr-Requisito

001
002
003
004
005

002
003
004
004

001
002
003
005

Anlise I
Anlise II
Anlise III
Anlise IV
Projeto I
Tabela Disciplina

Tabela Pr-Requisito

O relacionamento torna-se uma tabela, carregando os seus prprios atributos (se houver) e
o identificador da Entidade que se auto-relaciona.
g) Estrutura de Generalizao-Especializao

FUNCIONRIO

ENGENHEIRO

VENDEDOR

MOTORISTA

O usual criar um atributo na Entidade supertipo que caracterize os diversos subtipos


existentes. (no exemplo acima poderia ser o atributo cargo )

h) Estrutura de Agregao

AUTOR

TRABALHA
25

EDITORA

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

1
PUBLICA

LIVROS

As agregaes devem ser analisadas em 2 etapas:


- A etapa relativa ao relacionamento M:N que d origem a uma nova tabela (Entidade);
- A etapa relativa ao relacionamento entre essa nova Entidade e a outra Entidade.
Aplicam-se nestas duas etapas as regras j vistas anteriormente.
No exemplo acima a tabela Livros receberia a chave primria da tabela Trabalha que
formada pelos atributos Cdigo Autor e Cdigo Editora.

Normalizao
Processo formal passo passo que examina os atributos de uma entidade (tabela) com o
objetivo de evitar anomalias observadas na incluso, alterao e excluso de tuplas especficas. um
processo necessrio implementao de estruturas relacionais.
Vamos considerar um formulrio de pedido que tivesse os atributos descritos abaixo e
em funo desses atributos aplicar as regras de normalizao.
- Nmero do Pedido
- Prazo de Entrega
- Nome do Cliente
- Endereo do Cliente
- Cidade do Cliente
- UF do Cliente
- CGC do Cliente
- Inscrio Estadual do Cliente
- Cdigo do Produto
- Fornecedor do Produto
- Unidade do Produto
- Quantidade do Produto

Esses atributos se repetem no formulrio.


26

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

- Descrio do Produto
- Valor Unitrio do Produto
- Valor Total do Produto
- Valor Total do Pedido
- Cdigo do Vendedor
- Nome do Vendedor
- Quantidade do Produto no Estoque

Primeira Forma Normal (1FN - Grupos Repetitivos)


Uma Tabela (Entidade) est na 1FN se:
- As tuplas da tabela so unvocas, ou seja, o contedo da chave primria no
pode se repetir;
- As tuplas da tabela no contm itens repetitivos;

Para se obter entidades na 1FN necessrio decompor cada entidade no normalizada


em tantas entidades quantos forem o nmero de conjuntos de atributos repetitivos.
No nosso exemplo teramos a seguinte soluo para a 1FN:
Entidade Pedido
- Nmero do Pedido
(Chave Primria)
- Prazo de Entrega
- Nome do Cliente
- Endereo do Cliente
- Cidade do Cliente
- UF do Cliente
- CGC do Cliente
- Inscrio Estadual do Cliente
- Valor Total do Pedido
- Cdigo do Vendedor
- Nome do Vendedor

Entidade Item de Pedido


- Nmero do Pedido
(Chave Primria)
- Cdigo do Produto
(Chave Primria)
- Fornecedor do Produto
- Unidade do Produto
- Quantidade do Produto
- Descrio do Produto
- Valor Unitrio do Produto
- Valor Total do Produto
- Quantidade do Produto no Estoque
A representao do Diagrama Entidade-Relacionamento ficaria assim:

PEDIDO

1,1

1,N
POSSUI

Anomalias da 1FN
27

ITEM PEDIDO

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

Incluso
. S possvel incluir um novo cliente caso ele faa um pedido.
. S possvel incluir um novo produto caso ele pertena a um item de
pedido.
. Se um mesmo cliente for includo em um outro pedido com dados
diferentes, as informaes desse cliente ficaro diferentes nos diversos
pedidos.
Excluso
. Se excluirmos um determinado pedido, perderemos as informaes do
cliente e do produto associados ao pedido.
Atualizao
. Se quisermos alterar informaes de um cliente ou de algum produto,
teremos que atualizar diversas tuplas da tabela.

Segunda Forma Normal (2FN - Dependncias Parciais de Chaves Concatenadas)

Uma Tabela (Entidade) est na 2FN se est na 1FN e cada um dos seus atributos no
pertencentes chave primria for dependente parcialmente dessa chave (isso ocorre quando a chave
primria fomada por mais de um atributo).
No nosso exemplo, na entidade Item de Pedido, os atributos Fornecedor do Produto /
Unidade do Produto / Descrio do Produto e Valor Unitrio do Produto s dependem de Cdigo do
Produto, logo sugir uma nova entidade chamada Produto com os seguintes atributos:

Entidade Produto
- Cdigo do Produto
(Chave Primria)
- Fornecedor do Produto
- Unidade do Produto
- Descrio do Produto
- Valor Unitrio do Produto
- Quantidade do Produto no Estoque
Com isso a entidade Item de Pedido ficou com os seguintes atributos:
Entidade Item de Pedido
- Nmero do Pedido
(Chave Primria)
- Cdigo do Produto
(Chave Primria)
- Quantidade do Produto
- Valor Total do Produto

A representao do Diagrama Entidade-Relacionamento ficaria assim:

PEDIDO

1,1

1,N
POSSUI
28

ITEM PEDIDO

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

1,N
CONTM
1,1
PRODUTO

Anomalias da 2FN
Incluso
. S possvel incluir um novo cliente caso ele faa um pedido.
. Se um mesmo cliente for includo em um outro pedido com dados
diferentes, as informaes desse cliente ficaro diferentes nos diversos
pedidos.
Excluso
. Se excluirmos um determinado pedido, perderemos as informaes do
cliente associado ao pedido.

Atualizao
. Se quisermos alterar informaes de um cliente teremos que atualizar
diversas tuplas da tabela.

Terceira Forma Normal (3FN - Dependncias Transitivas)

Uma Tabela (Entidade) est na 3FN se est na 2FN e se nenhum dos seus atributos
possui dependncia transitiva em relao a outro atributo que no participe da chave primria.
No nosso exemplo, na entidade Pedido, o atributo Nome do Vendedor depende do
Cdigo do Vendedor que no caso no pertence chave primria, logo surgir uma nova entidade
chamada de Vendedor. O mesmo raciocnio se aplica s informaes do cliente surgindo ento uma
nova entidade chamada de Cliente.

Entidade Vendedor
- Cdigo do Vendedor
- Nome do Vendedor

(Chave Primria)

Entidade Cliente
- Cdigo do Cliente
(Chave Primria)
- Nome do Cliente
- Endereo do Cliente
- Cidade do Cliente
- UF do Cliente
- CGC do Cliente
- Inscrio Estadual do Cliente
29

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

Com isso a entidade Pedido ficou com os seguintes atributos:

Entidade Pedido
- Nmero do Pedido
(Chave Primria)
- Prazo de Entrega
- Cdigo do Cliente
- Cdigo do Vendedor
- Valor Total do Pedido

A representao do Diagrama Entidade-Relacionamento ficaria assim:

PEDIDO

1,1

0,N

0,N

1,N

ITEM PEDIDO

POSSUI

TIRA

1,N
CONTM

1,1

1,1
FAZ

VENDEDOR

PRODUTO
1,1
CLIENTE

Anomalias da 3FN
Incluso
. Foram resolvidas as anomalias da 2FN
Excluso
30

BANCO DE DADOS - UNIVERSIDADE ESTCIO DE S - PROF. PAULO BORGES


CURSO DE GRADUAO TECNOLGICA ANLISE E DESENVOLVIMENTO DE SISTEMA

. Foram resolvidas as anomalias da 2FN


Atualizao
. Agora s precisamos atualizar o respectivo cliente que teve alguma
alterao nas suas informaes.
observao: Na entidade Item de Pedido o atributo Valor Total Produto
depende do atributo Quantidade do Produto, logo est em desacordo com a regra para a 3FN. Esse
atributo s foi colocado para melhorar a performance na recuperao da informao consolidada.
(desnormalizao controlada)
Existem ainda outras formas normais, a saber: Quarta Forma Normal, Quinta Forma
Normal e a Forma Normal de Boyce/Codd.

31