Escolar Documentos
Profissional Documentos
Cultura Documentos
de Banco de Dados
SUMRIO
1.
INTRODUO
DADO
INFORMAO
CONHECIMENTO
BANCO DE DADOS
MODELO DE DADOS
MODELO HIERRQUICO
MODELO EM REDE
MODELO RELACIONAL
SISTEMAS OBJETO-RELACIONAIS
ABSTRAO DE DADOS
NVEL CONCEITUAL
NVEL EXTERNO
5
7
7
SISTEMAS CENTRALIZADOS
SISTEMAS CLIENTE-SERVIDOR
SISTEMAS PARALELOS
SISTEMAS DISTRIBUDOS
3.
NVEL INTERNO
INDEPENDNCIA DE DADOS
2.
MODELO CONCEITUAL
MODELO LGICO
MODELO FSICO
MODELO CONCEITUAL
10
DIAGRAMA ENTIDADE-RELACIONAMENTO
10
10
ENTIDADES
10
ATRIBUTOS
10
10
CARDINALIDADE
11
11
DIAGRAMA DE OCORRNCIAS
11
4.
5.
6.
7.
8.
GRAUS DE RELACIONAMENTOS
14
RELACIONAMENTO BINRIO
14
14
AUTORRELACIONAMENTO
15
AUTORRELACIONAMENTO 1:1
15
AUTORRELACIONAMENTO 1:N
15
AUTORRELACIONAMENTO N:N
15
17
GENERALIZAO ESPECIALIZAO
17
ESPECIALIZAO TOTAL
17
ESPECIALIZAO PARCIAL
17
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
22
22
SISTEMA ESCOLA
22
SISTEMA EMPRESA
23
MODELO RELACIONAL
24
TABELA
24
24
25
25
RELACIONAMENTOS
25
RELACIONAMENTO 1:1
25
RELACIONAMENTO 1:N
25
RELACIONAMENTO N:N
26
26
INTEGRIDADE DE DADOS
26
INTEGRIDADE DE DOMNIO
26
INTEGRIDADE DE ENTIDADE
27
INTEGRIDADE REFERENCIAL
27
CONSTRAINTS (RESTRIES)
27
27
TIPOS DE DADOS
28
30
9.
10.
11.
12.
RELACIONAMENTOS BINRIOS
30
AUTORRELACIONAMENTOS
31
RELACIONAMENTOS TERNRIOS
32
GENERALIZAO/ESPECIALIZAO
32
33
33
SISTEMA ESCOLA
33
SISTEMA EMPRESA
33
34
NORMALIZAO
34
CHAVES
34
35
TRANSITIVIDADE
35
35
36
38
38
38
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.
14.
15.
48
INTRODUO
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.
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.
IBM: DB2
Microsoft: SQL Server
Oracle: 9i, 10g, 11g
MySQL
PostgreSQL
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.
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)
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)
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
10
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).
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.
11
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.
b.
c.
d.
12
e.
f.
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
13
GRAUS DE RELACIONAMENTOS
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:
14
15
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
16
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.
17
18
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.
19
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.
20
EXERCCIOS
INDIVIDUAL:
1. O que voc entende por:
a.
b.
c.
d.
e.
Generalizao/Especializao
Especializao total
Especializao parcial
Especializao exclusiva
Especializao no exclusiva
21
EXERCCIOS
INDIVIDUAL:
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.
22
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).
23
MODELO RELACIONAL
TABELA
Estrutura bi-dimensional composta por linhas (tuplas) e campos (ou atributos).
24
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.
25
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:
26
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:
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.
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
CHECK
NOT NULL
Evitar acentuao e ;
No utilizar espaos.
27
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.
28
b.
c.
b.
29
RELACIONAMENTOS BINRIOS
Cardinalidade mxima 1:1
30
AUTO-RELACIONAMENTOS
Cardinalidade mxima 1:1
31
RELACIONAMENTOS TERNRIOS
GENERALIZAO/ESPECIALIZAO
32
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.
33
10
NORMALIZAO
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
34
ESTADO
So Paulo
Rio Grande do Norte
Rio de Janeiro
ESTADO
So Paulo
Florida
PAIS
Brasil
EUA
estado pas
CIDADE
ESTADO
Campinas So Paulo
Miami
Florida
PAIS
Brasil
EUA
ESTADO
So Paulo
Florida
PAIS
Brasil
EUA
35
{CPF}{Nome}
DMV: {CPF}{Dependente}
CPF
111222333-00
EXERCCIOS
INDIVIDUAL:
Responda s seguintes perguntas:
1.
2.
3.
4.
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
36
11
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
103
104
Claudio
Daniela
35,00
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
37
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
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
NOME_PROJ
LOCAL_PROJ
001
Alfa
So Paulo
002
Beta
Jundia
38
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
ID_FUNC
001
001
101
102
103
001
002
002
002
102
103
104
VL_HORA
35,00
50,00
39
NOME_FUNC
CARGO
101
102
Antonio
Beatriz
Analista Pleno
Analista Pleno
103
104
Claudio
Daniela
Analista Senior
Analista Senior
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
40
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
1021
LOCAL
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
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
12
LGEBRA RELACIONAL
Cada operador toma uma ou duas relaes como sua entrada e produz uma
nova relao como sua sada;
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
42
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
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
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
43
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
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
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
44
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
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
45
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
OPERADORES LGICOS
OPERADOR
DESCRIO
e (and)
ou (or)
no (not)
OPERADOR DE ATRIBUIO
OPERADOR
DESCRIO
"recebe"
Relational Algebra
46
EXERCCIOS
INDIVIDUAL:
1. Associe as operaes da lgebra relacional com as suas respectivas descries:
OPERAO
DESCRIO
Seleo
Projeo
Produto cartesiano
Diferena
Unio
Interseco
Juno
Juno natural
Diviso
47
13
14
15
48