DM: Chapter 5(Bangla)

ডেটা এবং ইনফরমেশন ম্যানেজমেন্ট: রিলেশনাল ক্যালকুলাস এবং রিলেশনাল কমপ্লিটনেস

  • সূচনা: আজকের আলোচনার মূল বিষয় হলো রিলেশনাল ক্যালকুলাস এবং কোর এসকিউএল (Core SQL) ও রিলেশনাল অ্যালজেব্রার সাথে এর সমতুল্যতা।

  • আলোচনার আলোচ্যসূচি (Agenda):

    • কুয়েরি ল্যাঙ্গুয়েজ হিসেবে ফার্স্ট অর্ডার লজিক (FOL)।

    • ডোমেইন ইন্ডিপেন্ডেন্স (Domain Independence)।

    • অ্যাক্টিভ ডোমেইন সেম্যান্টিক্সের অধীনে রিলেশনাল ক্যালকুলাস।

    • সেফ রিলেশনাল ক্যালকুলাস (RCsafeRC_{safe})।

    • রিলেশনাল ক্যালকুলাসের বিভিন্ন প্রকারের সমতুল্যতা।

    • রিলেশনাল কমপ্লিটনেস।

FOL থেকে কুয়েরি ল্যাঙ্গুয়েজ: স্কিমা বনাম ভোকাবুলারি

  • ডেটাবেস স্কিমা (Database Schema): একটি ডেটাবেস স্কিমা (নামহীন দৃষ্টিকোণ থেকে) মূলত এমন একটি ভোকাবুলারি যেখানে শুধুমাত্র কনস্ট্যান্ট (constants) এবং প্রেডিকেট নাম (predicate names) থাকে।

  • FOL সূত্র (Formulas): FOL সূত্রগুলো একটি ভোকাবুলারির উপর ভিত্তি করে তৈরি করা হয়।

  • ভোকাবুলারি সংজ্ঞায়ন: ভোকাবুলারি হলো একটি টিউপল σ=(c1,...,cm,R1,...,Rk,f1,...,fℓ)\sigma = (c_1, . . . , c_m, R_1, . . . , R_k , f_1, . . . , f_{\ell}), যেখানে অন্তর্ভুক্ত থাকে:

    • কনস্ট্যান্ট সিম্বলসমূহ: cic_i।

    • প্রেডিকেট সিম্বলসমূহ: RiR_i যার একটি নির্দিষ্ট অ্যারিটি (arity) থাকে arity(Ri)\text{arity}(R_i)।

    • ফাংশন সিম্বলসমূহ: fif_i যার একটি নির্দিষ্ট অ্যারিটি থাকে arity(fi)\text{arity}(f_i)।

  • নির্মাণ পদ্ধতি (Construction):

    • ভোকাবুলারি σ=(c1,...,cm,R1,...,Rk)\sigma = (c_1, . . . , c_m, R_1, . . . , R_k) থেকে নামহীন স্কিমা Sσ:Rel→N:Ri→arity(Ri)S_{\sigma} : \text{Rel} \rightarrow \mathbb{N} : R_i \rightarrow \text{arity}(R_i) পাওয়া যায়।

    • একইভাবে, একটি স্কিমা SS থেকে ভোকাবুলারি σS=(R1,...,Rk)\sigma_S = (R_1, . . . , R_k) পাওয়া যায় যেখানে রিলেশন নামগুলোর নির্দিষ্ট অ্যারিটি থাকে।

  • উদাহরণ:

    • ভোকাবুলারি σ=(President,Chair,Author[2],Knows[2],Accepted[1],Reviewer[2])\sigma = (\text{President}, \text{Chair}, \text{Author}[2], \text{Knows}[2], \text{Accepted}[1], \text{Reviewer}[2])।

    • সংশ্লিষ্ট স্কিমা S={Author[2],Knows[2],Accepted[1],Reviewer[2]}S = \{\text{Author}[2], \text{Knows}[2], \text{Accepted}[1], \text{Reviewer}[2]\}।

ফার্স্ট অর্ডার লজিক (FOL) - সিনট্যাক্স

  • পদ বা টার্ম (Terms): কনস্ট্যান্ট এবং ভেরিয়েবলগুলোকে একত্রে টার্ম বলা হয়।

  • সিনট্যাক্স সংজ্ঞা: একটি স্কিমা SS এবং কনস্ট্যান্ট সেট Const\text{Const} এর বিপরীতে FOL সূত্রগুলো নিম্নরূপ:

    • অ্যাটোমিক সূত্র (Atomic Formulae): যদি a∈Consta \in \text{Const} এবং x,yx, y ভেরিয়েবল হয়, তবে x=ax = a এবং x=yx = y হলো অ্যাটোমিক সূত্র।

    • যদি u1,...,uku_1, . . . , u_k টার্ম হয় এবং RR একটি kk-অ্যারি রিলেশন হয়, তবে R(u1,...,uk)R(u_1, . . . , u_k) একটি অ্যাটোমিক সূত্র।

    • লজিক্যাল কানেক্টিভস: যদি ϕ1\phi_1 এবং ϕ2\phi_2 সূত্র হয়, তবে (ϕ1∧ϕ2)(\phi_1 \wedge \phi_2), (ϕ1∨ϕ2)(\phi_1 \vee \phi_2), এবং (¬ϕ1)(\neg \phi_1) ও সূত্র।

    • কোয়ন্টিফায়ার (Quantifiers): যদি ϕ\phi একটি সূত্র হয় এবং x∈Varsx \in \text{Vars} হয়, তবে (∃xϕ)(\exists x \phi) এবং (∀xϕ)(\forall x \phi) সূত্র হিসেবে গণ্য হবে।

  • সংক্ষিপ্ত চিহ্ন (Shorthand Notations):

    • রিডাবিলিটি ঠিক থাকলে ব্র্যাকেট বর্জন করা যায়।

    • অপারেটরের অগ্রাধিকার: ¬\neg সবচেয়ে শক্তিশালী, এরপর ∧\wedge, তারপর ∨\vee, এবং সবশেষে কোয়িন্টিফায়ারসমূহ।

    • একাধিক এক্সিস্টেনশিয়াল বা ইউনিভার্সাল ভেরিয়েবলকে একত্রে লেখা যায় (যেমন: ∃x,y\exists x, y)।

    • ϕ⇒ψ\phi \Rightarrow \psi মানে হলো ψ∨¬ϕ\psi \vee \neg \phi।

    • ¬(x=y)\neg(x = y) এর পরিবর্তে x≠yx \neq y লেখা হয়।

ডেটাবেস ইনস্ট্যান্স বনাম স্ট্রাকচার

  • ডেটাবেস ইনস্ট্যান্স: এটি মূলত একটি সসীম কাঠামো বা স্ট্রাকচার।

  • ভোকাবুলারি σ\sigma এর জন্য স্ট্রাকচার: এটি একটি টিউপল A=(A,⋅A)\mathcal{A} = (A, \cdot^{\mathcal{A}}) যেখানে:

    • AA হলো উপাদানের একটি সেট যাকে ডোমেইন বলা হয় (এটি অসীম হতে পারে)।

    • ⋅A\cdot^{\mathcal{A}} একটি ফাংশন যা সিম্বলগুলোকে ইন্টারপ্রিট করে।

    • প্রতি কনস্ট্যান্ট cic_i এর জন্য ciA∈Ac_i^{\mathcal{A}} \in A।

    • প্রতি প্রেডিকেট RiR_i এর জন্য RiA:Aarity(Ri)→{true,false}R_i^{\mathcal{A}} : A^{\text{arity}(R_i)} \rightarrow \{\text{true}, \text{false}\}।

    • প্রতি ফাংশন fif_i এর জন্য fiA:Aarity(fi)→Af_i^{\mathcal{A}} : A^{\text{arity}(f_i)} \rightarrow A।

  • সসীম কাঠামো (Finite Structure): যদি ডোমেইন AA সসীম হয়, তবে তাকে সসীম কাঠামো বলে।

  • ডেটাবেস এবং স্ট্রাকচারের সংযোগ: একটি ডেটাবেস ইনস্ট্যান্স DD কে একটি স্ট্রাকচার হিসেবে গণ্য করা যায় যেখানে ডোমেইন AA এমন যে Dom(D)⊆A⊆Const\text{Dom}(D) \subseteq A \subseteq \text{Const}।

