Você está na página 1de 61

MODELAGEM DE DADOS

ÍNDICE

ASSUNTO PÁGINA
1- INTRODUÇÃO........................................................................................................ 4
1.1- Modelagem de dados......................................................................................4

1.2- Definições.........................................................................................................4

2- CUIDADOS / ERROS A SEREM EVITADOS.......................................................10


2.1- Redundância..................................................................................................10

2.2- Dificuldade de acesso aos dados................................................................10

2.3- Anomalias de acesso concorrente...............................................................10

2.4- Problemas de segurança..............................................................................10

2.5- Problemas de Integridade.............................................................................10

3- SISTEMA GERENCIADOR DE BANCO DE DADOS (SGBD).............................11


3.1- Definição.........................................................................................................11

3.2- MS-Access......................................................................................................12

4- ENTIDADE-RELACIONAMENTO (E-R)...............................................................12
4.1- Definição.........................................................................................................12

4.2- Cardinalidade.................................................................................................13

4.3- Chave primária...............................................................................................13

4.4- Chave Candidata............................................................................................13

4.5- Chave Estrangeira.........................................................................................13

4.6- DER................................................................................................................. 14

5- O MODELO RELACIONAL...................................................................................16

6- CONCEITOS ........................................................................................................ 19
6.1- Domínio.......................................................................................................... 19

6.2- Cliente-Servidor.............................................................................................19

6.3- Cliente.............................................................................................................19

6.4- Servidor.......................................................................................................... 19
1
MODELAGEM DE DADOS

6.5- SQL (Structure Query Language).................................................................19

6.6- Índices............................................................................................................ 19

6.7- Arquitetura Multicamadas.............................................................................20

6.8- Processamento Distribuído..........................................................................20

6.9- Banco de Dados Distribuidos.......................................................................20

6.10- Protocolo de Comunicação........................................................................21

6.11- NET8..............................................................................................................21

7- TIPOS DE BANCOS DE DADOS.........................................................................22

8- DICIONÁRIO DE DADOS.....................................................................................23
8.1- Definição.........................................................................................................23

8.2- Notação de dicionário de dados..................................................................23

9- NORMALIZAÇÃO.................................................................................................25
9.1- Objetivos do Projeto de Banco de Dados...................................................25

9.2- Regras de Normalização...............................................................................26

9.3- Entidades Normalizadas...............................................................................27

9.4- Primeira Forma Normal.................................................................................27

9.5- Segunda Forma Normal................................................................................28

9.6- Terceira Forma Normal.................................................................................30

9.7- Consolidação da Lista de Entidades...........................................................30

9.8- Resumo das Formas Normais......................................................................31

9.9- Mais formas normais ....................................................................................31

9.10- Quarta Forma Normal..................................................................................32

9.11- Quinta Forma Normal..................................................................................34

9.12 - De Forma Esquemática:.............................................................................35

10- MODELO LÓGICO E PROJETO FÍSICO DO B.D.............................................36

11- ALGEBRA RELACIONAL..................................................................................37

2
MODELAGEM DE DADOS
12- FERRAMENTAS CASE.....................................................................................39

13- PROPRIEDADES DOS CAMPOS (Cenário Access)......................................39

14 - ESTUDOS DE CASO.........................................................................................43
14.1 - Controle Acadêmico..............................................................................44

14.2 - Conta Bancária.......................................................................................45

14.3 - Centro de Distribuição..........................................................................48

14.4 - Shopping de Preços..............................................................................49

14.5 - Controle de Veículos.............................................................................50

14.6 - Mapa de Faturamento............................................................................51

14.7 - Estacionamento.....................................................................................52

14.8 - Vídeo Locadora......................................................................................53

15 - SQL e FUNÇÕES PARA ACCESS....................................................................54

3
MODELAGEM DE DADOS

1- INTRODUÇÃO

1.1- Modelagem de dados

A finalidade de um modelo de dados é criar uma representação lógica da estrutura de dados


que é utilizada na criação de um banco de dados e reflete a necessidade do Cliente, obtida
através do entendimento dos processos a serem automatizados. (escopo do projeto)
Modelagem: Determinar quais objetos devem ser representados no banco de dados e quais
propriedades desses objetos devem ser incluídas. Pode envolver toda a organização, uma
divisão, departamento ou um único tipo de objeto.

1.2- Definições

Entidade é um objeto do mundo real. É representada pôr um conjunto de atributos.

Um conjunto-entidade é um conjunto de entidades do mesmo tipo

Atributo é o que compõe uma entidade. Identificam e caracterizam as entidades e


relacionamentos, explicando suas propriedades.

Dado é todo atributo de uma entidade que é armazenado em um meio

Informação
- É um conjunto de dados que após processado responde a uma necessidade do usuário.
- Dados coletados, organizados, ordenados, aos quais são atribuídos significados e
contexto.
- A informação pode ser entendida como sendo o resultado do tratamento de um conjunto
de dados, em que dado é considerado um elemento da informação, que tomado
isoladamente não possui valor algum. É da associação de vários dados que se transmite um
determinado conhecimento, ou seja, o tratamento e a estruturação dos dados geram uma
informação
- Vivemos a era do excesso de informação. Graças aos milagres da tecnologia do século
XX, nós, habitantes da terra, dispomos de acesso instantâneo a mais informação do que
podemos tratar.
- A informação é um fator de produção importante quando se observa a busca de vantagem
competitiva, os fatores de produção tradicionais não garantem a vantagem competitiva.

4
MODELAGEM DE DADOS

- A informação, enquanto fator de produção, permite às empresas acrescentar valor ao seu


produto desde sua criação, passando pelo fornecimento e indo até à prestação de serviços
após a venda. (...) através da informação as empresas interagem e participam de uma rede
de produção global no desenvolvimento e no fornecimento de um determinado produto.

Transforma-se dados em informação agregando-se valor de diversas maneiras:


- Contextualização: saber em qual ambiente/situação o dado se aplica.
- Categorização: definir as unidades de análise ou componentes essenciais dos dados.
- Cálculo: aplicar a matemática e/ou estatística para análise dos dados.
- Correção: eliminar os erros.
- Condensação: resumir, sintetizar os dados

Conhecimento:
- Conhecimento é uma mistura fluida de experiência condensada, valores e informação
contextual que proporciona uma estrutura para avaliação e incorporação de novas
experiências e informações.

Conhecimento na Organização:
- Registrado: Costuma estar embutido não só em documentos ou repositórios, mas também
em rotinas, processos, práticas e normas organizacionais.

- Não Registrado: memória dos especialistas

INFORMAÇÃO X CONHECIMENTO:
- Comparação: de que forma as informações relativas a esta situação se comparam a outras
situações conhecidas?
- Conexões: quais as relações deste novo conhecimento com outro conhecimento já
acumulado?
- Conseqüências: que implicações estas informações trazem para a tomada de decisão e
novas ações?
- Conversação: o que outras pessoas pensam desta informação?

5
MODELAGEM DE DADOS

Conhecimento em ação:

- Experiência: Contratação de especialistas


- Verdades fundamentais: a experiência transforma as idéias sobre o que deve acontecer
em conhecimento daquilo que efetivamente acontece.
- Complexidades: a experiência amplia a capacidade de se lidar a complexidade.
- Discernimento: julgar novas situações e informações à luz daquilo que já é conhecido.
- Normas práticas: guias flexíveis para a ação desenvolvida por meio de tentativa e erro por
meio de experiências e observação.
- Valores e Crenças: as organizações são constituídas de pessoas com valores e crenças

O Conhecimento como ativo corporativo:

- Vantagem Competitiva Sustentável: são as descobertas de grandes idéias juntamente com


a descoberta de milhões de pequenas idéias que possibilitam o crescimento econômico
persistente.
- Porte Corporativo e Gestão do Conhecimento: compartilhamento de soluções dentro da
empresa.
- Redes de Computador e Intercâmbio do Conhecimento: os recursos de groupware e

Internet e intranets, podem interligar pessoas que precisam compartilhar conhecimento a

distância.

Informação e definição da estratégia

Definição da estratégia da empresa quando os objetivos, metas, fatores críticos de sucesso,


ameaças externas são dimensionados a partir da coleta e processamento de dados
relacionados com informação, salientando-se a busca de informações sobre competidores,
clientes, fornecedores, ambiente do negócio, contexto sócio, político e econômico.

Informação e Execução da Estratégia

O trabalho de coleta, organização, processamento e análise da informação deve ser


norteado pela estratégia de negócios e pelos fatores críticos de sucesso da organização e
deve buscar informações tanto em fontes formais quanto informais, internas e externas, no
sentido de possibilitar agregar valor à informação coletada, produzindo o que vem sendo
denominado de “Inteligência”.

6
MODELAGEM DE DADOS

Sistemas de Informação

Os sistemas de informação se desenvolvem em uma empresa segundo duas dimensões: os


componentes da empresa e seu nível de decisão. Os componentes da empresa
correspondem aos diversos setores que executam as diferentes funções necessárias ao
funcionamento da empresa, como, por exemplo: setores de pesquisa, produção, marketing,
finanças e pessoal. Os níveis de decisão obedecem à hierarquia existente na empresa e são
conhecidos como nível estratégico, tático e operacional.

Sistema de Informação Gerencial é um método organizado para prover o administrador de


informações passadas, presentes e futuras sobre a operação interna e ambiente. Ele dá o
suporte à função de planejamento, controle e operação de uma organização, fornecendo
informação uniforme para assistir à tomada de decisão.

A gestão estratégica de sistemas de informação abrange desde a concepção e maneira


como um projeto de informatização é conduzido até a avaliação de como os dados ali
tratados se integram nos demais sistemas da empresa e se eles representam aumento de
competitividade pela sua relevância ou contexto em que estão inseridos, ou se
simplesmente são uma repetição de processos rotineiros e de baixo valor estratégico. A
gestão estratégica de sistemas de informação se preocupa desde o planejamento,
desenvolvimento, manutenção e feedback sobre o processo levando a re-planejamentos, o
que fecha o ciclo.

A primeira fase da engenharia da informação corresponde ao planejamento estratégico de


informações, etapa inicial onde se estabelecem os propósitos para que possamos
implementar sistemas computadorizados estáveis e de apoio à tomada de decisões. É
necessário que o planejamento estratégico de informações apóie o planejamento estratégico
empresarial.. Caso não haja essa uniformidade de conceitos para se atingir os propósitos
globais da empresa, com certeza sucederá um desencontro de objetivos desafinados,
desintegrados e sem nenhuma interação.

7
MODELAGEM DE DADOS

MISSÃO DA EMPRESA

PROBLEMAS
OBJETIVOS DA
CLASSES DE
EMPRESA
OBJETOS

FATORES CRITÍCOS NECESSIDADE DE


DE SUCESSO INFORMAÇÃO

OBJETIVOS DA AREA ENTIDADES


FUNCIONAL (METAS
E DESAFIOS)

Figura 1 - Necessidade de informação no contexto empresarial

O planejamento estratégico dos sistemas de informações deve ser elaborado contemplando


os aspectos relacionados aos elementos do negócio, e a aplicação de tecnologias de
informática. Deve-se considerar a situação atual dos negócios da empresa e de sua
estrutura de informática e também os objetivos estratégicos da empresa e as inovações
tecnológicas que possam ser úteis para a implementação dessas estratégias.

Para alcançar o sucesso de um projeto de planejamento estratégico, estabelece-se uma


estrutura organizacional interdisciplinar de trabalho e de acompanhamento, que será
responsável pela execução das atividades e pelo acompanhamento e aprovação do plano. A
missão da empresa, seus objetivos, desafios e suas metas a níveis estratégicos, tático e
operacional, e seus respectivos fatores críticos de sucesso, todos deverão ser definidos e de
consenso geral dos executivos.

Posteriormente, as soluções de arquitetura de dados, sistemas e plataformas se definem


com base nas estratégias gerenciais que fornecerão os subsídios para o desenvolvimento
do plano.

Durante a etapa industrial, o fator de riqueza era determinado pela posse dos meios
necessários para possibilitar a transformação das matérias-primas em mercadorias (o
capital); já na etapa pós industrial o fator de riqueza passa a ser determinado pela posse da
informação.
8
MODELAGEM DE DADOS

Banco de dados é uma coleção de dados sobre um assunto visando atender a finalidades
especificas, assim, um conjunto de dados, chamado Banco de Dados, contém dados sobre
um empreendimento particular.
Assim uma agenda ou uma relação de alunos de um curso podem ser entendidos como
sendo banco de dados.
Deve ser organizado de modo a podermos consultar e atualizar de forma fácil e rápida.

Tabelas são como arquivos que armazenam dados com um assunto específico. Pôr
exemplo os dados dos alunos do curso de ACCESS. As tabelas apresentam os dados em
linha e colunas. Cada linha corresponde a um registro desta tabela e cada coluna a um
campo.

Campos são estruturas que guardam dados. Ex.: O número da conta corrente de um
cliente

Registro é o conjunto de todos os campos, ou seja, é uma informação completa sobre


determinado assunto.

Consulta é o ato de pesquisar uma informação no Banco de Dados. (recuperação de


dados)

Dynaset é o conjunto de registros que respondem a uma consulta, é a folha de respostas à


consulta.

Relatório é a forma de apresentar os dados de maneira impressa. (Também é possível que


visualizemos na tela, uma prévia de impressão)

Tabela Básica incorpora uma ou mais colunas de propriedades de um objeto e contem a


chave primária que identifica de maneira unívoca esse objeto como uma entidade de dados.

Tabela de Relação (ou Associativa) fornece vínculos entre outras tabelas e não é básica
porque não incorpora propriedades de um objeto.

9
MODELAGEM DE DADOS

2- CUIDADOS / ERROS A SEREM EVITADOS

2.1- Redundância
O mesmo elemento de informação pode estar duplicado em diversos lugares (arquivos)
Exemplo: Nome e Endereço do cliente nos registros de conta corrente e de conta de
poupança

Esta redundância eleva o custo de armazenagem e acesso além de levar a


inconsistência de dados, o que significa que varias copias do mesmo dado podem ser
diferentes.
Exemplo: Altera-se o endereço do cliente em apenas um arquivo.

2.2- Dificuldade de acesso aos dados


É necessário um SGBD (Sistema de Gerenciamento de Banco de Dados) para que
informações sejam facilmente obtidas como resultado à uma consulta.
Exemplo: Liste funcionários com Salário > 10000

2.3- Anomalias de acesso concorrente


Quando se permite o acesso ao Banco de Dados para manutenção simultânea para
vários usuários, o controle incorreto pode ocasionar erro decorrente da sobreposição de
gravação.
Exemplo: Usuário 1 lê saldo = 500 , lança um movimento de - 100. Simultaneamente o
usuário 2 lê saldo = 500 e lança um movimento de -120 atualiza-o segundos
+ tarde.
O resultado correto seria saldo = 500 - 100 - 120 = 280
O resultado obtido é saldo = 500 - 120 = 380

2.4- Problemas de segurança


Cada Departamento / Usuário deve ter acesso apenas aos dados que lhes compete.
Exemplo: O Departamento de Pessoal deve ter acesso aos dados dos funcionários e não
aos dados de conta corrente da empresa.

2.5- Problemas de Integridade


Os valores dos dados armazenados nos Bancos de Dados precisam satisfazer certos
tipos de restrições de consistência.
Exemplo: O saldo de uma conta bancária não pode cair abaixo de um valor
predeterminado.É mais razoável introduzir este controle com ajuda do Banco
de Dados e não apenas com programas, cuja manutenção pode ser
trabalhosa e sujeita a erro.

Regras de Integridade: São as leis que governam as operações permitidas nos dados.

10
MODELAGEM DE DADOS
Integridade Referencial : Assegurar que um dado que aparece em uma entidade aparece
também para outra entidade

Estas dificuldades incentivaram o desenvolvimento de Sistemas de Gerenciamento de


Banco de Dados. (SGBD)

3- SISTEMA GERENCIADOR DE BANCO DE DADOS (SGBD)

3.1- Definição

Um Sistema Gerenciador de Banco de Dados (SGBD) consiste em uma coleção de dados


inter-relacionados e em um conjunto de programas para acessá-los.
O principal objetivo de um SGBD é prover um ambiente que seja conveniente e eficiente
para recuperar e armazenar dados .
Um SGBD fornece a interface entre os dados de baixo nível armazenados no Banco de
Dados e os programas aplicativos e de consulta submetido ao sistema. O SGBD é
responsável pela integridade, segurança, cópias de segurança, pela recuperação e controle
de concorrência.

O SGBD disponibiliza uma Linguagem de Manipulação de Dados (DML - Data Manipulation


Language) que permite aos usuários acessar ou manipular dados como organizados pelo
modelo de dados.

Existem 2 tipos de DMLs :


Procedurais: Qual dado é necessário e como obte-lo!
Não Procedurais: Qual dado é necessário sem especificar como obte-lo!

A manipulação de dados significa: recuperação, inserção, eliminação e modificação de


dados armazenados no Banco de Dados.

Os SGBDR oferecem:
- Independência do armazenamento físico de dados e da estrutura lógica do Banco
de Dados.
- Acesso diversificado e fácil a todos os dados.
- Flexibilidade no Projeto de Banco de Dados.
- Armazenamento reduzido de dados e redundância.

Cache do Buffer do BD: Armazena os blocos de dados usados mais recentemente


(Exemplo: Oracle)

3.2- MS-Access

11
MODELAGEM DE DADOS
É um Sistema Gerenciador de Banco de Dados Relacional (SGBDR), ou seja, organiza
todos os seus dados em tabelas, relacionando-as, de forma que permite analisar, encontrar
e recuperar dados com rapidez e segurança, evitando redundâncias.
(A 1ª versão do access surgiu em 1988 – versão 1.0; logo após veio a versão 1.1 e depois a
2.0. Com o windows 95 foi lançado o access 7.0, depois o Access 97 e finalmente o Office
2000.)

OBS.: Sistemas de Gerenciamento de arquivos mostraram-se menos eficientes pois são


muito vulneráveis aos problemas do item 2 e não controlam o relacionamento entre
arquivos que tem que ser programado nas linguagens de programação associadas a
eles. Exemplo: DBase e Clipper.

4- ENTIDADE-RELACIONAMENTO (E-R)

4.1- Definição

O Modelo Entidade-Relacionamento (E-R) é baseado na percepção do mundo real que


consiste em um conjunto de objetos básicos chamados entidades e nos relacionamentos
entre esses objetos. (Exemplo: Clientes, Fornecedores, Pedidos)

Uma entidade é composta pôr atributos (Exemplo: Nome, Data de aniversário, saldo
bancário).

Um relacionamento é uma associação entre diversas entidades e pode ter atributos


também. (Exemplo: Cliente-Conta e Data de abertura da conta)

Existem algumas maneiras de se elaborar um DER. Vamos adotar o lay-out da figura 3


pagina 15.

12
MODELAGEM DE DADOS

4.2- Cardinalidade

