Ngữ nghĩa của chương trình Datalog được thực hiện tương tự tiếp cận lý thuyết mô hình của chương trình Datalog đã xét ở chương 1, nghĩa là xem chương trình đã cho như là một lý thuyết bậc nhất. Đối với một quy tắc ρ: h
← a1,..., an, trong đó var(body(ρ)) = {X1, ..., Xk}, nếu h có dạng Y1 . . . Ym a0
thì ta liên kết với mệnh đề bậc nhất:
X1 … XkY1 … Ym (a0 ← a1 … an) (2)
Định nghĩa 2.4 Một thể hiện I đối với lược đồ = SCH(P) của chương trình Datalog P là một tập các nguyên tố có dạng r(t), trong đó r là vị từ n-ngôi của
và t ( N)n, ký hiệu r(I) = {t | r(t) I}.
Định nghĩa 2.5 Một thể hiện I của chương trình Datalog P được gọi là thỏa mãn quy tắc ρ của P nếu đối với mỗi đồng cấu μ mà {μ(a1), ... , μ(an)}⊆ I sẽ kéo theo có một mở rộng μ’ của của μ, μ’ ⊇ μ sao cho 𝜇’(a0) I.
Các mệnh đề có dạng (2) ở trên được gọi là phụ thuộc sinh bộ (ký hiệu TGDs), với ý nghĩa là với một số bộ hiện có trong một thể hiện sẽ kéo theo sự hiện diện của một số bộ khác trên cùng thể hiện đó.
Hội của các mệnh đề bậc nhất liên kết với các quy tắc của một chương trình DatalogP được ký hiệu là ΣP.
Định nghĩa 2.6 Mô hình của chương trình Datalog là một thể hiện của SCH(P) thỏa mãn ΣP.
Định nghĩa 2.7 [9] Ngữ nghĩa của chương trình Datalog P trên một cơ sở dữ liệu vào D, ký hiệu P(D), là một thể hiện M của SCH(P) sao cho M ⊇ D, M là mô hình của P và đối với mỗi mô hình M của P chứa D, tồn tại một đồng cấu μ
sao cho μ(M) ⊆ M. Một thể hiện như thế được gọi là mô hình phổ dụng của P
theo D.
Về mặt trực quan, mô hình phổ dụng không chứa nhiều hơn và cũng không chứa ít hơn thông tin mà chương trình đã cho đòi hỏi.
Nói chung, thường tồn tại nhiều hơn một mô hình phổ dụng của P theo D. Tuy nhiên các mô hình phổ dụng này là như nhau theo nghĩa tương đương đồng cầu, nghĩa là đối với mỗi cặp mô hình phổ dụng M1 và M2, sẽ tồn tại các đồng cấu h1 và h2 sao cho h1 (M1) ⊆ M2 và h2 (M2) ⊆ M1. Như vậy, P(D) có tính duy nhất theo phép tương đương đồng cấu.