關於應用程式

此頁面上的命令檔內容僅適用於瀏覽用途,而且無法利用任何方式來更改內容。

應用程式具有下列目的、結構和命名慣例。

應用程式的用途

此應用程式適用於公司中的兩種使用者。

一般使用者可以完成下列任務:

應用程式管理員可以完成下列任務:

應用程式的結構

應用程式會使用下列綱要物件和綱要。

應用程式的綱要物件

應用程式由下列綱要物件組成:

另請參閱:

應用程式的綱要

為了安全起見,應用程式會使用下列五個綱要 (或使用者),每個綱要具有其所需的權限。

假設應用程式只有一個綱要,而非 app_user 和 app_admin_user,此綱要不做任何事,且可同時執行 employees_pkg 和 admin_pkg。對一般使用者和應用程式管理員而言,此綱要的連線集區必須夠大。如果 employees_pkg 中發生 SQL 隱碼錯誤,則利用該錯誤的一般使用者可以存取 admin_pkg。

假設應用程式只有一個擁有所有綱要物件 (包括套裝程式) 的綱要,而不是 app_data、app_code 和 app_admin。套裝程式接著會擁有表格的所有權限,這將會是不必要和不希望的。

例如,假設您有一個審核追蹤表 AUDIT_TRAIL。您希望 employees_pkg 的開發人員能夠寫入 AUDIT_TRAIL,但無法讀取或變更。您希望 admin_pkg 的開發人員能夠讀取 AUDIT_TRAIL 並寫入該檔案,但無法對其進行變更。如果 AUDIT_TRAIL、Employee_pkg 以及 admin_pkg 屬於相同的綱要,則兩個套裝程式的開發人員將擁有 AUDIT_TRAIL 的所有權限。不過,如果 AUDIT_TRAIL 屬於 app_data,employee_pkg 屬於 app_code,admin_pkg 屬於 app_admin,則您可以用 app_data 身分連線至資料庫,並執行此操作:

GRANT INSERT ON AUDIT_TRAIL TO app_code;
GRANT INSERT, SELECT ON AUDIT_TRAIL TO app_admin;

另請參閱:

應用程式中的命名慣例

應用程式會使用這些命名慣例。

項目 名稱
表格 表格號碼
表格編號的版本檢視 表格
版本檢視表格觸發程式

table _{a|b} 事件 [_fer] 其中:

  • 識別 AFTER 觸發器。

  • b 識別 BEFORE 觸發程式。

  • fer 識別 FOR EACH ROW 觸發程式。

  • 事件會識別觸發觸發程式的事件。例如:i 代表 INSERT,iu 代表 INSERT 或 UPDATE,d 代表 DELETE。

表格 # 中的 PRIMARY KEY 限制條件 表格 _pk
table #. column 的 NOT NULL 限制條件 table_column _not_null (註腳 1)
table #. column 上的 UNIQUE 限制條件 table_column _unique (註腳 1)
table #. column 上的 CHECK 限制條件 table_column _check (註腳 1)
table1 #. columntable2 #. column 上的 REF 限制條件 table1_to_ table2 _fk (註腳 1)
table1 #. column1table2 #. column2 上的 REF 限制條件 table1_col1 to table2_col2 _fk (註腳 1) (註腳 2)
表格號碼的順序 表格順序
參數名稱 名稱 (_N)
區域變數名稱 l_ 名稱

註腳 1:tabletable1 以及 table2 縮寫為員工的 emp、部門以及 job_history 的 job_hist。

註腳 2:col1col2 是資料欄名稱 column1column2 的縮寫。限制名稱不得超過 30 個字元。