1.3 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			1.3 KiB
		
	
	
	
	
	
	
	
up::BDD language de requête #s/informatique
Une requête conjonctive sur un shéma de base données D est une expression de la forme :
ans(u) \leftarrow R_1(u_1),\ldots,R_n(u_n)
et se lit ans est vrai si R_1, R_2, \ldots, R_n sont vraies
- 
ans(u)est appelé la tête de la règle
- 
R_1(u_1), \ldots, R_n(u_n)est appelé le corps de la règle
- 
R_iest un nom de relation deD
- 
ans \notin Dest un nom de relation
- 
u_iest une expression de la formee_1, e_2, \ldots, e_{m_i}
- 
condition de champs restreint - chaque variable apparaissant dans la tête doit nécessairement apparaître aussi dans le corps
 
Pour calculer le résultat de la requête, on doit tester toutes le valuation possibles qui respectent R_1, R,2, \ldots, R_n, et appliquer ces valuation sur la relation ans pour obtenir l'instance de ans.
Exemples
- qui est le réalisateur de dune ?
- ans(r) \leftarrow films("dune", r, a)
- le résultat est "Lynch"- Car seule une valuation respecte films("dune", r, a)(c'est-à-dire un film nommé "dune" avec le réalisateur et l'année correspondante dans la relation), et que cette valuation doner="Lynch"
 
- Car seule une valuation respecte 
 
- en quelle année est sorti nikita ?
- ans(a) \leftarrow films("nikita", r, a)