Você está na página 1de 54

Modelagem

de Banco de Dados

Prof. Marcos Alexandruk

SUMRIO

1.

INTRODUO
DADO

INFORMAO

CONHECIMENTO

BANCO DE DADOS

SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS

MODELO DE DADOS

SISTEMA DE GERENCIAMENTO DE ARQUIVOS

MODELO HIERRQUICO

MODELO EM REDE

MODELO RELACIONAL

MODELO ORIENTADO A OBJETOS

SISTEMAS OBJETO-RELACIONAIS

ABSTRAO DE DADOS

NVEL CONCEITUAL

NVEL EXTERNO

ARQUITETURAS DE SISTEMAS E MODELAGEM DE DADOS


ARQUITETURAS DE SISTEMAS

5
7
7

SISTEMAS CENTRALIZADOS

SISTEMAS CLIENTE-SERVIDOR

SISTEMAS PARALELOS

SISTEMAS DISTRIBUDOS

MODELAGEM DE BANCO DE DADOS

3.

NVEL INTERNO

INDEPENDNCIA DE DADOS
2.

LEVANTAMENTO E ANLISE DE REQUISITOS

MODELO CONCEITUAL

MODELO LGICO

MODELO FSICO

MODELO CONCEITUAL

10

DIAGRAMA ENTIDADE-RELACIONAMENTO

10

MER (MODELO ENTIDADE-RELACIONAMENTO)

10

ENTIDADES

10

ATRIBUTOS

10

ATRIBUTO IDENTIFICADOR OU ATRIBUTO DETERMINANTE

10

CARDINALIDADE

11

INTERPRETAO DO DIAGRAMA ENTIDADE-RELACIONAMENTO

11

DIAGRAMA DE OCORRNCIAS

11

4.

5.

6.

7.

8.

GRAUS DE RELACIONAMENTOS

14

RELACIONAMENTO BINRIO

14

RELACIONAMENTO TERNRIO (N-RIO)

14

AUTORRELACIONAMENTO

15

AUTORRELACIONAMENTO 1:1

15

AUTORRELACIONAMENTO 1:N

15

AUTORRELACIONAMENTO N:N

15

GENERALIZAO/ESPECIALIZAO, ENTIDADE ASSOCIATIVA

17

GENERALIZAO ESPECIALIZAO

17

ESPECIALIZAO TOTAL

17

ESPECIALIZAO PARCIAL

17

MLTIPLOS NVEIS E HERANA MLTIPLA

18

HERANA DE PROPRIEDADES

18

GENERALIZAO/ESPECIALIZAO EXCLUSIVA

18

GENERALIZAO/ESPECIALIZAO NO EXCLUSIVA

18

ENTIDADE ASSOCIATIVA

19

ATRIBUTOS OPCIONAIS

20

ATRIBUTOS COMPOSTOS

20

ATRIBUTOS MULTIVALORADOS

20

ELABORAO DE DIAGRAMAS ENTIDADE RELACIONAMENTO

22

SISTEMA VIDEO LOCADORA

22

SISTEMA ESCOLA

22

SISTEMA EMPRESA

23

MODELO RELACIONAL

24

TABELA

24

CHAVE PRIMRIA (PRIMARY KEY)

24

CHAVE NICA (UNIQUE)

25

CHAVE ESTRANGEIRA (FOREIGN KEY)

25

RELACIONAMENTOS

25

RELACIONAMENTO 1:1

25

RELACIONAMENTO 1:N

25

RELACIONAMENTO N:N

26

NOTAO RESUMIDA PARA MODELOS LGICOS RELACIONAIS

26

INTEGRIDADE DE DADOS

26

INTEGRIDADE DE DOMNIO

26

INTEGRIDADE DE ENTIDADE

27

INTEGRIDADE REFERENCIAL

27

CONSTRAINTS (RESTRIES)

27

NOMENCLATURA DE TABELAS E DE CAMPOS

27

TIPOS DE DADOS

28

MAPEAMENTO DO MODELO CONCEITUAL PARA O LGICO

30

9.

10.

11.

12.

RELACIONAMENTOS BINRIOS

30

AUTORRELACIONAMENTOS

31

RELACIONAMENTOS TERNRIOS

32

GENERALIZAO/ESPECIALIZAO

32

MAPEAMENTO DO MODELO CONCEITUAL PARA O LGICO ESTUDOS DE CASO

33

SISTEMA VIDEO LOCADORA

33

SISTEMA ESCOLA

33

SISTEMA EMPRESA

33

NORMALIZAO: CONCEITOS PRELIMINARES

34

NORMALIZAO

34

CHAVES

34

DEPENDNCIA FUNCIONAL (DF)

35

TRANSITIVIDADE

35

DEPENDNCIA FUNCIONAL IRREDUTVEL ESQUERDA

35

DEPENDNCIA MULTIVALORADA (DMV)

36

NORMALIZAO: FORMAS NORMAIS

38

1FN (PRIMEIRA FORMA NORMAL)

38

2FN (SEGUNDA FORMA NORMAL)

38

3FN (TERCEIRA FORMA NORMAL)

39

LGEBRA RELACIONAL

42

SELEO

42

PROJEO

43

PRODUTO CARTESIANO

43

DIFERENA

43

UNIO

44

INTERSECO

44

JUNO

44

JUNO NATURAL

45

DIVISO

45

OPERADORES

46

13.

LGEBRA RELACIONAL - EXERCCIOS

14.

SQL STRUCTURED QUERY LANGUAGE

15.

SQL STRUCTURED QUERY LANGUAGE EXERCCIOS

48

MODELAGEM DE BANCO DE DADOS

INTRODUO

Histrico breve sobre banco de dados e conceitos bsicos importantes.

A humanidade sempre procurou manter registros histricos dos eventos mais


importantes para que pudessem ser utilizados posteriormente.
Exemplos: Pinturas em cavernas, inscries hieroglficas, escritas cuneiformes e a
imprensa (a partir do sculo XV).
Os computadores inventados e aperfeioados a partir do sculo XX permitiram
que os dados fossem armazenados e recuperados com grande rapidez e facilidade.
No incio da dcada de 70 surgiram os SGBDs (Sistemas de Gerenciamento de
Banco de Dados).
Pesquisas na rea resultaram em um conjunto de tcnicas, processos e notaes
para a modelagem ou projeto de banco de dados.
Observe, a seguir, alguns conceitos importantes:
DADO
Podemos definir dado como uma seqncia de smbolos quantificados ou
quantificveis. Exemplo: texto (as letras so smbolos quantificados). Tambm
so dados: fotos, figuras, sons gravados e animao, pois todos podem ser
quantificados.
Um dado necessariamente uma entidade matemtica e, desta forma, puramente
sinttico. Isto significa que os dados podem ser totalmente descritos atravs de
representaes formais, estruturais. Sendo ainda quantificados ou quantificveis,
eles podem obviamente ser armazenados em um computador e processados por
ele.
INFORMAO
Informao uma abstrao informal (no pode ser formalizada atravs de uma
teoria lgica ou matemtica), que est na mente de algum, representando algo
significativo para essa pessoa.
Se a representao da informao for feita por meio de dados, pode ser
armazenada em um computador. Mas, o que armazenado no computador no a
informao, mas a sua representao em forma de dados.
CONHECIMENTO
Conhecimento pode ser caracterizado como uma abstrao interior, pessoal, de
algo que foi experimentado, vivenciado, por algum.
Nesse sentido, o conhecimento no pode ser descrito; o que se descreve a
informao. Tambm no depende apenas de uma interpretao pessoal, como a
informao, pois requer uma vivncia do objeto do conhecimento.

2011 Prof. Marcos Alexandruk

MODELAGEM DE BANCO DE DADOS

A informao pode ser inserida em um computador por meio de uma


representao em forma de dados (se bem que, estando na mquina, deixa de ser
informao). Como o conhecimento no sujeito a representaes, no pode ser
inserido em um computador.
Um beb tem conhecimento (reconhece a me, sabe que chorando ganha comida,
etc.). Mas no podemos dizer que ele tem informaes, pois no associa
conceitos.
A informao pode ser prtica ou terica; o conhecimento sempre prtico.
BANCO DE DADOS:
Um banco de dados pode ser definido como:

Uma coleo de dados integrados que tem por objetivo atender a uma
comunidade de usurios;
Um conjunto de dados persistentes e manipulveis que obedecem a um padro
de armazenamento. Exemplos: lista telefnica, dicionrio, etc.

SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS (SGBD)


O Sistema de Gerenciamento de Banco de Dados o software que incorpora as
funes de definio, recuperao e alterao de dados em um banco de dados
Por que utilizar bancos de dados informatizados?
Bancos de dados informatizados apresentam as seguintes vantagens:

Compacto (elimina arquivos de papis);


Rpido;
Integrado (vrios aplicativos utilizam o mesmo repositrio de dados);
Compartilhado (vrios usurios podem acessar);
Seguro (controle de acesso);
Padronizado;
Consistente;
Suporte a transaes.

MODELO DE DADOS
Modelo de dados refere-se descrio formal da estrutura de um banco de dados.
SISTEMA DE GERENCIAMENTO DE ARQUIVOS (FMS File Management System)
Foi a primeira forma utilizada para armazenamento de dados. Baseia-se no
armazenamento dos dados de forma sequencial em um nico arquivo. Apresenta
como vantagem a simplicidade na forma em que os dados so estruturados no
arquivo. No entanto, esse sistema no apresenta relao entre os dados, nem
mecanismos de busca, classificao e recursos para evitar problemas de
integridade.

2011 Prof. Marcos Alexandruk

MODELAGEM DE BANCO DE DADOS

MODELO HIERRQUICO (HDS Hierarquical Database System)


