Anda di halaman 1dari 16

Matria de Banco de Dados do dia 26/05/2014

Dados: Por si s transmite nenhuma mensagem. Os dados podem ser considerados a unidade bsica
da informao.

Informao: Resultado do processamento dos dados.


Banco de Dados: Local onde armazenado um conjunto de dados.
VECULO
Gol
Polo
Fiesta

MARCA
VW
GW
Ford

LISTAS DE VECULOS
PREO
38.000,00
56.000,00
37.500,00

ANO
2013
2012
2013

MODELO
2013
2013
2014

SGBD: Sistema de Gerenciamento de Banco de Dados.


Usurios que utilizam o Banco de Dados
Programadores: Responsveis pela escrita do programa.
Administradores: Responsveis pela instalao, configurao, atualizao e monitoramento
de Banco de Dados.
Usurios: Acessam o Banco de Dados interativamente (no requer conhecimento na rea).

Levantamento de requisito: a tarefa de analisar o ambiente, aplicar o conceito de abstrao e


transformar o resultado da informao em um modelo chamado conceitual.

Modelo conceitual: Descreve a estrutura de um Banco de Dados de forma independente do


sistema de entidade e relacionamento.

DER: Diagrama de Entidade e relacionamento.


Entidade: Objetos do mundo real (seres, fatos, coisas)
Ex.: Joo, Jos, Maria (Funcionrios) / Contabilidade, Financeiro, Jurdico (Departamento).

Atributos: um dado associado a cada entidade.


FUNCIONRIO

DEPARTAMENTO

Matria de Banco de Dados do dia 27/05/2014


Relacionamento: Relao entre as entidades. Os relacionamentos so importantes para
manipulao dos dados, de acordo com a distncia da empresa.
Obs.: Os relacionamentos so identificados por verbo que representam as aes que uma entidade
exerce sobre outra.
TRABALHA

FUNCIONRIO

PROJETO

Relacionamento um para um
Uma ocorrncia A est associado no mximo a 1 ocorrncia do B, e a ocorrncia do B est
associado a 1 ocorrncia do A.
FUNCIONRIO

PROJETO

JOO

ESCOLA ASA

MERCADO FELIZ

PEDRO

FARMCIA SADE

PAULO

Relacionamento um para muitos


Uma ocorrncia A est associado a vrias ocorrncias B, porm uma ocorrncia B est
associada mxima uma ocorrncia A.

FUNCIONRIO

JOO
PEDRO

PROJETO

ESCOLA ASA

MERCADO FELIZ
FARMCIA SADE

Relacionamento muitos para muitos

Uma ocorrncia A est associada a qualquer nmero de ocorrncia de B, e uma em B est


associada a qualquer nmero de ocorrncia de A.
FUNCIONRIO

JOO

PROJETO

ESCOLA ASA

MERCADO FELIZ

PEDRO

FARMCIA SADE

PAULO

Alguns exemplos de relacionamentos

CASADA

PESSOA
Dt_nasc_pess
oa
Sexo_pessoa

CONJUGE
Dt_nasc_conju
ge
Sexo_conjuge

Relacionamento: Um para Um

CONSULTA

MDICO

PACIENTE
Espec._mdi
co
Horrio_mdi
co

Sexo_paciente
Dt_nasc_pacie
nte

Relacionamento: Muitos para Muitos

COMPRA

Telefone_clien
CLIENTEte
Dt_nasc_client

Valor_veculo
VECULOAno_veculo
Marca_veculo

Relacionamento: Muitos para Muitos

Exerccios Resolvidos
A) Numa biblioteca um livro pode ser emprestado para vrias pessoas e a pessoa pode pegar
emprestados vrios livros.

EMPRESTA

PESSOA

LIVRO
Endereo_pess
oa
Telefone_pesso
a
Relacionamento: Muitos para Muitos

Ttulo_livro
Autor_livro
Gnero_livro

B) Numa escola primria as salas so separadas para que cada turma fique em uma sala especfica

e a turma no poder trocar de sala.

ESTUDA

TURMA
Nome_turma
Cdigo_turma
Qtdaluno_turma

1
SALA
Corredor_sala
Andar_sala
Nmero_sala

Relacionamento: Um para Um

C) Pode-se haver vrias pessoas com o mesmo tipo sanguneo, porm a pessoa s
possui um tipo.
1

POSSUI

TIPO SANGUNEO

PESSOA
Nome_pessoa
Peso_pessoa
Altura_pessoa

Descrio_tipo
TSangue_tipo
Cod_tipo

Relacionamento: Um para Um

D) Numa escola com vrias unidades