Mostra quantos registros de uma tabela podem estar associados a registros de outra tabela
através de um relacionamento. Em outras palavras, é a indicação do número máximo de
ocorrências de uma entidade aos quais às ocorrências da outra entidade podem estar
relacionadas. A cardinalidade pode ser:
1 x N (Relacionamento 1 para muitos), 1 x 1 (Relacionamento 1 para 1) ou
N x 1 (Relacionamento muitos para 1).

4.3- Chave primária

Pode ser entendida como um conjunto de :


- Campos que identificam um registro,
- Atributos que identificam uma entidade ou
- Colunas que identificam uma linha

A chave evita que tenhamos registros duplicados.


A Chave primária pode ser simples ou composta :
Chave primária Simples : Quando um único campo a compõe
Chave primária Composta : Quando dois ou mais campos a compõe

4.4- Chave Candidata

Campos que poderiam formar a chave primária mas pôr opção do analista não foram
escolhidos. Exemplo: No cadastro de alunos do exercício anexo, a chave primária
escolhida é a MATRICULA, mas poderia ser RG.

4.5- Chave Estrangeira

Coluna cujos valores correspondem aos que estão contidos em uma chave primária de uma
tabela relacionada, ou em outras palavras: campo cujo conteúdo é originário de outra tabela.
Exemplo: A unidade da Federação que compõe o endereço de um cliente é um campo da
tabela de Unidade de federações.

Índices, unique key e foreign key são chaves alternativas.


- Índices : Garantem performance
- Unique Key : Garantem unicidade
- Foreign Key : Garantem integridade

13
MODELAGEM DE DADOS
4.6- DER

Representa graficamente um banco de dados, com suas tabelas, atributos, chaves e


relacionamentos entre tabelas.

A estrutura lógica de um banco de dados pode ser expressa graficamente pôr um diagrama
E-R, que consiste nos seguintes componentes:

Retângulos : Representam conjuntos-entidades

Elipses : Representam atributos

Losangos : Representam relacionamentos entre conjuntos-entidade

Linhas : Ligam atributos a conjuntos-entidade e conjunto-entidade a


relacionamentos.

A técnica de Entidade Relacionamento foi criada por Peter Chen nos anos 70, é aplicável a
diversas estruturas de bases de dados, mas atende principalmente aos conceitos relacionais
e apresenta resultados compatíveis com a técnica de normalização.

rua número_conta

nome
cidade data
saldo

cliente
cliente conta
conta

Figura 2 - DER (Enfoque mais conceitual)

14
MODELAGEM DE DADOS

Também pode ser representado desta forma:

rua número_conta

nome
cidade
cpf saldo

cpf
cliente conta data
1 N

Figura 3 - DER (Enfoque mais físico - maior preocupação com chaves, atributos e
cardinalidade)

15
MODELAGEM DE DADOS

5- O MODELO RELACIONAL

O modelo relacional representa dados e relacionamentos entre dados pôr um conjunto de


tabelas, cada uma tendo um número de colunas com nomes únicos.

A figura abaixo é uma amostra de banco de dados relacional exibindo clientes e as contas
que eles possuem . Ele mostra, pôr exemplo, que o cliente Maria vive em Wolthers em
Maua, e tem duas contas, uma numero 647 com um saldo de $105.366 e a outra número
801 com saldo de 10.533. Observe que os clientes Pedro e Maria dividem a conta 647
(talvez eles possam ser sócios num negócio).

NOME RUA CIDADE CONTA SALDO


João Bosque Santos 900 55.00
Pedro Jabaquara São Paulo 556 100000.80
Pedro Jabaquara São Paulo 647 105366.78
Maria Wolthers Maua 801 10533.53
Maria Wolthers Maua 647 105366.78


CPF CONTA SALDO
055098762390 900 55.00
065674306845 556 100000.80
006786785857 647 105366.78
006786785857 801 10533.53

CPF NOME RUA CIDADE


055098762390 João Bosque Santos
065674306845 Pedro Jabaquara São Paulo
006786785857 Maria Wolthers Maua

16
MODELAGEM DE DADOS

GENERALIZAÇÃO
Relacionamento de conteúdo que existe entre um conjunto - entidade de nível superior e um
ou mais conjuntos - entidade de nível inferior.

Conta - Saldo
numero

Conta

É
UM

Conta - Poupança Conta - Corrente

Taxa - Saque - Descoberto


Juros - Quantia

- Dois métodos para transformar um DER que inclui generalização em Tabelas:

Primeiro: Preservando a estrutura nível superior e inferior