Surgiu na dcada de 1960 com a primeira linguagem de banco de dados: a DL/I
desenvolvida pela IBM e a North American Aviation. Organiza os dados de cima
para baixo, como uma rvore. Cada registro dividido em partes denominadas
segmentos. O banco de dados se assemelha a um organograma com um segmento
raiz e um nmero qualquer de segmentos subordinados. Os segmentos so
arranjados em estruturas com um segmento superior ligado a um segmento
subordinado em um relacionamento pai-filho. Um segmento pai pode ter mais
de um filho, mas um segmento filho s pode ter um pai.
A desvantagem apresentada rigidez da estrutura de dados, que obriga refazer
todo o banco de dados, caso o seguimento raiz ou os seguimentos que possuem
dependentes sejam alterados. O sistema comercial mais divulgado do modelo
hierrquico foi o IMS (Information Management System) da IBM Corporation.
MODELO EM REDE (NDS - Network Database System)
Definidos pelo DBTG (DataBase Task Group) do comit do CODASYL
(Conference on Data Systems Language) a partir de 1971. Esse modelo uma
extenso do modelo hierrquico. Os registros so organizados no banco de dados
por um conjunto arbitrrio de grficos. Em outras palavras, um filho pode ter
mais de um pai. Esta metodologia torna a pesquisa mais rpida e mais flexvel,
pois no depende de um nico n raiz como vetor de inicializao de pesquisa.
Entretanto, o modelo em rede ainda apresenta os mesmos problemas com relao
ao projeto de estrutura do modelo hierrquico. Qualquer alterao feita em uma
classe de dados implica na criao de uma nova estrutura para suportar aquela
alterao. No modelo em rede um dos sistemas mais conhecidos o CA IDMS da
Computer Associates.
MODELO RELACIONAL (Relational Model)
Foi apresentado por Edgard F. Codd (IBM) em seu artigo A Relational Model of
Data for Large Shared Data Banks (1970). Foi o evento mais importante na
histria recente da rea de banco de dados.
O objetivo do modelo representar os dados de forma mais simples, atravs de
um de conjuntos de tabelas inter-relacionadas. Este modelo abandona os conceitos
anteriores, tornando os bancos de dados mais flexveis, tanto na forma de
representar as relaes entre os dados, como na tarefa de modificao de sua
estrutura, sem ter que reconstruir todo o banco de dados.
Os primeiros produtos relacionais comearam a aparecer no final da dcada de
1970. Hoje a maioria dos sistemas de banco de dados relacional:

IBM: DB2
Microsoft: SQL Server
Oracle: 9i, 10g, 11g
MySQL
PostgreSQL

A principal linguagem de manipulao de dados em sistemas de bancos de dados


relacionais o SQL (Structured Query Language).

2011 Prof. Marcos Alexandruk

MODELAGEM DE BANCO DE DADOS

MODELO ORIENTADO A OBJETOS


Surgiu em meados de 1980 para armazenamento de dados complexos, no
adequados aos sistemas relacionais. Exemplos: GIS (Geographical Information
System) e CAD/CAM/CAE.
O modelo de banco de dados orientado a objetos baseado nos conceitos de
orientao a objetos j difundidos em linguagens de programao como o
SmallTalk e o C++. Seu objetivo principal tratar os tipos de dados complexos
como um tipo abstrato (objeto).
A filosofia do modelo de dados orientado a objetos consiste em agrupar os dados
e o cdigo que manipula estes dados em um nico objeto, estruturando-os de
forma que possam ser agrupados em classes. Isso significa que os objetos de
banco de dados agrupados podem usar o mesmo mecanismo de herana para
definir superclasses e subclasses de objetos, criando assim hierarquias.
O OMDG (Object Database Management Group) definiu um padro de estrutura
para bancos de dados orientados a objetos. O grupo props um padro conhecido
como ODMG-93, atualmente revisado e denominado ODMG 2.0.
Quando os bancos de dados orientados a objetos foram introduzidos, algumas das
falhas perceptveis do modelo relacional pareceram ter sido solucionadas e
acreditava-se que tais bancos de dados ganhariam grande parcela do mercado.
Hoje, porm, acredita-se que os bancos de dados orientados a objetos sero usados
em aplicaes especializadas, enquanto os sistemas relacionais continuaro a
sustentar os negcios tradicionais, onde as estruturas de dados baseadas em
relaes so suficientes. Utiliza-se geralmente o diagrama de classes UML como
esquema para o modelo de dados orientado a objetos.
SISTEMAS OBJETO-RELACIONAIS
Fornecedores de bancos de dados relacionais adicionaram a seus produtos
capacidade de incorporar objetos mais complexos (imagem, som e vdeo) alm de
recursos de orientao a objetos. No entanto, isso no os torna sistemas puramente
orientados a objetos, apesar de sua denominao ORDMS Object-Relacional
Database Management System (Sistema de Gerenciamento de Banco de Dados
Objeto-Relacional).
Esses sistemas na realidade implementam uma camada de abstrao de dados em
cima de mtodos relacionais, o que torna possvel a manipulao de dados mais
complexos.
Seguem, portanto, as especificaes da SQL3 que fornecem capacidades
estendidas e de objetos adicionadas ao padro SQL.
Todas as caractersticas relacionais permanecem, ou seja, as tabelas continuam a
existir, porm elas possuem alguns recursos adicionais.
Anteriormente, as tabelas apenas podiam conter valores atmicos em seus
atributos, agora pode-se definir novos tipos de dados e us-los para receber
valores complexos.
Alguns Sistemas de Gerenciamento de Banco de Dados Objeto-Relacionais:
Informix, IBM DB2, Oracle 10g.

2011 Prof. Marcos Alexandruk

MODELAGEM DE BANCO DE DADOS

ABSTRAO DE DADOS
A arquitetura ANSI/SPARC (American National Standards Institute - Standards
Planning And Requirements Committee) se divide em trs nveis: interno,
conceitual e externo, embora outros nomes tambm sejam utilizados:
NVEL INTERNO (OU DE ARMAZENAMENTO):
o nvel mais baixo de abstrao e o mais prximo do armazenamento fsico.
Descreve como os dados esto de fato armazenados.
NVEL CONCEITUAL (LGICO OU LGICO DE COMUNIDADE):
Descreve quais dados esto armazenados e quais os relacionamentos entre eles.
uma viso do contedo total do banco de dados.
NVEL EXTERNO (LGICO DO USURIO):
o nvel mais alto de abstrao e o mais prximo dos usurios.
aquele que se ocupa do modo como os dados so vistos por usurios
individuais.

Figura 1.1: Arquitetura ANSI/SPARC


INDEPENDNCIA DE DADOS:
a capacidade de modificar a definio dos esquemas em determinado nvel, sem
afetar o esquema do nvel superior:
Independncia de dados fsica: a capacidade de modificar o esquema fsico
sem que, com isso, qualquer programa ou aplicao precise ser reescrito.
Independncia de dados lgica: a capacidade de modificar o esquema lgico
sem que, com isso, qualquer programa ou aplicao precise ser reescrito.
A independncia lgica mais difcil de ser alcanada, uma vez que as aplicaes
so mais fortemente dependentes da estrutura lgica dos dados do que de seu
acesso.

2011 Prof. Marcos Alexandruk

MODELAGEM DE BANCO DE DADOS

EXERCCIOS
INDIVIDUAL:
1. Elabore um texto (mais ou menos vinte linhas) discorrendo sobre a importncia dos
registros de dados para uma empresa e para a sociedade em geral.
2. Como voc entende por: informao, dado e conhecimento?
3. O que um banco de dados? O que um SGBD (Sistema Gerenciador de Banco de
Dados)?
4. Cite cinco razes para utilizar-se um banco de dados computadorizado.
5. Fale brevemente sobre os seguintes modelos de banco de dados:
a. hierrquico
b. em rede
c. relacional
6. Quais so os trs nveis de abstrao de dados? Comente brevemente sobre eles.
GRUPO:
1. Forme um grupo com no mximo trs colegas e discutam sobre o texto elaborado
por cada participante no item 1 (acima). Elaborem um texto comum ao grupo.
LEITURA RECOMENDADA:
ROB, PETER; CORONEL, CARLOS. Sistemas de Banco de Dados. So Paulo:
Cengage Learning, 2011. (pags. 4- 8 e 31-49)
CODD, EDGARD F. A Relational Model of Data for Large Shared Data Banks.
Disponvel em: www.unilivros.com.br/pdf/_codd_acm_1970.pdf (idioma: ingls)

2011 Prof. Marcos Alexandruk

MODELAGEM DE BANCO DE DADOS

ARQUITETURAS DE SISTEMAS E MODELAGEM DE DADOS

Apresentao das arquiteturas de sistemas e fundamentos da modelagem


de dados.
SISTEMAS CENTRALIZADOS
Sistemas centralizados so aqueles executados em grandes computadores centrais
(mainframes).
Os programas de aplicao e os de interface com os usurios, bem como as
funcionalidades do SGBD (Sistema Gerenciador de Banco de Dados) so todos
processados no sistema central.
Os usurios acessam o sistema central via terminais, sem poder de processamento,
atravs de uma rede de comunicao.
SISTEMAS CLIENTE-SERVIDOR
A estrutura fundamental dos sistemas cliente-servidor consiste de estaes de
trabalho (normalmente PCs) conectadas via rede aos servidores que tm
funcionalidades especficas: servidor de arquivo, de impresso, web, SGBD, etc.
As mquinas clientes (estaes de trabalho) oferecem aos usurios as interfaces
apropriadas para utilizar os servidores, bem como poder de processamento para
executar aplicaes locais.
Sistemas cliente-servidor de trs camadas para aplicaes Web
Possui uma camada intermediria entre o cliente e o servidor de banco de dados.
Essa camada intermediria chamada de servidor de aplicaes ou servidor web e
pode armazenar regras de negcio (procedimentos ou restries) que so usadas
para acessar os dados no servidor de banco de dados.
SISTEMAS PARALELOS
Suprem a demanda de aplicaes que geram consultas em bancos de dados muito
grandes ou que tenham de processar uma quantidade enorme de transaes por
segundo.
Sistemas paralelos imprimem velocidade ao processamento e I/O (input/output)
por meio do uso em paralelo de diversas CPUs e discos. H diversos modelos
arquitetnicos: memria compartilhada, disco compartilhado, etc.
SISTEMAS DISTRIBUDOS
Em um sistema distribudo o banco de dados armazenado em diversos
computadores. Os computadores comunicam-se uns com os outros por intermdio
de redes de alta velocidade ou linhas telefnicas. Eles no compartilham memria
principal ou discos.
Os computadores em um sistema de banco de dados distribudos podem variar,
quanto ao tamanho e funes, desde estaes de trabalho at sistemas de grande
porte (mainframes).

