宝岛数据库开发技术说明书

    本系统由由三个部分和一些开发工具组成,分别为数据服务器子系统,数据管理子系统 ,用户应用子系统和用户视图和打印模式开发子系统,目前只能在
    windows2000系统和windowsxp系统中使用,根据操作系统的不同,选择安装文件。硬件上要求服务器
    子系统上的机器内存足够大,以便系统运行更加的流畅和稳定。用户的配置越好,系统的服务质量也
    会越好。

用户要在本系统平台进行开发使用,必须对系统指令和语法的掌握,对系统系统体系结构有所了解。在这里,我们先来看基本指令:

基本SQL执行语句

一、打开特定数据库sjkname

语句=”use sjkname;”

二、插入记录

语句=”insert [into] table_name [(colname,colname1,…)]

values(val1,val2,val3,…)

|select

|default_value

|excute ;”

三、插入视图记录

语句=”insertv [into] table_name [(colname,colname1,…)]

values(val1,val2,val3,…)

|select

|default_value

|excute ;”

四、记录

语句=“update tablename1,tablename2,…set colname1=val1, colname1=val1,…[where 子句];”

五、删除记录

语句=“delete [from] tablename [where 子句];”

六、删除视图记录

语句=“deletev [from] tablename [where 子句];”

七、显示记录

语句=“select *|colname|express(colnames) from table1[,table2,table3..][where][group by][order by]; ”

其中where 子句可以有以下情况:

1、 and

2、 between and

3、 like

4、 or

5、 in(1,2,3…)

6、 in(select子句)

八、显示视图记录

语句=“selectv *|colname|express(colnames) from table1[,table2,table3..][where][group by][order by]; ”

其中where 子句可以有以下情况:

7、 and

8、 between and

9、 like

10、 or

11、 in(1,2,3…)

12、 in(select子句)

九、删除数据库

语句=“drop database sjkname;”

十、删除数据表

语句=“drop table tablename;”

十一、删除索引

语句=“drop index sym,bm,zdm;”

十二、删除空间

语句=“drop space spacename;”

十三、删除用户

语句=“drop user username;”

十四、删除角色

语句=“drop role rolename;”

十 五、删除过程

语句=“drop proc procname;”

十六、删除函数

语句=“drop func funcname;”

十七、删除视图

语句=“drop view viewname;”

十八、删除计划

语句=“drop jihua jhname;”

十九、删除检查

语句=“drop jiancha jcname,bm,zdm;”

二十、删除触发

语句=“drop chufa cfname,bm,zdm;”

二十一、删除限制

语句=“drop xianzhi xzname,bm,zdm;”

二十二、显示用户

语句=“show user all|name;”

二十三、显示角色

语句=“show role all|name;”

二十四、显示表

语句=“show ;”

二十五、显示视图

语句=“show view all|name;”

二十六、显示字段

语句=“show field all|name;”

二十七、显示视图字段

语句=“show vfield all|name;”

二十八、显示索引

语句1、=“show index all;”

语句2、=“show index bm=;”

语句3、=“show index bm=,zdm=;”

二十九、显示空间

语句=“show space all|name;”

三十、显示角色授权

语句1=“show jssq all;”

语句2=“show jssq user=username;”

语句3=“show jssq role= rolename;”

语句4=“show jssq role= rolename, user= username;”

三十一、显示过程

语句=“show proc all|name;”

三十二、显示函数

语句=“show func all|name;”

三十三、显示计划

语句=“show jihua all|name;”

三十四、显示对象授权

语句1=“show dxsq all;”

语句2=“show dxsq on dx;”

语句3=“show dxsq to username;”

语句4=“show dxsq on dx to username;”

三十五、显示检查

语句1=“show jiancha all;”

语句2=“show jiancha bm=tablename;”

语句3=“show jiancha bm=tablename,zdm=zdname;”

语句4=“show jiancha zdm=zdname;”

三十六、显示触发

语句1=“show chufa all;”

语句2=“show chufa bm=tablename;”

语句3=“show chufa bm=tablename,zdm=zdname;”

语句4=“show chufa zdm=zdname;”

三十七、显示限制

语句1=“show xianzhi all;”

语句2=“show xianzhi bm=tablename;”

语句3=“show xianzhi bm=tablename,zdm=zdname;”

语句4=“show xianzhi zdm=zdname;”

三十八、显示引用表

语句1=“show yybiao all;”

语句2=“show yybiao bm=;”

语句3=“show yybiao zdm=;”

语句4=“show yybiao bm=,zdm=;”

三十九、显示序列号

语句=“show xlh all|biaoname;”

四十、显示序列号

语句=“show xuliehao bm;”

四十一、授权

语句1=“grant qx on dx to user|role;”

语句2=“grant role to user;”

四十二、创建数据库

语句=“create database sjk_name=’sjkname’,sjk_tz=’sjktz’,sjk_wj=’filename’;”

四十三、注册数据库

语句=“markin sjk_name=’sjkname’, sjk_wj=’filename’;”

