interbase 数据库中的对象怎样解释:(200分)

  • 主题发起人 主题发起人 yh
  • 开始时间 开始时间
Y

yh

Unregistered / Unconfirmed
GUEST, unregistred user!
domains,
tables,
views,
procedures,
functions.
generators,
exceptions,
blob Filters
以上对象有什么含义及怎样应用。
 

I can give you a brief description of what and how it works, but u'd better
read manual book of interbase to understand clearly and deeply.

-----------------------------------------------------------
domain - A domain specifies a data type, and a set of
column attributes and constraints.

Example : How to create a domain

CREATE DOMAIN myDataType
AS CHAR(5)
CHECK (VALUE = UPPER (VALUE));
-----------------------------------------------------------
table - A table is a data structure consisting of an
unordered set of horizontal rows, each containing
the same number of vertical columns.

Example : How to create a table

CREATE TABLE myTable(
userid AS INTEGER,
username AS myDataType,
address AS CHAR(40),
PRIMARY KEY (userid)
)
-----------------------------------------------------------
view - A view is a virtual table that is not physically stored
in the database, but appears exactly like a "real" table.

Example: How to create a view

CREATE VIEW view_user_address (user_id) AS
SELECT address FROM myTable WHERE userid=user_id

You can use following statements to get user id 1's address

SELECT address FROM view_user_address(1)
-----------------------------------------------------------
procedure - such as function of Delphi, A internal function
that can be defined in SQL and can directly be
invoked in SQL statement and other system such
as Delphi, VB.

Example: Create a procedure

/* delete user from myTable */
CREATE PROCEDURE delete_user(user_id AS INTEGER) AS
DELETE myTable WHERE user_id=:user_id
END;

Example : call procedure
/* call procedure delete_user to delete user 1 */
....
EXECUTE PROCEDURE delete_user(1);
...
-----------------------------------------------------------
function - A funciton is a User-defined functions(UDF) that created
by other langruage.

the function of Interbase is so limited that you must
use UDF to perfrom special requests.

Example : How to defined a function
/*
* Function ADDRTONAME
* addrToName resolve the IP address to DNS address
*/
DECLARE EXTERNAL FUNCTION ADDRTONAME
CSTRING(32)
RETURNS CSTRING(254)
ENTRY_POINT "addrToName" MODULE_NAME
"/home/Project/NetCharge/bin/lib/libaddrToName.so"

..............
/* in you C program you can write:
(char *) addrToName((char *) ip){
return = gethostbyAddress(ip);
}
...............

-----------------------------------------------------------
generator - A generator is a mechanism that creates a unique,
sequential number that is automatically inserted
into a column by the database when SQL data
manipulation operations such as INSERT or UPDATE occur.

Example: How to create a generator

CREATE GENERATOR userid_gen;
SET TERM ^ ;
CREATE TRIGGER CREATE_userid FOR myTable
BEFORE INSERT
POSITION 0
AS BEGIN
NEW.userid = GEN_ID(userid_gen, 1);
END
SET TERM ; ^
----------------------------------------------------------
exception - An exception is a named error message that can
be raised from a trigger or a stored procedure.

Example : How to create a exception

This statement creates the exception unknow_userid:

CREATE EXCEPTION unknow_userid "Invalid user ID number ";

The following statement from a stored procedure raises
the previously set exception when SQLCODE -530 is set,
which is a violation of a FOREIGN KEY constraint.

. . .
WHEN SQLCODE -530 DO
EXCEPTION unknow_userid;
. . .
----------------------------------------------------------
blob Filters - A BLOB filter is a routine that translates
BLOB data from one subtype to another.

You cannot using blob Filters in your SQL statments
directly.
Blob Filter is User-defined functions (UDFs) that written
by other langruage such as C, C++
When you write a blob Filter rounting using C, and you may
use DECLARE FILTER statement to invoke to filter routing
which you defined.

Example : defined a text_fileter filter which perform a special
function.

DECLARE FILTER BLOB_FORMAT
INPUT_TYPE 1 OUTPUT_TYPE -99
ENTRY_POINT "Text_filter" MODULE_NAME "myFilterModule";
 
只看了一个domain,我便接受了,因为能懂一些了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
670
import
I
后退
顶部