Alnis Posted June 18, 2008 Report Share Posted June 18, 2008 Vēlos uztasīt datubāzi, kurā lietotāji caur webu varētu labot datus, ievadīt jaunus, dzēst vai tikai skatīties. Jautājums ir vairāk saistīts, kā organizēt datu piekļuves tiesības Piemēram ir viena tabula ar lietotājiem tb_lietotaji: Id| name 1| juris 2| saša ir otra tabula ar tiesību veidiem- tb_tiesibas: id|name 1| skatīties 2| rediģēt 3| veidot jaunu ir trešā tabula, teiksim, tb_preces id| preces name 1| spainis 2| alus 3| skaidas tad ir ceturtā tabula – tiesības_tb id| table_name |user_id| tiesibas_id 1| tb_preces | 1| 1 2| tb_preces | 1| 2 3| tb_preces | 1| 2 4| tb_preces | 2| 1 tātād juris tabulā “tb_tiesības” varēs veikt pilnīgi visu, bet saša tikai skatīties? Caur admin paneli, adminam būs tiesības ir pa laikam teiksmim jurim nonemt rediģēšanas tiesības, bet sašam iedot utt. Tagad tauta padalās ar advancētākiem risinājumiem, jo tādu tabulu kā tb_preces man būs daudz. Link to comment Share on other sites More sharing options...
andrisp Posted June 18, 2008 Report Share Posted June 18, 2008 Nesapratu, kur īsti ir problēma. Link to comment Share on other sites More sharing options...
Delfins Posted June 18, 2008 Report Share Posted June 18, 2008 (edited) Advancētāks ir vēl - sadalīt pa laukiem + izpildīt konkrētu f-ju formā (pavisam cits mappings) Jo bieži vajag - labot, bet ne visu - tikai daļu lauku. Veikt konkrētu f-ju (apstiprināt, izrakstīt rēķinu, bet ne dzēst un pievienot). Formas nesastāv tikai no laukiem :) Tiesības iedalīt grupas... vēlāk grupām pielikt jūzerus un kešot mappingu. SysSecurableObjects: {ObjectId, Name, Description, Type[Form,Table,Field,Action]} SysUserGroupSecurity: {ObjectId,UserGroupId,Access [int]} // attiecīgam objekta tipa būs savs kombo/radio selekti SysUserSecurity: {UserId, ObjectId, Access} // kešotā tabula - updeitojās pie grupas pielikšanas lietotājam vai gruaps tiesību maiņas SysSecurableObjects {1, ManaForma, "bla bla bla super forma", Form} SysUserGroupSecurity {1, 1, 1} // 0 - no access, 1 - view, 2 - edit (0/1/2 der fieldiem un formām); tabulām - view/edit/add/delete; actioniem - jā/nē(izpildīt) Edited June 18, 2008 by Delfins Link to comment Share on other sites More sharing options...
Alnis Posted June 18, 2008 Author Report Share Posted June 18, 2008 Advancētāks ir vēl - sadalīt pa laukiem + izpildīt konkrētu f-ju formā (pavisam cits mappings)Jo bieži vajag - labot, bet ne visu - tikai daļu lauku. Veikt konkrētu f-ju (apstiprināt, izrakstīt rēķinu, bet ne dzēst un pievienot). Formas nesastāv tikai no laukiem :) tipa tabula id| tabula_name| tabula_colon_name| user_id| tiesiba_id ? kas ir mappings? Link to comment Share on other sites More sharing options...
Delfins Posted June 18, 2008 Report Share Posted June 18, 2008 kas ir mappings? `advancētais relation` ;) [pēc semantikas/biznesloģikas] Link to comment Share on other sites More sharing options...
Alnis Posted June 18, 2008 Author Report Share Posted June 18, 2008 SysSecurableObjects: {ObjectId, Name, Description, Type[Form,Table,Field,Action]} vot šito es nesapratu, kur man lv.php.net jāskatās/jāmeklē par šo lietu? tā tak nav paša veidota f-ja kad kols starp nosaukumu un { ? Link to comment Share on other sites More sharing options...
Delfins Posted June 18, 2008 Report Share Posted June 18, 2008 Vēl iekš SysSecurableObjects var pielikt lauku `ParentObjectId`, kas norādītu inheritanci - tabulām, lai varētu atselektēt visus fieldus vienā reizē un salikt masīvā - formām, lai būtu konkrētam action-am konkrētajā formā (jo poga `Delete` būs vairākos :)) PS: minētā shēma man ir uztaisīta un darbojās nevainojama. Tev atliek uzrakst'ti mazu Form-ģenerētāju, lai katru reizi nerakstītu permisiju kodu ;) Link to comment Share on other sites More sharing options...
Delfins Posted June 18, 2008 Report Share Posted June 18, 2008 vot šito es nesapratu doh.. tā ir tābulas definīcija :D bet var būt arī masīvs/objekts... Link to comment Share on other sites More sharing options...
Delfins Posted June 18, 2008 Report Share Posted June 18, 2008 http://php.lv/f/index.php?s=&showtopic...ost&p=68725 Link to comment Share on other sites More sharing options...
Alnis Posted June 19, 2008 Author Report Share Posted June 19, 2008 doh.. tā ir tābulas definīcija :D bet var būt arī masīvs/objekts... tabulas definīcija? tas ir kautkas no OOP? sorry par stulbiem jautājumiem, bet pilnīgi acīs cērtās gribot uzzināt kaut ko sīkāk :) Link to comment Share on other sites More sharing options...
bubu Posted June 19, 2008 Report Share Posted June 19, 2008 Nav nekas no OOP. MySQL pamati. http://dev.mysql.com/doc/refman/5.1/en/create-table.html Link to comment Share on other sites More sharing options...
Alnis Posted June 20, 2008 Author Report Share Posted June 20, 2008 ok, pamati, ja kāds būtu uzreiz pateicis, ka tās ir tabulas ar kolonnu nosaukumiem, tad būtu sapratis :) Link to comment Share on other sites More sharing options...
Recommended Posts