When designing a database (tables), you can consider its use in different DBMS

(mysql, postgresql, mssql, sqlite, oracle)

I want to be able to choose a database and there would be no problems in the types and tables

Is it possible?

    4 answers 4

    If you want your system to choose a DBMS and (almost) not have problems, you need to introduce some "layer" between the base and the logic of your application. For this you can use the technology Object-relational mapping

    There are many libraries for different programming languages ​​and with the support of various DBMS.

    For the .NET platform:

    • Entity Framework - supports MSSQL, MySQL, ORACLE, PostgreSQL, Firebird and others
    • NHibernate - supports MSSQL, MySQL, ORACLE, PostgreSQL, Firebird, Sqlite and others
    • Telerik OpenAccess - supports MSSQL, MySQL, ORACLE, PostgreSQL

    • and many others

    For PHP

    • Doctrine is a very extensive and functional library that supports many different DBMS through its own layer of abstraction.

    • and many others

    For Javascript (node.js) there is a node-orm with support for several popular relational databases. And so on...

      I strongly advise the author to develop several versions for each subdit separately.

      This is if you really want to write a quality product under several subd.

        In each of these bases, at least, the implementation of auto-numbering of values ​​in columns (autoincrement) differs. It will be hard. :-)

          What you want to do is not so simple ... mysql, postgresql, mssql, sqllite, oracle are different from each other, the semantics of the code are different, and as a result, the problems will be with the data types and auto-increment of the fields. I think not to bother with this and decide on a DBMS, choose the one that suits you the most ...