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)