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?
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?
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 othersNHibernate
- supports MSSQL, MySQL, ORACLE, PostgreSQL, Firebird, Sqlite and othersTelerik 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 ...
Source: https://ru.stackoverflow.com/questions/195927/
All Articles