ficou determinada que os professores s
TRABALHA
podem trabalhar
na
unidade
pode
ter
vrios professores trabalhando.
Tel_professor
PROFESSOR
Disc_professor
N
Nome_professo

UNIDADE

Tel_unidade
Turno_unidade
Localizao_unid
ade

Relacionamento: Um para muitos

E) Numa locadora um cliente aluga quantos DVDs escolher, e o DVD podem ser
alugados por vrias pessoas.

CLIENTE

ALUGA

DVD

Tel_cliente
Endreo_client
e

Gnero_dvd
Ttulo_dvd
Nome_dvd

Relacionamento: Muitos para muitos

Matria de Banco de Dados do dia 02/06/2014


Chaves: so os responsveis por criar uma estrutura lgica de relacionamento entre as tabelas. Cada
entidade deve ter uma identificao (chave).

Chave primria: uma coluna cujo valor distingue uma linha.


Chave primria simples: um nico campo como chave primria.
RG_FUNC
111111111
111111112
111111113

TABELA FUNCIONRIO
NOME_FUNC
Ana Paula
Pedro Paulo
Andr Fabiano

DT_NASC_FUNC
12/01/80
27/01/84
19/09/75

Chave primria composta: dois ou mais campos como chave primria.


RG_FUNC
111111111
111111112
111111112
111111112
111111113
111111113
111111113

TABELA DEPENDENTE
N_DEP
NOME_DEP
01
Ana Carla
02
Ana Flvia
01
Pedro Fbio
02
Pedro Marques
01
Andr Felipe
02
Andr Luiz
03
Andr Rafael

DT_NASC_DEP
12/07/1998
19/05/1999
20/09/2005
30/01/2009
24/03/2000
30/09/2013
01/05/2014

Chave candidata: basicamente outro campo que pode ser chave primria.
RG_FUNC
111111111

TABELA FUNCIONRIO
CPF_FUNC
NOME_FUNC
11111111111
Ana Paula

DT_NASC_FUNC
12/11/80

111111112
111111113

21111111111
31111111111

Pedro Paulo
Andr Fabiano

27/03/84
19/09/75

Chave estrangeira: chave importada de outra tabela.


ATENO: a palavra estrangeira pode levar a crer que sempre far referncia a outra tabela, mas h
caso que ela pode fazer referncia a mesma tabela.
EXEMPLO:
LECIONA

PROFESSOR

TURMA

Dt_nasc_pro
Nome_pro
Rg_pro (P.K)

Rg_pro (F.K)
Horrio_turma
Cod_turma

OU
LECIONA

PROFESSOR

Ou seja:

TURMA

Dt_nasc_pro
Nome_pro
Rg_pro (P.K)
Cod_turma
(F.K)

Horrio_turma
Cod_turma
(P.K)

TABELA PROFESSOR

TABELA TURMA

RG_PRO

NOME_PRO

DT_NASC_PRO

COD_TURMA

HORRIO_TURMA

RG_PRO

111111111

Ana Maria

10/05/84

T1

8 s 17hs

111111111

OU:
TABELA PROFESSOR

TABELA TURMA

RG_PRO

NOME_PRO

DT_NASC_PR
O

COD_TURM
A

COD_TURM
A

HORRIO_TURM
A

111111111

Ana Maria

10/05/84

T1

T1

8 s 17hs

LECIONA
dt_nasc_pro
nome_pro
rg_pro (P.K)

PROFESSOR

horrio_turma
cod_turma
(P.K)

TURMA

TABELA PROFESSOR

TABELA TURMA

RG_PRO

NOME_PRO

DT_NASC_PRO

COD_TURMA

HORRIO_TURMA

RG_PRO

111111111

Ana Maria

10/05/84

T1
T2

8 s 12hs
13 s 17hs

111111111
111111111

Matria e Banco de Dados do dia 03/06/2014

Muitos para Muitos

N
PROFESSOR
Dt_nasc_pro
Nome_pro
Rg_pro

TABELA PROFESSOR
RG_P
NOME_
P
111111111 Ana
111111112 Maria
111111113 Jos

PESSOA

CASADA

LECIONA

TURMA
Horrio_turma
Cod_turma

Cod_tur
ma
Rg_pro

DT_NASC_
P
20/05/84
19/03/73
30/12/80

PROFESSOR_TURMA
COD_T RG_P
T1
T1
T1
T2
T2
T3
T3

111111111
111111112
111111113
111111111
111111113
111111112
111111111

TABELA TURMA
COD_
HORRIO_T
T
T1
8 s 12hs
T2
13 s 17hs

