java - Afin d'éviter les relations complexes un-à-plusieurs dans la base de données, j'ai conçu la base de données sans clés étrangères. Est-ce possible?
为情所困
为情所困 2017-05-17 10:08:09
0
5
550

Afin d'éviter la relation complexe un-à-plusieurs dans la base de données, ma conception de la base de données est que les champs de la table n'ont pas de clés étrangères. Les relations sont liées manuellement à l'aide de setters et de getters. le programme est écrit et la fonction peut être implémentée, mais j'ai trouvé qu'il est très pénible d'écrire beaucoup de getters et de setters, ou n'aurais-je pas dû le concevoir de cette façon depuis le début

为情所困
为情所困

répondre à tous(5)
巴扎黑

Cette conception est très bonne, il vous manque juste une couche d'abstraction de base de données, ou ROM.

Il existe un concept dans la théorie des bases de données appelé : CAP.

#🎜🎜La théorie #CAP a été proposée par le professeur Eric Brewer. Lors de la conception et du déploiement d'applications distribuées, il existe trois exigences système de base, et il existe une certaine relation particulière entre ces trois exigences. Les trois exigences sont les suivantes :

C : Cohérence

A : Disponibilité Disponibilité
P : Tolérance de partition Tolérance aux pannes de partition

Le cœur de la théorie CAP est :

Il est impossible pour un système distribué de répondre aux trois exigences de cohérence, de disponibilité et de tolérance aux pannes de partition en même temps, il ne peut en répondre qu'à deux en même temps. ben en même temps#🎜 🎜#. Et la plupart des bases de données nosql font des compromis sur le C (cohérence).

Il est donc sage d'abandonner les clés étrangères. Les clés étrangères servent à maintenir la cohérence de toutes les données, mais souvent, nous n'avons pas besoin que les données soient cohérentes en temps réel. Nous devons seulement garantir la

cohérence éventuelle

.

    http://www.csdn.net/article/2...
  • http://duanple.blog.163.com/b...
漂亮男人

1. De nos jours, Internet n'utilise pratiquement pas de clés étrangères
2. Pour résoudre les problèmes, vous pouvez essayer Lombok

.
世界只因有你

Dans les applications pratiques, nous utilisons généralement des programmes pour contrôler les clés étrangères. Pas au niveau de la base de données.

世界只因有你

Premièrement, les clés étrangères (ici spécifiquement appelées relations de mappage) dans les bases de données relationnelles sont toujours très utiles
Deuxièmement, les clés étrangères (ici spécifiquement appelées contraintes de clé étrangère) ne devraient pas exister.

曾经蜡笔没有小新

Il y a de moins en moins d'applications utilisant des clés étrangères. Il y en avait beaucoup il y a 10 ans. Principalement en raison de considérations d’indépendance commerciale. J'aime placer l'activité entièrement du côté des applications, et la base de données n'est utilisée qu'à des fins de persistance.

Lorsque j'ai commencé à travailler sur certaines bases de données de projets il y a plus de dix ans, les bases de données étaient également impliquées dans l'entreprise, mais plus tard j'ai découvert que c'était très pénible à maintenir. Plus tard, lors de la maintenance du projet, afin de résoudre tous les problèmes, un spécialiste des bases de données a dû être ajouté. Cette question a également été soulevée dans le résumé du projet. Le coût des spécialistes des bases de données est très élevé.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal