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