Home

PDF documentation

image

Contents

1. d SqlReferenceList ComboBox Eigenschaftenfenster Hier des Fux ausgew hlten Textwidget label Name show textwidth 20 2i p Widget Type Pammlung Ein neusr Objekt wird durch das Zeihen Hes Objekt Zeiger ndert sich auf eine Zielscheibe kreirt o Anwenden Abbruch FokmLink gt MatrNr lt manager pack side left anchor eenter fill none expand 0 pos 0 b Ablage Sie kann mehrere Objekte Status Zeile mit Informationen ber beinhalten Bewegen auch durch Drag amp Drop i i Link Packer Figure 2 2 GUI Editor The Properties of the elements are slitted to three types The Properties which belong to GUI object such length width visual appear ance Linkage with tables column Default value and not null Information to placement of the element Chapter 2 User manual The placement of the elements is not indicated definitely with coordinates how ever under use by Geometry manager Most standards Widget are displayed like they are WYSIWYG The other special Widget like Nested Form form link SQL Reference are indicated with editor GUI by the representatives Their size does not correspond to the reality caution with the NestedForm If one wants to see the real appearance of the forms one must use FormServer the DB connection is not neces sary for such purposes Drag and Drop in FormEditor The GUL Editor is slitted in 3 area Widget set Workbench with you
2. The main disadvantage the DTD Document Type Defintion is no context systex can be covered With DTD can not be guaranteed a well shaped Repository also a valid relational schema represents The newer developments like XML schema allow a more exact definition of the document types and overcoming such disadvantages Another direction for the advancement of the system would be the support of other abstractions and semantics in SchemaEditor and afterwords with the form server Two cases are conceivable here 1 the system an interface offers for the addition functions the DBMS like versioning new data types DB rule Trigger 2 The system implements even new functional characters like versioning Authentiefizierung in tegrity rule cascading delete For the conceptual model the support of other abstrac tions would be possible derived attributes derived relations dependent relations e g an assistant can only in the project participant if he the special qualifications has representation and manipulation of the tree structures which are filed as tables Supported Databases e mysql postgres sqlite MS SOL Jet MS Access Format durch ODBC e MS SQL Server durch ODBC general ODBC Oracle Xdobry use XOSQL Adapter WWW Links for developers Notes 1 TCL Tk Home entry link for Tel 2 XOTcl Object oriented Tel 3 Tb Tix Widget library 4 Tclodbc ODBC interface 5 Mysqltcl mysql interface 6 tDom
3. Order Details Oracle Order_Details For create Schema on specific data base use menu Schema Operations on Schema Create DB from Schema By the menu Schema Operations on schema Show SOL definition for schema can you Create sql for the specific data base product This SOL can be supplemented by data base specific procedures that Xdobry does not support The in such a way adapted SOL must be up played with data base own tools Data base schema modifing If you want to change the data base already existing you must first create Xdobry representation of schema Use for it the menu Schema New from DB They must specify then the data base connection The changes on that schema are transferred not immediately to the data base By the menu Schema Schema operations Apply Schema changes to DB the change on the data base are applied By the menu Schema Schema operations Show schema changes can you the see the corresponding DDL SQL statments Tip This SQL Statments can be used to update many database synchron development Integration production If the Xdobry XML schema already exist load it first SchemaEditor offers by loading XML Schema automatically to connect source database If another connection is de sired or the schema was not developed from a data base you can connect database with Schema Connect with data base In the case that schema of the data base is not consistently with that is schema of Xdobry e g
4. 22 Specialization inheritance 4 angestelite y 7 Formular PersNr 2 E Name Wajda Professor Assistent Ts Raum i30 pruefen ProfessorAssistent ProfessorVorlesung Spezialisierung Dargestellt als Notebook widget Figure 2 9 Generalization in ER model The specialization forms children s forms are embedded in a notebook Widget of the parents Form Aggregation U Vortesung een Eormular VorlesungNr 3 m Titel Mathematik Darstellung der Fremdschl ssel mit Hilfe von Etiketten Formular Links hoeren pruefen Navigation Nachfolger Vorgaenger Termin Wochentag Freitag 3 Zeit 16 15 m i asa 99 Funktionsleiste 5 venis 6 2 95 8 5 x 0 2 10 4 des Formulars eingebetetes Formular Chapter 2 User manual Termin i Vorlesung Figure 2 10 Aggregation in ER model Aggregation functions as embedded forms besides foreign keys are used as a link age paths unnoticed from the used Missing functionality be Xdobry I also want to name the possible tarps and pitfalls with the use of the the program debug viewonly With the Aggregation Subtypes and foreign key only one attribute primary key per object are supported An object is identified only by one attribute With empty tables the insertion of the first Tuples is possible only with the com mand buttons save diskettes icon The data in a form are se
5. DOM implementation 7 Mysql free realtional database 8 Postgresql another free RDBMS http www mozilla org xpfe http glade pn org http www tcl tk http www xotcl org HS OX 9e rl 31 Chapter 4 Developer information 32 http www sourceforge projects tix http www sourceforge projects tclodbc http www xdobry de mysgltcl http www tdom org e EOS cun http www mysql com 10 http www postgresql org Chapter 5 Productive use License Of this software is defeated by the license GPL The exact wording of the license GPL in English is in the main catalog in LICENSE Very briefly it is a free software On this software no guarantee is given It is after German law a present gift Meaningful using of application This software is still in development However this does not mean that it is not us able Xdobry lacks some important functionality for manage sensible data transac tions locking complex validation It can be good used for ad hoc application and prototyping Advantages to opposite existing systems There are many similar systems which excel this with the functional character largely nevertheless it is to be enumerated worth a few peculiarities of the software which distinguish the software 1 It is very small 2 Existing components with computer language Tcl were already stuck together 3 Source text is accessible 4 Development with Tcl and
6. XOTcl is 10 times faster than with JAVA according to SUN It can easily be extended around special features O OI It uses consistently XML format However the main advantage is anew way of developing the DB forms The tables themselves do not place the basis for the forms but special the conceptual model The conceptual model is won by reverse engineering from databases schema Data Dictionary The forms have so better quality and do not need of agile adaptations as with conventional systems The foreign keys are represented as listsboxes The inheritance is supported directly Embedded forms are possible The developing and use of forms was separated It is always almost done by different people Thereby it use very few resources More of it in the underlying dissertation Contact with author Homepage http www xdobry de Email lt mail xdobry de gt Notes 1 http www xdobry de 2 mailto mail xdobry de 33 Chapter 5 Productive use 34 Chapter 6 Support The program is free and it is a gift If you problem with it inform me I promise no guarantee 100per cent of the answer however on every bugs report I will be glad This allows to improve the program First they visit the homepage of the program perhaps the mistake is known ready and is repaired in new version Formulate the mistake description in this way so I can reproduce the bug They Copy the mistake message you can also send their her databases stru
7. form are chained user macros in form There are simple API to extend the form server with user procedures macros The FormServer is implemented in Tel and it allow very ease to dynamic change of program code The macros are loaded as Tel scripts and they become a part of FormServer The are some simply designed API to control some main function of program You can change the behavior of some form like delete checking update checking The 19 Chapter 2 User manual idea you create new XOTcl class derived from FormEngine class and you overwrite some empty methods This are empty macros for myform form Class myform superclass FormEngine myform instproc update_check klvalues_ref return 1 myform instproc delete_check return 1 myform instproc insert_check klvalues_ref return 1 myform instproc after_delete myform instproc reload_form myform instproc position_check pos return 1 FormEngine instproc filling_form klvalues_ref See the example accountancy how to write your macros The are such er schema customer product Lan The macros are used to build following functionality A Customer Klient can be not deleted if he has order he has not paid By deleting customer set all foreign keys by cust_order table to NULL The macro compute a derivated attribute total price for oder and sum price for oder item Check if the date format is 2000 01 01 see th
8. frame Figure 2 4 Positioning in Pack Frame schematic Figure 2 4 show an example of Pack Geometry Manager composition The are a part of Tk pack manual For each master the packer maintains an ordered list of slaves called the packing list The in after and before configuration options are used to specify the master for each slave and the slave s position in the packing list If none of these options is given for a slave then the slave is added to the end of the packing list for its parent The packer arranges the slaves for a master by scanning the packing list in order At the time it processes each slave a rectangular area within the master is still unallocated This area is called the cavity for the first slave it is the entire area of the master For each slave the packer carries out the following steps 1 The packer allocates a rectangular parcel for the slave along the side of the cav ity given by the slave s side option If the side is top or bottom then the width of the parcel is the width of the cavity and its height is the requested height of the slave plus the ipady and pady options For the left or right side the height of the parcel is the height of the cavity and the width is the requested width of the slave plus the ipadx and padx options The parcel may be enlarged further because of the expand option see EXPANSION below 2 The packer chooses the dimensions of the slave The width will normally b
9. simple too few information for creating good forms With Xdobry the production of the forms are made in three steps 1 Exact specification the DB schema on the step of the conceptual model use of reverse engineering technology User DB administrator 2 Automatic production of the forms Adaptation of the appearance in the GUI editor User DB application developer 3 Use of the DB forms for the treatment of the data End user In this way man can produce quickly and hight quality DB form The forms are in this system more a representation of objects then tables Chapter 1 Xdobry Specification 1 The relationship among the objects are used to build a link navigation for browsing the data domain The form can be used like hypertext documents hyper forms One can discover the objects association relationship without the knowledge about data structure 2 The forms support hight level abstraction as aggregation or heritage This is performed as nested forms 3 The complex modeling concepts like foreign keys are hidden from user The system handles the user friendly display of foreign keys and check the integrity For every step a separated program is responsible which was developed for other target user group 1 SchemaEditor 2 FormEditor form generator and GUI Drag and drop editor 3 FormServer Xdobry It was developed as a part of a dissertation It is still extended and modified Target user group Xdobry is a high s
10. standard SQL3 1 Array attributes 2 Tuple can be identified by OID Objectidentifier 3 Versioning 4 databases rule 2 interesting projects also exist to the description of the GUI interface as XML documents One comes of it as a by product of the development of Open Source Netscape Mozilla It is XPToolkit http www mozilla org xpfe the user s interface can independent of platform as XML documents user s interface XUL XMI Language Another project comes with the editor for the development of GUIs GLADEhttp glade pn org It is a part of the GNOME project free desktop Enivronment for LINUX The idea with both projects is that the appearance of the GUI is not party coded in the program but is always present as a XML document This could allow a better and flexible configuring of the interface by the used without must to recompile the program Both projects are all the more valuable that the complete source are free and can be applied the available components also with foreign projects The development of FormEditor and FormServer could profit from it There also exist other interesting colleges of technology which are connected with XML standard By the Extensible Stylesheet Language XSL the transformation can be automated by XML documents in other XML classes or other formats So one could realize transformation of the Repository in specific SOL instructions the type CREATE TABLE easily Chapter 4 Developer information
11. the schema of the data base reworked on with other tools you can with the function Schema Operations on schema Synchronize schema with data base synchronize XML repository with data base schema Afterwords the schema can being adapted like accustomed Important One cannot record the changes to schema between into several meetings So the changes on the data base must be up played so that you are not lost through terminating the meeting Schema editor does not possess a function for synchronizing that data base schema to Xdobry Schema 11 Chapter 2 User manual SchemaEditor and data migrate Schema editor possesses various possibilities to migrate the schema and the data be tween different data base system Schema editor can keep at the same time 2 data base connections open and transport sentence by sentence the data from data base another The range of the data too migrated can be adapted Both tables can be ex cluded or also individual columns from the migration Accomplish the migration 1 Schema from the source data bank produce The connection with source data bank must be present 2 The tables or columns which are not to be migrated are to be removed from that schema you are not actually deleted in source data bank 3 The migration start by menu Schema Migration gt Migrate to data base 4 Arise during the migration errors These are indicated The migration can be broken off or continued in this ca
12. 1 von 9 ka el gt Hl gpruefen and pruefen Student 2 Professor Vorlesung _ Vortesung linked Student via pruefen 00 Formular N M VorlesungNr Titel Eugenik E N 1 u prueten linked Student te e 69 SWS 4 Eormular hoeren pruefen Note sehr gut amp NachfolgerNr VorgaengerNr Professor Double Click Professor PersNr Name o Mickiewiez _ o Mickiewicz Vorlesung Termin VorlesungNr Titel Wochentag Freitag 4l a Zeit e 00 nz e 9 0 0 x 0 te o select from preufen where Student 2 von te e ej ej a 5 el e p vonz e 2 a 2 2 913 select from preufen Vorlesung where preufen VorlesungNr Vorlesung VorlesungNr and pruefen Student 2 Figure 2 7 navigate browse with forms links Figure 2 7 shows all form links types they correspond to Relationship Types from Er model 1 N The Association is displayed as choose list This is exactly the same as foreign keys attributes You can trigger the link by double click on the reference list title Ni The Association is displayed as action button This is just another site of 1 N relationship N N oder N M 0 The Association is displayed as menu button This is just another site of 1 N relationship The first menu item is an N 1 Relationship and it link to the relationship table The next item links to objects After open the linking form the linking are conserved This mean the
13. Aggregation These reverse engineering technology is based on the step foreign key search Suggest the Aggregation composition of the tables Embedded tables The al gorithm shows only the suggestions the Aggregation semantics can be deter mined only by used Suggestions 1 All tables only a foreign key have It can exist still farther Aggregation If they check 1 n associations Chapter 2 User manual Define abstractions Three sorts can be defined by abstractions of the conceptual databases modeling as sociation Aggregation composition specialization subtypes The definition takes place gradually with the help of assistants Association Aggregation Is the most difficult to define It corresponds to the Relationship of the ER model It are placed the following questions Is the association recursive There are relations Relationship between the ob jects of the same type Is there a table with references If the association with help had to be illus trated by additional tables what is relations always the case with the N M or how with 1 N relations there is only a reference in one of the table Degree of the Relationship with the N M it is 2 with the N M O it is 3 Rolle names not obligatorily Existence dependence Do not become till present farther supported however can be defined here For the n m relationship must become clear which objects tables participate in the relationship and which table cont
14. Documentation of the Xdobry application Artur Trzewik Documentation of the Xdobry application by Artur Trzewik This documentation is computer translated from German language I need your help to correct this docs Xdobry is anew approach database form generator for relational databases The forms are gen erated not from relational schema by reading data dictionary but from conceptional schema made by using reverse engineering The forms supports rich semantic abstraction association relationship as Form Link aggregation as nested Forms and object inheritance as Tab Widget and foreign keys as multi columns lists Therefore form are not another representation of ta bles but object at higher abstractions level There are three programs SchemaEditor for making a conceptional schema FormEditor GUI Drag and Drop Editor for DB Form and FormServer The System is programmed in Tcl Language with extension Tk Tix XOTcl tDOM used XML as Format for describing Form GUI and DB Schema Repository Table of Contents 1 Xdobry Specification ersesssesnsnensnssnsnsnsnsnennnnsnsnensnennsnsnsnssenennsnsnenssennsnsnsnsssssnnsnsnsnssennsnen 1 Principal purpose of the program sss nene 1 Features and Benefits 2 202 aaa io celi eee Tere tes Dee oes 1 Char acteristics u eroi E RN Eee E 1 Target ser groupdcsen se ei endete rne OR ee n Te eee P er e bakes 2 T chnical data eI temet UNE Eee eren 2 Versi n Changes Log ence tee e
15. MatrNr 2 Name Preisner Semester 2 E Browsing Database with forms With Form Links you can brows the database like hypertext documents to 4 0 Professor Figure 2 6 Association der Kardinalit t 3 mit einem Attribut Consider following association Figure 2 6 There are three objects Student Vorlesung eng lesson Professor in the relationship Pr fung eng exam The result tables structure Professor PersNr Rang Raum Student MatrNr Name Semester Vorlesung VorlesungNr Titel SWS PersNr pruefen MatrNr VorlesungNr PersNr Note With form links man can brows or navigate throw Database Information From Stu dent form you can reach per one click the information which exams he must do The Problem Association has reacher semantic the hyper links The Association is transitive Hyper Links are only one way references The association can have more then 2 object the degree of association can be greater than 2 One object can be associated with more than one another objects Chapter 2 User manual Professor linked Student v a prueten 9 e 69 Formular LSS student LI El PersNr 0 amp Formular RangER MatrNr 2 al z N P pruefen ProfessorAssistent ProfessorVorlesung ame rreisner 1 von2 k e gt sl 2 8 Q fz o E f mzeee E Irene select from preufen Professor pruefen where preufen PersNr Professor persNr
16. ains the references An association is understood as container collection with references to objects The collection can be modeled either as a separated table with references or as a reference in an object 1 n Around an association become to model two new edeg types added Assozitaioncontainer With references and Assoziationtarget With objects An association container and at least two Assoziatontargets be longs to every association relationship The associations association container possesses an unambiguous name In this way can also be modeled complex as sociation such as recursive 1 n and n m relations and relations the higher Gran ularity n m s r Correspondence in ER modelFigure 2 8 Here it is about the possibly modeling of nested tables They are shown as em bedded nested forms from FormServer One must specify the container table which element table and reference foreign key in the element table which points at primary key in container table Correspondence in ER modelFigure 2 10 Subtypes inclusion dependency Also known as inheritance or generalization There is always a father object and a child object which are modeled in two tables primary key heritage One must also give the inherited primary key Correspondence in ER model Figure 2 9 DB Schema create and modify Xdobry can be used for modellung data base schema Tables and columns can be cre ated modified and deleted Xdobry does not work directly Dictionar
17. ar 50 Varchar 50 Varchar 50 set set Varchar 50 Varchar 50 Varchar 50 Varchar 50 Chapter 2 User manual Xdobry Mysql MS Access MS SQL Postgres Oracle varchar varchar TEXT n ALPHANU MERIC CHARAC TER STRING VARCHAR CHARAC TER VARYING NCHAR NATIONAL CHARAC TER NATIONAL CHAR NATIONAL CHARAC TER VARYING NATIONAL CHAR VARYING varchar text varchar2 char char char char char char longblob Longblob medium blob tinyblob IMAGE LONGBI NARY GENERAL OLEOBJECT BINARY image bytea blob Table 2 2 autoincrement rows Database Kind MS Acces Typ Counter MS SOL Indent 1 1 mysgl autoincrement Postgres Sequencer Oracle Sequencer Sqlite Not supported Xdobry can also create autoincrement rows or sequencer Table 2 3 Autoincrement Spalten Database Typ MS Acces Typ Counter MS SQL Indent 1 1 mysql autoincrement Postgres Sequencer 10 Chapter 2 User manual Database Typ Oracle Sequencer Sqlite Not supported MS database can with maksing create tables with space This would by converted to _ Table 2 4 Leerstelle in Tabellennamen Datenbank Tabellenname MS Access Order Details MS SQL Order Details mysql Order_Details ostgres Order_Details Sqlite
18. bc for MS Access Windows only tclodbc for MS SQL Server Windows only 37 Chapter 7 Installation from Source code 38
19. cture as a SOL Dump if the data are not confidentially A ER diagram or specification of the data would be also meaningful Support only by email 35 Chapter 6 Support 36 Chapter 7 Installation from Source code Starkit packaged allows so called copy installation Just copy one file no another requirements Xdobry System consists only Tcl scripts and therefore no compile are necessary How ever it uses many Tcl extension libraries which were programmed in C or C There are Tk Tix which belong to Linux distribution and should be already installed on your computer Windows users can use free Tcl distribution from Active State Tcl Other Tel extensions must be installed separately 1 XOTel object oriented extension for Tcl successor of OTcl and competitor of ITel 2 TDom 0 5a2 is a DOM Document Object model interface for treatment of XML documents 3 Mysgltcl is a Tcl interface to MySql databases 4 Pgtcl is a Icl interface to Postgersqll databases Belongs also to the newest RedHat distribution greater 6 2 The installation of above extensions can be problematically because it demands some experience with compile programs Xdobry analysis by starting with Tel interfaces are available For checking this Tel command package require will be used following packages will be search for e mysqltcl for mysql sqlite for Sqlite Pgtcl for Postgres e ORATEl for Oracle tclodbc for ODBC tclod
20. d Frame The cells A2 B2 B3 C1 C3 are occupied By drop ping in the free cell this cell will be used for placement If you target one occupied cell one row or column will be added See Example If you target on cell B2 area d one row above the cell will be added The another grid option as sticky or rowspan can be edited by widget propries dia log FormServer It is a program with which the real end user of the databases has to do This program can evaluate the form descriptions which come from form editor display the forms and connect to database This program must give a receipt for the manipulations on the forms correctly in in the instructions SQL to the databases Following functions are supported Data View Data modifying update Data create 17 Chapter 2 User manual 18 e filter or search Data order sort Data new feature data navigating Browsing By the form links a navigation is also possible by data contents along the linkage paths relationship path The user can navigate like in hypertext documents and reach every information The user must not know the schema to work with Form Server The forms themselves support directly higher abstraction concepts like association Aggregation and specialization The knowledge about the concepts of the relational modeling like foreign key and primary key must not exist by user Em Student E d ktualisieren wieder Laden Formular zi
21. e the slave s requested width plus twice its ipadx option and the height will normally be the slave s requested height plus twice its ipady option However if the fill option is x or both then the width of the slave is expanded to fill the Chapter 2 User manual width of the parcel minus twice the padx option If the fill option is y or both then the height of the slave is expanded to fill the width of the parcel minus twice the pady option 3 The packer positions the slave over its parcel If the slave is smaller than the parcel then the anchor option determines where in the parcel the slave will be placed If padx or pady is non zero then the given amount of external padding will always be left between the slave and the edges of the parcel Once a given slave has been packed the area of its parcel is subtracted from the cavity leaving a smaller rectangular cavity for the next slave If a slave doesn t use all of its parcel the unused space in the parcel will not be used by subsequent slaves If the cavity should become too small to meet the needs of a slave then the slave will be given whatever space is left in the cavity If the cavity shrinks to zero size then all remaining slaves on the packing list will be unmapped from the screen until the master window becomes large enough to hold them again working with Grid Frame The row and column are computed dynamic Figure 2 5 Grid Frame Figure 2 5 show one Gri
22. e file sample accountancy tcl how to buid such macros for example how to buil sql queries in Xdobry Schema vs Form appearances 20 The system was developed after the motto the appearance of the forms should cor respond to data semantics Here the examples how the drafts of the modelling have their her influence on the structure of the forms The Screen shoots comes all from the Tutorial example Chapter 2 User manual Representation of the foreign keys hoeren v Formular Student ES Name I Eee voran VorlesungNrTitel BWL Crashkurs eje 8 3 6 9 x 2 9 0 The foreign keys attributes are represented as multi column listboxes Here one can see on the first place the value of the primary key and an additional attribute name which has the role of the object labels Association form link Student Bow Eormular Matrhr 5 Name Turnau Semester 2 E Navigationschaltfl che zum Offen des verkn pften Formulars SELECT FROM Student hoeren Linked Matrir gt MatrHr y Eormular Vorlesung _ Nr Titel n SELECT FROM hoeren WHERE MatrNr 5 Figure 2 8 Association in ER model The form links function possibly like instruction Open the form with all objects which are tied together with this object a foreign key on it have They are opposed to foreign key references 21 Chapter 2 User manual
23. e teinte i Ree rte ER SP Tab da egit ares 27 4 Developer information esesesesesesenenensnensnenonsnsnsnnnnnensnnsnnnnsenensnenenenenenenenensnsnsnsnnnnnsnnene 29 Programming tools aet de teet eere pde ig nd 29 XT RA EIN O we Den e de te eee e TIERE 29 TODO DISE z2 2284 a a aaa use 29 Ideas for the fut te c ie er ee ae nella votelactevabatiasnetesstte 30 Supported Databases oiii ete es a ea E A dida 31 WWW Links for devel pers 4 eret tret ttt tete nun 31 5 Productive USO ettet ricino 33 IBI nario asada 33 Meaningful using of application sse eene 33 Advantages to opposite existing systems 33 Contact with author eese eren nennen enne nent asesi een asina eire estne 33 6 SUPPOTE 35 7 Installation from Source code 4 eee ee eese eee eee esee enata setae sense etas ease tassa 37 iii iv Chapter 1 Xdobry Specification This chapter describes the intended purpose of the program and its main features There you can find the answered whom and for what it can be useful The target user group and their demands are named Principal purpose of the program This program makes possible fast and simple production of DB form applications DB forms are the GUI interfaces to a databases which allow the comfortable treat ment of data contents The program sets in front an existing relational databases SOL databases to him the form
24. ecomes as a collection of different input fields their placement and their correspondence to objects in the databases rows in a table The following types of the input fields were realized Chapter 2 User manual Frames Frames for the placement of the elements Simple text fields one line Input fields for whole numbers with control arrows Listsbox Radiobuttons Checkbox fields Yes No switches Text fields consisting of several lines Multicolumn Listboxes for the representation of the foreign key references FormLinks Object for the nesting forms The embedded forms and the formlinks belong to special elements of the forms Both are a different visualization of the relationship The FormLinks appearing along cor responding paths association or also Aggregation Besides one can reach from a form a form of the object which has a foreign key on the first form Besides the for eign key is faded out with the tied up form the value is determined by the first form and the files are filtered after the foreign key It are shown by the filtering only the objects which are in touch with the shown object in the first form With embedded forms the tied up form is a part of the parent s form With form links a command button is inserted only to open of the tied up form serves The foreign keys are not treated as normal attributes but are represented as special diagrammatic elements First the domain of the foreign key is limited by int
25. egrity conditions on the amount of primary key values in the corresponding table This can be represented by a list box Then the user knows that he has only a certain number of possibilities at which he can look and select Secondly the values of the key are often statement empty for the user or unsuitably for the identification of the object For it the user expects other attributes e g name and first name besides of the PersonallDs The Aggregation can be realized as the embedded forms The association is realized as form links The specialization can also be realized as a linkage by forms Besides a form is applied for a parent s object high type and one form for the children s object under type GUI Editor for forms An GUI Editor is opened by the double click on a form in main window With it the appearance of the form and the linkages to table columns in the database can be 13 Chapter 2 User manual Widget Data Packer 14 specified Objekt in Ablage Kopieren p Objekt L schen B Vater Frame ausw hle YL A den n chsten Objekt i Eq zeuge Frame ausw hlen x 2 eo Widgets Daten B Ausgew hltes Objekt wird mit rot gekennzeichnet MatrNr at xi B Ein schwarzer Rahmen Name ssid zeigt ein Frame benutzt f r die Semester E Platzierung Vertreter Formular Link Vertreter Formular Link Label hoeren Label pruefen Eigenschaften widget data pack
26. el design This schema gets 5 Entities Besides is specialized office workers to assistant and professor With ap pointment it is about a Weak Entity It is here the modeling the Aggregation better composition from sets attribute of the object There is also different take from rela tions Examine a connection affair the degree 3 with own attribute is a mark note Student Vorlesung 10 9 and This ER diagram is converted to a relational schema Angestellt PersNr Name Professor PersNr Rang Raum Assistent PersNr Rang Raum Professor Student MatrNr Name Semester Vorlesung VorlesungNr Titel SWS PersNr hoeren MatrNr VorlesungNr voraussetzten VorgaengerNr NachfolgerNr pruefen MatrNr VorlesungNr PersNr Note Termin VorlesungNr Wochentag Zeit FileUnibank sql In the directory sample of the en contains the SOL instructions for MySql databases for the creation of the databases To put on the databases one must first University databases create Warning The MySql databases have to be installed on your system It runs and you have to put on corresponding rights the databases and tables User localhost mysql mysql gt CREATE DATABASE university Attach from tables 25 Chapter 3 Tutorial gt cat sample unibank sql mysql u username university Production of the Repositories For the production of the Repositories which represents an extension of the r
27. elational schema around semantic information becomes the programSchemaEditor Applies The program can select the relational schema by the SQL connection In addition one applies the menu pointFile Case schema from DB In the following dialog the correct data accessibility must be given indicated Hot die Verbindungsparan v Gibt die Verbindungs parameter an IP Host localhost Port 3306 Benutzer user Kennwort Datenbank juni Then other semantic information can be added p ehematitor tel E Datei Sicht Reverse Engeneering Hilfe primary secundary metadata Editieren Name PersNr je y Assoziation i pe Name 26 EH Professor 2 PersNr m Rang m Raum pruefen ProfessorAssistent ProfessorYorlesung Assistent i PersNr m Fachgebiet m Professor ProfessorAssistent E Student EN Vorlesung pruefen m MatrNr mm VorlesungNr PersNr tm Note pruefen RA voraussetzten This can happen in three sorts B F Prim rschl ssel m Standartwert 0 1 Use of reverse engineering menuReverse engineering 2 Add from abstraction concepts by the use of assistants Association possibly foreign key Aggregation Suptype 3 Edit properties of the attributes schema elements Aggregation Vererbung Chapter 3 Tutorial 4 Add from other schema elements such as attribute group label It happens by
28. following additional components of the TCL were used Tk and Tix a library for developing GUls Widget set XOTel object oriented Tel extension mysqltcl pgtcl interfaces to specific database systems tDom XML DOM implementation for Tel I also had no ambition to program everything in pure Tcl Tk if there are so many good libraries In the system XML documents are interfaces between SchemaEditor and FormEd itor class XML dbschema and farther between FormEditor and FormServer class XML xmlforms The high independence of the components and their interchange ability is thereby guaranteed Every component can be replaced with another which can manipulate the corresponding XML document can interpret It means they must be enough for the interface which is described as aXML DTD DTD document For the user of the system the internal use of the XML format is invisible He can cre ate according to demand the XML documents also manually or process with the help of other general XML tools The descriptions of the separate XML classes as documents DTD become in files dtd dbschema dtd And dtd dbforms dtd A small script validate sh If simplifies the use from nsgml Parser which belongs already normally to every LINUX distribu tion The system was developed so that these XML documents can be used by other ap plications TODO List 1 Interface to other databases 2 Special Widget for time types scores BLOB 29 Chap
29. illed Better Error Handling SQL Error from databases are catch adapt for mysqltcl2 0 and xotcl8 3 the DB interfaces are loaded on demand in separates files Version 0 15 tested with RedHat 7 0 mysql 3 23 and postgresql 7 0 The most changes are done by FormServer insert only modi is supported many start options checking of not null condition keybord accelator can be used for navigation many user friendly gui logic Support of dbitotcl interface It allows to user all databases that have a Perl DBI interface experimental tested only with mysql Version 0 16 Program code refactoring Form filters can be named and saved Form supports the templates You can fill up quickly the data fields with specified data All input can be validated by data checker You can specify the help text to all widgets and get it by F1 Key many bugs are killed Version 0 20 extensive refactoring by FormEngine and FormFactory packages Filters becomes own windows by FormServer more flexible filters are possible The is new API for user macros for FormServer Property Dialog in FormEditor was new programmed Xdobry is developed with XOTclIDE My own IDE for XOTel www xdobry de xotclIDE it means Xdobry has new internal structure Version 0 30 Supports sqlite database Chapter 1 Xdobry Specification Deployed also as starkit for Windows and Linux No further requirements for in stallation context sensit
30. ive menus activation Version 0 40 Supports MS SQL Server MS Access and Oracle SchemaEditor can create and modify DB Schema Xdobry can migrate data and schema between all supported databases For internationalisation tcl package msgcat is used imporved documatation many bug fixes tclx is not more used Chapter 2 User manual System components Kenntnisse ber das konzeptionelle Schema der Auslesen der Data Dictionary Datenbank SchemaEditor reverse engeneerng DB Administrator ML Repository Kenntnisse ber die Gestaltung der DB Fonnularen FormEditor Formular Gene ravor App Entwickler FormServer DB Bentuter ipararnetrischer Benutzer Das system consists 3 executable programs SchemaEditor FormEditor and Form Server There are only one starkit package but at the start of Xdobry you must choose which module do you want to start The interfaces between these separate programs are to 2 XML documents types the Repository standard file extension xmldbschema and form description standard file extension xmlforms The treatment of both XML documents is taken over from corresponding programs however can take place also manually in an editor You can find the fitting DTDs Document Type Description in catalog ta SchemaEditor The major task of the schema editor is to create a XML Repository and to manage it A user of the sche
31. ma editor is assumed as a databases administrator The user has knowledge about the structure of the data and its representation in the relational model The SchemaEditor possesses the following functional characters 1 To convert Data Dictionary of a relational databases to a XML Repository Chapter 2 User manual 2 Add semantic information to the Repository By using the reverse engineering colleges which can run either completely automatically or by questioning the user The user can also add the semantic information separately 3 Add and editing the Meta information of the attributes 4 Create and drop of tables 5 Create and drop of table rows 6 Create database from XML schema 7 Create XML and SQL database dumps 8 Import and export schema between all supported databases 9 Migrate data and schema between all supported databases Important In the opposite to other DB manager SchemaEditor does not work directly on data base schema The data base schema is picked out and converted into own data structure Repository which can be stored also as XML file xmlschema and loaded again This structure is not data base system specific In this way the editing of DB repository without db connection is possible SchemaEditor can produce Data Definition SQL for each data base system supported by Xdobry Also the changes of the db schema can be generated as DDL Sq statement The idea of the GUI is based on the representation of the
32. me menus for debugging SOL Monitor XOtcl class browser Tk Window Browser interactive mods The database contens can be only viewed No delete modify or insert operation are allowed 23 Chapter 2 User manual ignorexmlpar Ignore all parameters codded in XML file noconnectdialog Do not show database connect dialog All parameters for database connection should be specified in XML file or by connect option loadmacros load a Tel script after initializations connect Specify database connect parameter The parameters are codded as TclX keyed list connect interface mysql user root dbank test password geheim socket var openform Open a form after initialising Warning All option must be tipped after Example usage FormServer debug viewonly connect interface mysql dbank uni user root socket var lib mysql mysql sock noconnectdialog openform Student uni xmlforms 24 Chapter 3 Tutorial Here it a example of using the system A school book databases was chosen so that all qualities of the system can be shown The step consequence corresponds possibly to the production by real DB applications First a ER diagram of the system is con structed and is illustrated in relational schema Then this schema is converted with the help of reverse engineering colleges of technology into a XML Repository Relational schema Accepted a databases schema with the help of ER mod
33. nt only after the change the Tipple position with naviga tion buttons or by the command button save There are problems with operations Delete Change Create they become only a visible after the action reload The condition that the data will not could be current by the red colored command button reload indicated The number of open SQL connections is limited system specifically Only once the Widget Multi Column Listbox for the announcement of foreign key are initialized while opening the form If the condition of the objects should change at which the foreign keys point it is not indicated The forms which can be used with Aggregation separately are opened however the foreign keys are indicated as a normal Widget This can manually inFormEditor Are changed however it is not shown by form assistants automatic Form links functioning if one does not point at the root form the foreign key how ever in a children s form is See Tutorial form Professor link on assistant Such FormulaLinks need a special treatment which was not programmed yet If you have similar problem or if you have consider to other functional ways let me about it know How the next version will look depends on you Program Options You can specify some options by starting FormServer FormServer help debug viewonly ignorexmlpar noconnectdialog connect connectpar loadmacros macrofile openform formname xmlfile Activate so
34. offered different course types The re alization of a course entity Kurs is named offer with date entity Ange bot The courses are structured hierarchically Untertypes A1 A2 A3 belong also to course type A etc To every course a predecessor can be named vice versa conversely successor Z B the participation in the course B sets in front the earlier participation in the course to A B is deepening A Course er dia ER diagram of the databases in format of a GNOME of program DIA Course er eps ER diagram as a PostScript file Kurs sql create tables Sql instructions for mySQL database Kurs xmldbschema Repository of the schema Kurs xmlforms Forms 27 Chapter 3 Tutorial 28 Chapter 4 Developer information Programming tools The whole system was programmed in the computer language TCL tool Command Language Tel is interpretative and string based computer language and character izes itself by a simple syntax and a simple extensibility These qualities it ideally for glue together of other specialized components mostly libraries which are written in other languages C C The language are often used for Rapidly Developments Pro totyping Tel uses a brilliant simple syntax Although Tel is a script language the Tel applications are much faster than Java programs and use very little resources The object oriented implementing was possible by using XOTcl extension This makes possible a clear structure of the program The
35. orithms are based only on the relational schema the data content is not evaluated It were implemented three reverse engineerings al gorithms The foreign key search is a basis for other algorithms out of the subtype search Foreign key search Find all attributes with the same name as the primary keys of the other tables however the Prim attributes are not Prim attribute or are not a single Prim attribute Limitation object tables consist only single prim attribute No Recur sive relations Action a simple reference is constructed Association container gets the foreign key Association Target gets the primary key Itis a basis for the other algorithms Subtype search Search for the subtype Find all tables having one primary keys of the same name They you must determine the father s table themselves With Multi level inheritance grandson s objects the action must be executed repeatedly Limita tion object tables consist only single prim attribute Find association tables These reverse engineering technology is based on the step foreign key search The tables should be determined which model Relationship e g n m Relation ship Algorithm Find all tables whose primary key exists consists of several foreign keys or several foreign keys and no unambiguous primary key have Ac tion the Relationship tables are particularly drawn N m or n m z Relations are recognized Relations may have own Attributes Suggest
36. pecialized program for the development of databases applications Correspondingly high are the demands for the users I have not developed this pro gram to make complex systems such as databases simple It should make only the handling of such systems easy These are tools for DB specialist with which the de velopment of DB forms can be effective and can be fast The system Xdobry was developed in 3 components for 3 different user s groups 1 DB administrator knowledge relational databases DB developing relational schema Conceptual schema 2 DB application developer knowledge GUI developing 3 End user fundamental use of computer Technical data The program was implemented under Linux with programing language Tel and its extensions Tk Tix tDom XOTcl Because of a lot of components the compilation and configuration can be difficult MySql relational databases was used as a primary test database manager The was designed to work with standard SQL 92 databases Version Changes Log Version 0 12 Grid Packer Geometry Manager is supported Form Links are extended one can browse with forms like with hypertext documents The is new API for user macros for FormServer Property Dialog in FormEditor was new programmed Chapter 1 Xdobry Specification You can reduce the forms functionality no delete no insert no update Sorting You can view sorted tuples in forms Version 0 14 Many Bugs was k
37. r edited form scratch depository The 3 drag amp drop operations are shown in e 2 3 The Drag amp DEP is signalized by special mouse pointer icon The object will be not really moved All catted objects are moved to depository The depository can contain many objects Tip By inserting new widget choose one widget in widget set the background is dis played colored window and drop it on workbench Widget set Workarea Form Scratch Figure 2 3 Drag and Drop operations work with Pack Frame The elements are places in Frames also nested The order of the elements in a frame is crucial The pack geometry manager takes one after another the elements and 15 Chapter 2 User manual 16 places them her in the frame the remaining place it is applied for the next elements The following qualities specify the placement Side in which page side of the frames the object should be added Anchor anchor to which page side Fill Expand the object should be adapted by change of the window size Tip One can see the current pack options in the status bar after pointing the Widgets with mouse s pointer The position of new drooped object is computed related to the object you have tar get When no object are targeted the widget will be added at last pack position with standard option side top anchor center fill none expand 0 The exact position can be specify by target the object which is already in the
38. s should be created The production of the forms run automatically or semiautomatic by help of special assistants No programing knowl edge is demanded The created forms are not simply the another form of the tables in relational databases They correspond rather to a higher abstraction level confesses from conceptual models Features and Benefits platform independent binary packages for Windows and Linux Intel accessible supports all main databases Oracle MS SQL Server mysql postgres MS Access general ODBC Easy migration of data and schema between all supported databases small runtime system No special installation or further requirements are needed special wizards and assistant make easy migrate the data manipulate schema or build GUI forms reach set of special database GUI elements Characteristics The program was developed as an open system of the creation of DB applications but only DB forms applications are fully implemented yet It is a CASE tool for the databases area In contrast to existing systems the production of the forms was un derstood as a multi level process The principal reason for the bad quality of the automatically created forms with conventional system is the use of the relational schema data dictionary as a source of information for form generator Then such forms must be adapted manually Relational schema table structure contains only few information about the semantics of the data It are
39. schema as a tree structure which can be manipulated by the user This tree structure has the following edges types Prim rschl ssel i PersNr Tabelle modelliert Vererbung Professor PersNr Rang 2 Attikut Raum pruefen ProfessorAssistent ProfessorVorlesung ER Assistent 4 Ettik ette label aggregierte Tabelle PersNr 3 Ende der Assoziation hoeren pruefen voraussetzten voraussetzten 180 Professor Vorlesung ERA hoeren MatrNr fm VorlesungNr 9 hoeren ERA pruefen HZA voraussetzten 4 Assoziationcontainer heoren Tabelle modelliert Relationship Figure 2 1 1 Table 2 Attribute Chapter 2 User manual 3 Associationcontainer 4 Assoziationtarget 5 Tables Label 6 Attribute groups structured attributes Reverse engineering The relational model is strong value oriented It knows no association relationship types The association are represented as a foreign key The tables can represent an Entities Objects relations ship partial objects by subtypes modeling or properties e g lists of the attributes With reverse engineering the semantic meaning also the information how the relational model is to be interpreted are achieved This informa tion is coded only as the names of the attributes Neither MySql nor Postgresql sup port the definition of foreign keys This is big disadvantage by the production of the forms The reverse engineering alg
40. se In the case of abort the target data bank is not deleted SchemaEditor and data exporting and importing Schema editor knows the data on 2 points to export As XML dump Schema Migration Database to XML SOL the SOL dump Schema Migration Database to XML Dump For SOL dump the type of target data bank must be indicated Important The export or import of XML dump is suitable only for smaller data bases At now with XML dumpe into the main memory the entire data base is illustrated at short notice DOM object In this way the Xdobry can with larger data sets fast overflow An iter ative production of XML is possible and becomes for the next version of Xdobry planned The SQL dump is provided iterative and causes no excessive demand of main memory With the function Schema Migration XML dump to SOL convert one can con vert a XML departure to SQL departure FormEditor 12 The purpose of the component is to generate a collection of the forms to a databases and secondly an user s interface for the adaptation of these forms The product of the form editor is a description of the forms as a XML document Associations Rela tionship and other abstractions are supported in the forms directly The user of the form editor application developer must not know the schema of the data His task is only to adapt the automatically produced forms under the formative face point or to specify the input fields of the form A form b
41. ter 4 Developer information 3 Support of the BLOB types which are specified by MIME types Possibly acces sibility in KDE or gnome System Announcements of picture data Exchange with file system Form server supports cascading delete and modifying of primary keys Form server supports relationship min max and other integrity rule Direct help to dialogs Balloon or tip texts to Widgets oo N 0 OFF B Alternative representation of forms as tables or table as parts of the forms Use of tkTable Tcl extension 9 Support of tabulator consequences and generally better user friendliness 10 Short cuts Accelerators 11 Null value treatment with Widget Till present all Widget can not support it well 12 New more powerful GUI elements Widget and more Options I need your feedback Ideas for the future 30 First task is to fix all bugs and improve user usability The other is to develop re ally new ideas Xdobry could serve as a basis for the development of different DB applications With XOTcl development too Xdobry can be customized and extended for own needs As the smallest denominator for relational databases standard SQL 92 and mysql was chosen Many of the problems were solved in SQL99 standard It remains for the moment to wait to the available RDBMS support this standard Interesting the implementing of object relational qualities of the popular databases Postgres could be Many of those cover themselves with
42. tie ei e rte eerie tere d 2 2 BET BEER ERST 5 System components cceccsscecsesesesseeeseesescsseessesesescseseceesescsssecsesesescnsseseeesseseeesesessesentes 5 ScheimaEditor ee eve e Ben WIE A en ev dena dee 5 Reverse engin ering eee sse nennen sn 7 Define absttactlons ecc e NERIS 7 DB Schema create and modify sse esee 8 SchemaEditor and data migrate sse 12 SchemaEditor and data exporting and importing sss 12 FOrmEdilor i ei eene ce estere reete eri veta To Pr wees panna ser 12 GUI Editorfortorms i dee Ete abet 13 a o a curetis irc e aeree deo EEEE 17 Browsing Database with forms sess eres 18 USER macros JD FOE en near en epe edet pe e ee dn 19 Schema vs Form appearances sse eee eene 20 Representation of the foreign keys 20 Association form link eesesesnsesensenensenenennenenenennenonnenenenenenenenenonnn 21 Specialization inheritance see eee eene 21 Aggregation ANN 22 Missing functionality be Xdobry sse eene 23 Program ODphoris 5 eds nen eed t ere Ye e eene iie eas 23 A UL t 25 Relational schema teile ede cede ei bead Bibeln 25 Production of the Repositories sese eene 26 Prod ction of the forms eu 22 22 22 pete eode eee eee HERE 27 Us Of f Orms eee a Ren nn SI eve TTE e ERR YR 27 Other examples ne titt petit
43. use of pop Up Menu right mouse button The complete example of XML Repository show the file sample uni xmldbschema Production of the forms The creation of the forms happens with the programFormEditor First becomes the DB schema sample uni xmldbschema Loaded File DB of schema shop Auto matic creation of DB forms happens with Tools gt Form assistant The created forms can designed with a GUl editor by command buttonForm Edit The finished forms are in sample uni xmlforms Use of forms The finished forms are stored as XML files The program FormServer Can represent the forms correctly and communicate with the databases Call with argument from program catalog FormServer sample uni xmlforms Other examples In the directory sample are two other examples too 1 An example from publication Roger H L Chiang Terence M Barron Veda C Storey Reverse engineering of relational databases Extraction of in EER model from a relational database Data and Knowledge engineering 12 Elsevier in 1994 Pages 107 142 Under the nameBussines It is a databases schema of a hypothetical firm There are the following files Business ER dia ER diagram of the databases in format of a GNOME of program DIA Bussines er eps ER diagram as a PostScript file Bussines sql create tables Sql instructions for mySQL database Bussines xmldbschema Repository of the schema Bussines xmlforms Forms N An example of a course databases It is
44. y schema but has own data base system independent representation of the schema which can be put down as XML file It is possible to develop schema without connection data base and install many databases from one XML repository The Xdobry schema is based on ER diagram and contains more semantic information than the Data dictionary of data base Chapter 2 User manual Creating new schema For that data base connection is not necessary By the menu Schema New new data base schema is created Use context sensitive menus select a leaf and right mouse button click can be used to creat tables and columns Xdobry own has data types system in addition which is set on Mysql data base system but supports other types like Money or Boolean Table 2 1 supported DB Types and type conversion Xdobry Mysql MS Access MS SQL Postgres Oracle decimal Decimal Currency Imonay money number numeric money double double float float double double float float real real real float int int Integer int int Integer int int smallint Smallint smallint smallint smallint smallint tinyint Boolean smallint boolean boolean Boolean Number 1 bool text Text Memo image text clob mediumtext LONGTEXT tinytext LONGCHAR MEMO NOTE NTEXT datetime Datetime datetime timestamp timestamp timestamp date time timestamp timestamp datetime datetime timestamp timestamp enum enum Varchar 50 Varch

Download Pdf Manuals

image

Related Search

Related Contents

673071 - Bricoman  取扱説明書 - セキスイ E-Shop  Lanier LD075 User's Manual    1600 09 05 Rev2 UM Cook Chef UNIFICADO  SL-20PA-A240/SL-36PA-A240/SL-40PA  案内状 - 公益社団法人日本愛玩動物協会  物件番号 管24−7 ・車種 ニッサン AD バン ・型式 R−VFY10  Franke MMX 220  Manual de usuario  

Copyright © All rights reserved.
Failed to retrieve file