Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pomocy w zbudowaniu struktury bazy danych.
Forum PHP.pl > Forum > Bazy danych
bury
Witam, potrzebuje pomocy.
Założenia są takie żeby zbudować program, który będzie umożliwiał użytkownikowi przechodząc krok po kroku po objawach dojść do najbardziej prawdopodobnej usterki lub do grupy takich usterek.
Problem jakiego nie potrafię rozwiązać to w jaki sposób stworzyć strukturę bazy danych, tak żeby to wszystko zatrybiło. Na pewno muszą istnieć dwie tabele "objawy" i "usterki" jednak nie wiem jakie pola powinny one posiadać, żeby możliwe było przez właściwe zapytanie dojść krok po kroku do rezultatu. W uproszczeniu ma to wyglądać tak: Mamy na początku do wyboru Grupy (silnik, zawieszenie, itp.) wybierają jedną z nich przechodzimy do przykładowych kilku objawów dla danej grupy (początkowych). Następnie wybieramy kolejno następne objawy. Trudno określić ile będzie kolejno po sobie objawów zanim dojdziemy do rezultatu. Zależy to od tego jak wiele informacji będziemy potrzebowali żeby rezultatem byłą tylko jedna usterka, jednak nie zawsze się to uda osiągnąć.
Cienki1980
Proponowałbym trzy tabele.
Objawy z polami:
id
id_obj_nad
opis

Usterki z polami
id
id_ust_nad
opis

i połaczenie tych tabel:
objawy_usterki z polami
id_objawu
id_usterki

W ten sposob zrobisz strukture drzewiasta dla usterek i objawów, a w tabeli łączącej będziesz mógł dla każdego objawu wpisać kilka usterek lub tylko jedną

Pola id_obj_nad i id_ust_nad wskazują na "wyższy" poziom objawu/usterki.
babejsza
Chyba jednak nie bardzo ... Twoje rozwiązanie wymusza jakąs konkretną ilość pętli dla sprawdzania czy istnieje następny poziom, a co za tym idzie ogranicza ich ilość. Dodatkowo jest to rozwiązanie mało optymalne ze względu na bardzo dużą ilość zapytań do bazy.

Powinieneś zainteresować się tym artykułem http://artykuly.zyxist.com/czytaj.php/drzewa_w_php_i_mysql . Z tymże nie zda on się na wiele jeżeli jeden typ objawu będzie mógł przynależeć do wielu innych.

Ogólnie będziesz musiał mocno pokombinować, bo sprawa nie jest prosta.
Cienki1980
Czy ja wiem czy wymusza zbyt dużo zapytań questionmark.gif
Ja w ten sposób robiłem najróżniejsze galerie, menu wielopoziome i zawsze wszystko sprawnie chodziło.

Co do ilości pętli, wcale nie musze wykonać konkretnej ilości. Ilość poziomów zagłębień jest dowolna i bez problemu można to oprogramować.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.