CONTA (Conta - Numero e Saldo)
CONTA-POUPANÇA (Conta - Numero e Taxa - Juros)
CONTA-CORRENTE (Conta - Numero e Saque - Descoberto - Quantia

Segundo: Eliminando a estrutura nível superior e mantendo as de nível inferior


CONTA-POUPANÇA (Conta - Numero, Saldo e Taxa- Juros)
CONTA-CORRENTE (Conta - Numero, Saldo e Saque - Descoberto - Quantia

17
MODELAGEM DE DADOS

AGREGAÇÃO
É uma abstração através da qual relacionamentos são tratados como entidades de nível
superior

Nome Id Horas Numero

Funcionário Projeto
Trabalh
o

Usa

Id
Maquinário

Para transformar um DER que inclui agregação em Tabelas:

Transformo relacionamentos em Tabelas (Vide Tabelas Associativas Versos Relação NxN)


- FUNCIONÁRIOS
- PROJETO
- TRABALHO
- MAQUINARIO
- USA

18
MODELAGEM DE DADOS

6- CONCEITOS ...

6.1- Domínio
de um campo é a faixa ou conjunto de valores permitidos no campo da tabela.
As regras de validação são chamadas regras de negócio
Exemplo: <=date()
“A” or “B” or “C”
< > “” or < > null

6.2- Cliente-Servidor
O principio básico da operação de um SGBDR é que as consultas são executadas pela
aplicação de banco de dados que roda no servidor. A aplicação cliente transmite ao
servidor a instrução SQL pela rede; o servidor processa a instrução SQL e depois transmite
de volta ao cliente as linhas de dados que correspondem ao conjunto de resultados da
consulta.
Esse método minimiza a quantidade de processamento no lado do cliente e reduz o tráfego
através da rede. Os computadores nos quais o servidor de banco de dados é executado
tem quase sempre processadores de muito maior velocidade e memória; assim, as
consultas remotas são executadas mais rapidamente, mesmo levando em consideração o
tempo necessário para a transmissão dos dados pela rede.

6.3- Cliente
Não tem a responsabilidade de acesso a dados, ela se concentra na solicitação,
processamento e na apresentação dos dados fornecidos pelo servidor.

6.4- Servidor
Executa o SGBDR, recebe e processa as declarações SQL (e PL/SQL no caso do Oracle)

6.5- SQL (Structure Query Language)


É a linguagem padrão para execução de consultas baseadas em praticamente todos os
bancos de dados cliente-servidor e foi adotada tanto nos EUA pelo ANSI (American National
Standards Institute) quanto em âmbito internacional pela I.S.O. (Internacional Standards
Organization) O dialeto do SQL no access segue, em boa parte, os padrões ANSI/I.S.O.
A SQL foi criada na década de 1970 pelo cientista da IBM Dr.E.F.Codd e passou a ser
padrão da industria da informática e adquiriu status de ser a linguagem exclusiva de BD
cliente-servidor.

6.6- Índices
Aceleram o processo de pesquisa aos registros.
São estruturas formadas por um ou mais campos de uma tabela.
Embora o Access crie um índice sobre a chave primária, você pode criar índices sobre
outros campos da tabela.

19
MODELAGEM DE DADOS

6.7- Arquitetura Multicamadas


- Cliente: Inicia uma operação (exemplo: Através de um Browser )
- Servidor de aplicativo:
- Um ou mais servidores executam parte da operação
- Interface entre clientes e vários servidores de B.D.
- Fornecimento extra de segurança
- Fornece acesso aos dados para o cliente
- End ou Servidor de Banco de Dados

A identidade do cliente é mantida em todas as camadas

6.8- Processamento Distribuído


- Usa mais de um processador para dividir o processamento para um conjunto de
tarefas relacionadas (Máquinas multi-processadas)
- Oracle pode tirar vantagem do processamento distribuído usando sua arquitetura
Cliente / Servidor

Front-End Back-End

6.9- Banco de Dados Distribuidos


É constituído de sua própria rede gerenciada por diversos servidores que aparecem para um
usuário como um único banco de dados lógico.
Cada computador que gerencia um banco de dados é chamado nó

Usuário Local
Remotos

Local

SELECT * FROM EMP@SALES


Banco remoto

20
MODELAGEM DE DADOS

6.10- Protocolo de Comunicação


Conjunto de padrões que governa a transmissão de dados através de uma rede

6.11- NET8
Interface do Oracle para os protocolos padrão de comunicação, os quais permitem a
transmissão adequada dos dados entre computadores

21
MODELAGEM DE DADOS

7- TIPOS DE BANCOS DE DADOS

Os bancos de dados podem ser divididos em quatro categorias principais, de acordo com a
organização dos dados dentro da base de dados.

- Banco de dados de lista invertida


Os seus índices são explícitos, ou seja, o usuário é que deve definir os índices a serem
construídos.
Exemplo: Dbase e outros arquivos tipo DBF.

- Banco de dados Relacional


Permite que tenhamos informações divididas entre diversas tabelas de dados. Certas
informações de uma tabela são obtidas a partir de outras.
O modelo relacional está baseado em forte fundamentação matemática (teoria dos
conjuntos)

Exemplo: Access e Oracle

- Banco de dados Hierárquico


É formado por registro denominado raiz que possui sub-registros que possui campos,
criando uma ramificação denominada árvore.

CLIENTE

NOME ENDEREÇO

1º Nome SobreNome Rua Bairro Cidade Estado

- Bando de dados de Rede


Sua organização é similar ao sistema hierárquico, com a diferença de que cada registro
“filho” pode ser ligado a mais de um registro “pai”, formando conexões bem complexas.
(São usados em alguns sistemas para computadores de grande porte)

22
MODELAGEM DE DADOS

8- DICIONÁRIO DE DADOS

8.1- Definição
É a descrição escrita do banco de dados. Um sistema de banco de dados não
documentado é quase impossível de manter de forma adequada.

O dicionário de dados contêm uma descrição textual do banco de dados como um todo, de
cada tabela que ele contêm, dos campos que constituem cada tabela, das chaves primárias
e estrangeiras e dos valores que podem ser atribuídos aos campos quando eles contêm
dados codificados.

Uma definição melhor de Dicionário de dados: Listagem organizada de todos os elementos


de dados pertinentes ao sistema, com definições precisas e rigorosas para que o usuário e o
analista de sistemas possam conhecer todas as entradas, saídas, componentes de depósito
de dados e cálculos intermediários. Entretanto, neste momento, nos preocupa abordar
unicamente o banco de dados.

O Dicionário de dados é criado pelo analista de sistemas durante o desenvolvimento do


modelo do sistema, mas o usuário deve ser capaz de ler e compreender o dicionário para
compreender o sistema.

Os dicionários de dados não devem ser dependentes do SGBDR em particular que foi
utilizado para criar e manipular o banco de dados.

8.2- Notação de dicionário de dados

Existem alguns esquemas de notação comuns usadas pelos analistas de sistemas. O que
está a seguir está entre os mais comuns e usa alguns símbolos simples:

= é composto de
+ e
() Opcional (pode estar presente ou ausente)
[] Escolha uma das opções alternativas
** Comentário
@ identificador (campo chave) de um depósito
| Separa opções alternativas

23
MODELAGEM DE DADOS

Exemplo:
Alunos: ** É uma tabela que contêm os dados de todos os alunos
matriculados na escola.
= @matricula+nome+UF+Cidade+Bairro+CEP+endereco+(telefone)+
Data de Nascimento+Data da matricula+Sexo

Matricula * É um número de controle, gerado no ato do ingresso do aluno na


* instituição para identifica-lo.
* Alfanumérico (6)
* É chave da tabela

UF * Unidade da Federação
* Deve ser uma unidade da federação valida
* Este campo é chave estrangeira

Sexo * Identifica o Sexo do aluno


* Valores: [M | F]

Data de Nascimento * Data de Nascimento do aluno


* Intervalo: 01/01/1900 à 31/12/3000

24
MODELAGEM DE DADOS

9- NORMALIZAÇÃO

A normalização é o processo que consiste em eliminar as informações repetidas em tabelas,


através da extração dos dados duplicados para novas tabelas que contêm registros com
valores de dados unívocos.

9.1- Objetivos do Projeto de Banco de Dados

A estratégia do projeto de banco de dados é alcançar os seguintes objetivos:

 Satisfazer as necessidades da empresa de obter informações de uma forma oportuna,


coerente e econômica.
 Eliminar a repetição do conteúdo dos bancos de dados na empresa. Em uma empresa de
grande porte, eliminar a repetição pode exigir o emprego de um banco de dados
distribuído. Os bancos de dados distribuídos usam vários servidores para armazenar
bancos de dados individuais. Os bancos de dados individuais estão associados uns aos
outros através de uma rede local (LAN) ou de uma rede remota (WAN), de modo que eles
parecem ao usuário constituir um único banco de dados.
 Fornecer acesso rápido aos elementos específicos de informações no banco de dados
exigido pôr cada categoria de usuários. A velocidade de operação é função do SGBDR,
da estrutura de aplicações que você cria, as características dos computadores clientes e
servidores, e das características da rede.
 Permitir a expansão dos bancos de dados, a fim de se adaptar às necessidades de uma
empresa em expansão/mudança como, por exemplo, a adição de novos produtos e
processos, a obediência a novas exigências de diretrizes governamentais, e também a
incorporação de novas aplicações para transações e apoio à decisão.
 Manter a integridade do banco de dados, de modo que ele contenha somente dados que
foram validados e que podem ser auditados.
 Impedir o acesso ao banco de dados por parte de pessoas não autorizadas.
 Impedir o acesso a tabelas de uma banco de dados
 Permitir seletivamente que usuários editem ou alterem estrutura de tabelas, ou ainda
permitir que eles editem ou criem suas próprias tabelas.
 Facilitar a criação de aplicações para entrada de dados, edição, exibição e elaboração
de relatórios que sirvam de maneira eficiente às necessidades dos usuários do banco de
dados.

25
MODELAGEM DE DADOS

9.2- Regras de Normalização

A normalização é um procedimento formal pelo qual os atributos de dados são agrupados


em tabelas e as tabelas são agrupadas em bancos de dados. Os objetivos da normalização
incluem:

 Eliminar a duplicação de informações nas tabelas


 Adaptar-se a modificações futuras na estrutura das tabelas
 Minimizar o impacto de alterações nas aplicações do usuário que tem acesso aos dados

A normalização é feita em etapas, sendo que estas são as mais comuns e foram descritas
pelo Dr. E.F. Codd em seu trabalho de 1972, “Further Normalization of the Data Base
Relational Model”.

Passos da normalização:

1- Entidades não normalizadas


2- Entidades em 1FN (Eliminados os grupos Repetitivos)
3- Entidades em 2FN (Há Dependência Funcional de Chave Primária)
4- Entidades em 3FN (Não há Transitividade)

26
MODELAGEM DE DADOS

9.3- Entidades Normalizadas

 As entidades normalizadas 3FN possuem as mesmas informações que as entidades “não


normalizadas”, mas estruturadas em uma outra maneira (mais simples e compreensível).
 Não possuem redundância (duplicação de dados)
 Um verdadeiro modelo lógico de dados só pode ser construído a partir de entidades
normalizadas.
 Um modelo de dados normalizado é progressivamente integrado às necessidades de
informação da empresa, suportando modificações tais como a inclusão de novos
atributos e entidades.

9.4- Primeira Forma Normal

 Uma entidade está em 1FN se não contem grupos repetitivos


 Uma entidade está em 1FN se os seus atributos podem ser representados em uma única
tabela de duas dimensões (linha x coluna)

Exemplo de entidade não normalizada:

Matricula Nome Placa (Veiculo) Marca (Veiculo) Modelo (Veiculo)


10052 João AG4309 FORD Landau
AS7878 FORD Corcel
10059 Maria CO1212 G.M. Chevette

Obtemos Entidades em 1FN separando os grupos repetitivos em entidades diferentes.

PESSOA

Matricula Nome
10052 João
10059 Maria

VEICULOS

Placa (Veiculo) Marca (Veiculo) Modelo (Veiculo) Matricula


AG4309 FORD Landau 10052
AS7878 FORD Corcel 10052
CO1212 G.M. Chevette 10059

27
MODELAGEM DE DADOS
A obtenção da 1NF- Eliminação de grupos repetitivos, implica na duplicação de atributos
de chave.
Esta duplicação de atributos chave não pode ser considerada como redundância de dados;
é um fato inerente ao relacionamento lógico entre as entidades.

Uma entidade está em 1FN se os domínios de todos os seus atributos são atômicos.
(unidades indivisíveis)

9.5- Segunda Forma Normal

Uma entidade está em 2FN se ela está em 1FN e seus atributos são dependentes da chave
completa.

Envolve dois conceitos:

1º ) Chave de uma Entidade

A identificação da chave de uma entidade, envolve:


 Identificar todas as chaves candidatas possíveis para a entidade.
 Selecionar, entre as chaves candidatas, a única chave primária a ser designada para a
entidade.
Obs.:
- Um atributo será considerado como chave primária quando é selecionado como o único
identificador das ocorrências de uma entidade.
- A chave primária pode aparecer composta por mais de um atributo.
- Uma chave composta é também conhecida como chave concatenada.
- Chave primária simples : formada por um único atributo
- Chave primária composta : formada por mais de um atributo
- Os atributos correspondentes à chave primária nunca são atualizados
- A atualização da chave primária equivale à exclusão da ocorrência e a sua imediata
re-inclusão, mas com sério perigo de perda da integridade lógica do banco de dados.

28
MODELAGEM DE DADOS

2º ) Dependência funcional entre atributos de uma entidade

Consiste em analisar a estrutura de atributos verificando seu relacionamento com a chave


primária.
Permitem expressar fatos sobre o empreendimento que são modelados com nosso BD
(Quais atributos dependem funcionalmente de qual entidade, associação entidade X
atributo)

Exemplo: A cada valor de matricula corresponde um único valor de nome e de idade


Dizemos portanto que matricula identifica nome e idade.
Matricula determina funcionalmente nome e idade.
Nome e idade dependem funcionalmente de matricula.

Diagrama de Dependências Funcionais

Constitui-se em uma ferramenta simples e didática para a normalização de entidades.


Permite obter diretamente entidades em 3FN.
Pode ser aplicado na construção de modelos de qualquer dimensão e complexidade.

Exemplo: Normalização da Entidade Fornecimento


Entidade Fornecimento (Cod-material, Cod-Fornecedor, Nome-Material,
Nome-Fornecedor, Qtd-Fornecida)

Material Fornecedor Fornecimento

Cod-material

Cod-Fornecedor

Nome-Material

Nome-Fornecedor

Qtd-Fornecida

Fornecedor ( Cod-Fornecedor, Nome-Fornecedor)


