Click to go home
Add Constraints
---------------- PRIMARY KEY CONSTRAINTTS --------------------
ALTER TABLE customers
ADD CONSTRAINT conPK_Customers PRIMARY KEY(customer_id);
ALTER TABLE tellers
ADD CONSTRAINT conPK_Tellers PRIMARY KEY(teller_id);
ALTER TABLE transactions
ADD CONSTRAINT conPK_Transactions PRIMARY KEY(trans_ctr);
ALTER TABLE customer_accounts
ADD CONSTRAINT conPK_Accounts PRIMARY KEY(account_id);
---------------- FOREIGN KEY CONSTRAINTTS --------------------
ALTER TABLE customers
ADD CONSTRAINT conFK_Cust_Pcredit FOREIGN KEY(sin)
REFERENCES hq_national.personal_credit(sin);
ALTER TABLE customer_accounts
ADD CONSTRAINT conFK_Accnts_Cust FOREIGN KEY(customer_id)
REFERENCES customers(customer_id);
ALTER TABLE customer_accounts
ADD CONSTRAINT conFK_Accnts_ATypes FOREIGN KEY(accounttype_id)
REFERENCES HQ_National.account_types(accounttype_id);
ALTER TABLE transactions
ADD CONSTRAINT conFK_Trans_fCaccnt FOREIGN KEY(from_acct)
REFERENCES customer_accounts(account_id);
ALTER TABLE transactions
ADD CONSTRAINT conFK_Trans_tCaccnt FOREIGN KEY(to_acct)
REFERENCES customer_accounts(account_id);
ALTER TABLE transactions
ADD CONSTRAINT conFK_Trans_Tellers FOREIGN KEY(teller_id)
REFERENCES tellers(teller_id);
---------------- NOT NULL CONSTRAINTS --------------------
ALTER TABLE customers
MODIFY(sin char(11) not null,customer_id number(10) not null,
last_name varchar2(25) not null);
ALTER TABLE customer_accounts
MODIFY(account_id char(9) not null,customer_id number(10) not null,
accounttype_id number(10) not null);
ALTER TABLE tellers
MODIFY(teller_id varchar2(10) not null,
pass_word varchar2(10) not null);
ALTER TABLE transactions
MODIFY(trans_ctr number(12) not null,trans_date date not null,
trans_type char(3) not null,amount number(11,2) not null,
teller_id varchar2(10) not null);
---------------- CHECK CONSTRAINTS ------------------------
ALTER TABLE customers
ADD CONSTRAINT conCK_Cust_Province CHECK(province in ('NS',
'NB','PE','NF','PQ','ON','MB','SK','AB','BC','YT','NT'));
ALTER TABLE customers
ADD CONSTRAINT conCK_Cust_Country CHECK
(country = upper('CANADA'));
ALTER TABLE tellers
ADD CONSTRAINT conCK_Tellers_Alevel CHECK
(authority_level in (0,1));
ALTER TABLE customer_accounts
ADD CONSTRAINT conCK_Accnts_Status CHECK
(status in ('OPN','HLD','CLS'));
ALTER TABLE transactions
ADD CONSTRAINT conCK_Trans_Type CHECK
(trans_type in ('WTH','DEP','PAY','PUR','TRF','INT'));
Create Sequences
CREATE SEQUENCE seq_Customer_ID
INCREMENT BY 100
START WITH 30000;
CREATE SEQUENCE seq_Account_ID
INCREMENT BY 150
START WITH 100650;
CREATE SEQUENCE seq_Transaction_CTR
INCREMENT BY 10
START WITH 50000;
Package specification
CREATE OR REPLACE PACKAGE prc_mb_spec
IS
FUNCTION fn_logon_request
(pIN_teller_id varchar2,
pIN_pass_word varchar2)
RETURN NUMBER;
PROCEDURE sp_customer_add
(pIN_sin varchar2, pIN_last_name varchar2, pIN_first_name varchar2,
pIN_middle_name varchar2, pIN_address_line1 varchar2, pIN_address_line2 varchar2,
pIN_city varchar2, pIN_province varchar2, pIN_country varchar2, pIN_postal varchar2,
pIN_phone varchar2, pIN_pin varchar2, pIN_teller_id varchar2, pOT_newid OUT number,
pOT_credit_allowed OUT number, pOT_credit_description OUT varchar2);
PROCEDURE sp_customer_modify
(pIN_customer_id number, pIN_last_name varchar2, pIN_first_name varchar2,
pIN_middle_name varchar2, pIN_address_line1 varchar2, pIN_address_line2 varchar2,
pIN_city varchar2, pIN_province varchar2, pIN_country varchar2, pIN_postal varchar2,
pIN_phone varchar2, pIN_pin varchar2, pIN_teller_id varchar2);
PROCEDURE sp_customer_delete
(pIN_customer_id NUMBER,
pIN_teller_id VARCHAR2);
PROCEDURE SP_CUSTOMER_SEARCH
(pIN_Search_Name varchar2, pOT_Results OUT varchar2);
PROCEDURE SP_CUSTOMER_FIND
(pIN_Customer_ID number, pOT_Result OUT varchar2);
PROCEDURE SP_CUSTOMER_FIND
(pIN_First_Name varchar2, pIN_Last_Name varchar2, pIN_Middle_Name varchar2,
pOT_Result OUT varchar2);
PROCEDURE SP_CUSTOMER_FIND
(pIN_SIN number, pOT_Result OUT varchar2);
PROCEDURE sp_trans_add
(pIN_type varchar2, pIN_amount number, pIN_from varchar2, pIN_to varchar2,
pIN_teller_id varchar2, pOT_trans_ctr OUT number);
PROCEDURE SP_ACCOUNT_ADD
(pIN_Customer_ID number, pIN_Account_Type number, pOT_Account_ID OUT varchar2,
pIN_Teller_ID varchar2);
PROCEDURE sp_apply_interest
(pIN_teller_id VARCHAR2);
PROCEDURE sp_account_list
(pIN_customer_id number,
pOT_results OUT varchar2);
END prc_mb_spec;
/
Next Page - Package body
Go to top