Download Datalog Educational System V3.3 User`s Manual

Transcript
Universidad Complutense de Madrid
Datalog Educational System
If you have persisted a predicate for which no type constraints has been given
before, a type constraint is derived, if possible, and asserted. This type constraint
remains even when the persistency assertion is removed. If you want to remove this
too, then submit a /drop_ic command. The following session illustrates this:
DES> /dbschema
Info: Database '$des'
Info: No tables.
Info: No views.
Info: No integrity constraints.
DES> :-persistent(p(a:int),mysql)
DES> /dbschema
Info: Database '$des'
Info: No tables.
Info: View(s):
* p(a:number(integer))
- Defining SQL statement:
CREATE VIEW p(a) AS
SELECT ALL *
FROM
p_des_table;
Info: No integrity constraints.
DES> /drop_assertion :-persistent(p(a:int),mysql)
DES> /dbschema
Info: Database '$des'
Info: Table(s):
* p(a:number(integer))
Info: No views.
Info: No integrity constraints.
DES> /drop_ic :-type(p(a:int))
DES> /dbschema
Info: Database '$des'
Info: No tables.
Info: No views.
Info: No integrity constraints.
If you want to completely remove a predicate, even its persistent
representation, you can use the command /abolish, as in:
DES> /abolish p
DES> /dbschema
Info: Database '$des'
Info: No tables.
Info: No views.
Info: No integrity constraints.
DES> /listing p
Info: 0 rules listed.
DES> /use_db mysql
DES> /dbschema mysql:p
Info: Database 'mysql'
Error: No table or view found with name 'p'.
Also, dropping the SQL view corresponding to a predicate removes persistency,
as in:
Fernando Sáenz-Pérez
122/228