2011 Prof. Marcos Alexandruk

MODELAGEM DE BANCO DE DADOS

MODELAGEM DE BANCO DE DADOS


O projeto de um banco de dados ocorre geralmente observando-se as seguintes
etapas:
LEVANTAMENTO E ANLISE DE REQUISITOS
a primeira etapa do projeto de um sistema de aplicao em banco de dados.
O analista entrevista o(s) usurio(s) do banco de dados para fazer o levantamento
dos requisitos de dados.
Esses requisitos devem ser especificados em um formulrio de forma detalhada e
completa.
importante definir tambm os requisitos funcionais da aplicao, isto , as
operaes (transaes) definidas pelo usurio que sero aplicadas ao banco de
dados.
MODELO CONCEITUAL
a prxima etapa do projeto de um sistema de aplicao em banco de dados.
Representa ou descreve a realidade do ambiente do problema, constituindo-se em
uma viso global dos principais dados e relacionamentos, independente das
restries de implementao.
uma descrio em alto nvel (macro definio), mas que tem a preocupao de
capturar e retratar toda a realidade de uma organizao.
O resultado de um modelo conceitual um esquema que representa a realidade
das informaes existentes, assim como as estruturas de dados que representam
estas informaes.
MODELO LGICO
Tem seu incio a partir do modelo conceitual, levando em considerao trs
abordagens principais: Relacional (atualmente o mais utilizado), Hierrquica e
Rede.
O modelo lgico descreve as estruturas que estaro contidas no banco de dados,
mas sem considerar ainda nenhuma caracterstica especfica de SGBD, resultando
em um esquema lgico de dados.
MODELO FSICO
Parte do modelo lgico e descreve as estruturas fsicas de armazenamento de
dados, tais como: tamanhos de campos, ndices, tipos de dados, nomenclaturas,
etc.
Este modelo detalha o estudo dos mtodos de acesso do SGDB, para elaborao
dos ndices de cada informao colocada nos modelos conceitual e lgico.
a etapa final do projeto de banco de dados, na qual ser utilizada a linguagem de
definio de dados (DDL), para a realizao da montagem do mesmo no nvel de
dicionrio de dados.

2011 Prof. Marcos Alexandruk

MODELAGEM DE BANCO DE DADOS

EXERCCIOS
INDIVIDUAL:
1. Descreva brevemente os seguintes sistemas: centralizados, cliente-servidor,
paralelos e distribudos.
a. Centralizados
b. Cliente-servidor
c. Paralelos
d. Distribudos
2. Quais etapas devem ser observadas na modelagem de dados? Explique cada uma
delas.
GRUPO:
1. Forme um grupo com no mximo cinco colegas e discutam sobre: Como as
corporaes esto utilizando os dados para obter vantagens competitivas?
Apresentem um exemplo. Elaborem um texto comum ao grupo.
LEITURA RECOMENDADA:
SIBERSCHATZ, ABRAHAM; KORTH, HENRY F.; SUDARSHAN, S. Sistema de
Banco de Dados. 5 ed. Rio de Janeiro: Elsevier, 2006. (pags. 28-31)

2011 Prof. Marcos Alexandruk

MODELAGEM DE BANCO DE DADOS

MODELO CONCEITUAL
Conceitos fundamentais da modelagem de dados a partir de sua primeira
etapa: o modelo conceitual.

MODELO CONCEITUAL
Descrio do banco de dados de forma independente de implementao em um
SGBD. Registra que dados podem aparecer no banco de dados, mas no registra
como estes dados esto armazenados no SGDB (Sistema Gerenciador de Banco
de Dados).

DIAGRAMA ENTIDADE-RELACIONAMENTO

Figura 3.1 Diagrama Entidade-Relacionamento


MER (Modelo Entidade-Relacionamento)
Foi definido por Peter Chen em 1976, e teve como base a teoria relacional criada
por Edgard F. Codd (1970).
Um MER um modelo formal, preciso, no ambguo. Isto significa que diferentes
leitores de um mesmo MER devem sempre entender exatamente o mesmo. Tanto
assim, que um MER pode ser usado como entrada de uma ferramenta CASE
(Computer Aided Software Engineering) na gerao de um banco de dados
relacional.
ENTIDADES
Representam um conjunto de objetos (tudo que perceptvel ou manipulvel) da
realidade modelada sobre os quais deseja-se manter informaes no banco de
dados.
ATRIBUTOS
Dados que so associados a cada ocorrncia de uma entidade ou de um
relacionamento.
ATRIBUTO IDENTIFICADOR OU ATRIBUTO DETERMINANTE
Atributo ou conjunto de atributos e relacionamentos cujos valores distinguem uma
ocorrncia da entidade das demais.

2011 Prof. Marcos Alexandruk

10

MODELAGEM DE BANCO DE DADOS

CARDINALIDADE
Nmero (mnimo, mximo) de ocorrncias de entidade associadas a uma
ocorrncia da entidade em questo atravs do relacionamento.
Cardinalidade mnima
o nmero mnimo de ocorrncias de entidade que so associadas a uma
ocorrncia da mesma (auto-relacionamento) ou de outra(s) entidade(s) atravs de
um relacionamento.
A cardinalidade mnima 1 recebe a denominao de associao obrigatria,
j que ela indica que o relacionamento deve obrigatoriamente associar uma
ocorrncia de entidade a outra. A cardinalidade mnima 0 (zero) recebe a
denominao de associao opcional.
Cardinalidade mxima
o nmero mximo de ocorrncias de entidade que so associadas a uma
ocorrncia da mesma ou de outra entidade atravs de um relacionamento. Apenas
duas cardinalidades mximas so relevantes: a cardinalidade mxima 1 e a
cardinalidade mxima n (muitos).
INTERPRETAO DO DIAGRAMA ENTIDADE RELACIONAMENTO
A figura a seguir apresenta os detalhes necessrios interpretao de um DER
(Diagrama Entidade Relacionamento).

Figura 3.2 Interpretao do DER

DIAGRAMA DE OCORRNCIAS
Para fins didticos, pode ser til construir um diagrama de ocorrncias. Neste as
ocorrncias de entidades so representadas por crculos brancos e ocorrncias de
relacionamentos por crculos pretos. As ocorrncias de entidades participantes de
uma ocorrncia de relacionamento so indicadas pelas linhas que ligam o crculo
preto aos crculos brancos.

Figura 3.3 Diagrama de Ocorrncias

2011 Prof. Marcos Alexandruk

11

MODELAGEM DE BANCO DE DADOS

EXERCCIOS
INDIVIDUAL:
1. Explique o que um modelo conceitual de dados.
2. Quem apresentou pela primeira vez o MER (Modelo Entidade Relacionamento) e
baseando-se em que?
3. Explique com suas palavras cada um dos itens a seguir:
a. Entidade
b. Atributo
c. Identificador de entidade (ou atributo identificador)
d. Cardinalidade
4. O que um diagrama de ocorrncias?
5. Quais as vantagens de desvantagens de utilizar-se o RG ou o CPF de um cliente
como atributo identificador? Por que muitas empresas atribuem um nmero ou
cdigo prprio para identificar seus clientes?
GRUPO:
Forme um grupo com no mximo trs colegas e resolva os casos a seguir. Elabore o
DER (Diagrama Entidade Relacionamento) e o Diagrama de Ocorrncias para cada
caso.
1. Vrias empresas possuem frotas de veculos que so identificados atravs da placa
(XYZ-1234). So registrados tambm os fabricantes e modelos de cada veculo. Os
funcionrios so identificados atravs do nmero de matrcula. So mantidos
registros do nome e CPF de cada funcionrio. Criar o DER (Diagrama Entidade
Relacionamento) para cada um dos casos descritos a seguir:
a.

Empresa A: Cada veculo (sem exceo) dirigido por um apenas


funcionrio. Todos os veculos esto alocados aos funcionrios. Cada
funcionrio pode utilizar apenas um veculo e todos os funcionrios tm
veculos pertencentes frota da empresa.

b.

Empresa B: Cada veculo (sem exceo) dirigido por um apenas


funcionrio. Todos os veculos esto alocados aos funcionrios. Cada
funcionrio pode utilizar apenas um veculo, porm alguns funcionrios no
tm veculos pertencentes frota da empresa.

c.

Empresa C: Cada veculo pode ser dirigido por um ou mais funcionrios.


Todos os veculos esto alocados aos funcionrios. Alguns funcionrios
podem utilizar mais um veculo e todos os funcionrios tm veculos
pertencentes frota da empresa.

d.

Empresa D: Cada veculo (sem exceo) dirigido por um apenas


funcionrio. Todos os veculos esto alocados aos funcionrios. Alguns
funcionrios podem utilizar mais de um veculo, porm alguns funcionrios
no tm veculos pertencentes frota da empresa.

2011 Prof. Marcos Alexandruk

12

MODELAGEM DE BANCO DE DADOS

e.

