1 / 37

MY SQL SQL PL/SQL

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

paul-moon
Download Presentation

MY SQL SQL PL/SQL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MY SQLSQLPL/SQL

  2. 1- MY SQL

  3. مقدمة • ماي إس كيو إل وتلفظ أحيانا ماي سيكويل (بالإنجليزية: MySQL) هو نظام إدارة قواعد البيانات علائقي يعتمد التعامل معه على لغة إس كيو إل. وسمي بهذا الاسم تبعا لابنة مبرمجه الأصلي Michael Widenius، والتي اسمها My. • ماي إس كيو إل هو من المنتجات مفتوحة المصدر. كانت تملكه وترعاه الشركة الربحيةالسويديةMySQL AB، لكن تملكه الآن صن ميكروسيستمز (والتي هي حاليا فرع من أوراكل).

  4. المنصات والواجهات • يعمل ماي إس كيو إل على كثير من المنصات المختلفة مثل آي بي إم إيه آي إكس، لينكس، ماك أو إس، مايكروسوفت ويندوز. • العديد من لغات البرمجة ذات واجهات لبرمجة التطبيقات تحوي مكتبات برمجية لاستخدام قواعد بيانات ماي إس كيو إل.

  5. الخصائص • يتميز خادم ماي إس كيو إل بسرعته الكبيرة؛ لأنه خادم قواعد بيانات متعدد المسالك (بالإنجليزية: multi-threaded) مما جعل إمكانية الاستعلام من قاعدة البيانات سريعة جدا؛ ويتميز بسهولة ربط جداوله بواجهة المستخدم التي تصمم بلغات البرمجة. • تم تصميم MySQL حول ثلاث مفاهيم رئيسية وهي السرعة و الثبات و سهولة الاستخدام .

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

  7. الأمنإن الأمن من الأشياء المهمة عند التعامل مع قاعدة بيانات متعددة المستخدمين ، و لقد أخذ مطورو MySQL هذا المجال باهتمام كبير ليضمنوا أن MySQL أمنة قدر الإمكان ، تأتي MySQL بنظام معقد للتحكم بالوصول و نظام صلاحيات ليمنع المستخدمين غير المصرحين من الوصول إلى قاعدة البيانات ، هذا النظام طبق على شكل خمس طبقات من الصلاحيات بشكل هرمي ، مما يمكن مدراء MySQL من حماية الوصول إلى البيانات الحساسة ، ويمكن حد المستخدمين ليؤدوا العمليات على قواعد بيانات معينة أو حقول معينة فقط . • القابلية للتوسع و النقلتستطيع MySQL أن تتعامل مع قواعد بيانات مقعدة و ضخمة بشكل كبير بدون أن تفقد الشيء الكثير من أدائها .

  8. سهولة الاستخدام إن أغلب أنظمة قواعد البيانات التجارية تخوفك بواجهتها السطرية الملغزة و المئات من معاملات التضبيط ، و كلما زادت درجة التعقيد زادت تكلفة الإجمالية لتملك قاعدة بيانات ، فلذا أخذ فريق تطوير MySQL على عاتقه مهمة تسهيل استخدام و إدارة و تحسين أداء MySQL • دعم عريض من التطبيقاتتقدم MySQL واجهة برمجية لمختلف لغات البرمجة لتمكنك من كتابة تطبيقات قواعد البيانات باللغة التي تختارها فهي تدعم PHP و جافا و سي و سي ++ و وغيرها لتعطي المطورين الحرية القصوى في تصميم التطبيقات التي تعمد على MySQL .

  9. 2- SQL

  10. مقدمة • تعرف لغة SQL بأنها لغة تساعد على التعامل مع قواعد البيانات العلائقية. • تعمل SQL بمبدأ توجيه طلب إلى محرك قاعدة البيانات والحصول على جواب منه بحيث نحصل على مجموعة نتائج. • توفر SQL مجموعة من التعليمات بحيث يمكن تقسيمها إلى ثلاث لغات فرعية: Select, insert, delete, update : • لغة معالجة البيانات(DML) create table, drop table, alter table, create index : • لغة تعريف البيانات(DDL) grant, revoke : • لغة التحكم بالبيانات

  11. لغة معالجة البيانات التي تتضمن التعليمات الخاصة باستعادة البيانات وتعديلها مثل: وهي مخصصة لقراءة البيانات واستخلاصها من قاعدة البيانات. :Select وهي مخصصة لإضافة سجلات جديدة إلى قاعدة البيانات. :Insert وهي مخصصة لحذف سجل أو مجموعة سجلات من قاعدة البيانات. :Delete وهي مخصصة لتعديل سجل أو مجموعة من السجلات في قاعدة البيانات. :Update • لغة تعريف البيانات المخصصة لتعريف بنية البيانات، وتتضمن تعليمات مثل: وهي مسؤولة عن توليد جدول :Create table وهي مسؤولة عن حذف جدول :drop table وهي مسؤولة عن تعديل جدول :alter table وهي مسؤولة عن توليد مؤشرات :create index • لغة التحكم بالبيانات التي ُتستخدم للتحكم وضبط السماحيات على قاعدة البيانات مثل: Grant (منحة ) : تسمح للمستخدمين لأداء مهام محددة . Revoke ( اسقاط): لإلغاء الأذونات الممنوحة وانكارها.

  12. 3- PL/SQL

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

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

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

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

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

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

  19. **التعليقات Comments : عند كتابة التعليقات: • تعليقات السطر الواحد تكون بوضع (--) في بداية جملة التعليق وتعني أن ما بعد هذه الجملة نص توضيحي. • تعليقات السطور المتعددة تكون بوضع (/*) في بداية التعليق ووضع (*/) في نهاية التعليق. • مثال: ……. v_name varchar2(20) ; -- this variable used to hold the employee name Begin /* this code is used to read The employee salary and calculate the annual salary And print the annual salary */ ……. End ;

  20. **الوحدات المتداخلة (Nested Blocks) • الوحدات المتداخلة (Nested Blocks) يمكن كتابة (Block) داخل الجزء التنفيذي لأي (Block) آخر وسيعامل على أنه جملة تنفيذية, ويمكن أيضا كتابة (Block) داخل جزء الاستثناءات. ... x BINARY_INTEGER; BEGIN ... x مجال DECLARE y NUMBER; BEGIN y مجال ... END; ... END; مجال المتغير يمثل المنطقة التي يمكن التعامل مع المتغير داخلها

  21. الوحدات المتداخلة (Nested Blocks) ... x BINARY_INTEGER; BEGIN ... DECLARE x NUMBER; BEGIN استخدام المتغير داخل هذه الوحدة سيكون ل ... END; ... END; في حالة تعريف متغيرين بنفس الاسم في الوحدات المتداخلة فإن الوحدة (Block) تتعامل مع المتغير الأقرب لها

  22. الوحدات المتداخلة (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; output SALESMAN CLERK not eligible for commission

  23. ** دليل البرمجة في PL/SQL(Programming Guidelines) • كتابة التوضيحات والتعليقات وذلك لتوضيح دلالة المتغيرات وطريقة عمل البرنامج. • استخدام حالة الأحرف الصغيرة والكبيرة بناء على ما يلي:

  24. دليل البرمجة في PL/SQL(Programming Guidelines) • الجدول التالي يبين طريقة تسمية المتغيرات بناء على نوع المتغيرات:

  25. دليل البرمجة في PL/SQL(Programming Guidelines) 3. استخدام الإزاحات حتى يكون البرنامج واضح وسهل الفهم. نلاحظ الفرق أدناه: BEGIN IF x=0 THEN y:=1; ELSE y:=2; END IF; END; BEGIN IF x=0 THEN y:=1; ELSE y:=2; END IF; END;

  26. استخدام الدوال • الدوال التي يمكن استخدامها داخل وحدة (Block): • دوال الصف الواحد في SQL - الدوال الرقمية Number Functions • الدوال الرمزية Character Functions • دوال التاريخ Date Functions

  27. استخدام الدوال • دوال التحويل بين أنواع البيانات المختلفة: • التحويل إلى قيم رمزية 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' • التحويل إلى قيم رقمية TO_NUMBER ◄ NUMBER to_number( string1, [ format_mask ], [ nls_language ] ) مثال: • to_number('1210.73') 1210.73 • التحويل إلى قيم تاريخ TO_DATE ◄ DATE to_date( string1, [ format_mask ], [ nls_language ] ) مثال: • to_date('2003/07/09', 'yyyy/mm/dd') July 9, 2003.

  28. الخلاصة • مقدمة عن MY SQL • مقدمة عن SQL • PL/SQL • تعريف المتغيرات • اسناد القيم للمتغيرات • انواع البيانات للمتغيرات • تركيب الجمل (Syntax) في PL/SQL • المتغيرات في الوحدات المتداخلة • بعض الدوال التي يمكن استخدامها في PL/SQL 1. دوال الصف الواحد. 2. دوال التحويل.

More Related