A company that wants to control 4-5 differently asp.net webforms and mvc projects via one web panel and also one mssql database.
The idea is from a software engineer who works at a serious IT education company.
There are 4-5 different web projects as i said before which are a e-shop, an intranet project others are business' web projects.
The engineer wants to use one sql database, views for readings, sps for cruds and these for all projects.
How does affect the development process and which approach would be good with that, using of an orm or ado.net?
Is there any possibility of future problems?
|
|
|||||||
|
closed as not a real question by Remus Rusanu, dezso, Jon Seigel, Mark Storey-Smith, Mike Walsh Mar 19 at 11:51
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, see the FAQ.
|
That should work fine, as long as your web hosting and database server can handle the load. Implementation will probably use a half dozen or so different schemas. (CREATE SCHEMA...) If you come to this kind of architecture from MySQL, you'll probably be used to one database per project. But at the logical level, a MySQL database corresponds more closely to a SQL Server schema than to a SQL Server database. In SQL server, queries can easily access multiple schemas. In fact, that's generally true of SQL database management systems that aim to comply with SQL standards. It shouldn't have any significant effect on the software development lifecycle (SDLC). |
|||
|
|
|
One database shared among many applications has disaster recovery implications. Imagine if there is some disaster in application A (for example a malicious update) and the developer requests a restore of the database to a particular point in time. This will restore data for all the applications to that point in time. It also has delegation of authority implications. Imagine if the developer for applications B, C and D all require db_owner or sysadmin permissions. Are they going to coordinate with each other when they do system maintenance? Are you going to have the situation where programmer B installs CLR support then programmer C removes it? Are there change control procedures in place? Are they using source code control? It also has load balancing issues. Imagine your DBA decides to set up database mirroring or SQL Availability Groups. Now every appliaction has to be coded to be aware of the load balancing. As Kevin said above, what happens if application E is sold by the company? How will you extract its code and data to give to the new owners? In short, one database for one application is (almost always) the best design. |
|||
|
|