Empresa E: Cada veculo pode ser dirigido por um ou mais funcionrios.


Todos os veculos esto alocados aos funcionrios. Cada funcionrio pode
utilizar apenas um veculo e todos os funcionrios tm veculos pertencentes
frota da empresa.

f.

Empresa F: Alguns veculos podem ser dirigidos por mais de um


funcionrio. Porm, outros veculos no podem ser alocados aos
funcionrios. Cada funcionrio pode utilizar apenas um veculo, porm
alguns funcionrios no tm veculos pertencentes frota da empresa.

2. Tomando como base os diagramas a seguir elabore um texto breve (similar aos
apresentados nas questes acima) para explicar cada caso.
a.

b.

c.

LEITURA RECOMENDADA:
HEUSER, CARLOS ALBERTO. Projeto de Banco de Dados. 6 ed. So Paulo:
Artmed, 2009. (pags. 34-54)
DOWNLOAD RECOMENDADO:
BrModelo: Ferramenta freeware voltada para ensino de modelagem em banco de
dados. Desenvolvida por Carlos Henrique Cndido como trabalho de concluso do
curso de ps-graduao em banco de dados (UNVAG-MT e UFSC).
Disponvel em: http://sis4.com/brModelo/download.aspx

2011 Prof. Marcos Alexandruk

13

MODELAGEM DE BANCO DE DADOS

GRAUS DE RELACIONAMENTOS

Apresentao dos vrios graus de relacionamentos: binrio, auto


relacionamento e ternrio ou n-rio.

GRAUS DE RELACIONAMENTOS
O grau de um relacionamento refere-se ao nmero de entidades que participam de
um relacionamento. Observe a seguir os diversos graus de relacionamentos:
RELACIONAMENTO BINRIO
Um relacionamento binrio aquele envolve duas ocorrncias de entidade.
Podemos classificar os relacionamentos binrios em:

1:1 (um-para-um): cada ocorrncia de uma entidade relaciona-se com uma e


somente uma ocorrncia da outra entidade.
1:N (um-para-muitos): uma ocorrncia da entidade 1 relaciona-se com
muitas ocorrncias da entidade 2, mas cada ocorrncia da entidade 2 somente
pode estar relacionada com uma ocorrncia da entidade 1.
N:N (muitos-para-muitos): em ambos os sentidos encontramos um ou mais
relacionamentos de um-para-muitos, isto , uma ocorrncia da entidade 1
relaciona-se com muitas ocorrncias da entidade 2 e vice e versa.

Figura 4.1 Relacionamento Binrio


RELACIONAMENTO TERNRIO (N-RIO)
Denominamos ternrios os relacionamentos entre trs conjuntos de entidades.
Relacionamentos com quatro ou mais conjuntos de entidades so chamados de
n-rios. Porm, sua utilizao no recomendada devido a sua complexidade.
Sugere-se que sejam quebrados em relacionamentos binrios e/ou ternrios.
No exemplo a seguir queremos garantir que a seguinte situao seja representada
de forma apropriada: o professor x ministra a disciplina y para a turma z. Esta
condio deve ser representada atravs de um relacionamento ternrio.

Figura 4.2 Relacionamento Ternrio

2011 Prof. Marcos Alexandruk

14

MODELAGEM DE BANCO DE DADOS

Observe que no exemplo apresentado, cada par de ocorrncias (turma, disciplina)


est associado no mximo um professor.
A um par (turma, professor) podem estar associadas muitas disciplinas, ou em
outros termos, um professor pode ministrar a uma determinada turma vrias
disciplinas.
A um par (disciplina, professor) podem estar associados muitas turmas, ou em
outros termos, um professor pode uma determinada disciplina a vrias turmas.
AUTO RELACIONAMENTO
Relacionamento entre ocorrncias de uma mesma entidade.
AUTO RELACIONAMENTO 1:1
O diagrama abaixo representa a seguinte situao: uma ocorrncia de pessoa
exerce o papel de marido e outra ocorrncia de pessoa exerce o papel de esposa.

Figura 4.3 Auto relacionamento 1:1


AUTO RELACIONAMENTO 1:N
Abaixo temos representada a seguinte situao: uma ocorrncia de funcionrio
exerce o papel de supervisor e outras ocorrncias de funcionrio exercem o papel
de supervisionado.

Figura 4.4 Auto relacionamento 1:N


AUTO RELACIONAMENTO N:N
E, finalmente, temos representada a seguinte situao: algumas ocorrncias de
produto exercem o papel de composto e outras ocorrncias exercem o papel de
componente.

Figura 4.5 Auto relacionamento N:N

2011 Prof. Marcos Alexandruk

15

MODELAGEM DE BANCO DE DADOS

EXERCCIOS
INDIVIDUAL:
1. O que voc entende por:
a. Relacionamento binrio
b. Relacionamento ternrio
c. Auto-relacionamento
2. Explique a classificao dos relacionamentos binrios quanto sua cardinalidade
mxima (1:1, 1:N e N:N).
GRUPO:
1. Forme um grupo com no mximo trs colegas apresente um exemplo para cada um
dos seguintes relacionamentos:
a. Binrio
b. Ternrio
c. Auto-relacionamento

2011 Prof. Marcos Alexandruk

16

MODELAGEM DE BANCO DE DADOS

GENERALIZAO/ESPECIALIZAO, ENTIDADE ASSOCIATIVA

Conceitos sobre generalizao/especializao, entidade associativa e


atributos opcionais, compostos e multivalorados.

GENERALIZAO/ESPECIALIZAO
Atravs deste conceito possvel atribuir propriedades particulares a um
subconjunto das ocorrncias especializadas de uma entidade genrica.
Especializao total: para cada ocorrncia da entidade genrica existe sempre
uma ocorrncia em uma das entidades especializadas.
O exemplo abaixo apresenta uma especializao total: os clientes de uma empresa
sero apenas pessoas fsicas ou jurdicas.

Figura 5.1 Especializao Total


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

Figura 5.2 Especializao Parcial

2011 Prof. Marcos Alexandruk

17

MODELAGEM DE BANCO DE DADOS

MLTIPLOS NVEIS E HERANA MLTIPLA


admissvel que uma mesma entidade seja especializao de diversas entidades
genrica (herana mltipla).
No diagrama abaixo o exemplo de herana mltipla aparece na entidade
ANFBIO (que herda tanto de TERRESTRE quanto de AQUTICO).

Figura 5.3 Mltiplos nveis e herana mltipla


HERANA DE PROPRIEDADES
Herdar propriedades significa que cada ocorrncia da entidade especializada
possui, alm de suas propriedades (atributos, relacionamentos e
generalizaes/especializaes) tambm as propriedades da ocorrncia da
entidade genrica correspondente.
GENERALIZAO/ESPECIALIZAO EXCLUSIVA
Significa que uma ocorrncia de entidade genrica aparece, para cada hierarquia
generalizao/especializao, no mximo uma vez.
GENERALIZAO/ESPECIALIZAO NO EXCLUSIVA
Neste caso, uma ocorrncia da entidade genrica pode aparecer em mltiplas
especializaes.
No exemplo a seguir, considera-se o conjunto de pessoas vinculadas a uma
universidade. Neste caso a especializao no exclusiva, j que a mesma pessoa
pode aparecer em mltiplas especializaes. Uma pessoa pode ser professor de
um curso e ser aluno em outro curso (ps-graduao, por exemplo). Por outro
lado, uma pessoa pode acumular o cargo de professor em tempo parcial com o
cargo de funcionrio, ou, at mesmo, ser professor de tempo parcial em dois
departamentos diferentes, sendo portanto duas vezes professor.
O principal problema que este tipo de generalizao/especializao apresenta
que neste caso as entidades especializadas no podem herdar o identificador da
entidade genrica. No caso, o identificador de pessoa no seria suficiente para
identificar professor, j que uma pessoa pode ser mltiplas vezes professor.

2011 Prof. Marcos Alexandruk

18

MODELAGEM DE BANCO DE DADOS

Figura 5.4 Generalizao/especializao no exclusiva

ENTIDADE ASSOCIATIVA
Um relacionamento uma associao entre entidades. Na modelagem EntidadeRelacionamento no foi prevista a possibilidade de associar dois relacionamentos
entre si.
Uma entidade associativa nada mais que a redefinio de um relacionamento,
que passa a ser tratado como se fosse tambm uma entidade.

Figura 5.5 Associao entre dois relacionamentos (no possvel)

Figura 5.6 Entidade associativa

2011 Prof. Marcos Alexandruk

19

MODELAGEM DE BANCO DE DADOS

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

Figura 5.7 Atributos opcionais x especializao


ATRIBUTOS COMPOSTOS
Chamamos que atributos compostos queles nos quais o contedo formado por
vrios itens menores. Exemplo: ENDEREO composto por: nome do
logradouro, nmero, complemento (exemplo: apartamento), bairro, cidade, estado,
etc.

Figura 5.8 Atributos compostos


ATRIBUTOS MULTIVALORADOS
Denominamos atributos multivalorados queles nos quais o contedo formado
por mais de um valor. Exemplo: FUNCIONRIO e DEPENDENTE, este ltimo
como atributo. Para atributos multivalorados recomenda-se a soluo apresentada
na figura a seguir.

Figura 5.9 Atributos multivalorados

2011 Prof. Marcos Alexandruk

20

MODELAGEM DE BANCO DE DADOS

EXERCCIOS
INDIVIDUAL:
1. O que voc entende por:
a.
b.
c.
d.
e.

Generalizao/Especializao
Especializao total
Especializao parcial
Especializao exclusiva
Especializao no exclusiva

2. O que uma entidade associativa.


