37
MY SQL SQL PL/SQL

MY SQL SQL PL/SQL

Embed Size (px)

DESCRIPTION

MY SQL SQL PL/SQL. 1- MY SQL. مقدمة. ماي إس كيو إل وتلفظ أحيانا ماي سيكويل ( بالإنجليزية : MySQL) هو نظام إدارة قواعد البيانات علائقي يعتمد التعامل معه على لغة إس كيو إل . وسمي بهذا الاسم تبعا لابنة مبرمجه الأصلي Michael Widenius، والتي اسمها My. - PowerPoint PPT Presentation

Citation preview

Page 1: MY  SQL SQL PL/SQL

MY SQL

SQL

PL/SQL

Page 2: MY  SQL SQL PL/SQL

1 -MY SQL

Page 3: MY  SQL SQL PL/SQL

مقدمةإل • كيو إس سيكويل )ماي ماي أحيانا : باإلنجليزيةوتلفظ

MySQL )البيانات هو قواعد إدارة التعامل نظام يعتمد عالئقيلغة على إل معه كيو البنة. إس تبعا االسم بهذا مبرمجهوسمي

اسمها Michael Wideniusاألصلي والتي ،My .

المنتجات • من هو إل كيو إس مفتوحة ماي تملكه. المصدر كانتالشركة MySQL السويدية الربحيةوترعاه AB اآلن تملكه لكن ،

