So recently, I had a client ask me to restructure his Database hierarchy which consisted mainly of changing table names and column names and creating cross-references to stop red locks.

He later emailed me about his 'program' no longer functioning: which the reason was simple, he hadn't updated the queries in his program.

This lead me to think about the integrity of the way we structure data rather than the integrity of the data itself: if the data changes, the view changes. If the structure changes, the program will no longer function.

Is it possible to create such a structure of data where the program can create its own decisions about the form of the data?

I am probably thinking 'futuristic' but if this was possible, would a web search be a possibility?

Add up the most common words, check the words appear in the definition, ect...

An example:

If my data was 'developer' id expect the program to recognise its a job role by searching the web and creating a decision based on the keywords, definition, word recurrence ect...

  • 2
    Read about Google's protobuf or Microsoft's Bond.
    – Dev-iL
    Oct 13, 2016 at 18:05
  • That is interesting, although, my solution would to build&order keyword&word recurrence, check works against definition if exists & create a new array of order, check the two arrays common & then use dev hint like if(in_array('car'))... To make sure the data integrity is higher @Dev-iL
    – Jaquarh
    Oct 13, 2016 at 18:29

1 Answer 1


Not sure but I think perhaps you are thinking about fourth generation languages. A 4GL like LANSA makes the following promise:

LANSA has implemented its data services layer to provide a single access point for all data and serves to abstract formats, locations and conventions. Specific programs – called Object Access Modules – are generated from data held in the repository. These OAMs know about the structure of the database (fields and files) and contain the rules that govern all Create, Read, Update and Delete transactions. So whenever any program anywhere on the network wants to ‘create_New_Employee’ in the ‘comp_Employee’ table in the HR system, that request will be directed via the data services layer and the appropriate OAM. Future changes would only cause that specific OAM to be regenerated on the server and would not impact other programs. It is possible to make a data services layer, specifically the OAM, even more intelligent by using built-in features like database independent triggers or derived fields that perform calculations or concatenate strings on-the-fly.

That being said, I've never seen a 4GL used in a serious production environment successfully. Maybe some other posters will disagree.

  • That pictures exactly what I was thinking; I'm going to research this: thanks!
    – Jaquarh
    Oct 13, 2016 at 18:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.