Jump to content


Photo

Pq Usar Chave Composta?


  • Faça o login para participar
13 replies to this topic

#1 horacio2009

horacio2009

    Ativo

  • Usuários
  • 371 posts
  • Sexo:Não informado

Posted 06/05/2011, 16:19

boa tarde a todos!!!
minha dúvida é a seguinte:
qual a razão de usar uma chave composta???
quer dizer , para efeitos de identificação uma primary key não resolve????
usando auto_incremet sempre acontecerá de serem criadas chaves diferente, pois sempre adicionará 1 a chave...aí, teremos registros diferentes sempre...onde entra ( dentro desse contexto) a chave composta????
Obrigado a todos!!
Horácio
Meu último trabalho:
http://www.iconsorciofiat.com.br.

#2 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 06/05/2011, 18:57

Pode servir quando o registro deve ser identificado por um par, trio etc de valores, e não um valor só. Ou então você precisa que dois ou mais campos formem um conjunto único entre todos os registros. Exemplo:

Fiz um sistema de venda de ingressos em que tenho as tabelas:

ingressos (id, nome, tipo, ...)
lotes (id, nome, data, ...)
ingresso_lote (id_ingresso, id_lote, valor, qtd, ...)

Nesse caso, coloquei como PK da tabela (id_ingresso,id_lote). Esse par identifica o registro e deve ser único.

Em outra situação, tenho um cadastro de mesas:

lugares (id, fileira, numero, ...)

Nesse caso, PK é o id mesmo, mas coloquei (fileira,numero) como UNIQUE, porque só pode haver um par na tabela. Não deve ser possível que a mesma fileira tenha dois lugares com números iguais.

#3 horacio2009

horacio2009

    Ativo

  • Usuários
  • 371 posts
  • Sexo:Não informado

Posted 07/05/2011, 11:10

e como seria um select com essa chave composta???desculpa, mas ainda fiquei um pouco confuso!!!
Obrigado Pela ajuda, LeoB!!!!
Grande abraço!!!
Horácio
Meu último trabalho:
http://www.iconsorciofiat.com.br.

#4 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 07/05/2011, 11:26

Normal, ué.

SELECT * FROM ingresso_lote WHERE id_ingresso=X and id_lote=Y

A chave vai garantir a integridade dos dados e dar uma otimizada nas pesquisas.

#5 horacio2009

horacio2009

    Ativo

  • Usuários
  • 371 posts
  • Sexo:Não informado

Posted 07/05/2011, 12:46

deixa eu ver se eu entendi:

SELECT * FROM ingresso_lote WHERE id_ingresso=X and id_lote=Y

ele vai retornar o registro cujo id_ingresso seja "X" e o id_lote =Y

essa chave composta funcionaria mal comparando como um indice, mais "específico" que apenas o código, pois no caso de ter 100 ingresso='x' ele iria direto ao registro cuja chave composta fosse igual a XY, por exemplo????

Seria correto então, pensar em chave composta como um indice "turbinado"?
tá certo o meu pensamento???
indice esse óbvio, se tiver relação com outra tabela, correto?????
Aliás...pensando assim, por ser um tipo de indice( ok,me corrige, se falar bobagem, beleza? )ele vai direto ao registro em questão, se fosse um "campo composto" ele iria registro por registro, até o campo, sendo indice, ele vai direto...
posso então, tornar esse indice mais complexo???lançar outros dados(pertencentes a outras tabelas)até torna-los únicos?
quero dizer, se tiver relação com 8 tabelas essa chave ser composta de 8 elementos?isso pode ou estou viajando muito??

entendi direito????
pode me corrigir a vontade, quero muito aprender o máximo possível de banco de dados!!!!
De resto, muito obrigado mesmo pela ajuda. LeoB!!!!

Grande abraço!!!
Horácio
Meu último trabalho:
http://www.iconsorciofiat.com.br.

#6 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 11/05/2011, 20:19

Eu não entendo muito sobre o funcionamento de chaves. No exemplo que mostrei, usei mais por uma questão conceitual, e não de desempenho ou coisa do tipo. Mas já que você anda tão interessado em aprender mais a fundo sobre esses assuntos, deveria considerar comprar um livro de teoria de banco de dados. Ou ainda um específico sobre MySQL. Acho que vale a pena.

#7 horacio2009

horacio2009

    Ativo

  • Usuários
  • 371 posts
  • Sexo:Não informado

Posted 13/05/2011, 14:12

eu tenho o use a cabeça...é bem legal , tem muita coisa. mas quero sim, comprar outros...
sabe algum fora esse, que seja bom?
Mais um vez, muito obrigado pela constante ajuda, LeoB!!!
Abração, cara!!
Horácio
Meu último trabalho:
http://www.iconsorciofiat.com.br.

#8 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 13/09/2017, 21:38

Keflex Dosages For Uti cialis Amoxicillin 400mg 5ml Suspension Plant Vigra Wholesale Priligy Generika Gunstig Zithromax Affect Birth Control cialis price buying accutane online uk safe
Foro Priligy 30 Mg cialis Cialis Pastillas
Cialis 5mg Best Price Canada
Propecia Wann Wirkung <a href=http://cialtobuy.com>generic cialis</a> Propecia Femenino

#9 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 14/09/2017, 06:49

Tetracycline For Sale viagra cialis Propecia Success The Bald Truth
Does Amoxicillin Cause Yeast Infections Provera Irregular Periods Website
Cheap Viagra Samples cialis Swelling Amoxicillin Allergy

#10 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 25/09/2017, 14:19

Acheter Cialis Pharmacie Ligne Doxycycline Claravis Carmarthenshire Levitra 20mg Filmtabletten Preisvergleich cialis online Propecia Online Bestellen Generic Zentel Tablets By Money Order Online Parmacy
Is Kamagra Good Amoxil Sur Recomended Amoxicillin Doses For Sinus Infections cialis online Amoxicillin For Amoxil 60 Mg Cialis Canadian Pharmacy Kamagra En Vente Libre
Lactating Amoxicillin cialis Venta De Priligy En Chile

#11 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 15/10/2017, 10:14

Achat Du Levitra 10 Mg order accutane from canada Cialis Meilleur Site viagra Viagra Effetti Sulle Donne
Amoxicillin Dosage Level Levitra De 20 Mg levitra 40 mg Pharmacie En Ligne Cialis Generique

#12 LarPhozyHah

LarPhozyHah

    Super Veterano

  • Usuários
  • 14515 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 21/11/2017, 06:09

Prescription Drugs Viagra Prostatite Propecia Treatment For Black Women viagra Cialis Sin Receta Medica Cialis Mazatlan Mexico Side Effects To Amoxicillin In Babies
Can Keflex Antibiotic Cause Nightmares Cialis Zulassung viagra online prescription Buy Orlistat Over The Counter
Viagra Ungesund viagra Viagra Veloce Viagra 25 Kamagra 100mg Oral Jelly

#13 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 22/11/2017, 21:24

Viagra In Holland Legal Kaufen Ordering Glucophage Online cialis Cialis Seguridad Social Cialis Pils Cost
Progesterone Gestagen Tadarise Pro 20 viagra Viagra Discount

#14 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 11724 posts

Posted 25/11/2017, 18:05

buy accutane uk online Robaxin Otc Usa cialis Kamagra Online Kaufen Ohne Rezept Viagra Achat En Ligne En Saint




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq