I am going for a quick consider a SQL Server database for any web application.
The very first factor I notice is the fact that from the 200-300 tables you will find only 2 tables having a primary key and they're composite secrets. Not one other indexes anywhere. The "people" tables don't have any indexed secrets. There's also no utilization of foreign secrets anywhere.
Must I worry?
It is possible to good reason behind why this type of structure may be desirable?
Y E S ! ! you ought to be worried......
To pages and use a SQL guru:
whether it does not possess a primary key, it isn't a table
Any table should have a principal key - merely a primary key guarantees a row could be distinctively recognized (and operated on - doing whatever you must do into it).
To complicate matters, in SQL Server, tables with no clustering key (that the primary secret is, automatically) are known as heaps and individuals have terribly bad performance qualities. The Full of Indexing - Kimberly Tripp - nicely shows all of the bad reasons for heaps in her own blog publish The Clustered Index Debate Continues! - see clearly, and live it :-)
And not getting any foreign secrets edges on absolute recklessness - any DB designers that knowingly avoid foreign secrets needs to be removed and shot... this really is THE primary reason to actually have a relational database - a chance to enforce data consistency and data integrity.
trembling mind in disbelief - all over again....
It is all about the Database architect designer ... your setup is negative and positive.
I'll provide you with one particular CRM application known as SuperOffice, their SQL database provides extensive tables, but none of them has PK or FK and there's no area which has auto-number, id's receive with a conceptual table store the table entity id and last produced id.
And it is very fast!
And So I wouldn't worry to much, thought I'd request why only for the curiosity point, exactly the same Used to do to SuperOffice folks :)