Banco de Dados
-
Upload
carlos-luiz -
Category
Documents
-
view
215 -
download
0
description
Transcript of Banco de Dados
Matria de Banco de Dados do dia 26/05/2014Dados: 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.LISTAS DE VECULOS
VECULOMARCAPREOANOMODELO
GolVW38.000,0020132013
PoloGW56.000,0020122013
FiestaFord37.500,0020132014
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.DEPARTAMENTOFUNCIONRIO
Matria de Banco de Dados do dia 27/05/2014Relacionamento: 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
PROJETOFUNCIONRIO
Relacionamento um para umUma ocorrncia A est associado no mximo a 1 ocorrncia do B, e a ocorrncia do B est associado a 1 ocorrncia do A.BAESCOLA ASAMERCADO FELIZFARMCIA SADEJOOPEDROPAULOPROJETOFUNCIONRIO
Relacionamento um para muitosUma ocorrncia A est associado a vrias ocorrncias B, porm uma ocorrncia B est associada mxima uma ocorrncia A.PROJETO
BAJOOPEDROESCOLA ASAMERCADO FELIZFARMCIA SADEFUNCIONRIO
Relacionamento muitos para muitosUma ocorrncia A est associada a qualquer nmero de ocorrncia de B, e uma em B est associada a qualquer nmero de ocorrncia de A.BAESCOLA ASAMERCADO FELIZFARMCIA SADEJOOPEDROPAULOPROJETOFUNCIONRIO
Alguns exemplos de relacionamentosCONJUGECASADAPESSOA
Dt_nasc_conjugeSexo_conjugeNome_conjugeDt_nasc_pessoaSexo_pessoaNome_pessoa
Relacionamento: Um para UmCONSULTASexo_pacienteDt_nasc_pacienteNome_pacienteEspec._mdicoHorrio_mdicoNome_mdico
PACIENTEMDICO
Relacionamento: Muitos para Muitos
Telefone_clienteDt_nasc_clienteNome_cliente
Valor_veculoAno_veculoMarca_veculoVECULOCOMPRACLIENTE
Relacionamento: Muitos para MuitosExerccios ResolvidosA) Numa biblioteca um livro pode ser emprestado para vrias pessoas e a pessoa pode pegar emprestados vrios livros. NNEndereo_pessoaTelefone_pessoaNome_pessoaTtulo_livroAutor_livroGnero_livroLIVROEMPRESTAPESSOA
Relacionamento: Muitos para Muitos
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.11
Corredor_salaAndar_salaNmero_salaNome_turmaCdigo_turmaQtdaluno_turmaSALAESTUDATURMA
Descrio_tipoTSangue_tipoCod_tipoNome_pessoaPeso_pessoaAltura_pessoaTIPO SANGUNEOPOSSUI
Relacionamento: Um para UmC) Pode-se haver vrias pessoas com o mesmo tipo sanguneo, porm a pessoa s possui um tipo.N1
PESSOA
Relacionamento: Um para Um
D) Numa escola com vrias unidades ficou determinada que os professores s podem trabalhar na unidade pode ter vrios professores trabalhando.1NTel_professorDisc_professorNome_professorUNIDADETRABALHAPROFESSOR
Tel_unidadeTurno_unidadeLocalizao_unidade
Relacionamento: Um para muitosE) Numa locadora um cliente aluga quantos DVDs escolher, e o DVD podem ser alugados por vrias pessoas. NNGnero_dvdTtulo_dvdNome_dvdTel_clienteEndreo_clienteNome_clienteDVDALUGACLIENTE
Relacionamento: Muitos para muitos
Matria de Banco de Dados do dia 02/06/2014Chaves: 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.TABELA FUNCIONRIO
RG_FUNCNOME_FUNCDT_NASC_FUNC
111111111Ana Paula12/01/80
111111112Pedro Paulo27/01/84
111111113Andr Fabiano19/09/75
Chave primria composta: dois ou mais campos como chave primria.TABELA DEPENDENTE
RG_FUNCN_DEPNOME_DEPDT_NASC_DEP
11111111101Ana Carla12/07/1998
11111111202Ana Flvia19/05/1999
11111111201Pedro Fbio20/09/2005
11111111202Pedro Marques30/01/2009
11111111301Andr Felipe24/03/2000
11111111302Andr Luiz30/09/2013
11111111303Andr Rafael01/05/2014
Chave candidata: basicamente outro campo que pode ser chave primria.TABELA FUNCIONRIO
RG_FUNCCPF_FUNCNOME_FUNCDT_NASC_FUNC
11111111111111111111Ana Paula12/11/80
11111111221111111111Pedro Paulo27/03/84
11111111331111111111Andr Fabiano19/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:Rg_pro (F.K)Horrio_turmaCod_turmaDt_nasc_proNome_proRg_pro (P.K)TURMALECIONAPROFESSOR
OUDt_nasc_proNome_proRg_pro (P.K)Cod_turma (F.K)Horrio_turmaCod_turma (P.K)TURMALECIONAPROFESSOR
Ou seja:TABELA PROFESSORTABELA TURMA
RG_PRONOME_PRODT_NASC_PROCOD_TURMAHORRIO_TURMARG_PRO
111111111Ana Maria10/05/84T18 s 17hs111111111
OU:TABELA PROFESSORTABELA TURMA
RG_PRONOME_PRODT_NASC_PROCOD_TURMACOD_TURMAHORRIO_TURMA
111111111Ana Maria10/05/84T1T18 s 17hs
horrio_turmacod_turma (P.K)rg_pro (F.K)dt_nasc_pronome_prorg_pro (P.K)TURMALECIONAPROFESSOR
TABELA PROFESSORTABELA TURMA
RG_PRONOME_PRODT_NASC_PROCOD_TURMAHORRIO_TURMARG_PRO
111111111Ana Maria10/05/84T18 s 12hs111111111
T213 s 17hs111111111
Matria e Banco de Dados do dia 03/06/2014
Muitos para MuitosCod_turmaRg_pro
NNHorrio_turmaCod_turmaDt_nasc_proNome_proRg_proTURMALECIONAPROFESSOR
TABELA PROFESSORPROFESSOR_TURMATABELA TURMA
RG_PNOME_PDT_NASC_PCOD_TRG_PCOD_THORRIO_T
111111111Ana20/05/84T1111111111T18 s 12hs
111111112Maria19/03/73T1111111112T213 s 17hs
111111113Jos30/12/80T1111111113
T2111111111
T2111111113
T3111111112
T3111111111
Rg_pessoaNome_pessoaDt_nasc_pessoaRg_conjuge
1PESSOACASADA
1
RG_PNOME_PDT_N_PRG_C
111111111Ana20/05/74111111112
111111112Jos30/04/71111111111
111111113Pedro04/02/70
Cod_funcRg_funcNome_funcDt_n_funcEmail_funcCod_g
1GERENCIAFUNCIONRION
COD_FUNCRG_FUNCNOME_FUNCDT_N_FUNCEMAIL_FUNCCOD_G
F1111111111Ana20/03/[email protected]
F2111111112Maria30/03/[email protected]
F3111111113Pedro29/05/[email protected]
F4111111114Luiz20/09/[email protected]
F5111111115Carla30/12/[email protected]
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)
1NIMVEISALUGACLIENTE
Cod_fNome_fEmail_fLogin_fSenha_fTel_fCod_contCod_iCod_cFiador_contValor_contDt_saida_contDt_entrada_contDt_vencimento_contTaxaadm_contPERTENCE111NN1FUNCIONRIOGERACONTRATOFAZCod_cProp_iEnd_iSituao_iValor_iCod_iEmail_cTel_cEnd_cTipo_cNome_cCod_c
Matria de Banco de Dados do dia 09/06/2014Normalizao: 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
LigaoDataTaxaTotalClienteCep endProdValor uQtdTotal item
19/6/14R$5,00R$55,00Ana21832066 Rua ACanetaR$1,0010R$40,00
PapelR$4,0010R$40,00
210/6/14R$3,00R$43,00Ana21832066 Rua APapelR$4,0010R$40,00
310/6/14R$5,00R$45,00Maria21832066 Rua ALivroR$20,001R$20,00
CadernoR$5,004R$20,00
1 forma normal (1FN): a 1 forma normal diz que em toda tabela, nas clulas devem conter apenas um valor.Tabela Encomenda
LigaoDataTaxaTotalClienteCepEndereo
19/6/14R$5,00R$55,00Ana2182006Rua A
210/6/14R$3,00R$43,00Ana2182006Rua A
310/6/14R$3,00R$45,00Maria2182006Rua A
Tabela Item Encomenda
LigaoCod_pProdutoValor UntQtdTotal Item
1P1CanetaR$1,0010R$10,00
1P2PapelR$4,0010R$40,00
2P2PapelR$4,0010R$40,00
3P3LivroR$20,001R$20,00
3P4CadernoR$5,004R$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
LigaoDataTaxaTotalClienteCepEndereo
19/6/14R$5,00R$55,00Ana21832006Rua A
210/6/14R$3,00R$43,00Ana21832006Rua A
310/6/14R$5,00R$45,00Maria21832006Rua A
Tabela Item EncomendaTabela Produto
LigaoCod_pQtdTotal ItemCod_pProdutoValor Unt
1P110R$10,00P1CanetaR$1,00
1P210R$40,00P2PapelR$4,00
2P210R$40,00P3LivroR$5,00
3P31R$20,00P4CadernoR$5,00
3P44R$20,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 EncomendaTabela Item Encomenda
LigaoDataTaxaCod_cLigaoCod_pQtd
19/6/14R$5,00C11P110
210/6/14R$3,00C11P210
310/6/14R$5,00C22P210
3P31
3P44
Tabela ProdutoTabela cliente
Cod_pProdutoValor UntCod_cClienteCepEndereo
P1CanetaR$1,00C1Ana21832006Rua A
P2PapelR$4,00C2Maria21832006Rua A
P3LivroR$20,00
P4CadernoR$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 clienteTabela rua
Cod_cClienteCepCepEndereo
C1Ana218320062183006Rua A
C2Maria21832006
Matria de banco de Dados do dia 10/06/2014Exerccios1. Transforme a tabela no normalizada para tabelas normalizadas, utilizando as regras de normalizao at a 3FN.Tabela pessoa
RGNomeCepEndereoTelefoneDescrioEmail/dt_nasc
11111Ana21800-00Rua A
[email protected] 7/4/14
98888-8888Celular
11112Jos21800-00Rua [email protected] 9/4/14
11113Joo21800-00Rua [email protected] 9/4/14
98888-8881celular
1FN:Tabela pessoa
RGNomeCepEndereoEmailDt_nasc
11111Ana21800-00Rua [email protected]/4/14
11112Jos21800-00Rua [email protected]/4/14
11113Joo21800-00Rua [email protected]/4/14
Tabela Telefone
RGTelefoneDescrio
111112222-2222Residencial
1111198888-8888Celular OI
111122222-2223Residencial
111132222-2224Recado
1111498888-8881Celular Vivo
2FN:Tabela pessoa
RGNomeCepEndereoEmailDt_nasc
11111Ana21800-00Rua [email protected]/4/14
11112Jos21800-00Rua [email protected]/4/14
11113Joo21800-00Rua [email protected]/4/14
Tabela TelefoneTabela Descrio Telefone
RGTelefoneCod_dCod_dDescrio
111112222-2222D1D1Residencial
1111198888-8888D2D2Celular OI
111122222-2224D1D3Recado
111132222-2224D3D4Celular Vivo
1111498888-8881D4
2. Observe a NF abaixo: NF:0001 Nome: ______________________________ Data:_____________Endereo:______________________________________________Tel.Res:____________________Tel.Cel:_____________________QtdDiscriminaoPreo UnitrioValor 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
NronfNomecliEndcliDtnfTelrecliTelcliQtdprod
0001AnaRua A2/6/142333-333398888-88881
3
1
0002MariaRua A3/6/141333-333399999-99991
2
2
Tabela NF (Continuao)
DisprodprecoUnivalorTotalCondpagtotalNFGarantiaVendedor
Nootbook27002700A vista3490365Marcos
Fone3090
Impressora700700
Fone30303 vezes3810133Moreira
Gabinete15003000
Monitor390780
Passe para forma normalizada at a 3FN:1FN:Tabela NF
NronfNomecliEndcliDtnfTelrecliTelcliCondpagTotalnfGarantiaVendedor
0001AnaRua A2/6/142223-333398888-8888A vista3490365Marcos
0002MariaRua A3/6/141333-333399999-99993 vezes3810133Moreira
Tabela Produto Comprado
NFCod_pDisprodqtdProdprecoUniValortotal
0001P1Notebook127002700
0001P2Fone33090
0001P3Impressora1700700
0002P2Fone13030
0002P4Gabinete215003000
0002P5Monitor2390780
2FN:Tabela NF
NronfNomecliEndcliDtnfTelrecliTelcliCondpagTotalnfGarantiaVendedor
0001AnaRua A2/6/142223-333398888-8888A vista3490365Marcos
0002MariaRua A3/6/141333-333399999-99993 vezes3810133Moreira
Tabela produtoTabela Produto Comprado
Cod_pDiscproprecoUniNronfCod_pQtdprodValortotal
P1Notebook27000001P112700
P2Fone300001P2390
P3Impressora7000001P31700
P4Gabinete15000002P423000
P5Monitor3900002P52780
3FN:Tabela NF
NronfDtnfCondpagGarantiaCod_cCod_v
00012/6/14A vista365C1V1
00023/6/143 vezes133C2V2
Tabela Vendedor
Cod_cNomecliTerecliTelcelcliCep
C1Ana2223-333398888-888822222-222
C2Maria1333-333399999-999922222-222
Tabela VendedorTabela Endereo
Cod_vVendedorCepEndereo
V1Marcos22222-222Rua A
V2Moreira
Tabela ProdutoTabela Produto Comprado
Cod_pDiscprodprecoUniNronfCod_pQtdprod
P1Notebook27000001P11
P2Fone300001P23
P3Impressora7000001P31
P4Gabinete15000002P21
P5Monitor3900002P42
0002P52
Matria de Banco de Dados do dia 29/07/2014My SQLDDL(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.DCreate database ;Ex: create database BDcadastrodecliente;Para usar um B.DUse ;Ex: use BDcadastrodecliente;Para visualizar todos B.DsShow databases;Para criar uma tabelaCreate table (, ,Primary key (),Foreign key ()references ());Ex:NNN111possuitemmora
DescrioCod_d(P.K)Cod_d(F.K)Rg_cli(F.K)Tel_cli(P.K)
Cep(F.K)EmailDt_nasc_cliNome_cliRg_cli(P.K)EndereoCep(P.K)clienteendereotelefonedescrio
Criando atabela endereoCreate table endereo(Cep int unsigned not null,Endereco varchar (200),Primary key (cep));Criando a tabela descrioCreate table descricao(Cod_d int auto_increment,Descricao varchar (200),Primary key (cod_d));Criando tabela clienteCreate 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 telephoneCreate 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),Foreign key (rg_cli) references cliente (rg_cli),Primary key (rg_cli, tel_cli));