Tuesday, September 6, 2011

تصدير تطبيق 2 , إنشاء أغراض قواعد البيانات




بسم الله و الحمد لله و الصلاة و السلام عل رسول الله
السلام عليكم و رحمة الله و بركاته,  من أجل أن تكون الأمور واضحة سنقوم في هذه المحاضرة بإنشاء :
Tables , Sequences, Triggers.
و سنرى إن شاء الله تعالى كيفك يتم توليد الكود لهذه الأغراض . أقصد
Generate DDL : Data Dentition Language 
على أي حال حفاظأ على قتك . ربما تستطيع مشاهدة هذه المحاضرة و أنت تتناول الغداء فهي لا تحتاج إلى تركيز...  إلا إذا كنت مبتدأ
علما أنني عمدا قمت بإنشاء الجداول أولا ثم إضافة القيود .....
ثم في المحاضرة التالية سنبيني التطبيق بالاعتماد على هذه الأغراض:  إن شاء الله تعالى


إنشاء جداول الموظفين و الأقسام:

CREATE TABLE  EMP2
   (
EMPNO NUMBER(4,0) ,
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR NUMBER(4,0),
HIREDATE DATE,
SAL NUMBER(7,2),
COMM NUMBER(7,2),
DEPTNO NUMBER(2,0)
);
-------

CREATE TABLE  DEPT2
(
DEPTNO NUMBER(2,0),
DNAME VARCHAR2(14),
LOC VARCHAR2(13)
        );
-------------------------------------------------
إنشاء القيود

alter table emp2 add constraint PK_emp2 primary key (EMPNO);

-------



alter table dept2 add constraint PK_dept2 primary key (deptno);
-------



alter table emp2 add constraint FK_emp2 foreign key (DEPTNO) references DEPT2 (DEPTNO);

-------------------------------------------------


إنشاء المتسلسلات Sequences

create sequence emp2_seq;


-------



create sequence dept2_seq;

-------------------------------------------------
إنشاء القوادح Triggers



create or replace trigger BI_emp2
before insert on emp2
for each row
begin
if :new.empno is null then
select emp_seq2.nextval into :new.empno from dual;
end if;
end;

-------

alter trigger bi_emp enable;


-------

create or replace trigger BI_dept2


before insert on dept2
for each row
begin
if :new.DEPTNO is null then
select dept2_seq.nextval into :new.DEPTNO from dual;
end if;
end;

-------

alter trigger BI_dept2 enable;



-------------------------------------------------



إدخال البيانات: Inserting The Data

INSERT INTO EMP2 VALUES
(7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20);
INSERT INTO EMP2 VALUES
(7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30);
INSERT INTO EMP2 VALUES
(7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30);
INSERT INTO EMP2 VALUES
(7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20);
INSERT INTO EMP2 VALUES
(7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30);
INSERT INTO EMP2 VALUES
(7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30);
INSERT INTO EMP2 VALUES
(7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10);
INSERT INTO EMP2 VALUES
(7788,'SCOTT','ANALYST',7566,to_date('13-JUL-87')-85,3000,NULL,20);
INSERT INTO EMP2 VALUES
(7839,'KING','PRESIDENT',NULL,to_date('17-11-1981','dd-mm-yyyy'),5000,NULL,10);
INSERT INTO EMP2 VALUES
(7844,'TURNER','SALESMAN',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30);
INSERT INTO EMP2 VALUES
(7876,'ADAMS','CLERK',7788,to_date('13-JUL-87')-51,1100,NULL,20);
INSERT INTO EMP2 VALUES
(7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30);
INSERT INTO EMP2 VALUES
(7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20);
INSERT INTO EMP2 VALUES
(7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10);



-------



INSERT INTO DEPT2 VALUES
(10,'ACCOUNTING','NEW YORK');
INSERT INTO DEPT2 VALUES
                 (20,'RESEARCH','DALLAS');
INSERT INTO DEPT2 VALUES
(30,'SALES','CHICAGO');
INSERT INTO DEPT2 VALUES
(40,'OPERATIONS','BOSTON');




I hope that has been informative for you. Please do not hesitate to pose any question, and I will answer you as I have time بإذن الله تعالى







No comments:

Post a Comment