انقر هنا لتحميل الملف

Download Report

Transcript انقر هنا لتحميل الملف

ORACLE
&
SQL
Database
2
EMPNO ENAME
3
JOB
4
MGR
HIREDATE
SAL
COMM DEPTNO
6
------------- ------------ --------------------- -------- ---------------- ----------- --------------
1
7839 ALI
PRESIDENT
7698 AHMAD
MANAGER
7782 OMAR
7566 SALM
-----------
17-NOV-81
5000
10
7839
01-MAY-81
2850
30
MANAGER
7839
09-JUN-81
2450
10
MANAGER
7839
02-APR-81
2975
20
7654 MHAMAD SALESMAN
7698
28-SEP-81
1250
1400
30
7499 ADEL
SALESMAN
7698
20-FEB-81
1600
300
30
7844 JAMAL
SALESMAN
7698
08-SEP-81
1500
0
30
7900 JASIM
CLERK
7698
03-DEC-81
950
7521 WALED
SALESMAN
7698
22-FEB-81
1250
5
30
500
30
Data Storage on Different Media
SALGRADE
GRADE
LOSAL
HISAL
--------- --------- --------DEPT
1
700
1200
DEPTNO DNAME
LOC
2
1201
1400
--------- -------------- ---------3
1401
2000
10 ACCOUNTING
NEW YORK
4
2001
3000
20 RESEARCH
DALLAS
5
3001
9999
30 SALES
CHICAGO
40 OPERATIONS
BOSTON
Database
Electronic
spreadsheet
Filing cabinet
Definition of a Relational
Database
ِ ‫ هي عبارة عن مجموعة من العالقا‬: ‫قاعدة البيانات العالئقية‬
‫الجداول‬
‫ت أَو‬
ِ
‫الثنائية األبعا ِد ترتبط بحقل معين يعرف بالمفتاح األساسي في الجدول األول‬
. ‫والمفتاح الخارجي في الجدول الثاني‬
Database
Table Name: EMP
EMPNO
ENAME
7839
7698
7782
ALI
AHMAD
OMAR
7566
SALM
JOB
Table Name: DEPT
DEPTNO
DEPTNO
DNAME
LOC
PRESIDENT
MANAGER
MANAGER
10
30
10
10
20
30
COMPUTER
PROGRAMING
LIPRARY
MOSUL
BAGDAD
BASRA
MANAGER
20
40
ARATHMITIC
ANBAR
Relating Multiple Tables
‫كل حقل من البيانات في الجدول يكون وحيد وبدون تكرار ممكن‬
primary key (PK) ‫أن يكون‬
‫بإمكانك أن تتعامل مع البيانات منطقيا من خالل استخدامك لعدة جداول‬
foreign keys (FK) ‫وباستخدام المفتاح الثانوي أو األجنبي‬
Table Name: EMP
EMPNO
7839
7698
7782
7566
ENAME
KING
BLAKE
CLARK
JONES
Primary key
Table Name: DEPT
JOB
PRESIDENT
MANAGER
MANAGER
MANAGER
DEPTNO
10
30
10
20
Foreign key
DEPTNO
10
20
30
40
DNAME
ACCOUNTING
RESEARCH
SALES
OPERATIONS
Primary key
LOC
NEW YORK
DALLAS
CHICAGO
BOSTON
Communicating with a RDBMS
Using SQL
SQL ‫لالتصال مع قواعد البيانات العالئقية نستخدم‬
SQL statement
is entered
SQL> SELECT loc
2 FROM
dept;
Statement is sent to
database
Database
Data is displayed
LOC
---------MOSUL
BAGDAD
BASRA
ANBAR
‫• بداية أوراكل كانت في عام ‪1977‬فقد قامت مؤسسة‬
‫‪ Relation Software Incorporated‬ببناء نظام‬
‫إلدارة قواعد بيانات )‪( RDBMS‬وأسمته ‪ Oracle‬قامت‬
‫هذه المؤسسة بتطوير النظام باستخدام واجهة ‪ C‬و ‪SQL‬‬
‫ثم تم اإلعالن عن اإلصدار األول ‪Version 1‬عام ‪1979‬‬
‫وبعد ذلك ظهر اإلصدار الثاني ‪ .‬ثم أعلن عن اإلصدار الثالث‬
‫‪Version 3‬في عام ‪ 1983‬حيث أجريت عليه الكثير من‬
‫التحسينات خاصة تلك المتعلقة بلغة االستفسارات المهيكلة‬
‫(‪ )SQL‬وتعزيز ألداء البرنامج كما احتوى على تحسينات‬
‫أخرى كان هذا اإلصدار على عكس اإلصدارات السابقة مكتوبا‬
‫بلغة ‪ C‬بشكل كامل‬
‫• ثم ظهر اإلصدار الرابع من ‪ Oracle‬في عام ‪1984‬‬
‫وبعدها بحوالي سنة من هذا اإلصدار تم ظهور اإلصدار‬
‫الخامس وقد كان هذا اإلصدار أول برنامج يدخل مفهوم‬
‫‪ Client/Server‬البرمجي الى اللغات البرمجية باستخدام‬
‫‪ SQL . Net‬ثم ظهر اإلصدار الثامن ‪ Oracle 8‬في عام‬
‫‪ 1997‬وقد أضاف إمكانيات جديدة إلى إدارة قواعد البيانات‪.‬‬
‫وخالل فترة ليست بالبعيدة ظهرت نسخة ‪Oracle 8i‬‬
‫المحدثة وتلتها النسختين ‪Oracle 9i , Oracle 9‬‬
‫وأخيرا فقد تم إصدار ‪ Oracle 10g‬ليمثل ثورة حقيقية في‬
‫أسلوب ربط السيرفرات والعمل في بيئة أكثر سهولة والذي‬
‫يتضمن العديد من الميزات والتقنيات وأدوات إدارة قواعد‬
‫البيانات والسماح لوجود حقول تتسع إلى حد ‪ 4GB‬للحقل‬
‫الواحد كحد أقصى‪.‬‬
‫ما هى أال وراكل ؟‬
‫•‬
‫االوراكل ‪ :‬أوراكل ليست لغة برمجية وإنما هي نظام إلدارة قواعد‬
‫(‪Relation Data Base )RDBMS‬‬
‫البيانات العالئقية‬
‫‪ Management system‬و إدارة معلومات العمل المطلوبة من‬
‫خالل تحويلها إلى قاعدة بيانات عملية تفيد في اتخاذ القرارات‬
‫ومراقبة أداء العمل وتحسين اإلنتاجية والوصول إلى سرعة قصوى‬
‫في إنجاز األعمال ‪.‬‬
‫على ماذا تعتمد أوراكل ؟‬
‫• لغة (‪Structured Query Language )SQL‬‬
‫• لغة ‪ PL/SQL‬فى كتابة البرامج والـ ‪Functions‬‬
‫الخاصة فهي تساعد في استدعاء الروتينيات ‪Procedures‬‬
‫المكتوبة بلغات أخرى مثل ‪ Java‬و ‪. C-language‬‬
‫• ‪Oracle Developer‬‬
‫)‪Structured Query Language(SQL‬‬
‫لغة االستعالم المهيكلة‬
‫• هي عبارة عن تعليمات برمجية تستخدم للتعامل مع قواعد البيانات‬
‫وهذه اللغة تدعم مجموعة من اللغات البرمجية مثل ‪C‬أو ‪VB‬أو‬
‫‪ Java‬وغيرها ومن خاللها تستطيع الوصول إلى البيانات المخزنة‬
‫وإجراء عدة عمليات عليها مثل( إضافة ‪ ،‬تعديل ‪ ،‬حذف ) في جداول تم‬
‫تصميمها من خالل احد التطبيقات التي نستخدمها‪.‬‬
‫)‪Data Definition language (DDL‬‬
‫• القسم األول‪:‬‬
‫• لغة تعريف البيانات ‪ :‬و هي التي تتعامل مع الهيكل‬
‫األساسي للقاعدة وتستخدم لتثبيت وتغيير تركيبات أوبنية‬
‫البيانات في الجدول بشكل عام وهذه االيعازات اليمكن‬
‫التراجع بعد تنفيذها‪.‬‬
‫• ومن أهم ايعازاتها مايلي‪:‬‬
‫• ‪ Create‬إنشاء جدول‬
‫• ‪Drop‬‬
‫إلغاء جدول‬
‫• ‪ Alter‬تعديل جدول‬
‫)‪Data manipulation language(DML‬‬
‫• القسم الثاني ‪:‬‬
‫لغة معالجة البيانات ‪ :‬وهي اللغة التي تتعامل مع البيانات‬
‫داخل الجدول ويمكن التراجع بعد تنفيذ تعليماتها النها‬
‫التتعامل مع الهيكل‬
‫أهم ايعازاتها مايلي‪:‬‬
‫•‬
‫‪ Insert‬إلضافة البيانات‬
‫• ‪Update‬‬
‫تحديث بيانات‬
‫• ‪ Delete‬حذف بيانات‬
‫• ‪ Select‬استرجاع بيانات وعرضها‪.‬‬
‫)‪Data Control language (DCL‬‬
‫• القسم الثالث ‪:‬‬
‫لغة التحكم في البيانات وهي التي تمنح االمتيازات والصالحيات‬
‫للمستخدمين أو تعمل على سحب الصالحيات وإلغاءها‬
‫أهم ايعازاتها ‪:‬‬
‫• ‪Grant‬‬
‫لمنح وإعطاء الصالحيات للمستخدمين‬
‫• و‪ Revoke‬لسحب الصالحيات وإلغاءها‪.‬‬
‫• ‪Drop‬‬
‫لحذف او اسقاط جدول‬
Controlling User Access
Database
administrator
Username and password
privileges
Users
Privileges
•Database security
– System security
– Data security
System Privileges
• More than 80 privileges are available.
• The DBA has high-level system
privileges:
– Create new users
– Remove users
– Create new tables
– Remove tables
– Back up tables
Creating Users
The DBA creates users by using the
CREATE USER statement.
CREATE
IDENTIFIED
USER user
BY
password;
SQL> CREATE
2 IDENTIFIED
User created.
USER ALI
BY
AAA;
User System Privileges
• Once a user is created, the DBA can grant
specific system privileges to a user.
GRANT privilege [, privilege...]
TO user [, user...];
• An application developer may have the
following system privileges:
– CREATE TABLE
– CREATE SEQUENCE
– CREATE VIEW
– CREATE PROCEDURE
Granting System Privileges
The DBA can grant a user specific system
privileges.
SQL> GRANT create table, create sequence, create view
2 TO
ALI;
Grant succeeded.
What Is a Role?
Users
Manager
Privileges
Allocating privileges
without a role
Allocating privileges
with a role
Creating and Granting Privileges
to a Role
SQL> CREATE ROLE manager;
Role created.
SQL> GRANT create table, create view
2
to manager;
Grant succeeded.
SQL> GRANT manager to ALI, AHMAD;
Grant succeeded.
Granting Object Privileges
• Grant query privileges on the EMP table.
SQL> GRANT
select
2 ON
emp
3 TO
omar, ahmad;
Grant succeeded.
• Grant privileges to update specific
columns to users and roles.
SQL> GRANT
update (dname, loc)
2 ON
dept
3 TO
ALI, Adel;
Grant succeeded.
Using WITH GRANT OPTION
• Give a user authority to pass along the
privileges.
SQL> GRANT
select, insert
2 ON
dept
3 TO
ALI
4 WITH GRANT OPTION;
Grant succeeded.
Revoking Object Privileges
As user Alice, revoke the SELECT and
INSERT privileges given to user ALI on
the DEPT table.
SQL> REVOKE select, insert
2 ON
dept
3 FROM
ALI;
Revoke succeeded.
‫عبارة التكوين ‪CREATE TABLE‬‬
‫• بداية يجب أن يكون لديك امتياز إنشاء جدول ومساحة‬
‫للتخزين ويجب أن تخصص اسم للجدول وأسماء األعمدة‬
‫وأنواع البيانات لكل منها وقياس كل عمود ‪:‬‬
‫الصيغة العامة‪:‬‬
‫‪tablename‬‬
‫‪CREATE TABLE‬‬
‫; ) ]‪( column datatype [DEFAULT expr‬‬
‫لتكوين جدول الموظفين‬:‫مثال‬
SQL>CREATE TABLE
(
emp
empno
NUMBER(6),
ename
VARCHAR2(14),
Jop
VARCHAR2(14),
Hiredate date,
Sal
NUMBER(10,3),
Comm
NUMBER(10,3),
Deptno
NUMBER(2) NOT NULL );
‫لتكوين جدول األقسام‬:‫مثال‬
SQL>CREATE TABLE
DEPTNO
dept (
NUMBER(2 ) NOT NULL,
DNAME
VARCHAR2(14),
LOC
VARCHAR2(13) );
SQL> DESCRIBE dept
Name
---------DEPTNO
DNAME
LOC
Null?
-------NOT NULL
Type
--------NUMBER(2)
VARCHAR2(14)
VARCHAR2(14)
INSERT ‫عبارة اإلدخال‬
‫• الصيغة العامة‬
SQL>INSERT INTO table [ (column1,
column)]
VALUES (value,
value…(;
:‫مثال‬
SQL> INSERT INTO dept (deptno, dname, Loc)
VALUES ( 10, ‘Computer' , ‘Mosul' ( ;
SQL>COMMIT ;
‫مالحظة‪:‬‬
‫يمكن تخصيص قيمة افتراضية للعمود أثناء عملية اإلدخال كما‬
‫في المثال التالي ‪:‬‬
‫‪Hiredate DATE DEFAULT SYSDATE ,‬‬
‫‪……..‬‬
‫إدخال قيم خاصة باستخدام التوابع‬
Special Value Inserting
: ‫مثال‬
SQL> INSERT INTO emp (empno, ename, job,
hiredate, Sal, comm, deptno)
VALUES ( 15, 'Ali' , 'programmer ' ,
SYSDATE, 2000, NULL, 10 ) ;
‫ في المثال السابق بإدراج قيمة‬SYSDATE ‫يقوم التابع‬
hiredate ‫التاريخ الحالي ضمن الحقل‬
: ‫للتحقق نضع‬
SQL> SELECT * FROM
emp
WHERE empno = 15 ;
EMPNO
-----15
ENAME
---------ali
JOB
HIREDATE
SAL
---------
--------------
----------
17/04/2013
2000
programmer
COMM
--------
DEPTNO
---------10
EMP
EMPNO ENAME
JOB
HIREDATE
SAL
COMM
DEPTNO
--------- ---------- --------- --------- --------- --------- --------15
ALI
PRESIDENT 17-NOV-81
2000
10
7698 AHMAD
MANAGER
01-MAY-81
7782 OMAR
MANAGER
09-JUN-81
7566 SALM
MANAGER
02-APR-81
7654 MOHAMAD
SALESMAN
28-SEP-81
7499 ADEL
SALESMAN
20-FEB-81
7844 JAMAL
SALESMAN
08-SEP-81
7900 JASIM
CLERK
03-DEC-81
DEPTNO DNAME
LOC
WALED
SALESMAN
---------7521
-----------------------22-FEB-81
10 COMPUTER
MOSUL
20 PROGRAMMER
BAGDAD
30 LIPRARY
BASRA
40 ANLYSES
ANBAR
DEPT
2850
2450
2975
1250
1600
1500
950
1250
1400
300
0
500
30
10
20
30
30
30
30
30
SQL> UPDATE emp
SET
deptno = 15
WHERE deptno = 16 ;
SQL> COMMIT ;
SQL>DELETE FROM emp ;
SQL>ROLLBACK ;
:‫الصيغة العامة‬
DROP TABLE
table_name;
DROP TABLE employee;
‫لو كان الجدول مرتبط بعالقات مع جدول آخر فقط نضيف‬
CASCADE CONSTRAINTS
DROP TABLE stud CASCADE
CONSTRAINTS;
‫عبارة‬
• SELECT
ename, sal
FROM
emp
ORDER BY
sal ASC ;
• SELECT ename, sal
FROM
emp
ORDER BY
sal
DESC;
Group By‫عبارة‬
SQL> SELECT
From
deptno , AVG ( sal )
emp
GROUP BY deptno ;
DEPTNO
AVG(SAL)
----------
--------------
10
2916.66667
20
2175
30
1566.66667
Aggregating Data
Using Group Functions
What Are Group Functions?
Group functions operate on sets of rows to give
one result per group.
EMP
DEPTNO
SAL
--------- --------10
2450
10
5000
10
1300
20
800
20
1100
20
3000
20
3000
20
2975
30
1600
30
2850
30
1250
30
950
30
1500
30
1250
“maximum
salary in
the EMP table”
MAX(SAL)
--------5000
Types of Group Functions
• AVG
• COUNT
• MAX
• MIN
• SUM
Using Group Functions
SELECT
FROM
[WHERE
[GROUP BY
[ORDER BY
[column,] group_function(column)
table
condition]
column]
column];
Using AVG and SUM Functions
You can use AVG and SUM for numeric data.
SQL> SELECT
2
3 FROM
4 WHERE
AVG(sal), MAX(sal),
MIN(sal), SUM(sal)
emp
job LIKE ‘manager%';
AVG(SAL) MAX(SAL) MIN(SAL) SUM(SAL)
-------- --------- --------- --------1400
1600
1250
5600
SQL> SELECT
2 FROM
MIN(hiredate), MAX(hiredate)
emp;
MIN(HIRED MAX(HIRED
--------- --------17/3/2010 12/1/2013
Using the COUNT Function
COUNT(*) returns the number of rows in a
table.
SQL> SELECT
2 FROM
3 WHERE
COUNT(*)
--------6
COUNT(*)
emp
deptno = 30;
Using the COUNT Function
COUNT(expr) returns the number of
nonnull rows.
SQL> SELECT
2 FROM
3 WHERE
COUNT(COMM)
----------4
COUNT(comm)
emp
deptno = 30;
Group Functions and Null Values
Group functions ignore null values in the
column.
SQL> SELECT AVG(comm)
2 FROM
emp;
AVG(COMM)
--------550
Creating Groups of Data
EMP
DEPTNO
SAL
--------- --------10
2450
10
5000
10
1300
20
800
20
1100
20
3000
20
3000
20
2975
30
1600
30
2850
30
1250
30
950
30
1500
30
1250
2916.6667
“average
DEPTNO AVG(SAL)
salary
------- --------in
EMP
2175
10 2916.6667
table
20
2175
for each
department”
30 1566.6667
1566.6667
‫معدل الراتب لكل قسم‬
Using the GROUP BY Clause
All columns in the SELECT list that are not
in group functions must be in the GROUP
BY clause.
SQL> SELECT
deptno, AVG(sal)
2 FROM
emp
3 GROUP BY deptno;
DEPTNO AVG(SAL)
--------- --------10 2916.6667
20
2175
30 1566.6667
Using the GROUP BY Clause
The GROUP BY column does not have to
be in the SELECT list.
SQL> SELECT
AVG(sal)
2 FROM
emp
3 GROUP BY deptno;
AVG(SAL)
--------2916.6667
2175
1566.6667
Grouping by More
Than One Column
EMP
DEPTNO
--------10
10
10
20
20
20
20
20
30
30
30
30
30
30
JOB
SAL
--------- --------MANAGER
2450
PRESIDENT
5000
CLERK
1300
CLERK
800
CLERK
1100
ANALYST
3000
ANALYST
3000
MANAGER
2975
SALESMAN
1600
MANAGER
2850
SALESMAN
1250
CLERK
950
SALESMAN
1500
SALESMAN
1250
“sum salaries in
the EMP table
for each job,
grouped by
department”
DEPTNO
-------10
10
10
20
20
20
30
30
30
JOB
SUM(SAL)
--------- --------CLERK
1300
MANAGER
2450
PRESIDENT
5000
ANALYST
6000
CLERK
1900
MANAGER
2975
CLERK
950
MANAGER
2850
SALESMAN
5600
‫معدل الراتب لكل وظيفة‬
‫‪ :‬مثال‬
‫كون استعالم لعرض رقم المشروع و اسم المشروع و عدد العاملين في‬
‫هذه المشاريع مرتبة على شكل مجاميع؟‬
‫‪SELECT PNUMBER , PNAME , COUNT‬‬
‫‪FROM‬‬
‫‪PROJECT‬‬
‫‪GROUP BY‬‬
‫; ‪PNUMBER , PNAME‬‬
‫‪COUNT‬‬
‫‪--------‬‬
‫‪PNAME‬‬
‫‪-----------------‬‬
‫‪PNOUMBER‬‬
‫‪--------------‬‬
‫‪120‬‬
‫‪M11‬‬
‫‪12‬‬
‫‪150‬‬
‫‪k22‬‬
‫‪22‬‬
‫‪110‬‬
‫‪P88‬‬
‫‪23‬‬
‫‪ PL/SQL‬لغة اإلجراءات‬
‫• لغة ‪ PL/SQL‬هي امتداد للغة ‪ SQL‬وبمميزات لغات‬
‫البرمجة‪ .‬تعمل على معالجة البيانات وعبارات االستعالم‬
‫وتتضمن وحدات برمجية وهي البروسيجر ‪ .‬وتعتبر اللغة‬
‫البرمجية الخاصة بنظام أوراكل وهي أداة برمجية قوية جدا‬
‫‪(Procedure‬‬
‫وكلمة ‪ PL/SQL‬اختصارا لـ‬
‫) ‪Language/ Structure Query Language‬‬
‫وتستخدم هذه اللغة لتجهيز نظام ‪ Oracle‬في أدوات‬
‫التطوير المنتجة من قبل شركة ‪ Oracle‬وهي تعتبر أساس‬
‫برنامج بناء النماذج ‪ Oracle Forms‬و ‪Oracle‬‬
‫‪Reports‬وتستخدم هذه اللغة أيضا لتعريف نموذج ما‬
‫والقيام ببعض الحسابات الخاصة في التقرير ‪.‬‬
PL/SQL Environment
PL/SQL engine
PL/SQL
block
PL/SQL
block
PL/SQL
SQL
Procedural
Statement
Executor
SQL Statement Executor
Oracle Server
‫‪ORACLE DEVELOPER‬‬
‫وهو برنامج تطبيقي منفصل عن أوراكل نستطيع أن نقول وجد‬
‫لخدمة أوراكل ومهمته تطوير التطبيقات التي تتصل بقواعد‬
‫بيانات أوراكل ومن أهم استخداماته هي مايلي‪:‬‬
‫• يستخدم في عمل الواجهات والنماذج الـ ‪Forms‬‬
‫• يستخدم في تطوير التطبيقات الكبيرة الجيدة والقابلة للصيانة‬
‫ويوفر تطبيقات كفوءة وقياسية‪.‬‬
‫• يعرض التطبيقات على الشبكة العنكبوتية ‪WWW‬‬
‫واالنترنت‪.‬‬
‫‪Developer Component‬‬
‫مكونات ديفيلوبر‬
‫يتكون الـ ‪ Developer 6i‬من البرامج التالية‪:‬‬
‫• برنامج لتصميم النماذج ‪Form Builder‬‬
‫• برنامج لبناء التقارير ‪Report Builder‬‬
‫• برنامج لبناء الرسومات ‪Graphics Builder‬‬
‫‪ -1‬برنامج تصميم النماذج ‪Form Builder‬‬
‫يستخدم هذا البرنامج في بناء النماذج والواجهات ألي نظام بعد أن نكون‬
‫قد كونا قاعدة بيانات وباستخدام لغة ‪ SQL‬والمعلومات المخزونة في‬
‫قاعدة البيانات ويستخدم في إدارة عمليات اإلضافة ‪ ،‬االسترجاع عن‬
‫طريق النماذج والتحكم بالخصائص المختلفة للعناصر ‪ Items‬وبناء‬
‫القادحة ‪ Trigger‬الخاصة بكل وحدة من هذه العناصر في مصمم‬
‫النماذج ‪ .‬يقوم هذا البرنامج بإضافة الصور في النماذج واستدعاء‬
‫التقارير أو بناء الواجهة المستقلة ويكون بثالثة أنواع ‪:‬‬
‫• ‪Form Module‬‬
‫• ‪Menu Module‬‬
‫• ‪Library Module‬‬
‫• ‪Form Module‬‬
‫نموذج الواجهة ‪ :‬هو النموذج الرئيسي ويتكون من مجموعة‬
‫العناصر ‪ Items‬يتمكن المستخدم من خاللها االتصال والتعامل مع‬
‫قاعدة البيانات والتي سبق وان كونها باستخدام الـ ‪. SQL‬‬
‫• ‪:Menu Module‬‬
‫نموذج القوائم‪ :‬يحتوي على القائمة ورمز القائمة التي تتصل مع‬
‫الواجهة ‪.Form‬‬
‫• ‪:Library Module‬‬
‫نموذج المكتبات ‪ Pl/SQL :‬وهو مجموعة من اإلجراءات‬
‫والدوال‪ ،‬الحزم التي يتم استدعائها من قبل نموذج في التطبيق‪.‬‬
‫‪ -2‬برنامج بناء التقارير ‪Report Balder‬‬
‫يكون بناء التقارير بعدة صيغ واشكال فقد يكون‬
‫بصيغة جدولية او بشكل صفة رئيسية او فرعية‬
‫او بشكل مصفوفة وغير ذلك‪.‬‬
‫‪ -3‬برنامج بناء الرسومات ‪Graphic‬‬
‫‪:Builder‬‬
‫يعمل على عرض البيانات وتطوير التطبيقات‬
‫الرسومية مثل المخططات الرسومية والتحليلية‪.‬‬