3. Explique o que so:
a. Atributos opcionais
b. Atributos compostos
c. Atributos multivalorados
GRUPO:
1. Forme um grupo com no mximo trs colegas apresente um exemplo para cada um
dos seguintes casos:
a. Generalizao/Especializao
b. Entidade com atributo opcional
c. Entidade com atributo composto
d. Entidade com atributo multivalorado

2011 Prof. Marcos Alexandruk

21

MODELAGEM DE BANCO DE DADOS

ELABORAO DE DIAGRAMAS ENTIDADE RELACIONAMENTO

Estudos de caso com a aplicao de Diagramas Entidade Relacionamento.

EXERCCIOS
INDIVIDUAL:

SISTEMA VIDEO LOCADORA


Uma locadora de vdeos possui aproximadamente 5000 DVDs. O objetivo do
sistema manter um controle das locaes efetuadas pelos clientes.
Cada DVD possui um cdigo exclusivo e contm somente um filme. Para cada
filme, necessrio saber seu ttulo e sua categoria (comdia, drama, aventura,
etc.). Cada filme recebe um identificador prprio. H pelo menos um DVD de
cada filme.
Os clientes frequentemente desejam encontrar os filmes estrelados pelos seus
atores prediletos. Por isso, necessrio manter a informao dos atores que
estrelam em cada filme. Nem todo filme possui atores (exemplo: documentrios).
Para cada ator os clientes s vezes desejam saber o nome real, alm do nome
artstico e a data de nascimento.
A locadora possui aproximadamente 3000 clientes cadastrados. Somente clientes
cadastrados podem alugar DVDs. Para cada cliente necessrio saber seu nome,
seu telefone, seu email e seu endereo. Cada cliente recebe um nmero de
associado.
Um cliente pode alugar vrios DVDs em um instante do tempo. necessrio
manter os registros histricos das locaes com as datas de retirada e entrega dos
DVDs.

SISTEMA ESCOLA
Uma escola de informtica oferece vrios cursos livres com durao entre trinta e
sessenta dias. Cada curso recebe um cdigo identificador.
Professores so contratados para ministrar um ou mais cursos e, portanto
necessrio saber quais cursos cada professor est habilitado a ministrar. Os
professores recebem um nmero de matrcula. A escola deseja manter tambm
registrado o nome, endereo, telefone, email de todos os seus professores.
H vrias turmas para cada curso. Cada turma, identificada por um cdigo, tem
apenas um professor e est alocada em apenas uma sala. Porm, uma sala pode ser
alocada para mais de uma turma em diferentes perodos.
Um aluno pode matricular-se simultaneamente em vrios cursos e, portanto,
pertencer a mais de uma turma. No momento da matrcula o aluno recebe um RA
(vlido para um ou mais cursos). A escola mantm registrado o nome, endereo,
telefone, email, RG e CPF de todos os seus alunos.

2011 Prof. Marcos Alexandruk

22

MODELAGEM DE BANCO DE DADOS

SISTEMA EMPRESA
Uma empresa organizada em departamentos. Cada departamento possui um
nome e um cdigo nico e pode ter vrias localidades (cidades). Os projetos
existentes na empresa so, obrigatoriamente, controlados por um departamento, e
cada projeto possui um nome, um cdigo nico e uma nica localizao (cidade),
que pode ser diferente das possveis localidades do departamento que o controla.
Alguns departamentos no possuem projetos sob sua responsabilidade.
No caso dos empregados da empresa armazenado nmero de matricula, nome,
endereo, salrio, sexo e data de nascimento. Quase todos os empregados tm um
outro empregado que o seu supervisor direto, e consequentemente, somente
alguns so supervisores. Em funo da cadeia hierrquica existem empregados
que no possuem supervisores.
A maioria dos empregados so alocados a um departamento, ou seja, pode at
existir um empregado sem departamento, mas todo departamento deve possuir
empregados alocados a ele, alm disso, todo departamento tem um chefe que o
gerencia, a partir de uma data, pois a empresa implementa um sistema de rodzio
na chefia dos departamentos, o rodzio na chefia determina que um empregado s
pode ser chefe de somente um departamento.
Um empregado pode trabalhar em mais de um projeto, mesmo que no seja do seu
departamento, dedicando algumas horas por semana em cada um dos projetos. E,
claro, alguns empregados no esto empenhados em nenhum projeto. Por outro
lado, todo projeto tem pelo menos um ou mais empregados trabalhando nele.
A empresa oferece alguns benefcios sociais aos dependentes dos seus
empregados, caso ele possua. Para tanto, mantido para cada dependente do
empregado o nome do dependente, o sexo, a data de nascimento e o grau de
parentesco.
GRUPO:
1. Forme um grupo com no mximo trs colegas, especifique um sistema e elabore o
DER (Diagrama Entidade Relacionamento).

2011 Prof. Marcos Alexandruk

23

MODELAGEM DE BANCO DE DADOS

MODELO RELACIONAL

Apresentao da prxima etapa do projeto de banco de dados: o modelo


lgico (relacional).

A prxima etapa do projeto de banco de dados envolve o chamado modelo lgico.


Atualmente, grande parte dos sistemas de banco de dados utiliza o modelo
relacional.
Um banco de dados relacional composto por tabelas (tambm denominadas
relaes).
Observe a seguir alguns conceitos importantes para pleno entendimento do
modelo relacional:

TABELA
Estrutura bi-dimensional composta por linhas (tuplas) e campos (ou atributos).

Figura 7.1 Tabela

CHAVE PRIMRIA (PK Primary Key)


Atributo atravs do qual seja possvel identificar determinado registro. Uma chave
primria no pode ser repetida, ou seja, o conjunto de valores que constituem a
chave primria deve ser nico dentro de uma tabela.
Chave primria simples: apenas um atributo (campo) compe a chave primria.
Chave primria composta: mais de um atributo compe a chave primria.

Figura 7.2 Chave Primria

2011 Prof. Marcos Alexandruk

24

MODELAGEM DE BANCO DE DADOS

CHAVE NICA (Unique)


Utilizada quando determinado campo no deve ser repetido e no chave
primria. Aumenta a consistncia do banco de dados.
Exemplo: Cadastro de funcionrios. Cada funcionrio recebe um cdigo nico,
que a chave primria. Para maior segurana e consistncia podemos optar que o
campo CPF tambm seja nico, evitando que o mesmo funcionrio seja
cadastrado duas vezes.

Figura 7.3 Chave nica

CHAVE ESTRANGEIRA (FK Foreign Key)


Utilizada quando queremos que o valor de um atributo seja validado a partir do
valor de atributo de outra tabela. Criamos assim uma relao de dependncia (um
relacionamento) entre as tabelas.
Exemplo: Antes de efetuar a alocao de um funcionrio em um departamento,
necessrio que o departamento em questo conste na tabela de departamentos.

Figura 7.4 Chave Estrangeira

RELACIONAMENTOS
Associao estabelecida entre campos comuns de duas tabelas. Dessa forma
permitimos o estabelecimento de correspondncia entre registros de diferentes
tabelas. Os relacionamentos apresentam a seguinte classificao quanto sua
cardinalidade:
Relacionamento um-para-um (1:1)
Cada ocorrncia de uma tabela relaciona-se com uma e somente uma ocorrncia
da outra tabela.
Relacionamento um-para-muitos (1:N)
Uma ocorrncia da tabela pai relaciona-se com muitas ocorrncias da tabela filho,
mas cada ocorrncia da tabela filho somente pode estar relacionada com uma
ocorrncia da tabela pai.

2011 Prof. Marcos Alexandruk

25

MODELAGEM DE BANCO DE DADOS

Relacionamento muitos-para-muitos (N:N)


Apresenta em ambos os sentidos um ou mais relacionamentos de um-para-muitos.
No modelo relacional no possvel efetuar este tipo de relacionamento de forma
direta. Neste caso, deve-se construir uma terceira tabela (tabela de associao ou
tabela de detalhes). Essa tabela deve possuir chave primria composta de dois
campos e as chaves estrangeiras provenientes das duas tabelas originais.
Concluindo, um relacionamento de muitos-para-muitos deve ser dividido em dois
relacionamentos de um-para-muitos com uma terceira tabela.

NOTAO RESUMIDA PARA MODELOS LGICOS RELACIONAIS


Notao compacta, til para discusses sobre a estrutura geral do banco de dados,
utilizada quando no se deseja entrar no nvel maior de detalhamento.
Observe o exemplo a seguir:
Departamento (CodDept, Nome)
Funcionario (CodFunc, Nome, CPF, CodDept)
CodDept referencia Departamento

A notao resumida acima representa o seguinte relacionamento entre as tabelas


Departamento e Funcionario:

Figura 7.5 Relacionamento Departamento x Funcionario


Observe que atravs da notao resumida no possvel determinar se o
relacionamento do tipo 1:1 ou 1:N (como no caso representado na figura acima).

INTEGRIDADE DE DADOS
Impor a integridade de dados garante a qualidade dos dados em um banco de
dados. Os dados devem refletir corretamente a realidade representada pelo banco
e tambm devem ser consistentes entre si.
INTEGRIDADE DE DOMNIO
Zela pelos valores ideais e necessrios para um atributo. Para isso definimos
algumas regras de validao por meio de expresses compostas de valores
constantes. Exemplos:

No permitir um estoque negativo

Impedir uma data de nascimento superior data atual

No permitir que o valor de um produto seja negativo

2011 Prof. Marcos Alexandruk

26

MODELAGEM DE BANCO DE DADOS

INTEGRIDADE DE ENTIDADE
Tem o objetivo de validar os valores permitidos a partir de valores j inseridos na
prpria entidade. Aps uma auto-consulta a entidade vai permitir ou no a
gravao do novo registro. Exemplos:

No permitir duas pessoas com o mesmo CPF

Impedir a locao uma fita que j est locada