ফার্স্ট অর্ডার লজিক (FOL) - সেম্যান্টিক্স

  • ভ্যালুয়েশন (Valuation): একটি স্ট্রাকচার A\mathcal{A} এবং সূত্র ϕ\phi এর জন্য ভ্যালুয়েশন η\eta হলো ভেরিয়েবল থেকে ডোমেইন AA তে একটি ম্যাপিং। η[x/a]\eta[x/a] মানে হলো ভেরিয়েবল xx এর মান aa।

  • সন্তুষ্টির শর্তসমূহ (Satisfaction - (A,η)⊨ϕ(\mathcal{A}, \eta) \models \phi):

    • (A,η)⊨x=y(\mathcal{A}, \eta) \models x = y যদি η(x)=η(y)\eta(x) = \eta(y) হয়।

    • (A,η)⊨x=a(\mathcal{A}, \eta) \models x = a যদি η(x)=aA\eta(x) = a^{\mathcal{A}} হয়।

    • (A,η)⊨R(u1,...,uk)(\mathcal{A}, \eta) \models R(u_1, . . . , u_k) যদি (η(u1),...,      η(uk))∈RA(\eta(u_1), . . . ,       \eta(u_k)) \in R^{\mathcal{A}} হয়।

    • কনজাংশন (∧\wedge), ডিজাংশন (∨\vee), নেগেশন (¬\neg) স্বাভাবিক লজিক নিয়ম অনুসরণ করে।

    • (A,η)⊨∃xψ(\mathcal{A}, \eta) \models \exists x \psi যদি কোনো a∈Aa \in A এর জন্য (A,η[x/a])⊨ψ(\mathcal{A}, \eta[x/a]) \models \psi হয়।

    • (A,η)⊨∀xψ(\mathcal{A}, \eta) \models \forall x \psi যদি সকল a∈Aa \in A এর জন্য (A,η[x/a])⊨ψ(\mathcal{A}, \eta[x/a]) \models \psi হয়।

কুয়েরি ল্যাঙ্গুয়েজ হিসেবে রিলেশনাল ক্যালকুলাস

  • সংজ্ঞা: একটি রিলেশনাল ক্যালকুলাস এক্সপ্রেশন হলো ϕ(x)\phi(x) ফরম্যাটের একটি সূত্র, যেখানে ϕ\phi একটি FOL সূত্র এবং xx হলো ফ্রি ভেরিয়েবলগুলোর একটি টিউপল।

  • ইভালুয়েশন বা মূল্যায়ন: ডেটাবেস DD এবং কুয়েরি q=ϕ(x1,...,xk)q = \phi(x_1, . . . , x_k) এর জন্য:

    • q(D)={a∈Ak∣D⊨ϕ(a)}q(D) = \{ a \in A^k \mid D \models \phi(a) \}।

  • সতর্কতা: স্লাইডের সংজ্ঞাসমূহ বইয়ের সংজ্ঞার থেকে সামান্য ভিন্ন হতে পারে যা পরবর্তীতে আলোচিত হবে।

ডোমেইন ইন্ডিপেন্ডেন্স (Domain Independence)

  • লজিক এবং ডেটাবেসের পার্থক্য: কিছু RC কুয়েরির উত্তর শুধুমাত্র ডেটাবেসের মানের উপর নয়, বরং বিবেচ্য ডোমেইন Const\text{Const} এর উপর নির্ভর করে। এটি ডেটাবেসের ক্ষেত্রে কাম্য নয়।

  • সংজ্ঞা: একটি RC কুয়েরি qq কে ডোমেইন ইন্ডিপেন্ডেন্ট বলা হয় যদি প্রতি ডেটাবেস DD এবং ডোমেইন সেট A,BA, B এর জন্য (যেখানে Dom(D)∪Dom(q)⊆A\text{Dom}(D) \cup \text{Dom}(q) \subseteq A এবং BB) কুয়েরির ফলাফল সমান হয়: q(D,A)=q(D,B)q(D, A) = q(D, B)।

  • অনির্ণয়যোগ্যতা (Undecidability): ডোমেইন ইন্ডিপেন্ডেন্স একটি অনির্ণয়যোগ্য বৈশিষ্ট্য। কোনো ডেটাবেস সিস্টেম স্বয়ংক্রিয়ভাবে পরীক্ষা করে বলতে পারে না যে একটি কুয়েরি ডোমেইন ইন্ডিপেন্ডেন্ট কিনা।

  • সমাধানসমূহ:

    1. অ্যাক্টিভ ডোমেইন সেম্যান্টিক্স (RCadomRC_{adom}): সকল ভেরিয়েবলকে শুধুমাত্র ডেটাবেসে বিদ্যমান মানগুলোর (Active Domain) মধ্যে সীমাবদ্ধ রাখা।

    2. সেফ রিলেশনাল ক্যালকুলাস (RCsafeRC_{safe}): কিছু সিনট্যাকটিক সীমাবদ্ধতা আরোপ করা যা ডোমেইন ডিপেন্ডেন্ট কুয়েরিগুলোকে বর্জন করে।

