Jump to content
php.lv forumi

Darbs ar datiem datubāzē


Sasa

Recommended Posts

Sveiki,

 

Ir tagad tāda lieta, ka datus kurus noglabāšu MySQL datubāzē ņemšu no XML, pie ierakstu pirmā Insert'a jautājumu tākā nav. Bet kā labāk rīkoties pie datu atjaunošanas ņemt visu ierakstu dzēst ārā un tad ievietot no jauna, jo xml'ā man būs jau svaigākā informācija un zināt kas jau ir ievietots un kas vēl nav baigā pārbaude būs jāveido, jo vienam ierakstam pakārtojas (kā nu kuram ierakstam) vairākas tabulas.

Link to comment
Share on other sites

jā ir ID lauks, bet ir arī n daudz tabulu kas identificē ierakstu, man ir viena tabula(artikuli) kurā ir daudz ierakstu un tad daudz citu tabulu ar ierakstiem kas spētu identificēt ierakstu artikulu tabulā. Pieņemsim ir artikuls 01-R4230-16-L šis ir tākā ID pie viņa nāk vēl nosaukums, daudzums un vēl visādi parametri. Tad seko piemēram kategoriju tabula kategorijas varētu būt 'Virtuves Piederumi', 'Dārza Piederumi', 'Instrumenti Garāžai', tad vienam artikulam var būt vairākas kategorijas. Tik tāl viss skaidrs, pie pirmā ieraksta artikulam ir uzstādīta kategorijas 'Dārza Piederumi', ierakstu ierakstu iekš DB bet kas ieraksts ir izmainīts un es no XML artikulam tagad iegūstu ka šim artikulam vairs nav kategorija 'Dārza Piederumi', bet gan 'Instrumenti Garāžai', bet ir viena problēma, ka artikulam jau ir piesaistīta kategorija 'Dārza Piederumi' un tagad kad es akli skatīšos iekš XML es pievienošu plus vēl vienu kategorija un tad man būs kļūda tāda ka tagad artikulam ir divas kategorijas, bet šobrīd pareizā ir 'Instrumenti Garāžai'. Tāpēc jautājums kā glabāt, jo iekš XML es neredzu kādas kategorijas tika noņemtas es redzu tikai pēdējās aktuālākas izmaiņas.

Link to comment
Share on other sites

izskatās ka es kaut kā nepareizi izstāstīju savu domu un tiku arī nepareizi saprast, XML'ā man ir pilnīgi visa informācija par izmainīto artikulu.

 

Edit: bet aktuāls jautājums joprojām ko darīt ar kategorijām

Edited by Sasa
Link to comment
Share on other sites

  • 4 weeks later...

Tā realizēts man ir daudz, tagad testēju šādi tādi, un ir dažas neskaidrības.

 

Ja tabulas ir pilnīgi tukšas tad man visu ~ 7807 (+ katram no šiem 7807 papildu nāk ap ~ 6 ieraksti papildu, kas izmētāti pa citām tabulām) produktu ierakstīšana aizņem nedaudz vairāk par minūti.

 

Bet kad es jau aizpildītā tabulā rakstu atkārtoti iestājas Timeout's.

Process ierakstīšanai tāds, ka es pārbaudu, ja produkts eksistē tad izpildās Update metode, ja nav tad Insert.

 

Insert metodē no 'produkta objeta' tiek ņemts pa ierakstam un ierakstīts 'products' tabulā, produktam ir papildu vēl tādi ieraksti, kas attiecas uz klasifikāciju, kuri palīdz noteikt, kas tas par produktu. Produktu klasifikācijai man ir veselas 30 tabulas (nav obligāti, ka priekš viena produkta tiks izmantotas visas 30 tabulas, 30 tabulas ir tikai tāpēc ka to produktu ir ļoti daudz un dažādi), produkts var būt klasificēts tikai ar kādām 6 klasifikācijām, tad katra no klasifikācijas ierakstās kādā no 30 tabulām.

 

Update metode pārbauda vai ierakstāmais produkts eksistē datubāzē, ja ir tad atjauno products tabulas laukus, bet no 30 klasificējošām produktu tabulām dzēš produkta ID, kad klasifikācijas ir dzēstas, tās tiek ierakstītas no jauno, jo es nepārbaudu atšķirības klasifikācijās, kas ir datubāzē, un kas tiks rakstītas no jauna.

 

Datubāzes struktūra tāda, ka ir products tabula ar prudukta Id lauku varchar(20), tad nāk klāt vēl 30 tabulas kurās arī ir šāds pats lauks.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...