A computer-implemented method for accessing data stored in a database system (100, 200, 300, 400) comprising a controller (115, 217, 315, 415) configured in such a way that the data is stored with relationships between data-elements of the data, and with enforcement of integrity of the data; wherein a first data-element (101, 201, 301) and a second data-element (103, 203, 303) of the data are stored in the database system (100, 200, 300, 400) with a relationship (105, 205, 305) between the first data-element (101, 201, 301) and the second data-element (103, 203, 303); wherein the first data-element (101, 201, 301) is stored in the database system (100, 200, 300, 400) encapsulated by one or more first access-procedures (F10, F11, F12, F13) so that the first data-element (101, 201, 301) is accessible exclusively by calling the one or more first access-procedures (F10, F11, F12, F13); wherein the second data-element (103, 203, 303) is stored in the database system (100, 200, 300, 400) encapsulated by one or more second access-procedures (F20, F21, F22) so that the second data-element (103, 203, 303) is accessible exclusively by calling the one or more second access-procedures (F20, F21, F22); wherein the database system (100, 200, 300, 400) further stores access authorization data (109, 209, 309, 409) indicating, at data-element level, whether access to second data-element (103, 203, 303) is authorized to a first user identified in the database system (100, 200, 300, 400) through corresponding credentials that enable the first user to log in and operate in the database system (100, 200, 300, 400); the method being characterised by comprising: receiving (501, 601), by the controller (115, 217, 315, 415), a call (114, 214, 314, 414) by the first user to a first access-procedure of the one or more first access-procedures (F10, F11, F12, F13) for attempting to access the first data-element (101, 201, 301), said first access-procedure of the one or more first access-procedures (F10, F11, F12, F13) including a call (108, 208, 308, 408) to a second access-procedure of the one or more second access-procedures (F20, F21, F22) for attempting to access the second data-element (103, 203, 303) based on the relationship (105, 205, 305) between first (101, 201, 301) and second data-elements (103, 203, 303); performing (502, 602), by the controller (115, 217, 315, 415), the call (114, 214, 314, 414) to said first access-procedure of the one or more first access-procedures (F10, F11, F12, F13); verifying, by the controller (115, 217, 315, 415), whether the first user is authorized to access the second data-element (103, 203, 303) according to the access authorization data (109, 209, 309, 409); performing (504, 604), by the controller (115, 217, 315, 415), the call (108, 208, 308, 408) to said second access-procedure of the one or more second access-procedures (F20, F21, F22); and returning, by the controller (115, 217, 315, 415), a result of the attempt to access the second data-element (103, 203, 303), including an indicator of whether the first user is authorized to access the second data-element (103, 203, 303). receiving (501, 601), by the controller (115, 217, 315, 415), a call (114, 214, 314, 414) by the first user to a first access-procedure of the one or more first access-procedures (F10, F11, F12, F13) for attempting to access the first data-element (101, 201, 301), said first access-procedure of the one or more first access-procedures (F10, F11, F12, F13) including a call (108, 208, 308, 408) to a second access-procedure of the one or more second access-procedures (F20, F21, F22) for attempting to access the second data-element (103, 203, 303) based on the relationship (105, 205, 305) between first (101, 201, 301) and second data-elements (103, 203, 303); performing (502, 602), by the controller (115, 217, 315, 415), the call (114, 214, 314, 414) to said first access-procedure of the one or more first access-procedures (F10, F11, F12, F13); verifying, by the controller (115, 217, 315, 415), whether the first user is authorized to access the second data-element (103, 203, 303) according to the access authorization data (109, 209, 309, 409); performing (504, 604), by the controller (115, 217, 315, 415), the call (108, 208, 308, 408) to said second access-procedure of the one or more second access-procedures (F20, F21, F22); and returning, by the controller (115, 217, 315, 415), a result of the attempt to access the second data-element (103, 203, 303), including an indicator of whether the first user is authorized to access the second data-element (103, 203, 303).