Murdering SAP R/3, way second: client, moving around database scheme
This article proposes other possible decision of problems, formulated
previous work. We recall, that speach goes about murder of not only SAP R/3, but about refusal to customize and fix any clumsy foreign product. In this paper, author proposes fast way to fill database for this refusal, and is interested in opinion, comments and possible implementation of this proposals from the Ingres community. Idea consists of:
- only one table is presented on screen of client in each moment of time
[1]
- screen of program displays other table at click on field, referring to other table. We shall name it as
relay-race transition
[2]
- table in client is supplemented by virtual fields (not existing in database table), click on which "moves" client to table, referring to this table (thus client is forced to load database scheme from its system tables to know, what tables refer to this table). We shall name it as
set's transition
[3]
It is possible to edit record in client, to add new record, to remove
[4]. And pressing
botton "Choice" on some record after relay-race transition returns to displaing previous table and copying primary key of chosen record into referring field of previous record. Such transition allows
do without programmer in general - user simply travels on database, in which nothing is programmed
[5]. For convenience of user:
- only one record, which was refered, is displayed just after relay-race transition. Pressing
button "All" in menu of program-client displays all records of table, in which this record is, beginning this record (it is possible to make scrolling upwards, having looked what records are up to this record)
- only refering records are displayed just after set's transition. Pressing
button "All" in menu of program-client displays all records of table, in which there records are, and these records will be emphasized by color
Table can be displayed by one of three ways: with substituting value from other table instead of referring field into
body or into
header of table, and at presence of reference from table to itself - with demonstrating table as
table or as
tree
[6].
Whole
period of work of program-client is one long transaction. At exit from program, it will ask to commit or to rollback changes, made during its work. Besides this,
each screen of program is savepoint of DBMS: pressing
button "Back", user not only comes back to previous screen, but also rollback all changes, made in last screen
[7]. Also for his convenience, it is desirable for program-client:
- to journalize all actions, made by user on screen - and to have
button "Next" to execute them, if user has rollbacked transaction by button "Back"
- to have
button "Commit", commiting transaction in DBMS
P.S.
Invisibility of some records for operator SELECT is reached by introduction of integer field of
special datatype into table, and by specifing
number of access rights in it for this user. Invisibility of some columns of table for operator SELECT is reached by expression like "REVOKE select ON TABLE tab/@fld TO username".
All proposals are public domain.
[1] Table is displayed with scrolling, column of primary key is not shown. Table, displayed just after loading of program-client, is specified in configuration file of DBMS
[2] Term obtains own origin from slide #20 of
presentation
[3] Term obtains own origin from slide #19 of
presentation
[4] Thus program-client should have buttons "Add" and "Del" in own menu
[5] Field of view A refers to the same column of certain table C, to which field of table B, entered into view, refers
[6] Way to display is specified for each table in configuration file of DBMS. In addition, field, which should be used to construct tree, is specified for each table, having of several references to itself and due to be presented as tree
[7] Program-client puts savepoints in DBMS at transition to each next screen. Button "Choice" does not rollback transaction, even changes have been made on new screen - at once or after pressing button "All"
Dmitry Turin
Используются технологии
uCoz