Material ( Cod-Material, Nome-Material)
Fornecimento ( Cod-Fornecedor, Cod-Material, Qtd-Fornecida)

29
MODELAGEM DE DADOS

9.6- Terceira Forma Normal

Uma entidade está em 3 FN se ela está em 2FN e seus atributos não possuem
dependências transitivas.

 exemplo mais comum de entidades apresentando dependências transitivas é daquelas


que contém ao mesmo tempo o código e o conteúdo de uma tabela convencional.
 O caso mais comum da sua resolução, é o da criação de entidades representando
tabelas.
 Falhas na resolução da 3FN podem causar problemas graves de gerenciamento de
redundâncias entre arquivos.
 Uma dependência transitiva sempre é solucionada pela criação de novas entidades.

Exemplo: (criar tabela Empreiteira)


Transitividade

OBRA (Cod-Obra, Num-Contrato, Cod-Empreiteira, Nome-Empreiteira)

Passando para 3FN:

Obra (Cod-Obra, Num-Contrato, Cod-Empreiteira)


Empreiteira(Cod-Empreiteira, Nome-Empreiteira)

9.7- Consolidação da Lista de Entidades

A consolidação de entidades consiste em eliminar todo possível relacionamento um para um


do modelo lógico.
Se duas entidades possuem a mesma chave primária, então elas são a mesma entidade e
os seus atributos se complementam.
Exemplo:
Antes da consolidação:
Consulta-Marcada (Paciente, Data, Hora, Local, Medico)
Consulta-Realizada (Paciente, Data, Hora, Local, Medico)

Após a consolidação:
Consulta (Paciente, Data, Hora, Local, Medico, Indicador-Consulta-Realizada)

30
MODELAGEM DE DADOS

9.8- Resumo das Formas Normais

1NF: Eliminação de grupos repetitivos

2NF: Eliminação de atributos não dependentes da chave completa

3NF: Eliminação das dependências transitivas

A normalização corresponde a formalização de algumas regras naturais que são seguidas


por profissionais de maior experiência.

Utilizando o diagrama de dependências funcionais é possível obter diretamente entidades


em 3FN

Modelos de dados normalizados até a 3FN atendem a imensa maioria das situações que
encontramos na prática.

Independentemente do seu uso posterior no desenvolvimento do sistema, a normalização


proporciona uma ferramenta fundamental ao conhecimento e interpretação do ambiente de
dados da aplicação.

9.9- Mais formas normais ...

A quarta e a quinta formas normais lidam com dependências multivaloradas e sua aplicação
é considerada opcional pela maioria das metodologias de desenvolvimento de sistemas por
não representarem transgressão à estrutura relacional de banco de dados. Essas duas
regras tem por objetivo otimizar a construção de arquivos relacionais, facilitando atualização
de registros.

Normalmente chegamos até a 3FN como padrão de normalização no uso de DB nas


organizações, mas observe a explanação sobre a 4ª e 5ª Formas Normais :

31
MODELAGEM DE DADOS

9.10- Quarta Forma Normal

4 FN => Dependência Multi valorada

De acordo com a quarta forma normal, um registro que tenha dois ou mais fatos
multivalorados, independentes, pode ser desmembrado em registros menores,
minimizando redundância e anomalias de atualização.

Exemplos:

- Empregados, suas habilidades e idiomas => Apresenta relacionamento muitos para


muitos (empregado - habilidade e empregado - idioma) e temos também a
independência dos atributos habilidades e idiomas. Pela 4FN o depósito de dados
contendo chave composta por 3 atributos poderia ser desmembrada em 2 registros:
Empregado - habilidade e empregado - idioma

- Clientes com muitos endereços (Praia, Campo, outras cidades, ...) ao efetuar
empréstimo na agencia bancaria ocorrem as relações: Empréstimo - cliente e cliente -
seus endereços

Se armazenarmos: empréstimo - cliente - seus endereços Então teremos ocorrência


da dependência multivalorada

As FN devem preservar as dependências entre as entidades e seus atributos mas organiza-


las de outra forma.

Os relacionamentos vários para vários não podem ser expressos como relações simples
entre duas entidades participantes. Você cria relacionamentos vários-para-vários
elaborando uma tabela (dita associativa) que tem relações vários-para-um com duas
tabelas básicas.

Exemplo: Cursos e Alunos => Tabela associativa Curso_Aluno

Exemplo: Entidade com dependência multivalorada: Existem atributos que apresentam


múltiplos valores correspondentes à mesma chave, enquanto outros permanecem
invariáveis.

FORNECEDOR PECA COMPRADOR


F1 P1 C1
F1 P2 C1
F1 P3 C2
F2 P1 C2
F2 P4 C1
F2 P5 C3
F3 P2 C1

Existe uma dependência multivalorada entre cd_fornecedor e cd_peça


e cd_fornecedor e cd_comprador.

32
MODELAGEM DE DADOS

Para estar em 4FN esse registro seria dividido em cd_fornecedor e cd_peça


e cd_fornecedor e cd_comprador.

FORNECEDOR_PECA
FORNECEDOR PECA
F1 P1
F1 P2
F1 P3
F2 P1
F2 P4
F2 P5
F3 P2

FORNECEDOR_COMPRADOR
FORNECEDOR COMPRADOR
F1 C1
F1 C2
F2 C1
F2 C2
F2 C3
F3 C1

.
.
.

CAB_COMPRA
FORNECEDOR COMPRADOR DATA ….. PEDIDO
F1 C1 … 1
F1 C2 … 2
F2 C1 … 3
F2 C2 … 4
F2 C3 … 5
F3 C1 … 6

33
MODELAGEM DE DADOS

9.11- Quinta Forma Normal

PJNF => Project Join Normal Form ou Forma normal Projeto Ligação = 5ª FN

Um projeto de BD está em 5FN se cada entidade está em 5FN

A 5FN exige que você seja capaz de reconstruir a tabela original de maneira exata a partir
das tabelas em que ela foi decomposta. (Não houve perda de dados)

De acordo com a 5FN, um registro que tenha dois ou mais fatos multivalorados, apesar de
dependentes, pode ser desmembrado em registros menores, desde que permitam
reconstruir a informação original.

Exemplos:

- Fabricantes, Vendedores e Tipos de veículos em que temos relacionamento muitos para


muitos e temos também dependência entre os atributos , pela 5FN o depósito de
dados contendo a chave composta por 3 atributos, poderia ser desmembrada em 3
registros: (vendedor – fabricante, fabricante – tipo de veiculo e vendedor – tipo de
veiculo)

A reconstrução da informação original só poderá ocorrer após a consulta aos 3 registros.

- Emprestimo-esquema = (agencia - nome, empréstimo - numero, cliente - nome, quantia)

Dada a Dependência - ligação: (empréstimo - número , agencia - nome)


(empréstimo - numero, cliente - nome )
(empréstimo - numero, quantia)

Então Emprestimo-esquema não está em 5FN para que fique em 5FN devemos
decompo-lo conforme as 3 Dependência – ligação acima.

Toda dependência multivalorada é também uma dependência - ligação => todo esquema
em 5FN está também em 4FN

A quarta e quinta formas normais lidam com combinações de fatos multivalorados. A


diferença é que os fatos tratados na 5FN são dependentes.

34
MODELAGEM DE DADOS

9.12 - De Forma Esquemática:

Não Normalizado
(As linhas da tabela podem conter
grupos repetidos)
Elimine grupos repetitivos criando novas tabelas

Primeira Forma Normal


(Tabelas sem grupos de colunas
repetidas nas linhas)

Verifique se todos os dados são dependentes da


chave. Divida a tabela se não forem.

Segunda Forma Normal


(Os dados em todas as colunas não
pertencentes às chaves são
totalmente dependentes da chave
primária)
Elimine todas as dependências transitivas
(colunas que não são chave mas referenciam
outros itens de dados)

Terceira Forma Normal


(Todas as colunas são dependentes
da chave primária mas são
independentes umas das outras)

Quarta Forma Normal Quinta Forma Normal


(As relações muitos-para-muitos ( As tabelas decompostas ainda
estão resolvidas com o uso de tabelas representam todos os dados da tabela
associativas e as dependências multi original - antes do processo de
valoradas estão tratadas) normalização)

35
MODELAGEM DE DADOS

10- MODELO CONCEITUAL, LÓGICO E FÍSICO DO B.D.

O modelo de dados, resulta da análise de dados de um sistema, é composto por um


conjunto de tabelas normalizadas do sistema.

Para a obtenção do modelo lógico (ou conceitual) é necessário compatibilizar os resultados


da analise funcional com a analise de dados.

O modelo funcional, resultado da especificação de funções de um sistema, é composto por


um conjunto de DFDs de último nível de decomposição, ou seja, é composto pelos
diagramas de fluxo de dados que apresentam o maior grau de detalhamento das funções de
um sistema (primitivas funcionais)

Definido o modelo conceitual do BD, a fase de construção executará a codificação do Banco


de Dados físico, registrando os parâmetros necessários para fixação e delineamento da
base de dados do sistema. Se não estiverem disponíveis as facilidades que uma ferramenta
CASE pode lhe proporcionar será necessário codificar o BD dentro das especificações
requeridas pelo SGBD selecionado para o gerenciamento e controle de acesso aos dados
armazenados.

Modelo Conceitual de Dados: Aquele em que os objetos, suas características e


relacionamentos têm a representação fiel ao ambiente observado, independente de
limitações qualquer imposta por tecnologias, técnicas de implementação ou dispositivos
físicos. Neste modelo, devemos representar os conceitos e características observadas em
um dado ambiente, voltando-nos simplesmente ao aspecto conceitual.

Modelo Lógico de dados: Os objetos, suas características e relacionamentos têm a


