სამმნიშვნელობიანი ლოგიკა: განსხვავება გადახედვებს შორის

[შემოწმებული ვერსია][შემოწმებული ვერსია]
შიგთავსი ამოიშალა შიგთავსი დაემატა
Replacing deprecated latex syntax mw:Extension:Math/Roadmap
No edit summary
ხაზი 364:
 
== პროგრამები ==
მონაცემთა ბაზების სტრუქტურირებული მოთხოვნების ენაში SQL რეალიზებულია სამმნიშვნელობიანი ლოგიკა როგორც NULL მნიშვნელობის ველების შედარების დასამუშავებლად. მონაცემთა ბაზებში NULL მნიშნელობისმნიშვნელობის დანერგვის საწყის იდეა იყო ისეთი ისეთი ველების წარმოდგენა რომლებშიც მონაცემები არ იყო, ე.ი. დაიშვებოდა, რომ მონაცემები არსებობს, თუმცა ამ დროისთვის ბაზაში ჩაწერილი არ არის. SQL იყენებს კლეინის ტერნარული ლოგიკის ფრაგმენტს, რომელიც შეზღუდულია „და“, „ან“ და „არა“ ცხრილებით.
 
SQL-ში მიღებულია რომ შუალედურ მნიშვნელობას დაერქვას „უცნობი“. შედარება NULL-თან, მათ შორის სხვა NULL-ელის შედარება მასთან, აბრუნებს „უცნობს“, ვინაიდან NULL-ის მნიშვნელობა უცნობია.<ref>[https://docs.microsoft.com/en-us/sql/t-sql/language-elements/null-and-unknown-transact-sql?view=sql-server-2017 NULL and UNKNOWN (Transact-SQL). SQL Server. Microsoft Docs. 03.06.2017]</ref> NULL არ არის NULL-ის ტოლი. მიუხედავად ამისა, ზოგიერთ ოპერაციაში ეს პრინციპი არ მუშაობს და NULL მუშავდება როგორც NULL-ის ტოლი, მაგალითად <code>UNION</code> ან <code>INTERSECT</code> ოპერაციებში. კრიტიკოსების აზრით, ეს შეუსაბამობა SQL-ს NULL-ების დამუშავების ინტუიტიურ სემანტიკას აკარგვინებს.<ref>Ron van der Meyden, [https://books.google.ge/books?id=gF0b85IuqQwC&pg=PA344&redir_esc=y#v=onepage&q&f=false "Logical approaches to incomplete information: a survey"] in Chomicki, Jan; Saake, Gunter (Eds.) Logics for Databases and Information Systems, Kluwer Academic Publishers {{ISBN|978-0-7923-8129-7}}, p. 344; [http://www.cse.unsw.edu.au/~meyden/research/indef-review.ps PS preprint] </ref> SQL-ის სტანდარტში გათვალისწინებულია ნებაყოფლობითი შესაძლებლობა სახელწოდებით F571, რომელიც ამატებს რამდენიმე უნარულ ოპერატორს. მათ შორისაა <code>IS UNKNOWN</code>. იგი შეესაბამება ლუკასიევიჩის <math> \textbf I</math>-ს, რომელიც აღერილია მოცემულ სტატიაში, ზემოთ. დანარჩენი სამობითი ლოგიკის ოპერატორებთან ერთად <code>IS UNKNOWN</code> ოპერატორის დამატებით, SQL-ის სამობითმა ლოგიკამ ფუნქციონალურად დასრულებული<ref>C. J. Date, Relational database writings, 1991–1994, Addison-Wesley, 1995, p. 371</ref> სახე მიიღო, რამეთუ, მისი ოპერატორებით (კომბინაციაში) შესაძლებელი გახდა ნებისმიერი სამმნიშვნელობიანი ლოგიკური ფუნქციის გამოსახვა.