Skocz do zawartości
dr.elich

Baza danych do badań naukowych - problem z dużą ilością pól wyboru.

Rekomendowane odpowiedzi

Witam,

 

potrzebuję porady odnośnie utworzenia bazy danych na cel naukowy. Dotchczas miałem do czynienia z Excelem przy bardzo prostych analizach, ale z racji rozległości materiału sięgnąłem po Access, z którym nigdy wcześniej nie pracowałem - napotkałem problem, o którym niżej....

 

 

Będzie to analiza statystyczna osób poddanych pewnej procedurze, będą oni obserwowani i oceniani w kilku stałych interwałach czasowych.

 

Tak więc bardzo z grubsza:

- Analiza na starcie: danee personalne i tego typu rzeczy, pewne inne analizowane aspekty.

- ocena po 3, 6, 12, 24 miesiącach 

-za każdym razem bedzie oceniany szerego czynników pod kątem obecności lub ich braku - i tu rozwijana lista z okienkami do "zaptaszkowania".

 

 

Opis napotkanego problemu: przy próbie dodania kolejnego pola wyboru z "odnośnikami" jak to się w Accesie nazywa wyskakuje komunikat: "Zbyt dużo indeksów dla tabeli.."

 

Czy mogę prosić o podpowiedź:

1. Jak ten problem pokonać? Pojęcie indeksowania jest mi obce.

2. Czy Excel nie byłby lepszy?

3. Może warto to zlecić profesjonaliście by zrobił to np. w formie - nie wiem - witryny internetowej dla wygody wpisywania?

 

Z mojej perspektywy - chcę w prosty sposób stworzyć bazę, gdzie będą wpisywani ludzie, pewne parametry, oraz finalnie zostanie z tego policzona statystyka, posprawdzane zależności pomiędzy pewnymi parametrami. Sam proces wpisywania (1 osoba - ja) musi mieć namiastki ergonomii - tu Formularze w Accesie wydają się OK.

Edytowane przez dr.elich

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Access do takiego celu to proszenie się o potencjalne nieoczekiwane problemy z niczego. Lepiej pozostań przy Excelu. Analiza zapewne będzie i tak przeprowadzana przy zastosowaniu innego oprogramowania, ale gdybyś jednak chciał to robić bezpośrednio w Excelu, to także da się tam zaskakująco sporo policzyć.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Osób mało (ok 50-100), parametrów dużo (200-300), z czego większość nie będzie istotna, ale chcę je mieć dla pełności danych i ew. potencjalnego wykorzystania na przyszłość.

 

Najgorsze jest to, ż zacząłem już to robć w Accesie - po eksporcie do Excela pól wyboru gdzie są predefiniowane wartośni nie ma, tzn są puste.

 

Rozumiem, że w Excelu stworzenie dla jakiegoś kryterium możliwści wyptaszkowania wymaga zrobienia tego w oddzielnej tabeli?

 

(Dla przykładu: posiadane auto: Fiat, Audi, VV, Ford, gdzie moge wstawić ptaszka przy jednym, kilku, żadnym) - jak np. w załączniku.

 

Obawiam się też, że tabela w Excelu bedzie mega rozległa w poziomie - formularze w Accesie fajnie ułatwiały wprowadzanie danych, co jest istotne gdy się uzupełnia rzeczy rozmawiając jednocześnie z człowiekiem.

post-159086-0-61205000-1378418818_thumb.png

Edytowane przez dr.elich

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Daj sobie spokój z ptaszkowaniem.

 

Masz bardzo niewielka bazę danych. Rób to po prostu jako serię zmiennych zerojedynkowych, które potem ewentualnie będzie można w miarę potrzeb i chęci przerabiać na zmienne wielokrotnego wyboru albo na inne rzeczy. Zmienne (kolumny) możesz przecież swobodnie sobie w Excelu dostawiać w razie potrzeby.

 

Ptaszkowanie to tylko wtedy jak ma to ładnie wyglądać, a nie ma być wygodne do dalszej obróbki.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Osób niewiele, ale parametrów naprawdę sporo - w formie papierowej 27 stron druku 8ką czy 10ką.

 

Mając rozwinięty każdy z aspektów w formie takej listy bardzo ułtwia mi to pracę - wiem, że niczego nie pominę. Poza tym część danych będę wprowadzał z już wypełnionych papierów wg. takiego właśnie schematu.

 

Gdybyśie mi jeszcze zdradzili o co chodzi ze "zbyt dużo indeksów..." - Indeksowane mam tylko pole ID

Edytowane przez dr.elich

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Pól takowych mam ok. 55-60. Jedyny indeks to primary key.

 

Pomoc wypluwa mi taki komunikat:

 

 

 

Przyczyną tego błędu może być jedna z następujących sytuacji:
Przekroczono maksymalną liczbę kolumn dozwolonych w tabeli albo maksymalną liczbę blokad dla jednego pliku.
Właściwość indeksowana pola została zmieniona z Tak (z duplikatami) na Tak (bez duplikatów), ponieważ w tabeli istnieją zduplikowane dane.
Wyrażenie nie zostało określone we właściwości Wyrażenie pola obliczeniowego.
Jeśli maksymalna liczba blokad pliku została przekroczona, można ją zwiększyć, edytując wpis rejestru. Nie jest to jednak zalecana opcja.
Niepoprawne używanie Edytora rejestru może spowodować poważne problemy wymagające ponownego zainstalowania systemu operacyjnego. Firma Microsoft nie może zagwarantować, że problemy wynikające z niepoprawnego używania Edytora rejestru zostaną rozwiązane. Korzystasz z Edytora rejestru na własne ryzyko.
Wykonaj kopię zapasową rejestru. Znajdź wartość rejestru MaxLocksPerFile przy użyciu Edytora rejestru systemu Windows, a następnie zwiększ ją. Wartość MaxLocksPerFile jest zapisywana w następującym kluczu:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftOffice14.0Access Connectivity EngineEnginesACE
Jeśli tabela zawiera indeksowaną właściwość pola i zduplikowane dane, przywróć poprzednie ustawienie indeksowanej właściwości lub usuń z tabeli zduplikowane rekordy.
 

Edytowane przez dr.elich

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Generalnie każde takie pole wielowartościowe do ptaszkowania, to osobna "ukryta" tabela. Access posiada ograniczenie maksymalnej liczby indeksów dla pojedynczej tabeli równą 32, przynajmniej tak jest w wersji 2010 i nie sądzę aby w wersji 2013 było inaczej. Wydawało mi się, że każde takie pole musi być tez indeksem, a zatem w sposób jaki to robisz nie powinieneś móc ich utworzyć więcej niż 31. Skoro jednak utworzyłeś ich skutecznie co najmniej 55, to najwyraźniej nie miałem racji.

 

Ponieważ jednak pomysł przechowywania tych danych w bazie Accessa uważam za ogólnie chybiony, trudno mi wykrzesać entuzjazm do wyjaśniania tego zjawiska lub też metod jego obchodzenia innych niż podział bazy na dwie tabele. Miejmy nadzieję, że znajdzie się ktoś kto będzie wiedział jak to ewentualnie inaczej osiągnąć, o ile uważasz, że ma to sens i zwykły podział na dwie tabele Cię nie urządza.

 

Edit: jest tez ograniczenie dla ilości pól w pojedynczej tabeli: 255.

Edytowane przez adashi

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Trochę zgaduję bo nie znam accessa, ale jako że działa na sql w jakiejś tam postaci - pewnie niektóre pola są boolowskie a inne to oddzielna tabela z wartościami, a na tabeli "głównej" (osób) jest klucz obcy do tamtej tabeli. I to tych jest ~30, a do każdego klucza obcego zakładany jest automatycznie indeks.

 

Może zainstaluj sobie pakiet Apache+PHP+MySQL, są takie gotowe instalatory, kiedyś jeszcze na uni coś takiego musiałem używać. W pakiecie jest też phpmyadmin, za pomocą którego w interfejsie webowym można zakładać strukturę bazy i wprowadzać dane bez potrzeby pisania kwerend. 

Pewnie nie jest to tak wygodne jak access, z drugiej strony na "prawdziwej" bazie danych nie będzie takich głupich problemów.

Edytowane przez borsuczy_król

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Ostatecznie postanowiłem podzielić tabelę na 3 - odpowiednio dla stanu wyjściowego i okresów obserwacji. Mam nadzieję, że uda się przyporządkować odpowiednio rekordy w każdej z table dla danego człowieka.

 

Może kolega borsuczy_król jako oblatany w temacie zechciały - z zachowaniem poufności danych - rzucić okiem na tabelę?

 

Co do propozycji powyżej - z Excelem miałem do czynienia, z Accesem mam styczność praktycznie pierwszy raz, na wszelakie inne kombinacje zwyczajnie nie mogę sobie czasowo pozwolić..

 

Z tymi indeksami też mi to przyszło do głowy, ale jak stwierdziłeś ilość nie pasuje.

 

Ograniczenie listy rekordów też to nie jest - inne pola mogę tworzyć.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...