Witam,
muszę zrobić rejestr umów, do którego wielu użytkowników będzie następnie miało dostęp, będą mogli dopisywać umowy do swoich działów np. kadry, ale nie będą mogli ich usuwać. Czy można coś takiego zrealizować w Base? Czy lepszy byłby dostęp do bazy w mysql czy też do bazy plikowej umieszczonej na zasobie sieciowym?
Czy jest możliwość, aby np. pracownicy danego wydziału mogli edytować tylko swoje wpisy?
Rejestr w Base z uprawnieniami użytkownika
Rejestr w Base z uprawnieniami użytkownika
Libre Office 6.2 na Windows 10
Re: Rejestr w Base z uprawnieniami użytkownika
Base domyślnie korzysta z wbudowanego silnika HSQL DB w wersji 1.8; mocno przestarzałego, ale obsługującego role i przywileje.
Patrz http://www.hsqldb.org/doc/1.8/guide/gui ... nt-section
W LibreOffice istnieje też standardowy moduł do budowania osadzonych baz danych pod nadzorem Firebirda. Tam też role i transakcje są możliwe.
Tak że ograniczenia dot. uprawnień są możliwe, ale mogą wymagać budowy schematu bazy za pomocą kodu SQL.
Standard SQL przewiduje GRANT i REVOKE w odniesieniu do encji. tj. obiektów nazwanych, jak tabele, perspektywy. Wymaganie, by `pracownik mógł redagować tylko swoje wpisy` zdaje się odnosić do krotek będących w jednej tabeli. Do tego wg mojej wiedzy standardowy mechanizm uprawnień nie wystarczy; potrzebne byłyby wyzwalacze (triggers). Obie wymienione bazy obsługują wyzwalacze, choć przygotowuje się je w zupełnie inny sposób. Inne możliwość, nie do końca bezpieczna, to kontrola dostępu nie tyle z poziomu samej bazy, co korzystającej z niej aplikacji.
Z punktu widzenia przenośności radziłbym użyć poważnej, zewnętrznej bazy, w możliwie wysokim stopniu opartej na standardach. Np Postgresql, MySQL/MariaDB, Firebird też dość dobrze.
Patrz http://www.hsqldb.org/doc/1.8/guide/gui ... nt-section
W LibreOffice istnieje też standardowy moduł do budowania osadzonych baz danych pod nadzorem Firebirda. Tam też role i transakcje są możliwe.
Tak że ograniczenia dot. uprawnień są możliwe, ale mogą wymagać budowy schematu bazy za pomocą kodu SQL.
Standard SQL przewiduje GRANT i REVOKE w odniesieniu do encji. tj. obiektów nazwanych, jak tabele, perspektywy. Wymaganie, by `pracownik mógł redagować tylko swoje wpisy` zdaje się odnosić do krotek będących w jednej tabeli. Do tego wg mojej wiedzy standardowy mechanizm uprawnień nie wystarczy; potrzebne byłyby wyzwalacze (triggers). Obie wymienione bazy obsługują wyzwalacze, choć przygotowuje się je w zupełnie inny sposób. Inne możliwość, nie do końca bezpieczna, to kontrola dostępu nie tyle z poziomu samej bazy, co korzystającej z niej aplikacji.
Z punktu widzenia przenośności radziłbym użyć poważnej, zewnętrznej bazy, w możliwie wysokim stopniu opartej na standardach. Np Postgresql, MySQL/MariaDB, Firebird też dość dobrze.
JJ
LO (24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)