সেফ রিলেশনাল ক্যালকুলাস এবং SRNF

  • উদ্দেশ্য: একটি সিনট্যাকটিক কন্ডিশন খুঁজে বের করা যাতে প্রতিটি ভেরিয়েবল কোনো কনস্ট্যান্ট বা রিলেশনের সাথে সম্পর্কিত থাকে।

  • সেফ-রেঞ্জ নরমাল ফর্ম (SRNF): একটি FOL এক্সপ্রেশন SRNF-এ থাকবে যদি:

    • ভেরিয়েবল নাম পুনরায় ব্যবহার না করা হয়।

    • কোনো ইউনিভার্সাল কোয়িন্টিফায়ার (∀\forall) না থাকে (পরিবর্তে ¬∃¬\neg \exists \neg ব্যবহার)।

    • কোনো ইমপ্লিকেশন (⇒\Rightarrow) না থাকে।

    • কোনো ডাবল নেগেশন (¬¬\neg \neg) না থাকে।

    • কনজাংশন এবং ডিজাংশনগুলো সরলীকৃত (flattened) থাকে।

  • রেঞ্জ-রেস্ট্রিক্টেড ভেরিয়েবল (rr(ϕ)rr(\phi)):

    • rr(x=a)={x}rr(x = a) = \{x\}

    • rr(R(t1,...,tn))=Vars(t1)∪...∪Vars(tn)rr(R(t_1, . . . , t_n)) = \text{Vars}(t_1) \cup . . . \cup \text{Vars}(t_n)

    • rr(ϕ∧ψ)=rr(ϕ)∪rr(ψ)rr(\phi \wedge \psi) = rr(\phi) \cup rr(\psi)

    • rr(ϕ∨ψ)=rr(ϕ)∩rr(ψ)rr(\phi \vee \psi) = rr(\phi) \cap rr(\psi)

    • নেগেশনের ক্ষেত্রে rr(¬ϕ)=∅rr(\neg \phi) = \emptyset।

  • সেফ সূত্র: একটি সূত্র ϕ\phi সেফ হবে যদি এটি SRNF-এ থাকে এবং এর সকল ফ্রি ভেরিয়েবল rr(ϕ)rr(\phi) সেটের অন্তর্ভুক্ত হয়।

কড-এর উপপাদ্য (Codd’s Theorem) এবং রিলেশনাল কমপ্লিটনেস

  • উপপাদ্য: ডোমেইন-ইন্ডিপেন্ডেন্ট রিলেশনাল ক্যালকুলাস, কোর এসকিউএল (Core SQL), এবং রিলেশনাল অ্যালজেব্রা (RA) হুবহু একই মানের কুয়েরি প্রকাশ করতে পারে।

  • রিলেশনাল কমপ্লিটনেস: কোনো ল্যাঙ্গুয়েজ যদি সকল RC কুয়েরি প্রকাশ করতে পারে, তবে তাকে রিলেশনাল কমপ্লিট বলা হয়। এটি প্রোগ্রামিং ল্যাঙ্গুয়েজের টিউরিং-কমপ্লিটনেসের মতো একটি ভিত্তিগত মানদণ্ড।

সীমাবদ্ধতা এবং অন্যান্য বৈশিষ্ট্য

  • যা প্রকাশ করা সম্ভব নয়: রিলেশনাল কমপ্লিট হওয়া মানেই টিউরিং কমপ্লিট হওয়া নয়। যেমন:

    • দুটি নোডের মধ্যে পথ আছে কিনা (Path connectivity / Reachability)।

    • প্যারেটি কুয়েরি (Parity query - উপাদানের সংখ্যা জোড় না বিজোড়)।

    • এগ্রিগেশন (Aggregation) বা নতুন মান তৈরি করা (Value invention)।

  • 0-1 ল (0-1 Law): যে কোনো কনস্ট্যান্ট-মুক্ত FO সেন্টেন্সের ক্ষেত্রে ডোমেইন সাইজ অসীমের দিকে ধাবিত হলে এর সত্য হওয়ার সম্ভাবনা হয় 00 অথবা 11 হবে। এই বৈশিষ্ট্যটি ব্যবহার করে প্রমাণ করা যায় যে কার্ডিনালিটি কুয়েরি (যেমন: একটি রিলেশনের আকার অন্যটির চেয়ে ছোট কিনা) FOL-এ প্রকাশ করা সম্ভব নয়।

পঠন নির্দেশিকা

  • বই: Database Theory - চ্যাপ্টার 3 (First Order Logic) এবং চ্যাপ্টার 6 (Equivalence of Logic and Algebra)।

  • বিশেষ দ্রষ্টব্য: বইয়ে FOL বলতে মূলত অ্যাক্টিভ ডোমেইন সেম্যান্টিক্স বোঝানো হয়েছে। ডোমেইন ইন্ডিপেন্ডেন্স এবং সেফনেস সংক্রান্ত বিস্তারিত তথ্যের জন্য Alice বইটি দেখা যেতে পারে (http://webdam.inria.fr/Alice/)।