INTEGRIDADE REFERENCIAL
Zela pela consistncia dos registros de uma entidade a partir de valores
provenientes de outras entidades, isto , determinado registro vai depender
diretamente de um registro de outra tabela. Exemplos:

Um registro em uma tabela pai pode ter um ou mais registros em uma tabela
filho.

Um registro em uma tabela filho sempre tem um registro coincidente em uma


tabela pai.

Para a incluso de um registro em uma determinada tabela filho, necessrio


que exista um registro pai coincidente.

Um registro pai s poder ser excludo se no possuir nenhum registro filho.

CONSTRAINTS (RESTRIES)
Observe a seguir as principais constraints ou restries utilizadas nos bancos de
dados relacionais, principalmente durante o processo de criao das tabelas, para
implementar os tipos de integridade anteriormente descritos:
TIPO

ARMAZENA

PRIMARY KEY
FOREIGN KEY
UNIQUE

Identifica a chave primria da tabela


Identifica a chave estrangeira
Indica que os valores na coluna no podem ser
repetidos
Especifica os valores que uma coluna pode assumir
Indica que o campo no pode receber valores nulos

CHECK
NOT NULL

Tabela 7.1 Principais tipos de restries

NOMENCLATURA DE TABELAS E DE CAMPOS


Os sistemas gerenciadores de bancos de dados geralmente impem certas
restries quanto aos caracteres vlidos para denominar tabelas, campos (colunas),
bem como outros objetos do banco de dados. Observe a seguir o que deve ser
evitado:

No utilizar caracteres especiais (exceto o underscore _);

Comear com uma letra e no com um nmero;

Evitar acentuao e ;

No utilizar espaos.

2011 Prof. Marcos Alexandruk

27

MODELAGEM DE BANCO DE DADOS

TIPOS DE DADOS
Durante a criao das tabelas do banco de dados necessrio informar que tipo de
dados cada coluna dever armazenar. A tabela a seguir apresenta alguns tipos de
dados compatveis com o Oracle, um dos principais sistemas de gerenciamento de
banco de dados atualmente utilizado:
TIPO
CHAR
VARCHAR2
NUMBER
DATE

ARMAZENA
Cadeia de caracteres de tamanho fixo
Cadeia de caracteres de tamanho varivel
Valores numricos (inteiros e ponto
flutuante)
Data e hora (inclusive minutos e segundos)
Tabela 7.2 Tipos de dados (Oracle)

EXERCCIOS
INDIVIDUAL:
1. O que um banco de dados relacional?
2. O que uma tabela no contexto dos bancos de dados relacionais?
3. Explique o que voc entende por cada um dos seguintes termos:
a. Chave primria
b. Chave nica
c. Chave estrangeira
4. O que so relacionamentos? Como podemos classific-los quanto cardinalidade?
5. Que soluo deve ser adotada no modelo relacional para relacionamentos com
cardinalidade N:N (muitos para muitos)?
6. O que voc entende por:
a. Integridade de domnio
b. Integridade de entidade
c. Integridade referencial
7. Explique o que h de errado nos casos apresentados a seguir:
a.

2011 Prof. Marcos Alexandruk

28

MODELAGEM DE BANCO DE DADOS

b.

c.

8. Utilize a notao resumida para representar os casos a seguir conforme o modelo


relacional:
a.

b.

2011 Prof. Marcos Alexandruk

29

MODELAGEM DE BANCO DE DADOS

MAPEAMENTO DO MODELO CONCEITUAL PARA O LGICO

Apresentao dos mapeamentos do modelo conceitual para o lgico


relacional dos diversos tipos de relacionamentos.

RELACIONAMENTOS BINRIOS
Cardinalidade mxima 1:1

Cardinalidade mxima 1:N

2011 Prof. Marcos Alexandruk

30

MODELAGEM DE BANCO DE DADOS

Cardinalidade mxima N:N

Relacionamento com atributo identificador

AUTO-RELACIONAMENTOS
Cardinalidade mxima 1:1

Cardinalidade mxima 1:N

2011 Prof. Marcos Alexandruk

31

MODELAGEM DE BANCO DE DADOS

Cardinalidade mxima N:N

RELACIONAMENTOS TERNRIOS

GENERALIZAO/ESPECIALIZAO

2011 Prof. Marcos Alexandruk

32

MODELAGEM DE BANCO DE DADOS

MAPEAMENTO DO MODELO CONCEITUAL PARA O LGICO

ESTUDOS DE CASO
Estudos de caso com a aplicao de mapeamento do modelo conceitual
para o modelo lgico (relacional).

EXERCCIOS
INDIVIDUAL:
1. Faa o mapeamento do modelo conceitual para o modelo lgico (relacional) dos
seguintes cases anteriormente estudados:
a. Sistema vdeo locadora
b. Sistema escola
c. Sistema empresa
GRUPO:
1. Faa o mapeamento do modelo conceitual para o modelo lgico (relacional) do case
elaborado anteriormente pelo seu grupo.

2011 Prof. Marcos Alexandruk

33

MODELAGEM DE BANCO DE DADOS

10

NORMALIZAO: CONCEITOS PRELIMINARES


Apresentao de conceitos necessrios para compreender melhor o
processo de normalizao de tabelas.

NORMALIZAO

Conceito introduzido em 1970 por Edgard F. Codd.


Processo matemtico formal com fundamento na teoria dos conjuntos.

O processo de normalizao aplica uma srie de regras sobre as tabelas de um


banco de dados para verificar se estas foram corretamente projetadas.
Os objetivos principais da normalizao de tabelas so os seguintes:

Garantir a integridade dos dados, evitando que informaes sem sentido


sejam inseridas.
Organizar e dividir as tabelas da forma mais eficiente possvel, diminuindo a
redundncia e permitindo a evoluo do banco de dados.

So seis as formas normais mais utilizadas:

1FN
2FN
3FN
FNBC
4FN
5FN

1 Forma Normal
2 Forma Normal
3 Forma Normal
Forma Normal de Boyce e Codd
4 Forma Normal
5 Forma Normal

Nota: As trs primeiras formas normais atendem maioria dos casos de


normalizao.
Uma forma normal engloba todas as anteriores, isto , para que uma tabela esteja
na 2FN, ela obrigatoriamente deve estar na 1FN e assim por diante.
Normalmente aps a aplicao das regras de normalizao, algumas tabelas
acabam sendo divididas em duas ou mais tabelas. Este processo colabora
significativamente para a estabilidade do modelo de dados e reduz
consideravelmente as necessidades de manuteno.
CHAVES
Chave candidata: Atributo ou conjunto de atributos que so nicos para cada
registro. Para cada tabela podemos ter uma ou vrias chaves desse tipo. Exemplo:
codigo e cpf.
Chave primria: Entre as chaves candidatas, escolhemos uma para ser o
identificador principal da tabela. Este atributo passa a ser chamado de chave
primria (PK Primary Key).
Chaves alternativas: So as chaves candidatas que no foram definidas como
chave primria.
Chave estrangeira: o atributo ou conjunto de atributos que faz a ligao com a
chave primria de outra tabela.

2011 Prof. Marcos Alexandruk

34

MODELAGEM DE BANCO DE DADOS

DEPENDNCIA FUNCIONAL (DF)


Sempre que um atributo X identifica um atributo Y, dizemos que entre eles h
uma dependncia funcional. Temos, portanto, que X o determinante e que Y
o dependente.
A representao : XY (l-se X determina Y ou Y dependente de X).
cidadeestado
No exemplo a seguir, estado funcionalmente dependente de cidade ou ainda
cidade determina estado.
CIDADE
Campinas
Natal
Niteri

ESTADO
So Paulo
Rio Grande do Norte
Rio de Janeiro

Tabela 10.1 Dependncia Funcional


TRANSITIVIDADE
Se um atributo X determina Y e se Y determina Z, podemos dizer que X
determina Z de forma transitiva, isto , existe uma dependncia funcional
transitiva de X para Z.
cidade estado
estado pas
cidade pas (cidade determina pas de forma transitiva)
CIDADE
Campinas
Miami

ESTADO
So Paulo
Florida

PAIS
Brasil
EUA

Tabela 10.2 Transitividade


DEPENDNCIA FUNCIONAL IRREDUTVEL ESQUERDA
O lado esquerdo de uma dependncia funcional irredutvel quando o
determinante est em sua forma mnima, isto , quando no possvel reduzir a
quantidade de atributos determinantes sem perder a dependncia funcional.
{cidade, estado} pas

(no est na forma irredutvel esquerda, pois


podemos ter somente o estado como determinante)

estado pas

(est na forma irredutvel esquerda)

CIDADE
ESTADO
Campinas So Paulo
Miami
Florida

PAIS
Brasil
EUA

Tabela 10.3 No irredutvel esquerda

ESTADO
So Paulo
Florida

PAIS
Brasil
EUA

Tabela 10.4 Irredutvel esquerda

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


determinante com apenas uma coluna.

2011 Prof. Marcos Alexandruk

35

MODELAGEM DE BANCO DE DADOS

DEPENDNCIA MULTIVALORADA (DMV)


A DMV uma ampliao da Dependncia Funcional (DF). Na DMV o valor de
um atributo determina um conjunto de valores de um outro atributo.
representada por XY (X multidetermina Y ou Y multidependente de X).
DF:

{CPF}{Nome}

DMV: {CPF}{Dependente}
CPF
111222333-00

Temos somente um nome para cada CPF


Temos vrios dependentes para cada pessoa
DEPENDENTE
Antonio Santos
Beatriz Santos
Claudio Santos

Tabela 10.5 Dependncia Multivalorada

EXERCCIOS
INDIVIDUAL:
Responda s seguintes perguntas:
1.
2.
3.
4.

O que voc entende por normalizao de tabelas?