四十四、注销数据库

语句=“unmarkin sjkname;”

四十五、创建数据表

语句=“create table tablename(colname1 datatype1,colname2 datatype,…) t_owner=user,t_kj=space;”

其中 type有下面情况:long,double,char(n),varchar(n),xtp,duomeiti;

四十六、创建空间

语句=“create space spacename wj=filename;”

四十七、创建索引

语句=“create index indexname on tablename,fieldname;”

四十八、创建用户

语句=“create user username identified =’password’,remark=’remarks’;”

四十九、创建角色

语句=“create role rolename identified=’ password’,remark=’ remarks’;”

五十、创建过程

语句=“create proc procname arg=’s_arg’, nr= ’s_nr’;”

五十一、创建函数

语句=“create func funcname arg=’s_arg’,nr= ‘s_nr’,retype=number;”

五十二、创建视图

语句=“create view owner=’usernmae’,fromtext=’froms’,wheretext=‘wheres’;”

五十三、创建计划

语句=“create jihua owner=username,nr= ‘s_nr’;”

五十四、创建检查

语句=“create jiancha jcname bm= tablename,zdm= fieldname,lx =type,sz=’ val’;”

五十五、创建触发

语句=“create chufa cjname bm= tablename[,zdm= fieldname,sz=’ val’],lx= type,cx= ‘nr’;”

五十六、创建限制

语句=“create xianzhi xzname bm= tablename,zdm= fieldname,lx= type,sz=’ val’;”

五十七、表改名

语句=“rename tablename;”

五十八、夺权

语句1=“revoke qx on dx from role|user;”

语句2=“revoke role from user;”

五十九、修改表

语句=“alter table tablename modify fieldname

type=type

|name=name

|length=length

|collate=wz

|add fieldname, fieldlx, fieldlength

|shuchu fieldname;

六十、修改索引

语句=“alter index indexname,bm,zdm, [lx=lx][,wj=’s_wj’];”

六十一、修改用户

语句=“alter user username [name=name][,passwd =‘s_passwd’][,remark=’remark’];”

六十二、修改角色

语句=“alter role rolename [name= s_name][,passwd =‘s_passwd’][,remark=’remark];”

六十三、修改空间

语句=“alter space spacename [name= s_name]|[,wj=’ s_wj’];”

六十四、修改过程

语句=“alter proc procname [name= s_name] |[,arg= ‘s_arg’] |[,nr =‘s_nr’];”

六十五、修改函数

语句=“alter func funcname [name= s_name] |[,arg= ‘s_arg’] |[,retype=type] |[,nr= ‘s_nr’];”

六十六、修改计划

语句=“alter jihua jihuaname [name= s_name] [,nr =’s_nr’] [,owner =username];”

六十七、修改视图

语句=“alter view viewname [name= s_name]|[,owner= user] |[,fromtext= ‘fromtexts’] |[,wheretext= ‘wheres’];”

六十八、修改检查

语句=“alter jiancha jianchaname,bm,zdm, [lx= s_lx][,sz=’ s_sz’];”

六十九、修改限制

语句=“alter xianzhi xianzhiname,bm,zdm [lx=lx][,sz=’ s_sz’];”

七十、修改触发

语句=“alter chufa chufaname,bm[,zdm,sz= ‘s_sz’] [,lx= lx] [,cx= ‘cx’];”

七十一、数据导入

语句=“data_input sjk_name=sjkm,biaom=biaoname,colheader=’headstr’,datastr=’datastr’,colfg=colfgstr,rowfg=rowfgstr;”

七十二、数据追加

语句=“data_append sjk_name=sjkm,biaom=biaoname,colheader=’headstr’,datastr=’datastr’,colfg=colfgstr,rowfg=rowfgstr;”

七十三、执行系统命令

语句=“exe_run command;”

七十四、打印系统文件

语句=“data_print filename;”

七十五、恢复数据库

语句=“data_restore filename;”

七十六、备份数据库

语句=“data_backup filename;”

七十七、表的SQL描述

语句=“desc tablename;”

七十八、运行SQL脚本

语句=“runsql‘sql语句群’;”

七十九、运行过程

语句=“do sql;”

八十、写入数据库

语句=“commit type;”

其中,type 为整数,1,2,3,4,,n;分别代表不同类型,如写入用户,写入表,视图等;

1=全库;

2=表

3=视图

4=空间

5=用户

6=角色

7=系统授权

8=过程

9=函数

10=计划

11=对象授权

12=索引

13=检查

14=触发

15=限制

17=引用

21=序列号

 

数据库高级编程

上面一节介绍了开发数据库应用系统的一些SQL语句,运用这些语句基本能够对数据库进行各种操作,对一般的简单应用已经足够。但是,如果要进行复杂的大型的智能化的系统应用开发,还必须掌握足够的高级编程语言。宝岛数据库系统附带高级语言解析器,只要用户掌握它的语法,开发一个高水平的应用系统应该是很简单的,要掌握它的语言,首先建议用户有过C语言的开发经验,因为本系统的解析器语法和C语法相似。下面来介绍它的语法。

