.dsy:it.
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Basi di dati ~ comunicazione digitale (http://www.dsy.it/forum/forumdisplay.php?forumid=108)
-- Chiavi e super-chiavi (http://www.dsy.it/forum/showthread.php?threadid=31814)


Posted by tolarian on 05-09-2007 09:38:

Chiavi e super-chiavi

Ciao a tutti...mi sono impegolato in questa definizione:

"Un insieme X ⊆UR di attributi di R e` chiave di R se verifica entrambe le seguenti proprieta`:
1. qualsiasi sialo stato di R, non esistono due tuple distinte di R che abbiano lo stesso valore per tutti gli attributi in X
2. nessun sottoinsieme proprio di X verifica la proprieta` (1)

Un insieme di attributi che verifica la proprieta` (1) ma non la proprieta` (2), e` detto super-chiave di R "

mi potreste chiarire con un esempio pratico???

grazie


Posted by Voodoo on 05-09-2007 18:01:

Ciao :)
Se hai R (A,B,C,D) con chiave (A,B) vuol dire che non troverai mai nessuna coppia di tuple distinte che abbia l'accoppiata A,B uguale,questo per definizione. La seconda proprietà ci dice che per nessun sottoinsieme proprio dell'insieme X (qui A,B) vale la proprietà di prima,cioè NON è vero che NON troverai mai una coppia di tuple distinta per cui A sia uguale in entrambe o lo sia B,perchè se succedesse A,B non sarebbe più una chiave MINIMALE ma una superchiave. Una superchiave è un insieme di attributi che contiene la chiave.
Spero sia più chiaro,sennò fatti sentire ;)

__________________
GET DROPBOX
# il grado di lentezza è direttamente proporzionale all'intensità della memoria;il grado di velocità è direttamente proporzionale all'intensità dell'oblio (Kundera) #
BLOG: Byte Strike
ChRiS :ciao:


Posted by tolarian on 07-09-2007 08:50:

allora provo a fare un esempio:

Nome,Cognome,DataNascita,Altezza;

Allora suppongo che Nome,Cognome sia chiave...quindi per la 2° proprietà direi che DEVO avere almeno 2 nomi uguali o almeno 2 cognomi uguali...
altrimenti l'accoppiata Nome,Cognome sarebbe una SuperChiave.

Ho capito??

grazie


Posted by Voodoo on 07-09-2007 08:57:

Originally posted by tolarian
allora provo a fare un esempio:

Nome,Cognome,DataNascita,Altezza;

Allora suppongo che Nome,Cognome sia chiave...quindi per la 2° proprietà direi che DEVO avere almeno 2 nomi uguali o almeno 2 cognomi uguali...
altrimenti l'accoppiata Nome,Cognome sarebbe una SuperChiave.

Ho capito??

grazie

Si in linea teorica si,in linea pratica se hai come dici tu:
code:
CREATE TABLE ( Nome varchar(10), Cognome varchar(10), DataN date, Altezza varchar(3), primary key(Nome,Cognome));

Ci può anche essere solo

e non è errore anche se non ci sono due nomi uguali,quello che importa è che quando definisci la chiave non ci siano doppioni per quell'insieme,cmq va bene quel che hai detto (almeno credo :) ).

__________________
GET DROPBOX
# il grado di lentezza è direttamente proporzionale all'intensità della memoria;il grado di velocità è direttamente proporzionale all'intensità dell'oblio (Kundera) #
BLOG: Byte Strike
ChRiS :ciao:


All times are GMT. The time now is 19:22.
Show all 4 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.