570 likes | 944 Views
MY SQL SQL PL/SQL. 1- MY SQL. مقدمة. ماي إس كيو إل وتلفظ أحيانا ماي سيكويل ( بالإنجليزية : MySQL) هو نظام إدارة قواعد البيانات علائقي يعتمد التعامل معه على لغة إس كيو إل . وسمي بهذا الاسم تبعا لابنة مبرمجه الأصلي Michael Widenius، والتي اسمها My.
E N D
مقدمة • ماي إس كيو إل وتلفظ أحيانا ماي سيكويل (بالإنجليزية: MySQL) هو نظام إدارة قواعد البيانات علائقي يعتمد التعامل معه على لغة إس كيو إل. وسمي بهذا الاسم تبعا لابنة مبرمجه الأصلي Michael Widenius، والتي اسمها My. • ماي إس كيو إل هو من المنتجات مفتوحة المصدر. كانت تملكه وترعاه الشركة الربحيةالسويديةMySQL AB، لكن تملكه الآن صن ميكروسيستمز (والتي هي حاليا فرع من أوراكل).
المنصات والواجهات • يعمل ماي إس كيو إل على كثير من المنصات المختلفة مثل آي بي إم إيه آي إكس، لينكس، ماك أو إس، مايكروسوفت ويندوز. • العديد من لغات البرمجة ذات واجهات لبرمجة التطبيقات تحوي مكتبات برمجية لاستخدام قواعد بيانات ماي إس كيو إل.
الخصائص • يتميز خادم ماي إس كيو إل بسرعته الكبيرة؛ لأنه خادم قواعد بيانات متعدد المسالك (بالإنجليزية: multi-threaded) مما جعل إمكانية الاستعلام من قاعدة البيانات سريعة جدا؛ ويتميز بسهولة ربط جداوله بواجهة المستخدم التي تصمم بلغات البرمجة. • تم تصميم MySQL حول ثلاث مفاهيم رئيسية وهي السرعة و الثبات و سهولة الاستخدام .
مميزات MySQL • السرعةفي أنظمة قواعد البيانات ، تعرف السرعة بالوقت المستغرق لتنفيذ استعلام و ارجاع النتائج للمستعلم ، و هي مهمة جدا لنجاح أي نظام قاعدة بيانات ، ولقد حققت MySQL نتائج عالية في هذا المضمار بأداء أحسن من أغلب منافسيها . • الإعتماديةعندما نأتي للإعتمادية ، فإن MySQL ذات سجل ناصع في هذا المجال ، إن MySQL هو نظام قاعدة بيانات مختبر و مصدق للإستعمال في تطبيقات ذات المهام الحرجة و عالية الحمل من قبل أكبر المؤسسات في العالم بما فهن ناسا و HP و ياهو ، و الأن MySQL لها جذور عميقة في مجتمع المصادر الحرة ؛ فإن كل اصدار يختبر بواسطة المستخدمين حول العالم على مختلف أنظمة التشغيل و مختلف ظروف التشغل ليتم التأكد من أنها خالية العلل قبل المصادقة على استخدامها.
الأمنإن الأمن من الأشياء المهمة عند التعامل مع قاعدة بيانات متعددة المستخدمين ، و لقد أخذ مطورو MySQL هذا المجال باهتمام كبير ليضمنوا أن MySQL أمنة قدر الإمكان ، تأتي MySQL بنظام معقد للتحكم بالوصول و نظام صلاحيات ليمنع المستخدمين غير المصرحين من الوصول إلى قاعدة البيانات ، هذا النظام طبق على شكل خمس طبقات من الصلاحيات بشكل هرمي ، مما يمكن مدراء MySQL من حماية الوصول إلى البيانات الحساسة ، ويمكن حد المستخدمين ليؤدوا العمليات على قواعد بيانات معينة أو حقول معينة فقط . • القابلية للتوسع و النقلتستطيع MySQL أن تتعامل مع قواعد بيانات مقعدة و ضخمة بشكل كبير بدون أن تفقد الشيء الكثير من أدائها .
سهولة الاستخدام إن أغلب أنظمة قواعد البيانات التجارية تخوفك بواجهتها السطرية الملغزة و المئات من معاملات التضبيط ، و كلما زادت درجة التعقيد زادت تكلفة الإجمالية لتملك قاعدة بيانات ، فلذا أخذ فريق تطوير MySQL على عاتقه مهمة تسهيل استخدام و إدارة و تحسين أداء MySQL • دعم عريض من التطبيقاتتقدم MySQL واجهة برمجية لمختلف لغات البرمجة لتمكنك من كتابة تطبيقات قواعد البيانات باللغة التي تختارها فهي تدعم PHP و جافا و سي و سي ++ و وغيرها لتعطي المطورين الحرية القصوى في تصميم التطبيقات التي تعمد على MySQL .
مقدمة • تعرف لغة SQL بأنها لغة تساعد على التعامل مع قواعد البيانات العلائقية. • تعمل SQL بمبدأ توجيه طلب إلى محرك قاعدة البيانات والحصول على جواب منه بحيث نحصل على مجموعة نتائج. • توفر SQL مجموعة من التعليمات بحيث يمكن تقسيمها إلى ثلاث لغات فرعية: Select, insert, delete, update : • لغة معالجة البيانات(DML) create table, drop table, alter table, create index : • لغة تعريف البيانات(DDL) grant, revoke : • لغة التحكم بالبيانات
لغة معالجة البيانات التي تتضمن التعليمات الخاصة باستعادة البيانات وتعديلها مثل: وهي مخصصة لقراءة البيانات واستخلاصها من قاعدة البيانات. :Select وهي مخصصة لإضافة سجلات جديدة إلى قاعدة البيانات. :Insert وهي مخصصة لحذف سجل أو مجموعة سجلات من قاعدة البيانات. :Delete وهي مخصصة لتعديل سجل أو مجموعة من السجلات في قاعدة البيانات. :Update • لغة تعريف البيانات المخصصة لتعريف بنية البيانات، وتتضمن تعليمات مثل: وهي مسؤولة عن توليد جدول :Create table وهي مسؤولة عن حذف جدول :drop table وهي مسؤولة عن تعديل جدول :alter table وهي مسؤولة عن توليد مؤشرات :create index • لغة التحكم بالبيانات التي ُتستخدم للتحكم وضبط السماحيات على قاعدة البيانات مثل: Grant (منحة ) : تسمح للمستخدمين لأداء مهام محددة . Revoke ( اسقاط): لإلغاء الأذونات الممنوحة وانكارها.
لغة برمجة اجرائية procedural programming language من الجيل الرابع. • لغة البرمجة الاساسية لقواعد البيانات اوراكل و تستخدم عادة مع لغة السيكوال(SQL) لكتابة برامج للتعامل مع اوراكل. • ملحوظة: لغة PL/SQL بعكس السيكوال(SQL) ليست لغة نموذجية بمعنى انها خاصه بقواعد البيانات اوراكل .
النقاط التي يجب مراعاتها خلال عملية تعريف المتغيرات:
**التعليقات 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 ;
**الوحدات المتداخلة (Nested Blocks) • الوحدات المتداخلة (Nested Blocks) يمكن كتابة (Block) داخل الجزء التنفيذي لأي (Block) آخر وسيعامل على أنه جملة تنفيذية, ويمكن أيضا كتابة (Block) داخل جزء الاستثناءات. ... x BINARY_INTEGER; BEGIN ... x مجال DECLARE y NUMBER; BEGIN y مجال ... END; ... END; مجال المتغير يمثل المنطقة التي يمكن التعامل مع المتغير داخلها
الوحدات المتداخلة (Nested Blocks) ... x BINARY_INTEGER; BEGIN ... DECLARE x NUMBER; BEGIN استخدام المتغير داخل هذه الوحدة سيكون ل ... END; ... END; في حالة تعريف متغيرين بنفس الاسم في الوحدات المتداخلة فإن الوحدة (Block) تتعامل مع المتغير الأقرب لها
الوحدات المتداخلة (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
** دليل البرمجة في PL/SQL(Programming Guidelines) • كتابة التوضيحات والتعليقات وذلك لتوضيح دلالة المتغيرات وطريقة عمل البرنامج. • استخدام حالة الأحرف الصغيرة والكبيرة بناء على ما يلي:
دليل البرمجة في PL/SQL(Programming Guidelines) • الجدول التالي يبين طريقة تسمية المتغيرات بناء على نوع المتغيرات:
دليل البرمجة في 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;
استخدام الدوال • الدوال التي يمكن استخدامها داخل وحدة (Block): • دوال الصف الواحد في SQL - الدوال الرقمية Number Functions • الدوال الرمزية Character Functions • دوال التاريخ Date Functions
استخدام الدوال • دوال التحويل بين أنواع البيانات المختلفة: • التحويل إلى قيم رمزية 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.
الخلاصة • مقدمة عن MY SQL • مقدمة عن SQL • PL/SQL • تعريف المتغيرات • اسناد القيم للمتغيرات • انواع البيانات للمتغيرات • تركيب الجمل (Syntax) في PL/SQL • المتغيرات في الوحدات المتداخلة • بعض الدوال التي يمكن استخدامها في PL/SQL 1. دوال الصف الواحد. 2. دوال التحويل.