Quais os principais objetivos da normalizao de tabelas?
O que ocorre normalmente aps a aplicao das regras de normalizao?
Explique os seguintes conceitos:
a. Dependncia Funcional
b. Transitividade
c. Dependncia Funcional Irredutvel Esquerda
d. Dependncia Multivalorada

GRUPO:
1. Forme um grupo com no mximo trs colegas e apresente um exemplo para cada um
dos seguintes tipos de dependncia funcional:
a.
b.
c.
d.

Dependncia Funcional
Transitividade
Dependncia Funcional Irredutvel Esquerda
Dependncia Multivalorada

2011 Prof. Marcos Alexandruk

36

MODELAGEM DE BANCO DE DADOS

11

NORMALIZAO: FORMAS NORMAIS

Aplicao das trs primeiras Formas Normais em uma tabela no


normalizada.
muito comum que os funcionrios dos diversos departamentos de uma empresa
utilizem tabelas frequentemente geradas em planilhas eletrnicas (exemplo:
Excel) para armazenamento de dados. Embora esta soluo seja til para vrias
situaes, medida que a quantidade de dados cresce, podem ocorrer problemas
relacionados manuteno dos dados. O problema torna-se ainda mais grave ao
tentar-se passar os dados de uma planilha eletrnica para uma ou mais tabelas em
um sistema de banco de dados sem observar-se algumas regras ou normas bsicas.
Neste processo muito importante a aplicao de um conjunto de normas ou
regras conhecidas como Formas Normais.
Uma empresa de engenharia pode, por exemplo, utilizar os seguintes formulrios
para controle de seus projetos:
PROJETO
NR_PROJ
NOME_PROJ
LOCAL_PROJ

PROJETO

001
Alfa
So Paulo

ID_FUNC NOME_FUNC

CARGO

NR_PROJ
NOME_PROJ
LOCAL_PROJ

002
Beta
Jundia

VL_HORA

ID_FUNC NOME_FUNC

CARGO

VL_HORA

101

Antonio

Analista Pleno

35,00

102

Beatriz

Analista Pleno

102
103

Beatriz
Claudio

Analista Pleno 35,00


Analista Senior 50,00

103
104

Claudio
Daniela

Analista Senior 35,00


Analista Senior 50,00

35,00

Figura 11.1- Formulrios para controle de projetos


Observe a seguir a planilha elaborada para controle dos vrios projetos da
empresa:
NR_PROJ

NOME_PROJ LOCAL_PROJ

ID_FUNC

NOME_FUNC

CARGO

VL_HORA

101

Antonio

Analista Pleno

35,00

001

Alfa

So Paulo

102
103
102

Beatriz
Claudio
Beatriz

Analista Pleno
Analista Senior
Analista Pleno

35,00
50,00
35,00

002

Beta

Jundia

103
104

Claudio
Daniela

Analista Senior
Analista Senior

50,00
50,00

Tabela 11.1 Controle de projetos


Porm, medida que a quantidade de projetos e funcionrios alocados neles
cresce, observou-se que seria necessrio utilizar um sistema de banco de dados.
Para garantir a integridade e controlar a redundncia dos dados aplicou-se tabela
acima as seguintes Formas Normais:

2011 Prof. Marcos Alexandruk

37

MODELAGEM DE BANCO DE DADOS

1 FN: PRIMEIRA FORMA NORMAL


Uma tabela est na 1FN (Primeira Forma Normal) quando no possui tabelas
aninhadas.
A tabela para controle de projetos apresenta a seguinte tabela aninhada:
ID_FUNC

NOME_FUNC

CARGO

VL_HORA

101

Antonio

Analista Pleno

35,00

102
103

Beatriz
Claudio

Analista Pleno
Analista Senior

35,00
50,00

102
103

Beatriz
Claudio

Analista Pleno
Analista Senior

35,00
50,00

104

Daniela

Analista Senior

50,00

Tabela 11.2 Tabela aninhada


No se deve simplesmente separar a tabela acima do restante da tabela de controle
de projetos, porque, neste caso, no seria mais possvel determinar em quais
projetos cada funcionrio trabalhou. Para que isso no ocorra, preciso incluir a
coluna NR_PROJ na tabela que ser denominada PROJETO_FUNCIONARIO:
PROJETO_FUNCIONARIO
NR_PROJ
001
001
001
002
002
002

ID_FUNC

NOME_FUNC

CARGO

VL_HORA

101
102

Antonio
Beatriz

Analista Pleno
Analista Pleno

35,00
35,00

103
102

Claudio
Beatriz

Analista Senior
Analista Pleno

50,00
35,00

103
104

Claudio
Daniela

Analista Senior
Analista Senior

50,00
50,00

Tabela 11.3 PROJETO_FUNCIONARIO


Consequentemente, a segunda tabela apresentar a seguinte estrutura:
PROJETO
NR_PROJ

NOME_PROJ

LOCAL_PROJ

001

Alfa

So Paulo

002

Beta

Jundia

Tabela 11.4 PROJETO

2 FN: SEGUNDA FORMA NORMAL


Uma tabela est na 2FN (Segunda Forma Normal) quando, alm de estar na
Primeira Forma Normal, no contm dependncias parciais.
Uma dependncia funcional parcial ocorre quando uma coluna depende apenas
de uma parte da Chave Primria COMPOSTA. (Veja o tpico da aula anterior:
Dependncia Funcional Irredutvel Esquerda.)

2011 Prof. Marcos Alexandruk

38

MODELAGEM DE BANCO DE DADOS

Portanto, toda tabela que est na Primeira Forma Normal e que possui Chave
Primria SIMPLES (formada por uma coluna) j est na Segunda Forma Normal.
Analisando a tabela PROJETO_FUNCIONARIO nota-se que as colunas (ou
atributos) NOME_FUNC, CARGO e VL_HORA dependem apenas de uma parte
da Chave Primria, ou seja, do ID_FUNC. Portanto ao aplicarmos a 2FN
(Segunda Forma Normal) teremos:
FUNCIONARIO
ID_FUNC

NOME_FUNC

CARGO

VL_HORA

101
102

Antonio
Beatriz

Analista Pleno
Analista Pleno

35,00
35,00

103
104

Claudio
Daniela

Analista Senior
Analista Senior

50,00
50,00

Tabela 11.6 FUNCIONARIO


A tabela PROJETO_FUNCIONARIO apresentar, portanto a seguinte estrutura
aps a aplicao da Segunda Forma Normal:
PROJETO_FUNCIONARIO
NR_PROJ

ID_FUNC

001
001

101
102
103

001
002
002
002

102
103
104

Tabela 11.6 PROJETO_FUNCIONARIO

3 FN: TERCEIRA FORMA NORMAL


Uma tabela est na 3FN (Terceira Forma Normal) quando, alm de estar na 2FN
(Segunda Forma Normal), no contm dependncias transitivas.
Uma dependncia funcional transitiva ocorre quando uma coluna, alm de
depender da Chave Primria da tabela, depende tambm de outra(s) coluna(s) da
tabela. (Veja o tpico da aula anterior: Dependncia Funcional Transitiva.)
A tabela FUNCIONARIO apresenta uma dependncia funcional transitiva.
Observe que o VL_HORA no depende diretamente do ID_FUNC. VL_HORA
depende diretamente do CARGO. Portanto ao aplicar-se a 3FN (Terceira Forma
Normal) teremos uma tabela que pode ser denominada CARGO_SALARIO com
a seguinte estrutura:
CARGO_SALARIO
CARGO
Analista Pleno
Analista Senior

VL_HORA
35,00
50,00

Tabela 11.7 CARGO_SALARIO

2011 Prof. Marcos Alexandruk

39

MODELAGEM DE BANCO DE DADOS

A tabela FUNCIONARIO aps a aplicao da Terceira Forma Normal apresentar


a estrutura a seguir:
FUNCIONARIO
ID_FUNC

NOME_FUNC

CARGO

101
102

Antonio
Beatriz

Analista Pleno
Analista Pleno

103
104

Claudio
Daniela

Analista Senior
Analista Senior

Tabela 11.8 FUNCIONARIO


Observe a seguir quais foram as tabelas geradas aps a aplicao das trs
primeiras Formas Normais (FN1, FN2 e FN3) e compare com a tabela controle de
projeto anteriormente apresentada.
PROJETO
NR_PROJ

NOME_PROJ

LOCAL_PROJ

001
002

Alfa
Beta

So Paulo
Jundia

FUNCIONARIO
ID_FUNC

NOME_FUNC

CARGO

101
102
103

Antonio
Beatriz
Claudio

Analista Pleno
Analista Pleno
Analista Senior

104

Daniela

Analista Senior

PROJETO_FUNCIONARIO
NR_PROJ

ID_FUNC

001
001

101

001
002
002
002

102
103
102
103
104

CARGO_SALARIO
CARGO
Analista Pleno
Analista Senior

VL_HORA
35,00
50,00

IMPORTANTE: O exemplo apresentado tem objetivo exclusivamente didtico para


esclarecimento dos conceitos envolvidos na aplicao de cada uma das trs primeiras
Formas Normais. Outros detalhes deveriam ser levados em considerao para o
desenvolvimento de um sistema completo. Exemplo: armazenar os valores histricos dos
salrios, quantidade de horas de cada funcionrio nos respectivos projetos, etc.

2011 Prof. Marcos Alexandruk

40

MODELAGEM DE BANCO DE DADOS

EXERCCIOS
INDIVIDUAL:
1. Explique quando uma tabela esta em conformidade com cada uma das seguintes
Formas Normais:
a. 1FN (Primeira Forma Normal)
b. 2FN (Segunda Forma Normal)
c. 3 FN (Terceira Forma Normal)
2. Aplique as trs primeiras Formas Normais tabela de pedidos:
NR_PEDIDO DATA_PEDIDO ID_CLIENTE NOME_CLIENTE COD_PROD

NOME_PROD

QUANT VL_UNIT

001

10/01/2011