Rg_pessoa
Nome_pessoa
Dt_nasc_pesso
a
Rg_conjuge

RG_P
111111111
111111112
111111113

NOME_
P
Ana
Jos
Pedro

DT_N_P

RG_C

20/05/74
30/04/71
04/02/70

111111112
111111111

Cod_func
Rg_func
Nome_func
Dt_n_func
Email_func
Cod_g

FUNCIONRIO

GERENCIA

COD_FUNC

RG_FUNC

F1
F2
F3
F4
F5

111111111
111111112
111111113
111111114
111111115

NOME_FUN
C
Ana
Maria
Pedro
Luiz
Carla

DT_N_FUNC
20/03/84
30/03/70
29/05/62
20/09/62
30/12/74

EMAIL_FUN
C
a@oi.com
m@oi.com
p@oi.com
l@oi.com
e@oi.com

COD_G

F1
F2
F2
F2

Exerccio 1: Na anlise de uma imobiliria observa-se a importncia das seguintes entidades (alm da
necessidade imediata de relatrios referente aos contratos que cada funcionrio efetuou)
Clientes (cdigo, nome, tipo (fsica/jurdica), endereo, telefone, e-mail)
Imveis (cdigo, valor, situao, endereo, proprietrio)
Contrato (cdigo, imvel, inquilino, fiador, valor do aluguel, taxa administrativa, data do
vencimento, data de entrada, data de sada)
Funcionrio (cdigo, nome, e-mail, login, senha, telefone)

ALUGA

CLIENTE

IMVEIS

Email_c
Tel_c
End_c
Tipo_c
Nome_c
Cod_c

FAZ

PERTENCE

Cod_c
Prop_i
End_i
Situao
_i
Valor_i
Cod_i

CONTRATO

GERA

FUNCIONRIO

Cod_cont
Cod_i
Cod_c
Fiador_cont
Valor_cont
Dt_saida_cont
Dt_entrada_cont
Dt_vencimento_con
t
Taxaadm_cont

Cod_f
Nome_f
Email_f
Login_f
Senha_f
Tel_f

Matria de Banco de Dados do dia 09/06/2014


Normalizao: a normalizao um procedimento de organizao e melhoramento das tabelas. Tem
o objeto de organizar e dividir as tabelas da forma mais eficiente possvel, diminuindo a redundncia
e permitindo a evoluo do banco de dados.
Tabela no normalizada (NN)
Tabela Encomenda
Liga Data
Taxa
o
1
9/6/14 R$5,00
2

10/6/14 R$3,00

10/6/14 R$5,00

Total

Cliente

Cep end

Prod

Valor u

Qtd

R$55,0
0
R$43,0
0
R$45,0
0

Ana

2183206
6 Rua A
2183206
6 Rua A
2183206
6 Rua A

Caneta
Papel
Papel

R$1,00
R$4,00
R$4,00

10
10
10

Total
item
R$40,00
R$40,00
R$40,00

Livro

R$20,0
0
R$5,00

R$20,00

R$20,00

Ana
Maria

Cadern

o
1 forma normal (1FN): a 1 forma normal diz que em toda tabela, nas clulas devem conter apenas
um valor.
Tabela Encomenda
Ligao
Data
1
9/6/14
2
10/6/14
3
10/6/14

Taxa
R$5,00
R$3,00
R$3,00

Tabela Item Encomenda


Ligao
Cod_p
1
P1
1
P2
2
P2
3
P3
3
P4

Total
R$55,00
R$43,00
R$45,00

Produto
Caneta
Papel
Papel
Livro
Caderno

Cliente
Ana
Ana
Maria

Valor Unt
R$1,00
R$4,00
R$4,00
R$20,00
R$5,00

Cep
2182006
2182006
2182006

Qtd
10
10
10
1
4

Endereo
Rua A
Rua A
Rua A

Total Item
R$10,00
R$40,00
R$40,00
R$20,00
R$20,00

2 forma normal (2FN): diz que nas tabelas com chave primria composta todos os campos devem
depender de todas as chaves e no apenas de uma.
Tabela Encomenda
Ligao
Data
1
9/6/14
2
10/6/14
3
10/6/14
Tabela Item Encomenda
Ligao
Cod_p
1
P1
1
P2
2
P2
3
P3
3
P4

Taxa
R$5,00
R$3,00
R$5,00

Qtd
10
10
10
1
4

Total
R$55,00
R$43,00
R$45,00

Total Item
R$10,00
R$40,00
R$40,00
R$20,00
R$20,00

Cliente
Ana
Ana
Maria

Cep
21832006
21832006
21832006

Endereo
Rua A
Rua A
Rua A

Tabela Produto
Cod_p
Produto
P1
Caneta
P2
Papel
P3
Livro
P4
Caderno

Valor Unt
R$1,00
R$4,00
R$5,00
R$5,00

3 forma normal (3FN): diz que todos os atributos no chave devem depender apenas da chave
primria de forma total e no parcial.
Tabela Encomenda
Ligao
Data
1
9/6/14
2
10/6/14
3
10/6/14

Tabela Produto
Cod_p
Produto
P1
Caneta
P2
Papel

Taxa
R$5,00
R$3,00
R$5,00

Valor Unt
R$1,00
R$4,00

Cod_c
C1
C1
C2

Tabela Item Encomenda


Ligao
Cod_p
1
P1
1
P2
2
P2
3
P3
3
P4
Tabela cliente
Cod_c
Cliente
C1
Ana
C2
Maria

Cep
21832006
21832006

Qtd
10
10
10
1
4

Endereo
Rua A
Rua A

P3
P4

Livro
Caderno

R$20,00
R$5,00

OBS: o nome da rua diz respeito ao cep e no ao cliente, com isso devemos aplicar a 3FN e dividir a
tabela da seguinte forma.
Tabela cliente
Cod_c
C1
C2

Cliente
Ana
Maria

Tabela rua
Cep
2183006

Cep
21832006
21832006

Endereo
Rua A

Matria de banco de Dados do dia 10/06/2014


Exerccios
1. Transforme a tabela no normalizada para tabelas normalizadas, utilizando as regras de
normalizao at a 3FN.
Tabela pessoa
RG
Nome

Cep

Endereo

Telefone

Descrio

11111

Ana

21800-00

Rua A

11112

Jos

21800-00

Rua B

2222-2222
98888-8888
2223-2222

Residencial
Celular
Residencial

11113

Joo

21800-00

Rua A

2222-2224
98888-8881

Recado
celular

Email/dt_nas
c
a@ig.com
7/4/14
jo@ig.com
9/4/14
j@ig.com
9/4/14

1FN:
Tabela pessoa
RG
11111
11112
11113

Nome
Ana
Jos
Joo

Tabela Telefone
RG
11111
11111
11112
11113
11114

Cep
21800-00
21800-00
21800-00

Endereo
Rua A
Rua B
Rua A

Telefone
2222-2222
98888-8888
2222-2223
2222-2224
98888-8881

Email
a@ig.com
jo@ig.com
j@ig.com

Dt_nasc
7/4/14
9/4/14
9/4/14

Descrio
Residencial
Celular OI
Residencial
Recado
Celular Vivo

2FN:
Tabela pessoa
RG
11111
11112
11113

Nome
Ana
Jos
Joo

Cep
21800-00
21800-00
21800-00

Endereo
Rua A
Rua B
Rua A

Email
a@ig.com
jo@ig.com
j@ig.com

Dt_nasc
7/4/14
9/4/14
9/4/14

Tabela Telefone
RG
11111
11111
11112
11113
11114

Telefone
2222-2222
98888-8888
2222-2224
2222-2224
98888-8881

Tabela Descrio Telefone


Cod_d
Descrio
D1
Residencial
D2
Celular OI
D3
Recado
D4
Celular Vivo

Cod_d
D1
D2
D1
D3
D4

2. Observe a NF abaixo:
NF:0001
Nome: ______________________________ Data:_____________
Endereo:______________________________________________
Tel.Res:____________________Tel.Cel:_____________________
Qtd

Discriminao

Preo Unitrio

Valor Total

Forma de Pagamento:____________ Total:___________


Garantia: Perodo de _____dias, para defeitos de fabricao.
_____________________
Vendedor

____________________
Cliente

Observe a seguinte tabela:


NF(nronf, nomecli, endcli, dtnf, telrecli, telcelcli, qtdprod, precouni, valortotal, condpag, totalnf,
garantia, vendedor).
Aps o preenchimento ficou:
Tabela NF
Nronf
Nomecli
Endcli
0001
Ana
Rua A

Dtnf
2/6/14

Telrecli
2333-3333

Telcli
98888-8888

0002

Rua A

3/6/14

1333-3333

99999-9999

valorTotal
2700
90
700
30
3000
780

Condpag
A vista

totalNF
3490

Garantia
365

Vendedor
Marcos

3 vezes

3810

133

Moreira

Maria

Tabela NF (Continuao)
Disprod
precoUni
Nootbook
2700
Fone
30
Impressora 700
Fone
30
Gabinete
1500
Monitor
390

Qtdprod
1
3
1
1
2
2

Passe para forma normalizada at a 3FN:


1FN:
Tabela NF
Nronf Nomecl Endcli Dtnf
Telrecli
i
0001
Ana
Rua A 2/6/14 22233333
0002
Maria
Rua A 3/6/14 13333333
Tabela Produto Comprado
NF
Cod_p
0001
P1
0001
P2
0001
P3
0002
P2
0002
P4
0002
P5

Disprod
Notebook
Fone
Impressora
Fone
Gabinete
Monitor

Telcli
988888888
999999999

Endcli

Dtnf

Telrecli

Telcli

Rua A

2/6/14

0002

Rua A

3/6/14

22233333
13333333

988888888
999999999

Tabela produto
Cod_p
Discpro
P1
Notebook
P2
Fone
P3
Impressor
a
P4
Gabinete
P5
Monitor
3FN:
Tabela NF
Nronf
0001
0002
Tabela Vendedor
Cod_c
C1
C2

Totalnf

3 vezes

qtdProd
1
3
1
1
2
2

2FN:
Tabela NF
Nronf Nomecl
i
0001
Ana
Maria

Condpa
g
A vista

Vendedor

3490

Garanti
a
365

3810

133

Moreira

precoUni
2700
30
700
30
1500
390

Condpa
g
A vista

Totalnf

3 vezes

Marcos

Valortotal
2700
90
700
30
3000
780

Vendedor

3490

Garanti
a
365

3810

133

Moreira

Marcos

precoUni
2700
30
700

Tabela Produto Comprado


Nronf
Cod_p
Qtdprod
0001
P1
1
0001
P2
3
0001
P3
1

Valortotal
2700
90
700

1500
390

0002
0002

3000
780

Dtnf
2/6/14
3/6/14

Nomecli
Ana
Maria

Condpag
A vista
3 vezes

Garantia
365
133

Terecli
2223-3333
1333-3333

P4
P5

2
2

Cod_c
C1
C2

Telcelcli
98888-8888
99999-9999

Cod_v
V1
V2

Cep
22222-222
22222-222

Tabela Vendedor
Cod_v
V1
V2

Vendedor
Marcos
Moreira

Tabela Produto
Cod_p
Discprod
P1
Notebook
P2
Fone
P3
Impressora
P4
Gabinete
P5
Monitor

precoUni
2700
30
700
1500
390

Tabela Endereo
Cep
22222-222

Endereo
Rua A

Tabela Produto Comprado


Nronf
Cod_p
0001
P1
0001
P2
0001
P3
0002
P2
0002
P4
0002
P5

Qtdprod
1
3
1
1
2
2

Matria de Banco de Dados do dia 29/07/2014


My SQL
DDL(linguagem de definio): criao alterao e excluso da estrutura de um banco de dados.

Create: criao de estrutura (BD e Tabela);


Alter: alterao de estrutura (tabelas);
Drop: excluso de estrutura (tabelas).

Para criar um B.D


Create database <nome B.D.>;
Ex: create database BDcadastrodecliente;
Para usar um B.D
Use <nome B.D>;
Ex: use BDcadastrodecliente;
Para visualizar todos B.Ds
Show databases;
Para criar uma tabela
Create table <nome da tabela>
(<nome do campo><tipo do campo>,
<nome do campo><tipo do campo>,
Primary key (<nome do campo>),
Foreign key (<nome do campo chave estrangeira>)references <nome da tabela referncia> (<nome
campo referncia>));

Ex:
endere

mora

Endereo
Cep(P.K)

Criando atabela endereo

client
e

tem

Cep(F.K)
Email
Dt_nasc_cl
i
Nome_cli
Rg_cli(P.K)

Create table endereo(


Cep int unsigned not null,
Endereco varchar (200),
Primary key (cep));
Criando a tabela descrio
Create table descricao(
Cod_d int auto_increment,
Descricao varchar (200),
Primary key (cod_d));
Criando tabela cliente
Create table cliente(
Rg_cli int unsigned not null,
Nome_cli varchar (200) not null,
Dt_nasc_cli date not null,
Email varchar (50) unique,
Cep int unsigned unique nto null,
Index(nome_cli),
Foreign key (cep) references endereco (cep),
Primary key (rg_cli));
Criando a tabela telephone
Create table telefone(
Tel_cli int unsigned not null,
Rg_cli int not null,
Cod_d int not null,
Foreign key (cod_d) references descricao (cod_d),

telefon
Cod_d(F.K)
Rg_cli(F.K)
Tel_cli(P.K)

possui

descri
Descrio
Cod_d(P.K)

Foreign key (rg_cli) references cliente (rg_cli),


Primary key (rg_cli, tel_cli));