一、定义变量


1 bool 布尔型
2 int 整形
3 short 短整
4 long 长整
5 float 浮点
6 double 双精
7 char 字符
8 varchar 字符串
9 date 日期
10 BYTE 字节
11 WORD 字
12 DWORD 双字
13 declare 普通

二、控制语句

2、goto xx; 跳xx处

3、for(I=1;I<2;I++;) 循环语句

4、while(a<10) 循环语句

5、break; 循环中断

6、continue 循环从头来

7、do ‘xxx’        执行子过程      

8、return 返回

9、if (a<9) else 判断


掌握了以上的语法和基本的SQL语句后,用户已经掌握了开发应用系统的知识,下面举几个例子了说明怎么开始:

例子一:从一个数据表a中找出记录,然后放到数据块中,最后释放该块

char s="select * from a;";//定义SQL语句

int p=exe_sqlm(s);//运行并取出记录放到数据块p中;

releasedb(p);//释放数据块p;


例子二:从数据块中取出指定记录字段的内容,并比较大小

int b=getdb(p,m,n);//从p中取出第m条记录第n个字段的内容赋给b

if(b>0)//和0比较

例子三:使用for循环语句来批量处理

for(int i=1;i<m;i++;)

{

处理语句;

}
注意:for 、while、if可以相互嵌套,不能使用结构和数组;

例子四:给用户发送信息

char s="你好,我是梁能";

message user s;

技巧:从数据表中取出数据,进行判断后,给不同的用户发送,这个功能可以实现工作流管理,应用于企业生产管理;

 

例子还有很多,但用户没有必要都去花精力读,只要认真用心体会,能够有举一反三的效果。

下面再来了解它附带的工具:系统附带的应用系统只给出基本的操作对象和基本的视图,不可能完全满足用户的所有操作需要,那么,使用视图和打印工具辅助设计用户应用系统成为必要。只要掌握这写设计工具,结合高级语言,在本系统上开发一个复杂的高效的应用是随手可得了;限于时间,建议用户自己来掌握使用和琢磨。

下面看用户授权:

数据库操作权限分配

数据库操作权限分配

编号 1 2 3 4 5 6 7 8 9 10 11
数据库sjkzc 1 11 12 13 14 15 16 17 18 19 1A 1B
数据空间space 2 21 22 23 24 25 26 27 28 29 2A 2B
数据表table 3 31 32 33 34 35 36 37 38 39 3A 3B
视图view 4 41 42 43 44 45 46 47 48 49 4A 4B
用户user 5 51 52 53 54 55 56 57 58 59 5A 5B
角色role 6 61 62 63 64 65 66 67 68 69 6A 6B
角色授权jssq 7 71 72 73 74 75 76 77 78 79 7A 7B
过程proc 8 81 82 83 84 85 86 87 88 89 8A 8B
函数func 9 91 92 93 94 95 96 97 98 99 9A 9B
计划working 10 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB
索引index 11 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB
对象授权objgrant 12 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB
检查check 13 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB
触发trigger 14 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB
限制limit 15 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB
引用yybiao 16 101 102 103 104 105 106 107 108 109 10A 10B
启动start 17 111 112 113 114 115 116 117 118 119 11A 11B
关闭end 18 121 122 123 124 125 126 127 128 129 12A 12B
写入commit 19 131 132 133 134 135 136 137 138 139 13A 13B
备份bk 20 141 142 143 144 145 146 147 148 149 14A 14B
恢复restore 21 151 152 153 154 155 156 157 158 159 15A 15B
导入input 22 161 162 163 164 165 166 167 168 169 16A 16B
追加append 23 171 172 173 174 175 176 177 178 179 17A 17B
脚本sql 24 181 182 183 184 185 186 187 188 189 18A 18B
发布news 25 191 192 193 194 195 196 197 198 199 19A 19B
定时timer 26 1A1 1A2 1A3 1A4 1A5 1A6 1A7 1A8 1A9 1AA 1AB
事件审计event 27 1B1 1B2 1B3 1B4 1B5 1B6 1B7 1B8 1B9 1BA 1BB
在线用户userlist 28 1C1 1C2 1C3 1C4 1C5 1C6 1C7 1C8 1C9 1CA 1CB

操作说明:
任何对数据库的操作都要按不同的权限来,这样才可保证数据不被越权操作和误用,误改,在对普通数据对象实体进行操作的时候,用户要么对对象有直接的操作权,要么对同类数据对象有系统操作权。否则,操作被认为非法。
创建系统时有以下用户,其中user用户是最普通的用户,,它具备最基本的操作。如登陆权等。
编号 名称 中文解释 权限
1 System 系统管理者
2 Manager 管理员
3 Backuper 备份维护
4 Restorer 恢复维护
5 Newser 发布员
6 Timer 定时报员
7 Procdure 方案计划员
8 User 普通用户