Maison > Article > base de données > Déduction des formes de clauses dans la base de données
Une base de données déductive en SQL ou tout autre système de base de données est un outil qui peut tirer des conclusions sur de nouveaux faits basés sur des règles et des informations déjà présentes dans la base de données. Dans les bases de données déductives, les enregistrements de données constituent le langage couramment utilisé pour exprimer des faits, des règles et des requêtes. Lorsqu'elle est exprimée sous forme de clause, la formule se compose de plusieurs clauses, chacune étant constituée de plusieurs littéraux reliés uniquement par des connecteurs logiques marqués du symbole OU.
Les quantificateurs suivants peuvent être utilisés dans les formules -
Quantificateur universel - Il peut être lu comme "P(x) est valable pour tous les x", ce qui signifie que P(x) est valable pour toutes les instances de x dans l'univers.
Par exemple, les camions ont des roues.
Quantificateur existentiel - Cela signifie que P(x) est valable pour au moins un terme x dans l'univers, et s'exprime comme "il existe un x tel que P(x)".
Exemple : Vous êtes pris en charge par quelqu'un.
Les formules du formulaire de clause doivent être remplacées par des formules présentant les qualités suivantes -
Chaque élément de la formule a une valeur quantifiée. Il n’est donc pas nécessaire d’ajouter explicitement un quantificateur universel pour tout le monde. Lorsque le quantificateur est supprimé, toutes les variables de la formule sont implicitement quantifiées par le quantificateur universel.
Supposons que la formule se compose de plusieurs clauses, chaque clause se compose de plusieurs littéraux reliés uniquement par le connecteur logique OU, donc la formule se compose de clauses. Chaque phrase est une disjonction de mots.
Les phrases elles-mêmes ne sont reliées que par des connecteurs logiques ET pour créer des formules. Par conséquent, la forme clause de la formule est la conjonction de la clause.
Comme cela peut être prouvé, n'importe quelle formule peut être transformée en clause. Pour nos besoins, la structure des propositions individuelles (dont chacune est une disjonction de littéraux) est d’un intérêt primordial. N'oubliez pas que ces littéraux peuvent être positifs ou négatifs. Considérez la clause suivante -
NOT(P1) OR NOT(P2) OR ..... OR NOT(Pn) OR Q1 OR Q2 OR ..... OR Qm
Il y a m mots positifs et n mots négatifs dans la clause précédente. Une formule logique similaire ci-dessous peut être utilisée pour exprimer cette clause -
P1 AND P2 AND ..... AND Pn => Q1 OR Q2 OR ..... OR Qm
Par exemple, le symbole implicite est "=>".
La deuxième formule n'est vraie que si au moins un Q est vrai, ce que signifie le signe (implicite). Cela est vrai si tous les p littéraux i = (1, 2,...,) sont vrais. Pour la première formule, si l’un des P littéraux i = (1, 2,..., n) est vrai, alors toutes ses négations sont également vraies. Par conséquent, dans ce cas, cela n’est vrai que si au moins un Q est vrai.
Par conséquent, les valeurs de vérité des deux formules ci-dessus sont toujours les mêmes car comparables.
Sous forme de clause, la formule est écrite sous la forme d'une série de phrases dont chacune est constituée d'un certain nombre de mots reliés uniquement par des connecteurs logiques de la variante OU.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!