representação de acordo com as regras de implementação e limitantes impostos por algum
tipo de tecnologia. Essa representação, por sua vez, é independente dos dispositivos ou
meios de armazenamento físico das estruturas de dados por ela definida.

Modelo Físico de dados: A representação dos objetos é feita sob o foco do nível físico de
implementação das ocorrências, ou instâncias das entidades e seus relacionamentos. O
conhecimento do modo físico de implementação das estruturas de dados é ponto básico
para o domínio desse tipo de modelo.

36
MODELAGEM DE DADOS

11- ALGEBRA RELACIONAL

A teoria do projeto de bancos de dados relacionais se fundamenta na teoria dos conjuntos


da matemática. Em consultas SQL, suas Operações são:

- Selecionar : Seleciona Linhas

- Projetar : Seleciona Colunas

- Produto Cartesiano :
Listar todas as linhas de uma tabela relacionando-as com todas as linhas de outra
tabela, assim se temos tabela1 com 3 linhas e tabela 2 com 4 linhas teremos 3X4 linhas
como resultado (12 linhas)

- União :
Une os elementos de um conjunto (Tabela) com os elementos de outro Conjunto

- Diferença : Subtrai os elementos da tabela1 dos elementos da tabela2

- Interseção : Seleciona os elementos comuns as tabelas

- Junção ou ligação natural:


Associa, na mesma linha os atributos de várias tabelas através de campos em comum.

37
MODELAGEM DE DADOS

Union

Intersection

Difference (SQL - Minus)

38
MODELAGEM DE DADOS

12- FERRAMENTAS CASE


Diversos fornecedores oferecem ferramentas de engenharia de software com o auxílio do
computador (CASE- Computer Aided Software Engineering) para projeto e, em seguida,
criação automática da estrutura de bancos de dados relacionais do tipo cliente-servidor, tais
como o SQL Server, o Oracle e o SQLBase.

As ferramentas CASE que rodam sob windows permitem que você utilize técnicas gráficas,
tais como diagramas de entidades e Relacionamentos para criar a estrutura das tabelas e
estabelecer relacionamentos entre elas.

As ferramentas CASE de bancos de dados economizam muito tempo e evitam vários erros
durante a implementação de um banco de dados relacional grande ou complexo.

A maior parte das ferramentas CASE contém um repositório que guarda informações sobre
a estrutura da tabela, os campos da chave primária e das chaves estrangeiras, as restrições
(regras de validação) para campos e os tipos de relações entre as tabelas.

Repositório é um banco de dados mantido pela própria aplicação CASE. Você pode imprimir
o esquema do bando de dados e gerar dicionários de dados a partir de registros do
repositório. Quando o projeto do seu banco de dados parecer satisfatório, a ferramenta
CASE traduz os dados contidos no repositório em uma instrução em linguagem de definição
de dados (DDL-Data Definition Language) de SQL.

Você transmite a instrução de DDL para o SGBDR cliente-servidor localizado no servidor.


Esse SGBDR pode ser usado para criar o banco de dados inteiro ou apenas para
acrescentar tabelas ao banco de dados.

13- PROPRIEDADES DOS CAMPOS (Cenário Access)

Cada campo possui definições de propriedades que podem ser alteradas para modificar seu
aspecto e comportamento.

Você pode:
 Definir regras que os dados tenham que obedecer para serem inseridos em um campo;
 Especificar valores padrões que serão previamente apresentados a cada novo registro;
 Definir mascaras de entrada que determinarão a forma como os dados serão inseridos;

As propriedades disponíveis para um campo dependem do tipo de dados do campo.

Para alterar as propriedades disponíveis para um campo, click no campo e aparecerão as


propriedades relativas a esse campo.

Cada campo possui propriedades exclusivas

39
MODELAGEM DE DADOS
13.1- Tamanho do Campo
O Access 7.0 permite que se altere o tamanho dos campos tipo: Texto e Numérico

13.2- Mascara de Entrada


Define a forma como você poderá entrar os dados no campo.
Sintaxe:
Máscara de Entrada ; Grava Literais (S/N) ; Caracter exibido durante a entrada de
dados

0 (Zero) => Caracteres Literais serão


armazenados junto com os dados
(Parênteses, traço, ponto, ...)

1 (um) => Serão armazenados apenas


os caracteres digitados (Default)

Símbol Descrição
o
0 Obriga a entrada de números (sem sinais de + e - )
9 Aceita números ou espaços em branco (sem sinais de + e - )
# Aceita números ou espaços em branco (permite sinais de + e - )
L Obriga a entrada de letras
? Aceita letras ou um espaço em branco
A Obriga a entrada de letras e números
A Permite a entrada de letras, números ou espaços em branco
& Obriga a entrada de qualquer caracter, números ou espaços em branco
C Aceita Qualquer caracter ou espaço em branco
. , : ; - / Exibe separador decimal, de milhar ou de data hora. Depende das definições da
seção Definições regionais do Painel de Controle do Windows
< Transforma todos os caracteres em minúsculo
> Transforma todos os caracteres em maiúsculo
! Força o alinhamento a esquerda
\ ou “ Exibe os caracteres seguintes a \ ou entre “ como literais

Exemplo: (0009) 999-9999;0;_ (____) ___-____


40
MODELAGEM DE DADOS

Esse símbolo de sublinhado apareceu porque foi


definido esse caracter na terceira seção.

Na tabela, ficarão armazenados os parênteses e o hífen,


porque foi colocado um 0(Zero) na Segunda seção

13.3- Formato
Define a forma como os dados serão exibidos após a entrada de dados. Independente
da forma como está armazenado. (Enquanto Máscara de Entrada controla a maneira
como os dados serão inseridos na tabela.)

Quando desejar que os dados sejam exibidos da mesma forma que foram inseridos não
é necessário definir uma propriedade formato para o campo.

Símbolo Descrição
@ Espaço reservado para caractere. Exibe um caracter ou espaço
& Espaço reservado para caractere. Exibe um caracter ou nada
! Força alinhamento a esquerda
< Transforma os caracteres em letras minúsculas
> Transforma os caracteres em letras maiúsculas
(Espaço Insere um espaço
)
“ABC” Exibe o texto entre aspas
* Preenche o espaço disponível com o caracter que segue o * . Ex.:”ABCD”*x
\ Exibe o caracter que segue a \ como um caracter literal. Usada para exibir os
caracteres reservados a seguir como caracteres literais: @, &, <, >, !, *, e \.
[cor] Exibe na cor denominada entre parênteses. Cores disponíveis: Preto, azul,
Verde, Ciano, Vermelho, Magenta, Amarelo e Branco.

13.4- Legenda
É exibida como cabeçalho dos campos

13.5-Valor Padrão
Especifica o valor que será assumido automaticamente por um campo para cada novo
registro. Exemplo: “SP”

41
MODELAGEM DE DADOS

13.6-Regra de Validação
Testa a entrada dos dados e, de acordo com a regra estabelecida, considera-os válidos
ou não.

Operadores: E, OU, Entre, Como, >, <, =, <>

Exemplos:
 “>=10” Indica que somente serão aceitos os valores maiores ou iguais a 10
 “Como S??????” ” Indica que somente serão aceitos os valores que comecem com
a letra S e tenham no máximo 7 caracteres.
 “Entre #10/01/96# E #10/02/96# ” Indica que somente serão aceitas as datas
compreendidas no intervalo. (# indica comparação de datas)
 “SP” OU “RJ” OU “MG”

13.7-Texto de Validação
Mensagem a ser exibida quando os dados violam a regra de validação

13.8- Requerido
Pode ser Sim ou Não, indicando se será ou não obrigatória a entrada de dados naquele
campo.

13.9- Permitir Comprimento Zero


Pode ser Sim ou Não, indicando, no caso de ausência da informação, se o usuário
poderá ou não dar espaço em branco.

13.10-Indexado
SIM (Duplicação Autorizada): Indica que os registros serão ordenados pelo campo e
permite que existam dados duplicados (repetidos) neste campo.

SIM (Duplicação Não Autorizada): Indica que os registros serão ordenados pelo
campo, mas não permite que existam dados duplicados (repetidos) neste campo.

Não: Indica que os registros não serão ordenados pelo campo.

Campo MEMORANDO: <Shift>F2 dá Zoom no campo


<Ctrl><Enter> muda de Linha no Zoom

42
MODELAGEM DE DADOS

14 - ESTUDOS DE CASO
Para a solução de cada caso é necessário:

- Entender as necessidades do cliente, para isso faça a lista de eventos que mais tarde
vai gerar o DHF (Diagrama Hierárquico de Funções)

- Entender quais os dados envolvidos, como eles circulam na organização, essas


informações mais tarde vai gerar o DFD (Diagrama de Fluxo de Dados)

- Com a compreensão que o estudo acima gera é possível elaborar o DER (Diagrama
Entidade Relacionamento)

- Para documentarmos o Banco de Dados criado elaboramos o DD (Dicionário de Dados)

- Com esses documentos (DHF, DFD, DER e DD) podemos elaborar uma proposta
Técnica e comercial para aprovação do nosso cliente (Conforme modelo de proposta:
Proposta.Doc)

Nosso estudo se limita a elaborar DER e DD entretanto vamos abordar DHF e DFD apenas
o suficiente para entendermos a abrangência do sistema a fim de gerar um modelo de
dados coerente.

43
MODELAGEM DE DADOS

14.1 - Controle Acadêmico

Automação do Controle Acadêmico, referente a Emissão de Diários, Posição Financeira,


Freqüência e Aproveitamento dos alunos de uma instituição de ensino.

D.E.R. – Diagrama Entidade Relacionamento

44
MODELAGEM DE DADOS

14.2 - Conta Bancária

Utilizando uma metodologia para analise de sistemas, chamada analise essencial, a equipe
de projetos da software-house onde você trabalha, após entrevistas com o cliente, elencou
os eventos abaixo relacionados.

Você foi encarregado(a) de elaborar um modelo de dados (D.E.R.) que suporte as


necessidades de negocio do cliente (deste módulo do negocio).

Para isso você deve:


1- Indicar quais são as Entidades, seus atributos e chave primária.
2- Elaborar o D.E.R. (Não esqueça de indicar a cardinalidade entre as entidades)

Obs.: - Evento é uma ação que altera um estado (Pode ser entendido como um
acontecimento no negocio. Algo que deve ser previsto pelo sistema)
- Estado é uma situação instantânea

Lista de eventos:

1- Cliente abre conta


2- Cliente efetua deposito de abertura de conta
3- Cliente desconta cheque
4- É tempo de emitir extrato
5- Cliente solicita cartão magnético
6- Cliente efetua deposito em dinheiro
7- Cliente efetua deposito em cheque
8- Cliente saca dinheiro com cartão no caixa
9- Cliente saca dinheiro no caixa eletrônico
10- Cliente fecha a conta
11- Gerente fecha a conta corrente do cliente
12- Cliente movimenta poupança (Saque)
13- Cliente movimenta poupança (Deposito)
14- É tempo de emitir extrato de poupança

45
MODELAGEM DE DADOS

DIAGRAMA ENTIDADE-RELACIONAMENTO

(ESTUDO DE CASO II)

CLIENTES

CONTA CONTA
CORRENTE POUPANÇA

SOLICITAÇÕES
DE CARTÕES
MAGNETICOS
MOVIMENTO MOVIMENTO
CONTA CONTA
CORRENTE POUPANÇA

OBS.:

1) Existem 6 entidades
2) Algumas delas são entidades fracas

Entidade Fraca é aquela que depende existencialmente de outra entidade

46
MODELAGEM DE DADOS

ESTUDO DE CASO II - D.E.R. ELABORADO NO ACCESS

47
MODELAGEM DE DADOS

14.3 - Centro de Distribuição

Automação de um Centro de Distribuição de produtos acabados. A característica do


negócio é comprar apenas de Fornecedores cadastrados e da mesma forma vender
apenas a Clientes Cadastrados.

É preciso controlar :
- Estoque por deposito ;
- Comissão de Vendedores ;
- Contas a Pagar e a Receber ;
- Vendas e Compras

48
MODELAGEM DE DADOS

14.4 - Shopping de Preços

Elaborar modelo de dados que permita obter o preço praticado pelos clientes de nossa
empresa e pelos Clientes de nossos concorrentes, por produto, nas diversas cidades do
Pais. Existe o caso, de clientes como o Carrefour que está presente em todo o território
nacional e comercializa os nossos produtos e também os produtos de nossos concorrentes.

49
MODELAGEM DE DADOS

14.5 - Controle de Veículos

Elaborar modelo de dados que permita controlar as despesas com Veículos promovidas por
vendedores da empresa que utilizam esses veículos para visita a clientes.

Todas as despesas devem ser acompanhadas de nota fiscal para que sejam reembolsadas
e alem disso existe uma lista de despesas válidas ou seja apenas as despesas dessa lista
podem ser reembolsadas (Exemplo: Gasolina, Troca de Óleo, Manutenção Mecânica,
Lavagem do Veiculo, etc. )

Todos os vendedores possuem um código de identificação e é importante saber a despesa


total com cada vendedor, bem como com cada veiculo para analise de substituição deste.

A principio um vendedor utiliza um veiculo, mas exceções podem ocorrer.

50
MODELAGEM DE DADOS

14.6 - Mapa de Faturamento

Elaborar modelo de dados que permita gerar relatório com as vendas, orçamento e previsão
de vendas de cada vendedor por cliente, por produto, por unidade de vendas e total Brasil.

É importante que o dado esteja disponível nestes vários níveis, para permitir analise
detalhada ou macro conforme exposto acima.

51
MODELAGEM DE DADOS

14.7 - Estacionamento

Elaborar modelo de dados que permita controlar movimento de entrada e saída de veículos
de um estacionamento, controle de contratos com empresas que reservam vagas para seus
funcionários bem como contas a receber dessas empresas e de pessoas físicas
mensalistas.

O preço por vaga é diferenciado pela característica da vaga que é composta pelo seu
tamanho (Pequena/Média/Grande) e qualidade (Coberta/Descoberta)

52
MODELAGEM DE DADOS

14.8 - Vídeo Locadora

Elaborar modelo de dados que permita controlar movimento de entrada e saída de Fitas de
uma vídeo locadora, onde é necessário um cadastro de clientes e de títulos que tem preço
diferenciado por categoria (Lançamento/Ouro/Prata/Bronze).

Para o cadastro dos títulos é importante ressaltar o diretor e os principais atores, bem como
um breve resumo do filme.

É importante Ter sob controle, qual titulo está com qual cliente e qual a data da devolução e
valor a ser pago.

53
MODELAGEM DE DADOS

15 - SQL e FUNÇÕES PARA ACCESS

Exemplos para discussão em aula:

SELECT ALUNOS.NOME, ALUNOS.ENDERECO, ALUNOS.SALA, ALUNOS.ESTADO,


ALUNOS.CIDADE, ALUNOS.BAIRRO, ALUNOS.Sexo,
ALUNOS.[DATA DE NASCIMENTO]
FROM ALUNOS
WHERE ALUNOS.NOME Like "*a*";

SELECT ALUNOS.MATRICULA, ALUNOS.NOME, ALUNOS.ENDERECO, ALUNOS.SALA,


ALUNOS.ESTADO, ALUNOS.CIDADE, ALUNOS.BAIRRO, ALUNOS.Sexo,
ALUNOS.[DATA DE NASCIMENTO]
FROM ALUNOS
WHERE ALUNOS.SALA<>303;

SELECT ALUNOS.MATRICULA, ALUNOS.NOME, ALUNOS.ENDERECO, ALUNOS.SALA,


ALUNOS.ESTADO, ALUNOS.CIDADE, ALUNOS.BAIRRO, ALUNOS.Sexo,
ALUNOS.[DATA DE NASCIMENTO]
FROM ALUNOS
WHERE ALUNOS.SALA<>[Informe a Sala];

SELECT ALUNOS.MATRICULA, ALUNOS.NOME AS [nome do aluno],


ALUNOS.ENDERECO, ALUNOS.SALA, ALUNOS.ESTADO, ALUNOS.CIDADE,
ALUNOS.BAIRRO, ALUNOS.Sexo, ALUNOS.[DATA DE NASCIMENTO],
Date() AS [Data Corrente],
Date()-[alunos].[data de nascimento] AS [Idade em Dias],
( Date()-[alunos].[data de nascimento] ) / 365 AS [Idade em Anos sem arredondar],
int( ( Date()-[alunos].[data de nascimento] ) / 365) AS [Idade em Anos INTEIRO],
int(1.2) AS [Exemplo de INT], fix(1.2) AS [Exemplo de Fix],
int(-1.2) AS [Exemplo de INT Negativo],
fix (-1.2) AS [Exemplo de FIX Negativo]
FROM ALUNOS
ORDER BY ALUNOS.NOME;

