Sybase公司生產的DBMS主要包括: 1、Sybase Adaptive Server Enterprise 11.5 2、Sybase Adaptive Server Enterprise 11.9.2 3、Sybase Adaptive Server Anywhere 6.0 4、Sybase SQL Anywhere 5.x 這些產品的基本權限控制內核是一致的,但由於Sybase系列不支持動態視圖,不支持用戶自定義函數,因此,想通過動態視圖實現權限分配是不可能的,只能人工加入控制,原理如下: 一、建立用戶表、部門表 create table sys_user (suser_id varchar(8),suser_name varchar(20),...); create table sys_department(sdept_id varchar(8),sdept_name varchar(20),...); 二、在需要進行權限分配的表中加入特殊字段,用來表明此行數據屬於哪個部門或哪個用戶,如 客戶信息: create table customer ( scustomer_id varchar(10), scustomer_name varchar(20), sdataowner varchar(20)...); 三、建立權限分配對照表,用來描述某用戶可以操作的數據所屬的部門或用戶及相關權限 create sys_grant ( suser_id varchar(8), sdept_id varchar(8), sdataowner varchar20), scanInsert char(1) default Y, scandelete char(1) default Y, scanupdate char(1) default Y, ...); 四、建立或維護好以上基礎表單後,在具體的操作上就可以實現了,如選擇某用戶可以操作的可戶數據,則 SQL 語法可以寫為: select a.* from customer a,sys_grant b where b.sdataowner = a.owner and b.suer_id = :as_user_id; 五、Pb中的實現: PB中實現可以通過對sys_grant的維護來定義某用戶的具體可操作那些用戶及部門的數據,可以定義在數據窗中,也可以通過一個公用底層函數來動態修改數據窗,即對開發而言是透明的,對用戶是可控制的。若將來Sybase支持動態視圖,則可以通過sp_process過程中定義相關信息(如保留當前登錄用戶信息)來實現動態視圖,這樣對於開發者而言,透明度就更高。 優點 1、可以實現網狀數據分片,自由,靈活,對組織機構變化不敏感; 2、速度快,對巨量數據無明顯影響; 缺點 1、技術實現復雜,需要程序支持; 2、應用外數據操作無法約束。