Info Node: (slib.info)Relational Database Operations
(slib.info)Relational Database Operations
Relational Database Operations
------------------------------
These are the descriptions of the methods available from an open
relational database. A method is retrieved from a database by calling
the database with the symbol name of the operation. For example:
(define my-database
(create-alist-database "mydata.db"))
(define telephone-table-desc
((my-database 'create-table) 'telephone-table-desc))
- Function: close-database
Causes the relational database to be written to its associated
file (if any). If the write is successful, subsequent operations
to this database will signal an error. If the operations completed
successfully, `#t' is returned. Otherwise, `#f' is returned.
- Function: write-database filename
Causes the relational database to be written to FILENAME. If the
write is successful, also causes the database to henceforth be
associated with FILENAME. Calling the `close-database' (and
possibly other) method on this database will cause FILENAME to be
written to. If FILENAME is `#f' this database will be changed to
a temporary, non-disk based database if such can be supported by
the underlying base table implelentation. If the operations
completed successfully, `#t' is returned. Otherwise, `#f' is
returned.
- Function: sync-database
Causes any pending updates to the database file to be written out.
If the operations completed successfully, `#t' is returned.
Otherwise, `#f' is returned.
- Function: table-exists? table-name
Returns `#t' if TABLE-NAME exists in the system catalog, otherwise
returns `#f'.
- Function: open-table table-name mutable?
Returns a "methods" procedure for an existing relational table in
this database if it exists and can be opened in the mode indicated
by MUTABLE?, otherwise returns `#f'.
These methods will be present only in databases which are MUTABLE?.
- Function: delete-table table-name
Removes and returns the TABLE-NAME row from the system catalog if
the table or view associated with TABLE-NAME gets removed from the
database, and `#f' otherwise.
- Function: create-table table-desc-name
Returns a methods procedure for a new (open) relational table for
describing the columns of a new base table in this database,
otherwise returns `#f'. For the fields and layout of descriptor
tables, Note:Catalog Representation.
- Function: create-table table-name table-desc-name
Returns a methods procedure for a new (open) relational table with
columns as described by TABLE-DESC-NAME, otherwise returns `#f'.
- Function: create-view ??
- Function: project-table ??
- Function: restrict-table ??
- Function: cart-prod-tables ??
Not yet implemented.