Banco de Dados

19
Matéria de Banco de Dados do dia 26/05/2014 Dados: Por si só transmite nenhuma mensagem. Os dados podem ser considerados a unidade básica da informação. Informação: Resultado do processamento dos dados. Banco de Dados: Local onde é armazenado um conjunto de dados. LISTAS DE VEÍCULOS VEÍCULO MARCA PREÇO ANO MODELO Gol VW 38.000,00 2013 2013 Polo GW 56.000,00 2012 2013 Fiesta Ford 37.500,00 2013 2014 SGBD: Sistema de Gerenciamento de Banco de Dados. Usuários que utilizam o Banco de Dados Programadores: Responsáveis pela escrita do programa. Administradores: Responsáveis pela instalação, configuração, atualização e monitoramento de Banco de Dados. Usuários: Acessam o Banco de Dados interativamente (não requer conhecimento na área). Levantamento de requisito: É a tarefa de analisar o ambiente, aplicar o conceito de abstração e transformar o resultado da informação 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.: João, José, Maria (Funcionários) / Contabilidade, Financeiro, Jurídico (Departamento). Atributos: É um dado associado a cada entidade. Matéria de Banco de Dados do dia 27/05/2014 FUNCIONÁRIO DEPARTAMENTO

description

Pesquisa sobre banco de dados

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));