54
MODELAGEM DE DADOS
SELECT ALUNOS.MATRICULA, ALUNOS.NOME, ALUNOS.ENDERECO, ALUNOS.SALA,
ALUNOS.ESTADO, ALUNOS.CIDADE, ALUNOS.BAIRRO, ALUNOS.Sexo,
ALUNOS.[DATA DE NASCIMENTO]
FROM ALUNOS
WHERE (((ALUNOS.[DATA DE NASCIMENTO]) Between #10/1/80# And #10/31/80#));

SELECT ALUNOS.MATRICULA, ALUNOS.NOME, ALUNOS.ENDERECO, ALUNOS.SALA,


ALUNOS.ESTADO, ALUNOS.CIDADE, ALUNOS.BAIRRO, ALUNOS.Sexo,
ALUNOS.[DATA DE NASCIMENTO]
FROM ALUNOS
WHERE (((ALUNOS.[DATA DE NASCIMENTO])
Between [informe data inicial] And [informe data final]));

SELECT ALUNOS.MATRICULA, ALUNOS.NOME, ALUNOS.ENDERECO, ALUNOS.SALA,


ALUNOS.ESTADO, ALUNOS.CIDADE, ALUNOS.BAIRRO, ALUNOS.Sexo,
ALUNOS.[DATA DE NASCIMENTO]
FROM ALUNOS
WHERE (((ALUNOS.ESTADO)="RJ"));

SELECT ALUNOS.MATRICULA, ALUNOS.NOME, ALUNOS.ENDERECO, ALUNOS.SALA,


ALUNOS.ESTADO, ALUNOS.CIDADE, ALUNOS.BAIRRO, ALUNOS.Sexo,
ALUNOS.[DATA DE NASCIMENTO], ALUNOS.RG
FROM ALUNOS
WHERE (((ALUNOS.RG) Between [Informe valor inicial] And [Informe valor final]));

SELECT ALUNOS.MATRICULA, ALUNOS.NOME, ALUNOS.ENDERECO, ALUNOS.SALA,


ALUNOS.ESTADO, ALUNOS.CIDADE, ALUNOS.BAIRRO, ALUNOS.Sexo,
ALUNOS.[DATA DE NASCIMENTO]
FROM ALUNOS
WHERE (((ALUNOS.ESTADO)=[Informe o Estado]));

55
MODELAGEM DE DADOS

SELECT ALUNOS.MATRICULA, ALUNOS.NOME, ALUNOS.ENDERECO, ALUNOS.SALA,


ALUNOS.ESTADO, ALUNOS.CIDADE, ALUNOS.BAIRRO, ALUNOS.Sexo,
ALUNOS.[DATA DE NASCIMENTO]
FROM ALUNOS
WHERE (((ALUNOS.CIDADE)="santos" Or (ALUNOS.CIDADE)="campinas"));

SELECT ALUNOS.MATRICULA, ALUNOS.NOME, ALUNOS.ENDERECO, ALUNOS.SALA,


ALUNOS.ESTADO, ALUNOS.CIDADE, ALUNOS.BAIRRO, ALUNOS.Sexo,
ALUNOS.[DATA DE NASCIMENTO]
FROM ALUNOS
WHERE (((ALUNOS.CIDADE)="santos" Or (ALUNOS.CIDADE)="campinas") AND
((ALUNOS.Sexo)="m"));

CREATE TABLE Tabela1 (Nome TEXT (30), Sobrenome TEXT);

CREATE INDEX Nome_Indice1 ON tabela2 (nome, sobrenome);

CREATE TABLE Tabela4


(Nome TEXT,
Sobrenome TEXT,
SSN INTEGER,
CONSTRAINT PK_Tabela4 PRIMARY KEY (SSN,NOME) );

CREATE TABLE Tabela3


(Nome TEXT,
Sobrenome TEXT,
SSN INTEGER CONSTRAINT PK_Tabela3 PRIMARY KEY);

CREATE TABLE Tabela2 (Nome TEXT,


Sobrenome TEXT, DataDeNascimento DATETIME,
CONSTRAINT UN_Tabela2 UNIQUE (Nome, Sobrenome, DataDeNascimento));

DELETE *
FROM SALAS
WHERE SALA = 1;

56
MODELAGEM DE DADOS

DROP INDEX nome_indice1 ON tabela2;

DROP TABLE tabela4

SELECT ALUNOS.MATRICULA, abs(-2) AS [abs -2], abs(2) AS [abs 2]


FROM ALUNOS;

SELECT ALUNOS.MATRICULA,
str(-2) AS [str -2], str(-2)+"A" AS [concatenacao str(-2)+"A" ],
str(-2)&"A" AS [concatenacao str(-2)&"A" ], val("2") AS [val("2")],
val("2"+"4") AS [transforma o 24], val("2") + val("4") AS [soma 2 com 4 ]
FROM ALUNOS;

SELECT ALUNOS.MATRICULA, asc("A") AS [uso do asc A],


asc("a") AS [uso do asc a minusculo], chr(97) AS [chr 97], chr(65) AS [chr 65]
FROM ALUNOS;

SELECT ALUNOS.MATRICULA, month(date()) AS [mes da data],


year(date()) AS [ano da data], day(date()) AS [dia da data],
month(#10/12/2000#) AS [mes da data 2],
month(Format(Date(),"dd/mm/yyyy") ) AS [mes da data com formato],
month(Format(#25/12/2000#,"dd/mm/yyyy") ) AS [mes da data informada 2],
weekday (date() ) AS [dia da semana], now() AS [retorna data e hora],
hour(time()) AS [hora de um horario time], hour(now()) AS [hora do now],
minute(time()) AS [minutos de uma hora],
second(time()) AS [segundos de uma hora]
FROM alunos;

SELECT ALUNOS.MATRICULA, fix(99.9) AS [uso fix +99,9],


fix(- 99.9) AS [uso do fix -99,9 ], int(-99.9) AS [uso int -99,9],
int(99.9) AS [uso int 99,9]
FROM ALUNOS;

57
MODELAGEM DE DADOS

SELECT ALUNOS.MATRICULA, Format(5459.4,"#,##0.00") AS Expr1,


Format(334.9,"0.00") AS Expr2, Format(5,"0.00%") AS Expr3,
Format("ALÔ","<") AS Expr4, Format("É isto",">") AS Expr5,
Format(Date(),"dddd"", ""mmm d yyyy") AS Expr6,
Format(Date(),"yyyy\.mm\.dd") AS Expr7, Format(Date(),"mm/dd/yyyy") AS Expr8,
Format(Time(),"hh:nn:ss") AS Expr9, Format(Time(),"hh:nn:ss am/pm") AS Expr10,
Format(Date(),"Long Date") AS Expr11
FROM ALUNOS;

SELECT ALUNOS.MATRICULA, isnumeric(60) AS [eh numero],


isnumeric("joao") AS [nao eh numero], isdate( date() ) AS [eh data],
isdate(#04/06/2000#) AS [eh data 1], isdate( "joao") AS [nao eh data],
isempty (rtrim(ltrim(alunos.fone_comercial))) AS [nao eh vazio 1],
isempty(" ") AS [nao eh vazio 2], isempty(Null) AS [nao eh vazio 3]
FROM alunos;

SELECT ALUNOS.MATRICULA, Left("MARIA", 1), Left("MARIA", 3), Right("MARIA", 1),


Right("MARIA", 3)
FROM ALUNOS;

SELECT ALUNOS.MATRICULA, len("MARIA") AS [sem espacos],


len("JOAO e MARIA") AS [com espacos], len(200) AS [com numeros],
len(date()) AS [tamanho da data], date() AS [data correnre]
FROM ALUNOS;

SELECT ALUNOS.MATRICULA, log(1) AS [logaritimo na base 10],


rnd AS [numero aleatorio entre 0 e 1],
Int((6 * Rnd) + 1) AS [numero aleatorio antre 0 e 6], sgn(0) AS [sinal do numero 0],
sgn(-100) AS [sinal do numero -100], sgn(100) AS [sinal do numero 100],
sqr(4) AS [raiz quadrada]
FROM ALUNOS;

58
MODELAGEM DE DADOS
SELECT ALUNOS.MATRICULA,
"B"+rtrim(" <teste> ")+"A" AS [elimina espacos da direita],
"B"+Ltrim(" <teste> ")+"A" AS [elimina espacos da esquerda],
"B"+trim(" <teste> ")+"A" AS [elimina espacos da direita e da esquerda]
FROM ALUNOS;

SELECT ALUNOS.MATRICULA,
mid("alunos da MARIA", 1, 6) AS [equivale ao substr do oracle],
mid("alunos da MARIA", 11,5) AS [mid("alunos da MARIA", 11,5)]
FROM ALUNOS;

SELECT ALUNOS.MATRICULA, 10 mod 3 AS [resto da divisao],


10 mod 2 AS [resto da divisao 1], 2 ^ 3 AS [2 elevado a 3],
(23=23) AS [-1 = true], (23<23) AS [0 = false]
FROM ALUNOS;

SELECT ALUNOS.MATRICULA, cos(180) AS [Eh Coseno de um angulo],


1/cos(180) AS secante, sin(180) AS [eh Seno de um angulo],
1/sin(180) AS Cossecante, tan(180) AS Tangente, 1/tan(180) AS Cotangente,
4*atn(1) AS [Calcula o valor de PI=> 4 * arco tangente de 1],
exp(1) AS [logaritimo neperiano]
FROM ALUNOS;

SELECT ALUNOS.MATRICULA, "A"+space(05)+"B" AS [uso de space],


string(5,"*") AS [uso de string], string(5,"AB") AS [uso de string 2]
FROM ALUNOS;

SELECT ALUNOS.MATRICULA, ucase("abc") AS [transforma para maiuscula],


lcase("ABC") AS [transforma para minuscula]
FROM ALUNOS;

INSERT INTO SALAS ( SALA, DESCRICAO )


SELECT 1, "DESENHO";

59
MODELAGEM DE DADOS
SELECT ALUNOS.SALA,
StDev(ALUNOS.MATRICULA) AS DesvDeMATRICULA,
Count(ALUNOS.MATRICULA) AS ContarDeMATRICULA,
Avg(ALUNOS.MATRICULA) AS MédiaDeMATRICULA
FROM ALUNOS
GROUP BY ALUNOS.SALA;

ALTER TABLE TABELA1 DROP CONSTRAINT FK_TABELA1;

ALTER TABLE tabela1 DROP COLUMN Salário;

ALTER TABLE tabela1 ADD CONSTRAINT FK_Tabela1 FOREIGN KEY (estado)


REFERENCES uf (codigo);

ALTER TABLE tabela1 ADD COLUMN Salário CURRENCY;

60
MODELAGEM DE DADOS

REFERÊNCIAS

- CONSTANTINO Jr, Walter e SURIAN, Jorge – Metodologias para Desenvolvimento de


Sistemas – São Paulo – 1998 Editora CenaUn

- COUGO, Paulo Sérgio – Modelagem conceitual e projeto de banco de dados.


Rio de Janeiro: Campus, 1997

- FURLAN, José Davi; ACÁCIO, Feliciano Neto; HIGA, Wilson. Engenharia da


Informação – Metodologia, Técnicas e Ferramentas. McGraw-Hill, São Paulo – 1988

- JENNINGS, Roger - Usando Access for Windows versão 2


Editora Campus (Tradução do Original: Using Access 2 for Windows, 1994)

- KORTH, Henry F. e SILBERSCHATZ, Abraham – Sistema de Banco de Dados


Editora MAKRON Books.

- PEREIRA ALVAS, William - Access Para Windows 95


Editora Erica

- RAMALHO, José Antonio – Oracle 8i


Editora Berkeley 1999

- YOURDON, Edward - Analise Estruturada Moderna


Editora Campus, Serie YOURDON PRESS (Tradução do original: Modern Structured
Analysis, 1992)

61

Você também pode gostar