ميكروسيستمز من ) صن فرع حاليا هي (.أوراكلوالتي

Page 4: MY  SQL SQL PL/SQL

والواجهات المنصات

من • كثير على إل كيو إس ماي مثل المنصاتيعمل المختلفة

آي آي إيه إم إس ، لينكس، إكسبي أو مايكروسوفت ، ماك . ويندوز

من • البرمجة العديد التطبيقات ذات لغات لبرمجة تحوي واجهاتبرمجية بيانات الستخدام مكتبات . قواعد إل كيو إس ماي

Page 5: MY  SQL SQL PL/SQL

الخصائصقواعد • خادم ألنه الكبيرة؛ بسرعته إل كيو إس ماي خادم يتميز

المسالك بيانات جعل( multi-threaded: باإلنجليزية )متعدد ممابسهولة ويتميز جدا؛ سريعة البيانات قاعدة من االستعالم إمكانية

جداوله المستخدم ربط تصمم بواجهة البرمجة التي .بلغات

تصميم • و MySQLتم السرعة وهي رئيسية مفاهيم ثالث حولاالستخدام . سهولة و الثبات

Page 6: MY  SQL SQL PL/SQL

MySQLمميزات السرعة•

لتنفيذ المستغرق بالوقت السرعة تعرف ، البيانات قواعد أنظمة فينظام أي لنجاح جدا مهمة هي و ، للمستعلم النتائج ارجاع و استعالم

حققت ولقد ، بيانات بأداء MySQLقاعدة المضمار هذا في عالية نتائجمنافسيها . أغلب من أحسن

اإلعتمادية•فإن ، لإلعتمادية نأتي ، MySQLعندما المجال هذا في ناصع سجل ذات

في MySQLإن لإلستعمال مصدق و مختبر بيانات قاعدة نظام هوالمؤسسات أكبر قبل من الحمل عالية و الحرجة المهام ذات تطبيقات

و ناسا فهن بما العالم األن HPفي و ، ياهو عميقة MySQLو جذور لهاالمستخدمين بواسطة يختبر اصدار كل فإن ؛ الحرة المصادر مجتمع فيليتم التشغل ظروف مختلف و التشغيل أنظمة مختلف على العالم حول

. استخدامها على المصادقة قبل العلل خالية أنها من التأكد

Page 7: MY  SQL SQL PL/SQL

األمن•بيانات قاعدة مع التعامل عند المهمة األشياء من األمن إن

مطورو أخذ لقد و ، المستخدمين المجال MySQLمتعددة هذاأن ليضمنوا كبير تأتي MySQLباهتمام ، اإلمكان قدر MySQLأمنة

ليمنع صالحيات نظام و بالوصول للتحكم معقد بنظام ، البيانات قاعدة إلى الوصول من المصرحين غير المستخدمين

الصالحيات من طبقات خمس شكل على طبق النظام هذامدراء يمكن مما ، هرمي إلى MySQLبشكل الوصول حماية من

العمليات ليؤدوا المستخدمين حد ويمكن ، الحساسة البياناتفقط . معينة حقول أو معينة بيانات قواعد على

النقل • و للتوسع القابليةضخمة MySQLتستطيع و مقعدة بيانات قواعد مع تتعامل أن

أدائها . من الكثير الشيء تفقد أن بدون كبير بشكل

Page 8: MY  SQL SQL PL/SQL

االستخدام • سهولةبواجهتها تخوفك التجارية البيانات قواعد أنظمة أغلب إن

زادت كلما و ، التضبيط معامالت من المئات و الملغزة السطريةفلذا ، بيانات قاعدة لتملك اإلجمالية تكلفة زادت التعقيد درجة

تطوير فريق و MySQLأخذ استخدام تسهيل مهمة عاتقه علىأداء تحسين و MySQLإدارة

التطبيقات • من عريض دعممن MySQLتقدم لتمكنك البرمجة لغات لمختلف برمجية واجهة

تدعم فهي تختارها التي باللغة البيانات قواعد تطبيقات PHPكتابةالحرية ++ المطورين لتعطي وغيرها و سي و سي و جافا و

على تعمد التي التطبيقات تصميم في .MySQLالقصوى

Page 9: MY  SQL SQL PL/SQL

2 -SQL

Page 10: MY  SQL SQL PL/SQL

مقدمةلغة • البيانات SQLتعرف قواعد مع التعامل على تساعد لغة بأنها

العالئقية.

البيانات SQLتعمل • قاعدة محرك إلى طلب توجيه بمبدأ . نتائج مجموعة على نحصل بحيث منه جواب على والحصول

ثالث SQLتوفر • إلى تقسيمها يمكن بحيث التعليمات من مجموعة : فرعية معالجة : Select, insert, delete, updateلغات لغة •

(DMLالبيانات)create table, drop table, alter table, create index : لغة •

( البيانات (DDLتعريف grant, revoke : بالبيانات التحكم لغة •

Page 11: MY  SQL SQL PL/SQL

•: مثل وتعديلها البيانات باستعادة الخاصة التعليمات تتضمن التي البيانات معالجة لغة

: . البيانات قاعدة من واستخالصها البيانات لقراءة مخصصة Selectوهي: . البيانات قاعدة إلى جديدة سجالت إلضافة مخصصة Insertوهي

: . البيانات قاعدة من سجالت مجموعة أو سجل لحذف مخصصة Deleteوهي: . البيانات قاعدة في السجالت من مجموعة أو سجل لتعديل مخصصة Updateوهي

•: مثل تعليمات وتتضمن البيانات، بنية لتعريف المخصصة البيانات تعريف لغةجدول : توليد عن مسؤولة Create tableوهيجدول : حذف عن مسؤولة drop tableوهيجدول : تعديل عن مسؤولة alter tableوهي

مؤشرات : توليد عن مسؤولة create indexوهي

•: مثل البيانات قاعدة على السماحيات وضبط للتحكم التيُ تستخدم بالبيانات التحكم لغةGrant. : ) ( محددة مهام ألداء للمستخدمين تسمح منحة

Revoke. :) وانكارها ) الممنوحة األذونات إللغاء اسقاط

Page 12: MY  SQL SQL PL/SQL

3 -PL/SQL

Page 13: MY  SQL SQL PL/SQL

اجرائية • برمجة من procedural programming languageلغة. الرابع الجيل

عادة • تستخدم و اوراكل البيانات لقواعد االساسية البرمجة لغة( السيكوال لغة .SQLمع اوراكل( مع للتعامل برامج لكتابة

)PL/SQLلغة: ملحوظة• السيكوال لغة( SQLبعكس ليستاوراكل . البيانات بقواعد خاصه انها بمعنى نموذجية

Page 14: MY  SQL SQL PL/SQL
Page 15: MY  SQL SQL PL/SQL
Page 16: MY  SQL SQL PL/SQL

المتغيرات** تعريف

Page 17: MY  SQL SQL PL/SQL
Page 18: MY  SQL SQL PL/SQL

تعريف عملية خالل مراعاتها يجب التي النقاطالمتغيرات:

Page 19: MY  SQL SQL PL/SQL

للمتغيرات* * : القيم اسناد

Page 20: MY  SQL SQL PL/SQL

: للمتغيرات** البيانات انواع

Page 21: MY  SQL SQL PL/SQL
Page 22: MY  SQL SQL PL/SQL
Page 23: MY  SQL SQL PL/SQL

في** التنفيذية PL/SQLالجمل

Page 24: MY  SQL SQL PL/SQL
Page 25: MY  SQL SQL PL/SQL
Page 26: MY  SQL SQL PL/SQL
Page 27: MY  SQL SQL PL/SQL

:Commentsالتعليقات **: التعليقات كتابة عند

ما )--( - أن وتعني التعليق جملة بداية في بوضع تكون الواحد السطر تعليقات. توضيحي نص الجملة هذه بعد

بوضع )- تكون المتعددة السطور ووضع( )/*تعليقات التعليق بداية في( */في. التعليق نهاية

o:مثال.……v_name varchar2(20) ; -- this variable used to hold the employee nameBegin

*/this code is used to readThe employee salary and calculate the annual salaryAnd print the annual salary/*.……

End;

Page 28: MY  SQL SQL PL/SQL

المتداخلة** ) (Nested Blocksالوحدات( المتداخلة (Nested Blocksالوحدات

كتابة ) ألي( )Blockيمكن التنفيذي الجزء أنه( Blockداخل على وسيعامل آخر( , كتابة أيضا ويمكن تنفيذية .Blockجملة االستثناءات( جزء داخل

...x BINARY_INTEGER;BEGIN... x مجال DECLARE y NUMBER; BEGIN y مجال ... END;...END;

مجال المتغير يمثل

المنطقة يمكن التيمع التعامل

المتغير داخلها

Page 29: MY  SQL SQL PL/SQL

المتداخلة ) (Nested Blocksالوحدات...x BINARY_INTEGER;BEGIN... DECLARE x NUMBER; BEGIN هذه داخل المتغير استخدام

ل ... سيكون الوحدة END;...END;

حالة فيتعريف

متغيرين االسم بنفسالوحدات فيفإن المتداخلة

الوحدة (Block )

مع تتعاملالمتغير

لها األقرب

Page 30: MY  SQL SQL PL/SQL

المتداخلة ) (Nested Blocksالوحدات:مثال

DECLARE v_sal NUMBER(7,2) := 60000; v_comm NUMBER(7,2) := v_sal * .20; v_message VARCHAR2(255) := ' eligible for commission'; BEGIN DECLARE v_sal NUMBER(7,2) := 50000; v_comm NUMBER(7,2) := 0; v_total_comp NUMBER(7,2) := v_sal + v_comm; BEGIN v_message := 'CLERK not' || v_message; END;v_message := 'SALESMAN'||v_message;DBMS_OUTPUT.PUT_LINE (v_message );END;

SALESMAN CLERK not eligible for commission

output

Page 31: MY  SQL SQL PL/SQL

في** البرمجة PL/SQLدليل(Programming Guidelines)

داللة 1. لتوضيح وذلك والتعليقات التوضيحات كتابة. البرنامج عمل وطريقة المتغيرات

.2: يلي ما على بناء والكبيرة الصغيرة األحرف حالة استخدام

الفئة األحرف حالة مثال

SQL جمل كبيرة SELECT, INSERT

المحجوزة الكلمات كبيرة DECLARE ,BEGIN, END

المتغيرات أنواع كبيرة VARCHAR2(5), NUMBER(3)

المتغيرات معامالت صغيرة g_id, v_sal

واألعمدة الجداول أسماء صغيرة emp, dept, ename

Page 32: MY  SQL SQL PL/SQL

في البرمجة PL/SQLدليل(Programming Guidelines)

نوع على بناء المتغيرات تسمية طريقة يبين التالي الجدولالمتغيرات:

االسم التسمية طريقة مثال

variablesالمتغيرات v_name v_empno, v_sal

constants c_nameالثوابت c_sal , c_tax

cursorsالمؤشرات Name_cursor emp_cursor

االستثناءات exception

e_name e_too_many

االستبدال متغيراتsubstitute variables

p_name p_empno

العامة المتغيراتglobal

g_name g_sal

Page 33: MY  SQL SQL PL/SQL

في البرمجة PL/SQLدليل(Programming Guidelines)

3. الفهم. وسهل واضح البرنامج يكون حتى اإلزاحات استخدام: أدناه الفرق نالحظ

BEGIN IF x=0 THEN y:=1; ELSE y:=2; END IF;END;

BEGINIF x=0 THEN y:=1; ELSE y:=2; END IF;END;

Page 34: MY  SQL SQL PL/SQL

الدوال استخدام وحدة داخل استخدامها يمكن التي الدوال

(Block:) في الواحد الصف SQLدوال

الرقمية- Number Functionsالدوالالرمزية - Character Functionsالدوالالتاريخ - Date Functionsدوال

Page 35: MY  SQL SQL PL/SQL

الرقمية أمثلة Number Functionsالدوال

•ROUND الفاصلة بعد ما تقرب v_sal := ROUND(1.23456) ; 1

•TRUNC الفاصلة بعد ما تتجاهل v_sal := TRUNC(1.23456) ; 1

•SQRT التربيعي الجذر تعطي v_ num := SQRT(9); 3

الرمزية CharacterالدوالFunctions

أمثلة

•INITCAPكبير حرف الكلمة من األول الحرف تجعل

SELECT INITCAP (enam) INTO v_name FROM emp WHERE empno =7788;

•CONCAT.. عمودين أو كلمتين بين تربط

SELECT CONCAT(first_name, last_name) INTO v_name  FROM employeeWHERE empno =7788;

•LOWERصغيرة أحرف إلى تحول

•UPPERكبيرة أحرف إلى تحول

SELECT  LOWER (job), INITCAP (ename) INTO v_ejop , v_enameFROM   employees WHERE   UPPER (job) = 'SALESREP'

التاريخ Date Functionsدوال أمثلة

•ADD_MONTHSالتاريخ األشهرعلى من معين عدد تضيف

المعطى

SELECT  ADD_MONTHS('01-JAN-2005', 13)   FROM dual;

•MONTHS_BETWEEN. تاريخين مابين األشهر عدد تعطي

SELECT  MONTHS_BETWEEN('25-MAY-2005', ‘15-JAN-2005') FROM dual;  4.32258065

Page 36: MY  SQL SQL PL/SQL

الدوال استخدام

: المختلفة البيانات أنواع بين التحويل دوالرمزية 1. قيم إلى TO_CHAR ◄ CHARACTERالتحويل

to_char( value, [ format_mask ], [ nls_language ] ): رمزية- قيم إلى تاريخ تحويل مثال

to_char(sysdate, 'yyyy/mm/dd'); '2003/07/09‘: رمزية- قيم إلى أرقام تحويل مثال

to_char(1210.73) '1210.73 ‘ to_char(1210.73, '9999.9') '1210.7‘ to_char(1210.73, '$9,999.00') '$1,210.73'

رقمية 1. قيم إلى TO_NUMBER ◄ NUMBERالتحويلto_number( string1, [ format_mask ], [ nls_language ] )

مثال: to_number('1210.73') 1210.73

تاريخ 1. قيم إلى TO_DATE ◄ DATEالتحويلto_date( string1, [ format_mask ], [ nls_language ] )

مثال: to_date('2003/07/09', 'yyyy/mm/dd') July 9, 2003.

Page 37: MY  SQL SQL PL/SQL

الخالصة عن MY SQLمقدمة عن SQLمقدمةPL/SQL

المتغيرات تعريف للمتغيرات القيم اسناد للمتغيرات البيانات انواع( الجمل PL/SQLفي( Syntaxتركيب المتداخلة الوحدات في المتغيرات في استخدامها يمكن التي الدوال PL/SQLبعض

1. الواحد. الصف دوال 2. التحويل. دوال