Tell me more ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

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?

share|improve this question
How easy would it be to detach any of the projects if they were to go their own way? This requires some architectural choices at the start of the design but is feasible if you think about it now. – kevinsky Mar 15 at 12:10
Don't do that. If they are separate applications, give them separate databases. Easier development, easier deployment, easier management. – Mark Storey-Smith Mar 15 at 17:36
Thanks for comments!. I would like to hear about little more details, reasoning and info if possible. – user877691 Mar 15 at 17:58

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.

2 Answers

up vote 1 down vote accepted

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).

share|improve this answer

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.

share|improve this answer

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