Problem z ustawieniem id = 0 phpmyadmin

0

Cześć, tworzę bazę danych ankiety. Tabela respondent dotyczy osób, które wypełniają ankietę. Składa się z 'respondent_id' oraz 'nazwiska'. Przyjęto, że ankiety mogą być anonimowe i nieanonimowe.
Jeśli ankieta nie jest anonimowa respondent wpisuje swoje nazwisko: np. nazwisko = Kowalski i w bazie pojawi się id = 2, nazwisko = Kowalski

a jeśli jest anonimowa to automatycznie powinno się pojawić, że jest to anonim. id = 0, nazwisko = anonim

jednak nie bardzo wiem, jak to wstawić...

0

Rozumiem, że masz też inną tabelę, w której rekordy chcesz powiązać z respondentem, bądź anonimowym respondentem.
Jeśli tak, to masz np. takie możliwości:

  • atrybut RESPONDENT_ID z możliwością wystąpienia NULL, klucz obcy do tabeli RESEPONDENCI
  • atrybut RESPONDENT_ID bez możliwości wystąpienia NULL (NOT NULL), klucz obcy do tabeli RESPONDENCI, ale z domyślną wartością 0 i masz 1 wpis do tabeli z RESPONDENTAMI (id=0, anonim)

W pierwszym przypadku NULLa interpretujesz jak odpowiedź udzieloną przez anonima.
W drugim przypadku RESPONDENT_ID=0 interpretujesz jak odpowiedź udzieloną przez anonima.

Dla mnie ten Twój model wygląda podejrzanie, bo daje możliwość użytkownikowi podpisania się np. 'Miś Uszatek'. Co jeśli dwóch użytkowników podpisze Ci się tak samo? Jaką wartość ma taka informacja?

0

Co? A jak ankietę wypełni dwóch anonimowych użytkowników? Rób normalnie auto incrementa od 1, nie wstawaj 0 jako id i tyle. Skoro nazwisko to anonim, to po miałbyś niby rozróżnić dwa następujące rekordy

  1. Anonim
  2. Anonim
    ?
    Moim zdaniem wszystko jest w porządku i nie ma sensu dalej kombinować. Może jeśli bardziej naswietlisz detale Twojego zadania, to może coś innego da się polecić.
0

Baza danych wygląda mniej więcej tak, zdaję sobie sprawę, że pewnie występują błędy. Chodzi mi o to, żeby anonim miał id_respondent=0.

Chce mieć np wyniki:
id_respondent = 0; id_pytanie = 1; id_ankieta = 1; wynik = "tak"

db.png

0

Przy takiej strukturze jak masz zamiar przechowywać dwa głosy Janów Nowaków z dwóch różnych kraincow polski? Albo jak przechowasz dwa anonimowe głosy. Najpierw o tym pomysł, a problem z zerowym id zniknie jak ręką odjął.

1 użytkowników online, w tym zalogowanych: 0, gości: 1