Professional Documents
Culture Documents
قواعد البيانات
النصوص
نوع البيان الطــول الوصف
Char 2000 Byte نصي غير مطاطي
VarChar 4000 B نص غير مطاطي
Varchar2 4000B نص مطاطي
Long 2 GB نص طويل جدا َ
الرقام
نوع البيان الطـــول الوصف
Number 38 Byte رقمي ول تزيد عن 38رقم
رقم حقيقي ) حيث أن Iهو طول الرقم الصحيح ،
Number(I,J
(38,38) Byte أما Jفهو طول الرقم الحقيقي ( ،كما أن Iأو Jل
)
تزيد عن 38لكل واحد
Smallint
Int - رقم صحيح صغير الحجم
Integer
كسر عشري مع إجراء تقريب لعدد صحيح ويكون
Decimal )(X,y
صغير الحجم
Float 126 Byte عدد حقيقي يصل الي 126
Real الريال 63 ، عدد حقيقي لعملة الريال يصل الي 63بايت
تاريخ/وقت
نوع البيان الطـــول الوصف
Date 7B تاريخ/وقت
كائن OLE
نوع البيان الطــــول الوصف
Long Raw 2 GB كائن مرتبط Ole
)الطول(Raw 2000 Byte بيانات ثنائية
Clob - كائن كبير يعتمد علي المحارف
Bfile - ملف خارجي كبير
Nclob كائن كبير يعتمد علي المحارف وحيدة البايتات أو
-
متعددة البايتات
Blob - كائن ثنائي كبير
الترقيم التلقائي
التركيبة العامة :
CREATE SEQUENCE إسم الترقيم
START WITH بداية الترقيم
INCREMENT BY مقدار الزيادة
; NOMAXVALUE ليس هناك قيمة نهائية يقف عندها
مثـــال
Create Name : الجدول المستخدم
Create Table Emp(Enumber VarChar2(10),Ename ;))VarCar2(50
هناك طريقتين لنشاء القيود علي الحقول ،وهي طريقة In Lineو طريقة ، Out Lineأما من المنطق
ن واحد ،كما هو موضحفمن المفضل استخدام Out Lineلمرونتة والقدرة علي تعريف أكثر من حقل في آ ٍ
بالشكال والمثلة التالة :
A- Not Null :
في حال الرغبة في عدم ترك الحقل فارغا ،ويستخدم تلقائيا عند إنشاء مفتاح رئيسي
In Line X Char(10) Not Null
ملحوظة هامة
في حال الرغبة في إنشاء مفتاح رئيسي مركب ل يجوذ إستخدام الطريقةالولي بل الطريقة
الثانية وهي المفضلة والقوي كما يل :
)Constraint ( NamePK ) Primary Key (Name Fields
حيث أن :
NamePK -هو إسم المفتاح كثابت أو معرف ل يجوز تكرارة ) .) ID
Name Fields -هي أسماء الحقول التي يتم الرغبة في إنشائها كمفتاح أساسي مركب ويتم
وضع فاصلة بين كل حقل :
مثال
Create Table Phone
(
ID Number(10),
Enum Varchar2(10),
)Constraint FK_PHONE Foreign Key(ID,Enum
)
F- Foreign Key :
يستخدم هذا المر في إنشاء المفاتيح الخارجية ،مثال بين جدولين الموظف Empوالهاتف
Phoneفي الجدول الموضح سابقا :
) Addإسم الجدول ( Alter Table
(
) إسم حقل العلقة الخارجية ( ) Foreign Keyإسم العلقة ( Constraint
) إسم جدول المفتاح الساسي ) إسم حقل المفتاح الساسي References
On Delete Cascade
)
اساسيــــــات بـــــرمجة قواعد بيانات
Oracle
-المعاملت داخل اوراكل :
) أمثلة متنوعة (
Fname - Lname
= )' LOWER('Ahmed ahmed
)' UPPER('Ahmed = AHMED
= )' INITCAP('ahmed Ahmed
CONCAT('Ahmed' + ' ','Mahmod') = Ahmed Mahmod
SUBSTR('ABCDEFGH', 2,4) = BCD
LENGTH('Ahmed') = 5
INSTR('ABCDEFGH','CD') = 3
LPAD('Ahmed',10,'*') = *****Ahmed
@@@@@ RPAD('Ahmed',10,'@') = Ahmed
' Trim(' Ahmed ') = 'Ahmed
قص الجزء الول حسب النص Trim('S' From 'SSSami') = ami
) أمثلة متنوعة (
ROUND(123.55905,2) = 123.56
ROUND(123.55905,0) = 124
) TRUNC(123.55905,2 = 123.55
)TRUNC(123.55905,0 = 123
) MOD(5,2 =1
أمثلة متعددة
To_Char
الطرق المتعدده لضبط التاريخ
الناتــــج الشكل
السنة كاملة ،ولظهار رقيمن فقط إدخل YYأو Yأو YYYY
YYY
الشهر ،أما fmmmتقوم بعرض التاريخ بدون الصفر MM – FMMM
اليسر مثال :
'To_Char('24/09/1981','fmmm') = '9
رقم اليوم في السنة أو الشهر أو السبوع D - DD - DDD
الثانية SS
الساعة في اليوم و ترميز اليوم 12ساعة ) (12-1أو 24 HH or HH12 or HH24
ساعة )(24-0
دقية MI
عرض اليوم كتابيًا ) السبت -الحد ( ----------- - DAY
صباحًا A
مساء M
عرض القرن SCC – CC
تستخدم هذه العلمات عند الرغبة في عرض نص معين "" علمات التنصيص
)'To_Char(SysDate,'"Day Is: "DD
تقوم بإظهار السنة كاملة كتابيًا ،وفي حالة كتابها حروف YEAR
صغيرة ترجع التاريخ مكتوب بالحروف الصغيرة
إظهار الشهر كتابيًا MONTH – MON
لظهار اليوم كتابيًا ومختصر DY
يعرض ربع السنة Q
BC
رقم الشهر بالترميز الروماني RM
رقم السبوع في السنة أو الشهر W – WW
عدد الثواني منذ منتصف الليل SSSSS
عرض الشهر كتابيًا ،ولكنة بالتنسق الفرعوني Month
Move Last :
Select Emp_ID,Emp_Name
From (Select Emp_ID,Emp_Name
From Emp
Where Emp_ID < 41
Order By Emp_ID Desc) Emp
Where RowNum <= 10
Order By Emp_ID
Move Next :
Select Emp_ID,Emp_Name
From (Select Emp_ID,Emp_Name
From Emp
Where Emp_ID > 10
Order By Emp_ID)
Where RowNum <= 10;
Move Back :
Select Emp_ID,Emp_Name
From (Select Emp_ID,Emp_Name
From Emp
Order By Emp_ID Desc) Emp
Where RowNum <= 10
Order By Emp_ID
RowID
Case
)(1
عرض بيانات كافة الموظفين مع تحديد النوع
' End) As Esexأنثي' ' Elseذكـر' Select Enumber,Ename,(Case When Sex='1' Then
)(2
عرض رقم وإسم وراتب الموظف مع تحديد هل الراتب
ضعيف/متوسط/مرتفع
' Whenضعيف' Select Enumber,Ename,Salary,(Case When Salary<=500 Then
' End) As LevelSalaryمرتقع' ' Elseمتوسط' Salary <=1000 Then
)(3
عرض الموظفين الذين يعملون براتب 950 ، 450 ، 500بشرط معين
Select Enumber,Ename,Salary,(Case When Salary In(500,450,950) Then
' End) As XXالراتب المحدد'
DeCode
تستخدم هذه الدالة في إجراء شرط مثل IF<Exp>Then
مثال
')) AS Esexذكـر'' ,'2' ,أنثي' (DeCode(Sex, '1',
-7دوال المجال التجميعي :
الدالة Function الوظيفة Opject
Sum إيجاد مجموع عمود محدد
Avg إيجاد متوسط عدد محدد
Max إيجاد أكبر قيمة
Min إيجاد أقل قيمة
Count إيجاد عدد السجلت
Stddev دالة النحراف المعياري
Variance دالة التشتت أو التباين
ملحوظة
في حالة الرغبة في إجراء تحديد أكبر أو أقل لحقل نصي ،يقوم بعرض أكبر أو أصغر حقل
نصي حسب ترتيب الحروف ،مثال.
(Ename(Ahmed,Mohamed
Select Max(Ename) as xMax,Min(Ename) ax xMin
Max Mohamed
Min Ahmed
مثال
SQL> Create User Ahmed Identified By XXX
أما إذا كنت ترغب في تغيير كلمة المرور من داخل الـ ، Userويبدأ برقم قم بالخطوات
التالية :
SQL> Password
*** OldPassword:
*** NewPassword:
*** Retype new password:
حيث أن
Connect التصال مع قاعدة البيانات
Resource منح كافة الجرائات في DDLأول DML
Create Session القدرة علي التصال بقاعدة البيانات
Create Table القدرة علي إنشاء الجداول
Create Sequence إنشاء تتابع
Create View إنشاء عارض
Create Procedure إنشاء روتين
Create Function إنشاء إجراء
Create Package إنشاء حزمة
Create Trigger إنشاء أزندة
DBA مدير قواعد البيانات ،مثل System
Grant Select,Update,Insert,Delete
On Emp
To System,Manager
: مثال
Create Role XX;
Grant Connect,Resource To XX;
كتابة الكود
Create Table Section
(
Snumber Varchar2(10), --رقم القسم--
Sname Varchar2(50), --إسم القسم--
Manager Varchar2(10), --مدير القسم--
Sadd Varchar2(500), --ملحظات--
Constraint PK_SECTION Primary Key ( Snumber ),
)Constraint UQ_SECTION Unique ( Manager
;)
-1تعديل بيانات وطول وقيود حقل معين ، Modifyوالشكل العامل لها هو :
) اسم الحقول والتعديلت( ) Modifyاسم الجدول( Alter Table
ومثال علي ذلك يجب وضع طول حقل الراتب Salaryمرن اكثر من ذلك ،وكذلك حقل
اسم الموظف Enameكما يلي :
SQL> Alter Table Employee Modify(Ename Varchar2(60),Salary
;))Number(30,5
-2اضافة حقل جديد أو علقة داخل جدول مصمم سابقًا والشكل العام لها هو:
) الحقول المضافة ( ) Addاسم الجدول ( Alter Table
وعلي سبيل المثال يجب في جدول الموظف يجب ان يحتوي علي حقل العنوان
، Addressفيتم انشائها كما يلي :
) )SQL> Alter Table Employee Add( Address Varchar2(500
يستخدم هذا المر في حذف احدي الجداول الغير مرغوب فيها ،والشكل العام لها :
) اسم الجدول ( SQL> Drop Table
ومثال علي ذلك يتم الرغبة في حذف جدول تحت اسم : XX
; SQL> Drop Table XX
ل من إسم الجدول
يستخدم هذا المر في إنشاء إسم آخر لحدي الجداول يمكن إستخدامها بد ً
الحقيقي ،مثال :
Table Employee
SYNONYM Emp
كما أن هذا المرادف أيضًا يمكن إنشاء مرادف عام علي مستوي أوراكل وتستخدم في جميع
المستخدمين كما يلي :
-1قم بالدخول علي مستخدم النظام .System/Manager
-2قم بكتابة المر التالي :
SQL> Create Public SYNONYM Emp
For MMA .Employee
كما أنه أيضًا يمكن إنشاء علقة بين الجدول الحقيقي و الجدول الوهمي لمعرفة المشرف ،مثال
علي ذلك :
SQL> Alter Table Employee Add
(
)Constraint FK_EMP_SuperEmp Foreign Key(SuperEmp
References Emp(Enumber) On Delete Cascade
)
مثال علي
رقم واسم الموظف
مثــــــال
;) SQL> Create View ShowAllEmp As ( Select * From Emp
DML
التعامل مع الستعلمات داخل
Oracle
الحقول Select
اسماء الجداول والربط From
وضع الشرط علي حقول ذات الصف الواحد Where
وضع حقول تجميع حسب Group By
وضع الشروط علي حقول صفوف المجمعة Having
أسماء الحقول المفرزة Order By
السماء المستعارة
ل من اسم الجدول تمامًا مثل السماء المستعارة للحقول أو العمدة .تساعد
يمكنك استخدام اسم مستعار للجدول بد ً
السماء المستعارة للجداول في جعل كود الـ SQLأصغر والذي يستعمل ذاكرة أقل .
Select x.Enumber,x.Ename,x.Sex
From Employee As x
مثال
Update Employee Set Salary=Salary + (Salary * 0.10) Where
'Ename Like 'M%
مثال آخر
)'Update Employee Set (Salary,Sex)=(500,'1
مثال
)Insert Into Emp(Enumber,Ename,Salary) Values('1','Ahmed',500.25
هناك العديد من الستعلمات داخل الوراكل يمكن من خللها تحديد معلومات النظام ،كما
أن هناك 4أشكال لعرض معلومات النظام وهو كما ممثل بالجدول التالي :
_USER الستعلم علي مستوي المستخدم
_ALL الستعلم علي كافة المستخدمين
_DBA علي مستوي قاعدة البيانات
_V$ يعرض سلوك مزود قاعدة البيانات و القفل وهو متاح مبدئيًا فقط لـ DBA
معلومات إضافية
☻ التاريخ الهجري :
هناك طريقتين لضبط التاريخ الهجري وهم ) الطريقة الدائمة ( و ) الطريقة المؤقتة ( ،ومن
معني الجملتين أن الطريقة المستديمة هي الطريقة التي تستمر حتي بعد إنهاء برنامج
، SQL/Plusأما الطريقة المؤقتة هي التي تعمل مؤقت أثناء فتح نافذة ، SQL/Plusوعند
إغلقها تنتهي عملية التحويل الي التاريخ الهجري ،وفيما يلي شرح مبسط للطريقتين :
) الطريقة المستديمة (
ملحوظة
يتم إستخدام هذه المكانيات من داخل VBعلي النحو التالي
('To_Char(SysDate,'DD Month YYYY
-6أما بالنسبة لتنسيقات التاريخ الهجري أو الميلدي ) الفرنجي ( يتم علي النحو التالي :
إنشاء مفتاح نصي في نفس المسار الموضح أعلة تحت إسم )
، ( NLS_DATE_Formatويتم وضع قيمة لها حسب الرغبة في التنسق :
عرض التاريخ الهجري طويل A – ( DD/MON/YYYY ) :
/25جماد الثاني1401/
) عرض التاريخ الميلدي طويل ) فرعوني B – (DD Month,YYYY) :
24أيلول1981،
C – (YYYY/MM/DD) :
24/9/1981
) الطريقة المؤفقتة (
: أو في المسار
HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE\HOME0 \
ORACLE_HOME_NAME
: أو في المسار
HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE\ OLAP \
ExpressServer \ OLAPServer \ Security \ OracleServiceName
: ☻