1003

Ernesto

P-31
P-42
P-67

Caderno
Caneta
Lpis

2
1
5

15,00
3,00
1,00

002

11/01/2011

1007

Fabiana

P-42
P-67
P-85

Caneta
Lpis
Lapiseira

2
3
1

3,00
1,00
5,00

3. Aplique as trs primeiras Formas Normais tabela de departamentos:


COD_DEPT
1011

1021

LOCAL

ID_GERENTE NOME_GERENTE TIPO_FONE

So Paulo

35215

Rio de Janeiro

47360

Geraldo

Horacia

COD_AREA

NR_FONE

Residencial
Comercial

12
11

5555-1234
5555-4321

Celular
Residencial

11
21

5555-9876
5555-5678

Comercial
Celular

22
21

5555-3659
5555-2345

GRUPO:
1. Forme um grupo com no mximo trs colegas e aplique tabela abaixo as trs
primeiras Formas Normais (1FN, 2FN e 3FN):
COD_CURSO NOME_CURSO COD_TURMA NR_SALA COD_DISC
1005_3A3
1005

230

TADS
1005_3B3

231

1250

1250_4B1

2011 Prof. Marcos Alexandruk

NOME_PROF

Algoritmos
Banco de Dados

105
118

Ildemar
Joselia

8346

Empreendedorismo 126
Algoritmos
133
Banco de Dados
118

Kleudir
Lucimar
Joselia

Empreendedorismo 126
Clculo
133

Kleudir
Lucimar

Lgica Digital
Redes de Dados
Clculo

142
158
133

Marcelo
Nilmara
Lucimar

Lgica Digital
Redes de Dados

165
158

Osvaldo
Nilmara

3523
5282

380

4639
6395
9578

381

4639
6395
9578

FEGAIRC

ID_PROF

3523
5282

8346
1250_4A1

NOME_DISC

41

MODELAGEM DE BANCO DE DADOS

12

LGEBRA RELACIONAL

Apresentao das operaes da lgebra relacional: seleo, projeo,


produto cartesiano, diferena, unio, interseco, juno e diviso.

Desenvolvida para descrever operaes sobre uma base de dados relacional;

Cada operador toma uma ou duas relaes como sua entrada e produz uma
nova relao como sua sada;

Linguagem da consulta terica, usurios no a utilizam diretamente;

usada internamente em todos os SGBDRs (Sistemas Gerenciadores de


Bancos de Dados Relacionais).

CARACTERSTICAS
Constituda de cinco operadores fundamentais:
Seleo (sigma)
Projeo (pi)
Produto cartesiano X
Diferena
Unio
Trs operadores derivados:
Interseco
Juno
Diviso

SELEO
Produz uma nova relao apenas com as tuplas (linhas) da primeira relao (tabela) que
satisfazem a uma determinada condio (tambm chamada de predicado).

(A=a1)(R)

R
A

a1

b1

a1

b1

a2

b2

Tabela 12.1 - Seleo

2011 Prof. Marcos Alexandruk

42

MODELAGEM DE BANCO DE DADOS

PROJEO
Produz uma nova relao com apenas alguns atributos da primeira relao, removendo
as tuplas duplicadas.

R
A
a1
a2

(B)(R)

B
b1
b2

B
b1
b2

Tabela 12.2 - Projeo

PRODUTO CARTESIANO
Produz uma nova relao com todas as possveis tuplas resultantes da combinao de
duas tuplas, uma de cada relao envolvida na operao.
R
A
a1
a2

(R X S)
B
b1
b2

A
a1
a1
a2
a2

S
C
c2
c3

B
b1
b1
b2
b2

C
c2
c3
c2
c3

D
d2
d3
d2
d3

D
d2
d3

Tabela 12.3 Produto cartesiano

DIFERENA
Produz uma nova relao com todas as tuplas da primeira relao que no aparecem na
segunda relao.
As duas relaes devem ter o mesmo nmero de atributos (colunas) e mesmos domnios
para as colunas correspondentes.
R
A
a1
a2

(R - S)
B
b1
b2

A
a1

B
b1

S
A
a2
a3

B
b2
b3

Tabela 12.4 Diferena

2011 Prof. Marcos Alexandruk

43

MODELAGEM DE BANCO DE DADOS

UNIO
Produz uma nova relao composta por todas as tuplas da primeira relao seguidas por
todas as tuplas da segunda relao. Tuplas comuns s duas relaes aparecero apenas
uma vez no resultado.
As duas relaes devem ter o mesmo nmero de atributos (colunas) e mesmos domnios
para as colunas correspondentes.
R

(R

A
a1
a2

B
b1
b2

A
a1
a2
a3

S
A
a2
a3

S)
B
b1
b2
b3

B
b2
b3

Tabela 12.5 Unio

INTERSECO
Produz uma nova relao com a interseco das tuplas da primeira relao com as tuplas
da segunda, ou seja, apenas com as tuplas que aparecem nas duas relaes.
As duas relaes devem ter o mesmo nmero de atributos e mesmos domnios para as
colunas correspondentes.
R

(R

A
a1
a2

B
b1
b2

S)

A
a2

B
b2

S
A
a2
a3

B
b2
b3

Tabela 12.5 Interseco

JUNO
Produz uma nova relao com as tuplas resultantes da combinao de duas tuplas, uma
de cada relao envolvida na operao que satisfazem a uma determinada condio.
R
A
a1
a2

R X S [B = C]
B
b1
b2

A
a1
a2

B
b1
b2

C
b1
b2

D
d3
d2

S
C
b2
b1

D
d2
d3

Tabela 12.6 Juno

2011 Prof. Marcos Alexandruk

44

MODELAGEM DE BANCO DE DADOS

JUNO NATURAL
Juno na qual h uma igualdade predefinida entre os atributos de mesmo nome
presentes na primeira e na segunda relao (atributos de juno). Estes atributos s
aparecem uma vez no resultado.
R
A
a1
a2

R*S
B
b1
b2

A
a1
a2

B
b1
b2

D
d3
d2

S
C
b2
b1

D
d2
d3

Tabela 12.6 Juno natural

DIVISO
Produz uma relao S contendo todas as tuplas de A (dividendo) que aparecem em R
(mediador) com todas as tuplas de B (divisor).
A
A
a1
a2
a3
a4
a5

R
A
a1
a1
a1
a1
a2
a2
a3
a4
a4

B
b1
b2
b3
b4
b1
b2
b2
b2
b4

B
b1

A
a1
a2

B
b2
b4

A
a1
a4

B
b1
b2
b3
b4

A
a1

Tabela 12.7 Diviso

2011 Prof. Marcos Alexandruk

45

MODELAGEM DE BANCO DE DADOS

OPERADORES
Os seguintes operadores so utilizados na lgebra relacional:
OPERADORES DE COMPARAO
OPERADOR

=
<
<=
>
>=
<>

ou

DESCRIO
igual
menor
menor ou igual
maior
maior ou igual

diferente

Tabela 12.8 Operadores de comparao

OPERADORES LGICOS
OPERADOR

DESCRIO
e (and)
ou (or)
no (not)

Tabela 12.9 Operadores lgicos

OPERADOR DE ATRIBUIO
OPERADOR

DESCRIO
"recebe"

Tabela 12.10 Operador de atribuio

Armazena o resultado de uma expresso algbrica em uma varivel de relao. Permite,


portanto, o processamento de uma consulta por etapas.
SOFTWARE RECOMENDADO
WinRDBI (Windows Relational DataBase Interpreter)
http://www.eas.asu.edu/~winrdbi/
Arizona State University

Relational Algebra

2011 Prof. Marcos Alexandruk

46

MODELAGEM DE BANCO DE DADOS

EXERCCIOS
INDIVIDUAL:
1. Associe as operaes da lgebra relacional com as suas respectivas descries:
OPERAO

DESCRIO

Seleo

Produz uma relao S contendo todas as tuplas de A


(dividendo) que aparecem em R (mediador) com todas
as tuplas de B (divisor).

Projeo

Produz uma nova relao com as tuplas resultantes da


combinao de duas tuplas, uma de cada relao
envolvida na operao que satisfazem a uma
determinada condio.

Produto cartesiano

Produz uma nova relao composta por todas as tuplas


da primeira relao seguidas por todas as tuplas da
segunda relao. Tuplas comuns s duas relaes
aparecero apenas uma vez no resultado.

Diferena

Produz uma nova relao com todas as possveis tuplas


resultantes da combinao de duas tuplas, uma de cada
relao envolvida na operao.

Unio

Produz uma nova relao apenas com as tuplas (linhas)


da primeira relao que satisfazem a uma determinada
condio.

Interseco

Produz uma nova relao com apenas alguns atributos


da primeira relao, removendo as tuplas duplicadas.

Juno

Produz uma nova relao com todas as tuplas da


primeira relao que no aparecem na segunda relao.

Juno natural

Produz uma nova relao com a interseco das tuplas


da primeira relao com as tuplas da segunda, ou seja,
apenas com as tuplas que aparecem nas duas relaes.

Diviso

Juno na qual h uma igualdade predefinida entre os


atributos de mesmo nome presentes na primeira e na
segunda relao. Estes atributos s aparecem uma vez
no resultado.

2011 Prof. Marcos Alexandruk

47

MODELAGEM DE BANCO DE DADOS

13

LGEBRA RELACIONAL - EXERCCIOS

Exemplos e exerccios envolvendo as principais operaes da lgebra relacional.

14

SQL STRUCTURED QUERY LANGUAGE

Apresentao dos principais comandos da linguagem SQL relacionando-os


com a lgebra relacional.

15

SQL STRUCTURED QUERY LANGUAGGE - EXERCCIOS

Exerccios envolvendo os principais comandos da linguagem SQL.

2011 Prof. Marcos Alexandruk

48

Você também pode gostar