0

Je travaille actuellement sur le développement d'un site web de commerce électronique et je vais utiliser C#, Entity Framework avec SQL Server 2008 pour ce projet.Conception de base de données non relationnelle avec SQL Server?

La structure de la base de données n'est pas complexe, aime simplement Wordpress Database. J'ai découvert des bases de données non relationnelles comme Google BigTable, MongoDB, ... mais je ne comprends pas encore complètement les avantages de cette technologie.

Je sais que SQL Server ne peut pas être NoSQL DMS tout en supprimant toutes les relations entre les tables, mais je reste préoccupante sur cette question:

Si on enlève toutes les relations dans SQL Server et qui travaillent avec Entity Framework, est -ce plus rapide ou plus lent ou tout désavantages?

Merci pour la lecture et désolé pour mon mauvais anglais. Toute aide serait appréciée.

+3

Vous pouvez facilement émuler une base de données NoSQL simplement en n'ayant qu'une seule table avec juste une colonne d'identité et une colonne XML. Je devrais imaginer que ce serait plus lent, cependant. – Gabe

+0

Merci pour votre commentaire mais je veux garder la structure ^^ – ByulTaeng

+3

Je ne vois pas l'intérêt d'utiliser un ORM si vous n'utilisez pas un SGBDR. Les avantages de quelque chose comme EF est l'héritage, les types complexes, etc - si vous allez avoir une seule table ou deux, utilisez simplement ADO.NET classique. – RPM1984

Répondre

2

Par "relations" je suppose que vous voulez dire Foreign Keys? La suppression de clés étrangères n'a rien à voir avec une base de données «non relationnelle».

La principale raison de l'utilisation de clés étrangères et d'autres contraintes concerne l'intégrité des données. Les contraintes sont généralement le moyen le plus efficace de mettre en œuvre des règles d'intégrité. Ils peuvent également être utilisés par l'optimiseur pour améliorer les performances de certaines requêtes. Mon conseil est de concevoir la base de données avec les contraintes d'intégrité dont vous avez besoin et d'optimiser la base de données par la suite.

Questions connexes