Anonymous user
DataDictionary: Difference between revisions
From DataFlex Wiki
Jump to navigationJump to search
→Supported backends
mNo edit summary |
|||
(3 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
= Definition = | |||
A data dictionary is defined as the business layer in-bewteen your table on disk, and the requested operation at runtime. It handles the find, clear, save, validate, and delete requests from either the programmer or the user. A data dictionary exists both as a class coded definition and as an instantiated object which uses full delegation and polymorphism in the form of a data dictionary object in a "tree" structure for the data set you wish to perform an operation on. | |||
= editing a Data Dictionary = | |||
Editing a DataDictionary CLASS in Visual DataFlex involves at least 10 identifiable options: | Editing a DataDictionary CLASS in Visual DataFlex involves at least 10 identifiable options: | ||
Line 14: | Line 15: | ||
# Define the externally updated tables to be bound in the transaction block of saves/deletes. When a save or delete occurs, all table attributes are set to readonly momentarily, the tables that will be affected by the operation are set to default mode, and then a reread/transaction block occurs to lock all the tables in the tree that are affected PLUS the ones listed in externally updated tables. This allows, for instance, a reread and update from the system table to assign the next available number to a key field. | # Define the externally updated tables to be bound in the transaction block of saves/deletes. When a save or delete occurs, all table attributes are set to readonly momentarily, the tables that will be affected by the operation are set to default mode, and then a reread/transaction block occurs to lock all the tables in the tree that are affected PLUS the ones listed in externally updated tables. This allows, for instance, a reread and update from the system table to assign the next available number to a key field. | ||
# Programming of stored procedures that exist as called methods already. REF:[http://applausesoftware.blogspot.com/2008/02/visual-dataflex-ddo-stored-procedure.html DDO Save Cascade] | # Programming of stored procedures that exist as called methods already. REF:[http://applausesoftware.blogspot.com/2008/02/visual-dataflex-ddo-stored-procedure.html DDO Save Cascade] | ||
# Programming of customized stored procedure methods that you introduce to the class, stored in a central depository (the foundation of oops programming) class and can be attached to either the exiting of a control attached to a column of the data table, or the exiting, or simply the validation of such column. | # Programming of customized stored procedure methods that you introduce to the class, stored in a central depository (the foundation of oops programming) class and can be attached to either the exiting of a control attached to a column of the data table, or the exiting, or simply the validation of such column. | ||
All together, these 10 functional abilities to centrally define data table rules are dwarfed by the fact that they are "hitched up in tandem" like a team of "Budweiser Clydesdales" which work interconnectedly to enforce your entire data structure on any data operation which includes save, clear, find, delete, and validation. | All together, these 10 functional abilities to centrally define data table rules are dwarfed by the fact that they are "hitched up in tandem" like a team of "Budweiser Clydesdales" which work interconnectedly to enforce your entire data structure on any data operation which includes save, clear, find, delete, and validation. | ||
= How to use Data Dictionaries = | |||
The [[Database Builder]] tool helps you defining the class with visual aid for: | |||
*Field settings like ''Capslock'' | |||
*Table settings like calculations on save or save/delete validations | |||
*Relationship settings like [[Cascade Delete]]. | |||
The Datadictionary class can also contain and business rules required when records are created, edited or deleted. | |||
==How to create a new Data Dictionary from scratch== | |||
#Open [[Database Builder]]. | |||
#Create a new table | |||
#Enter some columns (input name, type and width) | |||
#Choose '''Maintenance''' and '''Create Empty DataDictionary'''. | |||
==How to create Relationships== | |||
Before creating relationships, make sure that both tables should have an index. | |||
*use 'the relationship wizard' in the database builder. | |||
== Use Data Dictionaries in Batch Processes == | |||
When using the studio, the usage of Data Dictionaries are very naturally integrated into your project. But when doing a save without dbForm objects eg in a batch process or so, a lot of developers are going back to the file buffer way. This way it bypasses the class structure you carefully put in place for saves, deletes, updates etc. | |||
Please check [[Using Data Dictionaries in Business Processes]] for help and sample code. | |||
=Supported backends= | |||
It is possible to reach several databases through the Data Access [[DataFlex Connectivity Kit]] or using third party | |||
drivers from Mertech Data [http://mertechdata.com/rainbow/site/1/default.aspx] | |||
*[[Native DataFlex database]] | |||
*[[Oracle]] [http://wiki.oracle.com/page/Database] | |||
*[[Microsoft SQL Server]] [http://msdn2.microsoft.com/en-us/sql/default.aspx] | |||
*[[Pervasive]] [[SQL]] [http://ww1.pervasive.com/developerzone/access_methods/btrieve.asp] | |||
*[[ODBC]] | |||
*[[MySQL]] | |||
*[[IBM DB2]] | |||
[[Category:Basics]] |