CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 5 of 5
  1. #1
    Join Date
    Mar 2013
    Posts
    2

    Implementing dynamic database structures using C++

    Hi All,

    We´re designing a new software and we want it to be customizable without code. That, for us, mean we can change the software behaviour without re-writing code. All will be developed using C and .NET.

    One of our goals is to have what we are calling "dynamic tables". This means that these database tables may have different fields depending on the customization. We got to know it using high-level ERPs like SAP or CRM´s system like VTIGER or even SalesForce. Let me give an example:

    CUSTOMER TABLE:

    FIELDS: ID, NAME, ADDRESS, PHONE.

    This would be the standard Customer Table.

    Now, a new customer needs to add FINANCE SCORE and RANKING to the database. We them would like to go to our application (not the database itself) and adding these new fields. After that, all of my input forms and reports would start to show and process these new fields.

    We haven´t found the best way or methodology to architect and develop that, so I very much appreciate any kind of help regarding this theme.

    Thanks in advance for any help.

    Rds

    Renato

  2. #2
    Join Date
    Nov 2000
    Location
    Voronezh, Russia
    Posts
    6,620

    Re: Implementing dynamic database structures using C++

    You need to learn reading database schema, i.e. reading tables list per schema and columns list per table, keys, constraints, etc. Depending on column type you create corresponding type of control on your form. Pretty much obvious thing, you know.
    Best regards,
    Igor

  3. #3
    Join Date
    May 2009
    Posts
    2,413

    Re: Implementing dynamic database structures using C++

    Quote Originally Posted by cox123456a View Post
    We´re designing a new software and we want it to be customizable without code. That, for us, mean we can change the software behaviour without re-writing code. All will be developed using C and .NET.
    Costumization without coding is a contradiction of terms really. It's simply not possible.

    You cannot do anything on a computer without coding. What's to be accomplished must be expressed in some language somehow. It could be a traditional language but it could also be an application language. And programming in it could be anything from laying down syntax in a textfile to selecting symbols on screen.

    In my view you need to develop a language and you need to device a way to program in it. The rest will fall in place as a question of how this language best can be implemented given the target system.

    I think "language" is a very profitable design view. Especially at the level of users of a system, but also within. For example the "language" approach is manifest in the OO pattern of Interpretor. Unfortunately most designers wait for big companies to introduce new languages forgetting they could do the same (at different levels of sophistication) to accomplish very clean interfaces internally in designs.
    Last edited by nuzzle; March 22nd, 2013 at 06:14 PM.

  4. #4
    Join Date
    Nov 2000
    Location
    Voronezh, Russia
    Posts
    6,620

    Re: Implementing dynamic database structures using C++

    Well, it really depends on requirements. I participated in project where end customers were allowed to add columns of predefined types to basic column set, and the new data was immediately integrated into the whole app. As the app was a MAM system, the main focus was on searching through data and reporting search results, but data modification was allowed in GUI as well. The project was web app with a sophisticated C++ server dedicated to versatile data processing in background, including integration with third party system. External databases were also allowed to be included into federated search. Not bad, uh?

    Well, with all this said I don't say we looked for any existent methodology. As all the teamers had quite a solid experience in database programming we just started to work on requirements analysis and architectural design. From a sort of prototype the system finally evolved to a product on the market sold worldwide. The key word here is evolved. You need to work on formal requirements and do formal design iteratively, build prototypes and test how those meet requirements. You should not expect that somebody could give you a 'silver bullet' advice and you see the light. No, all you need is to work hard and have money enough to break through. Sorry for this trivial sentence, but I have nothing else to advise.
    Best regards,
    Igor

  5. #5
    Join Date
    Mar 2013
    Posts
    2

    Re: Implementing dynamic database structures using C++

    Quote Originally Posted by Igor Vartanov View Post
    Well, it really depends on requirements. I participated in project where end customers were allowed to add columns of predefined types to basic column set, and the new data was immediately integrated into the whole app. As the app was a MAM system, the main focus was on searching through data and reporting search results, but data modification was allowed in GUI as well. The project was web app with a sophisticated C++ server dedicated to versatile data processing in background, including integration with third party system. External databases were also allowed to be included into federated search. Not bad, uh?

    Well, with all this said I don't say we looked for any existent methodology. As all the teamers had quite a solid experience in database programming we just started to work on requirements analysis and architectural design. From a sort of prototype the system finally evolved to a product on the market sold worldwide. The key word here is evolved. You need to work on formal requirements and do formal design iteratively, build prototypes and test how those meet requirements. You should not expect that somebody could give you a 'silver bullet' advice and you see the light. No, all you need is to work hard and have money enough to break through. Sorry for this trivial sentence, but I have nothing else to advise.
    Thanks for the answers. I may had miswritten some words. I doesn´t mean that we will do it without coding. What I was trying to say is that we want the final user (customer) or the customization team to do it using GUIs only.

    Igor - this is what I was afraid of... Not having an specific methodology or tool to do so. In that case we would need to code database schemas and tables management code. I was researching this topic and found out the EAV model (entity-attribute-value model) that may contribute for the final solution, but it´s not a definitive solution for my case.

    vTigerCRM is a good example of what I wanna do, but I know most (if not all) of their implementation is tied to specific code for table management. Maybe that could be some framework or methodology to help us develop that.

    Anyway, thanks a lot for the help.

    Rds

    Renato

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured