ПредишенСледващото

Създаване на динамична база данни

В пролога, има специални средства за организиране на вътрешни и външни бази данни. Тези средства са предназначени за работа с релационни бази данни. Вътрешен стандартизация подпрограма извършва автоматично вземане на проби от вътрешните факти (динамичен) база данни с желаните стойности на известни параметри и определяне на стойностите несигурни параметри.

факти част на програмата в Visual Prolog се използва за описване предикат динамичен (вътрешна) на база данни. Базата данни се нарича динамичен, тъй като по време на програмата от него, можете да изтриете всички факти, както и добавяне на нови факти. Това е разликата от статични бази данни. където факти са част от кода на програмата и не могат да бъдат променяни по време на изпълнение.

Понякога е полезно да има част от информацията от базата данни под формата на статична база данни с факти - тези данни са вписани в динамичната база данни веднага след активиране на програмата. Като цяло, статични предикати бази данни имат различно име, но една и съща форма на представяне на данните като предикати динамична база данни. Добавянето на главна буква г до името на статичен предикат база данни - често срещан начин за разграничаване на предикатите на динамични и статични бази данни.

Трябва да се отбележи две ограничения, обявени в секцията факти:

· Само факти могат да се съдържат в динамична данни, базирани на Prolog;

· База данни факти не могат да съдържат свободни променливи.

Наличие на няколко факти секции. след описанието на всеки раздел факти необходимо изрично да посочвате името си, като факти - mydatabase. В две различни секции факти не могат да използват същите имена като основни. Можете също така не може да използва същите имена като основни в фактите на секции и предикати. Ако името на базата данни не е уточнено, а след това се определя основно име dbasedom а. Програмата може да съдържа местните неназовани раздели на фактите, ако тя се състои от един модул, който не е обявена като част от проекта. Специализираното логическо устройство компилира файла с програма като единичен модул само при използване на TestGoal полезност. В противен случай неназован раздел на фактите трябва да бъдат декларирани в световен мащаб, което е, както в световен мащаб факти.

В Prolog, имат специални вградени предикати за работа с динамична база данни:

* предикати твърдят, asserta, assertz, - позволяват да донесе на факта, към базата данни, и предикатите прибират, retractall - да го премахнат от съществуващ факт.

Отстояване на предикат навлиза в нова действителност към базата данни в произволен място, asserta предикат добавя нова действителност преди всички факти вече са въвели този предикат, assertz добавя нов факт, след като всички факти на предиката.

Предикатна прибиране изтрива от базата данни на първия факта, който е свързан с даден факт, retractall предикат премахва от всички факти на базата данни, които се сравняват с дадения факт.

Запази предикат пише всички динамични факти на базата данни в текстов файл на диска, един факт се вписват в всеки ред от файла. Ако даден файл с това име вече съществува, старият файл ще бъде презаписан.

Предикатна консултирайте записи в динамична база данни за факти, четат от текстов файл, с фактите по преписката ще бъдат прибавени към съществуващата база данни. Фактите, които се съдържат в текстовия файл трябва да бъдат описани в областите на секцията.

Пример 55: Да се ​​напише програма, която генерира множество от 4-битови двоични числа и да ги запишете в динамична база данни.

dbin (байт, байт, байт, байт)

Бин (байт, байт, байт, байт)

бен (A, B, C, D): - Cifra (А), Cifra (В), Cifra (С), Cifra (D),

твърдят (бен (A, B, C, D)).

Свързани статии

Подкрепете проекта - споделете линка, благодаря!