نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

SQL/Topics

أنواع البيانات أنواع البيانات التي يمكن استخدامها مع محركات قواعد البيانات المختلفة (البيانات العددية، والبيانات النصية، والوقت والتاريخ، والبيانات الثنائية ...إلخ.). أساسيات لغة SQL القيمة NULL يستخدم التعبير IS NULL للتأكد من خلو القيمة (أي لا توجد قيمة في الحقل المحدد). التعليقات Comments تضاف التعليقات إلى الشيفرة بهدف تسهيل قراءتها أو كتابة ملاحظات جانبية مساعدة. SELECT count(*); -- This comment continues to the end of line SELECT count(*); /* This is an inline ...

الربط الداخلي INNER JOIN

يُستخدم هذا النوع من الربط ما بين جدولين (أو أكثر) وذلك لتحديد بعض السجلات من الجدول اليساري والجدول اليميني بحيث تحقق شرط الربط، وتكون له البنية العامّة الآتية: SELECT col_names FROM tbl_name1 [INNER] JOIN tbl_name2 ON col_name1 = col_name2 وكما يُلاحظ أن وجود كلمة INNER اختياريّ لأن الربط الداخلي هو الحالة الافتراضية في الربط. مثال إن كانت قاعدة بيانات أحد المراكز التعليمية تحتوي على الجداول الآتية: الجدول الأول: جدول الطلاب students (المفتاح الأولي فيه هو عمود StudentID والمفتاح الثانوي هو عمود CourseID ...

التسمية البديلة Alias في SQL

يمكن إطلاق تسمية على الجداول أو الحقول تسهيلًا للتعامل معها بالاسم البديل المؤقت (وقد يكون أكثر اختصارًا)، وذلك عند الحاجة إلى الوصول إلى نفس الجدول أو الحقل عدة مرات، ويعبًّر عن ذلك بالكلمة المفتاحية AS، ويمكن الاستغناء عنها عند تسمية الجدول. أمثلة في الاستعلام الآتي: SELECT Name AS Top Students, Age, GPA FROM students سيظهر العمود Name باسم Top Students في النتائج. وفي الاستعلام: SELECT StudentID, FirstName, Course, Lecturer FROM students st LEFT JOIN courses co ON st.CourseID = co.CourseID; سُمي الجدول students باسم st والجدول ...

الربط اليساري LEFT JOIN

يُستخدم هذا النوع من الربط ما بين جدولين (أو أكثر) وذلك لتحديد كافة السجلات من الجدول اليساري وبعض السجلات من الجدول اليميني التي تحقق شرط الربط، وتكون له البنية العامّة الآتية: SELECT col_names FROM tbl_name1 LEFT [OUTER] JOIN tbl_name2 ON col_name1 = col_name2 مثال إن كانت قاعدة بيانات أحد المراكز التعليمية تحتوي على الجداول الآتية: الجدول الأول: جدول الطلاب students (المفتاح الأولي فيه هو عمود StudentID والمفتاح الثانوي هو عمود CourseID للربط مع جدول الدورات التدريبية) RegDate CourseID LastName FirstName StudentID ...

الدالة ()join في Sass

تجمع الدالة join()‎ قائمتين في قائمة واحدة. ما لم يُمرّر المعامل ‎$separator وكانت عناصر إحدى القائمتين مفصولةً بفاصلة وعناصر الأخرى مفصولةً بمسافات، فسيُستخدم نوع فاصلة المعامل الأول في القائمة الناتجة. إن كانت كلا القائمتين تحتويان على أقل من عنصرين ، فستُستخدم المسافة لفصل عناصر القائمة الناتجة. ما لم يُمرر المعامل ‎$bracketed، فستوضع القائمة الناتجة بين قوسين مربعين شرط أن تكون القائمة الأولى ‎$list1 كذلك. تُعيد الدالة join()‎ قائمةً جديدةً، مثل كل دوال القوائم، بدلًا من تعديل المعاملات موضعيًا. البنية العامة ...

التعليقات في SQL

تضاف التعليقات إلى الشيفرة بهدف تسهيل قراءتها أو كتابة ملاحظات جانبية مساعدة، وتوجد طريقتان لإضافة التعليقات: الأولى: بإضافة شرطَتين متتاليتَن، وذلك للتعليقات السطرية (سطر واحد فقط). الثانية: بإضافة الرمزين ‎*/ عند بداية التعليقات وإنهائها بالرمزين ‎ */‎وذلك للتعليقات الممتدة عبر سطر أو أكثر. أمثلة SELECT count(*); -- This comment continues to the end of line SELECT count(*); /* This is an inline comment */; SELECT count(*), /* This is a multiline comment */ country; التوافقية SQLServer SQLite Oracle PostgreSQL ...

الربط بين الجداول

تخزن البيانات عادةً في قواعد البيانات بأكثر من جدول لتسهيل تنظيمها وإدارتها، وتُربط هذه الجداول فيما بينها من خلال الأعمدة المترابطة فيما بينها، وذلك بالاعتماد على مفهومي المفتاح الأولي Primary Key والمفتاح الثانوي Foreign Key، وله عدة أنواع ستُذكر تباعًا. أنواع ربط الجداول توجد عدة أنواع للربط بين جدولين (أو أكثر)، إذ يسمى الجدول الأول يساريًا والجدول الثاني يمينًا: الربط الداخلي INNER JOIN: تحديد بعض السجلات من الجدول اليساري والجدول اليميني بحيث تحقق شرط الربط. الربط اليساري LEFT JOIN: تحديد ...

الاستعلامات الفرعية Subqueries في SQL

الاستعلام الفرعي هو استعلام واقعٌ ضمن استعلام آخر بهدف استخدام البيانات الناتجة عنه في الاستعلام الرئيسي الذي يحتويه، وغالبًا ما يكون الاستعلام الفرعي عبارة عن استعلام SELECT، ويمكن استخدامه مع أي من استعلامات SELECT أو INSERT أو UPDATE أو DELETE. استخدام الاستعلام الفرعي في استعلام SELECT تحديد الاستعلام الفرعي كأحد الأعمدة يُمكن تحديد أحد الأعمدة التي ستظهر بتنفيذ استعلام SELECT من خلال الاستعلام الفرعي الذي يعيد قيمة وحيدة لكل سجل. مثال إن كانت الجداول الآتية موجودة في قاعدة البيانات: الجدول ...

منشئ الاستعلامات في Laravel

مقدمة يوفّر منشئ استعلامات قاعدة بيانات Laravel واجهة ملائمة وسلسة لإنشاء وإدارة استعلامات قاعدة البيانات. يمكن استخدامه لتنفيذ معظم عمليات قاعدة البيانات بتطبيقك كما أنه يعمل على جميع أنظمة قواعد البيانات المدعومة. يستخدم منشئ استعلامات Laravel ارتباط المعاملة PDO لحماية تطبيقك من هجمات حقن SQL. لا حاجة لتنظيف السلاسل النصيّة التي تُمرّر كارتباطات. استرداد النتائج استرداد جميع الصفوف من الجدول تستطيع استخدام التابع table على الواجهة الساكنة DB لبدء استعلام. يرد التابع table نسخة منشئ استعلامات فصيحة (fluent) للجدول المحدد، ...

الشرط CASE في SQL

تستخدم لاختبار شرط معين بشكل مشابه لتعليمات if/else في لغات البرمجة الأخرى لتعيد أحد التعابير الممكنة، وتكون البنية العامة لها بالشكل الآتي: CASE WHEN condition THEN result [WHEN ...] [ELSE result] END إذ تعبر الكلمة condition عن الشرط المُختبَر، وكلمة result عن التعبير المُعاد. مثال ليكن الجدول الآتي students موجودًا في قاعدة البيانات: GPA Age Name StudentID 3.68 25 Mona 1024 3.57 24 Radi 1081 2.50 25 Leen 1012 4.00 26 Sarah 1085 1.96 22 Amin 1066 2.87 23 Yusuf ...

الاختبار الشرطي IF في SQL

تستخدم صيغة IF لاختبار شرط معين للتأكّد من تحقّقه أو عدم تحقّقه وإجراء ما يتناسب مع ذلك، وتكون البنية العامة لها بالشكل الآتي: IF condition THEN statements [ ELSEIF condition THEN statements [ ELSEIF condition THEN statements ...]] [ ELSE statements ] END IF; إذ تعبّر الكلمة condition عن الشرط المُختبَر، وكلمة statements عن التعليمات التي ستُجرى أو قد تكون تعابير بدلًا من التعليمات. ويلاحظ  في محركي PostgreSQL و Oracle أن الكلمة المفتاحية ELSEIF تصبح ELSIF، وفي محرك SQL Server ...

الأمر USE في SQL

يستخدم هذا الأمر لتحديد قاعدة البيانات التي يتَعامَل معها لنقل السياق context لها، وله الصيغة الآتية: USE { database_name} [;] مثال لاستخدام قاعدة البيانات المُسماة centre يكون الأمر بالشكل: USE centre; التوافقية SQLServer SQLite Oracle PostgreSQL MySQL نعم لا لا لا نعم مصادر توثيق USE في محرك MySQL توثيق USE في محرك SQLServer

بعض الدوال المساعدة في SQL

الدوال الرياضية الدالة مهمتها COUNT(*)‎ تعيد عدد السجلات الموجودة في الجدول MAX(col_name)‎ تعيد القيمة الأكبر في حقل col_name في سجلات الجدول MIN(col_name)‎ تعيد القيمة الأصغر في حقل col_name في سجلات الجدول AVG(col_name)‎ تعيد قيمة المتوسط الحسابي لقيم الحقل col_name في سجلات الجدول SUM(col_name)‎ تعيد قيمة مجموع قيم الحقل col_name في سجلات الجدول SQRT(m)‎ تعيد قيمة الجذر التربيعي للقيمة m (قد تكون قيمة أحد الحقول) RAND()‎ تعيد قيمة عشوائية مُولّدة واقعة في المجال ما بين القيمة 0 والقيمة 1 MOD(N,M)‎ تعيد ...

أنواع البيانات في SQL

تختلف أنواع البيانات بحسب محرك البيانات المستخدَم وستُذكر تباعًا. في محرك البيانات MySQL أنواع البيانات العددية Numeric النوع بداية المجال نهاية المجال مساحة التخزين TINYINT ‎-128 127 1 بايت SMALLINT ‎-32768 32767 2 بايت MEDIUMINT ‎-8388608 8388607 3 بايت INT ‎-2147483648 2147483647 4 بايت BIGINT ‎-9223372036854775808 9223372036854775807 8 بايت BIT 0 1 بت واحد البيانات العددية الثابتة مع الفاصلة العشرية النوع الوصف DECIMAL(p,s)‎ يعبّر الرمز p عن قيمة الدقة أي عدد الخانات المسموحة الإجمالية للعدد ويعبّر الرمز s عن عدد ...

المعاملات Operators في SQL

المعاملات الرياضية Arithmetic Operators تستخدم لإجراء العمليات الحسابية على البيانات العددية في الجداول، وهي: المعامل المهمة + الجمع - الطرح * الضرب / القسمة % باقي القسمة ويضاف إليها المعامل ^ في محرك PostgreSQL للقيام بعملية الرفع إلى قوة. مثال إن كان الجدول الآتي items موجودًا في قاعدة البيانات: DiscountPercent No Price ItemID 20 2 25 157 10 2 5 203 30 3 10 109 فيمكن حساب قيمة الشراء النهائية من خلال إجراء العملية الحسابية وجمع النتائج باستخدام الدالة التجميعية ...

الأمر COMMIT في SQL

يستخدم هذا الأمر بهدف حفظ التغييرات المُجراة على قاعدة البيانات نتيجة لتنفيذ العمليات، إذ تحفظ كافة التغييرات منذ آخر أمر COMMIT أو ROLLBACK. صيغة الأمر: COMMIT [TRANSACTION]; مثال إن كان جدول الزبائن customers موجودًا في قاعدة البيانات على النحو الآتي: Bill OrderID FullName CustomerID 160 0291 Abd al-Salam Hadi 1156 170 0302 Ahmad Mostafa 1157 210 0203 Reem Hammad 1158 350 0294 Abd Allah Sadiq 1159 185 0255 Raghad al-Hamdan 1160 165 0276 Abd al-Razzaq Salloum 1161 175 0247 Hussam ...

حلقة WHILE في SQL

تهدف حلقة WHILE إلى تكرار عددٍ من التعليمات باستمرار تحقق الشرط ضمنها، إذ يُتأكَّد من تحقّق الشرط قبل البدء بتنفيذ التعليمات التي تحتويه، وتكون البنية العامّة لها: [ <<label>> ] WHILE boolean-expression LOOP statements END LOOP [ label ]; إذ يمكن تحديد تسمية label لها وتوضع التعليمات statements ضمنها بعد الكلمة المفتاحية LOOP. أما في محرك MySQL فتصبح بالشكل الآتي: [begin_label:] WHILE search_condition DO statement_list END WHILE [end_label]; وفي محرك SQL Server تكون بالشكل: WHILE boolean_expression { sql_statement | ...

المعاملات المنطقية في SQL

غالبًا ما تستخدم المعاملات المنطقية (AND و OR و NOT) في عبارة WHERE للربط ما بين الشروط أو نفيها، إذ يستخدم المعامل AND للربط ما بين الشروط للتأكد من تحققها جميعًا، أما معامل OR فيستخدم للربط ما بين الشروط للتأكد من تحقّق شرطٍ أو أكثر من بينها، أما NOT فيستخدم بغرض النفي، وتكون قيمة التعبير النهائية منطقية (Boolean) إما TRUE أو FALSE. ويُضاف لها معامل XOR في محرك MySQL والذي يتحقق من تحقّق شرطٍ واحدٍ فقط دون الشروط الأخرى. مثال ...

تعبير الإعادة RETURN في SQL

تستخدم لإنهاء الدالة وإعادة قيمة ما للموقع الذي استُدعيت فيه الدالة، وتكون الصيغة العامّة بالشكل الآتي: RETURN [expression]; إذ إن expression هي قيمة التعبير التي ستُعاد (وقد تكون قيمة أوليّة scalar مباشرة أو قيمة مركّبة كسجل)، أما إن كانت الدالة تحتوي بتعريفها متحولات للخرج (من نوع OUT) أو عند الحاجة للخروج من الدالة فيُكتفى بكلمة RETURN فقط، أي بالشكل الآتي: RETURN; مثال تعيد الدالة الآتية double_it المُعرَّفة من المستخدم عبر محرك Oracle القيمة العددية (نوعها NUMBER) المُدخلة إليها بعد مضاعفتها: FUNCTION ...

التأكد من خُلوّ القيمة IS NULL في SQL

يستخدم التعبير IS NULL للتأكد من خلو القيمة (أي لا توجد قيمة في الحقل المحدد)، ويكون سياق التعبير بالشكل الآتي: column IS [NOT] NULL وغالبًا ما تستخدم في العبارة WHERE للتحقق من وجود القيمة في إحدى حقول السجلات. مثال إن كانت قاعدة البيانات تحتوي الجدول customers الآتي: Bill OrderID Phone FullName CustomerID 160 0291 NULL Abd al-Salam Hadi 1156 170 0302 (171) 555-2222 Ahmad Mostafa 1157 210 0203 (100) 555-4822 Reem Hammad 1158 350 0294 NULL Abd Allah Sadiq 1159 185 ...

تعديل الدالة ALTER FUNCTION في SQL

يستخدم هذا الأمر لتعديل تعريف دالة مُعرَّفة مسبقًا عبر الأمر CREATE FUNCTION، وله الصيغ الآتية: ALTER FUNCTION name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] RENAME TO new_name; لإعادة تسمية الدالة name (والتي معاملاتها محددة بالنوع argmode والاسم argname ونوع البيانات argtype) باسم جديد new_name. ALTER FUNCTION name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] OWNER TO { new_owner ...

إنشاء دالة CREATE FUNCTION في SQL

يستخدم هذا الأمر لتعريف دالة جديدة، وله البنية العامّة الآتية: CREATE [ OR REPLACE ] FUNCTION name ( [[argmode] [ argname ] argtype [, ...] ] ) [RETURNS rettype] AS 'definition' إذ ينشئ هذا الأمر دالةً جديدةً (أو يستبدلها في حال وجود دالة سابقة) باسم name وتوضع معاملاتها ما بين القوسين وذلك بتحديد نوع المعامل argmode (كدخل IN أو خرج OUT أو دخل وخرج معًا INOUT) ومن ثم اسم المعامل argname ونوع قيمته argtype وكما يمكن تحديد نوع القيمة ...

تحديد عدد السجلات في استعلامات SQL

يمكن تحديد عدد السجلات التي ستُجلب من الجدول ضمن استعلام SELECT أو التي ستُحذف من الجدول ضمن استعلام DELETE أو ستُحدَّث قيمها ضمن استعلام UPDATE، ولكن تختلف محركات قواعد البيانات فيما بينها بالصياغة العامة للاستعلام، وسيُذكر ذلك تباعًا. تحديد عدد سجلات النتائج يكون للاستعلام البنية العامة الآتية في محرك SQL Server، والتي تعتمد على الكلمة المفتاحية TOP: SELECT TOP number | percent col_name(s) FROM tbl_name WHERE condition; إذ يُعبّر المتحول number عن عدد السجلات المطلوبة، وتُعبّر الكلمة المفتاحية percent عن نسبة السجلات المئوية ...

التابع Array.join في روبي

يجمع التابع join جميع عناصر المصفوفة التي استُدعيت معها سويةً في سلسلة نصية ويفصل بينها بفاصل معين. البنية العامة join(separator=$,) → str المعاملات separator المحرف الذي يراد استعماله كفاصل بين عناصر المصفوفة عند وضعها في سلسلة نصية. إن كانت قيمة هذا الفاصل هي nil، فسيستخدم التابع المحرف $ الافتراضي. أما إن كانت قيمة كلٍّ من separator و $ هي nil، فسيستخدم التابع سلسلة نصية فارغة كفاصل. القيم المعادة تعاد سلسلة نصية تحوي جميع عناصر المصفوفة المعطاة مفصولةً بالفاصل separator. ...

التابع File.join في روبي

يعيد التابع join سلسلة نصية جديدة مكونة من جمع السلاسل النصية المُمرَّرة إليها باستعمال الفاصل "/". البنية العامة join(string, ...) → string المعاملات string السلسلة النصية المراد جمعها مع سلاسل نصية أخرى. ... السلاسل النصية المراد جمعها مع بعضها بعضًا. القيمة المعادة تعاد سلسلة نصية جديدة مكونة من جمع السلاسل النصية string و ... المعطاة باستعمال الفاصل "/". أمثلة مثال على استعمال التابع join: File.join("usr", "mail", "gumby") #=> "usr/mail/gumby" انظر أيضا التابع absolute_path: يحول اسم مسار محدَّد إلى مسار ...

التابع Cursor.execute()‎ في بايثون

ينفّذ التابع جملة SQL المعطاة. البنية العامة execute(sql[, parameters]) ‎المعاملات sql سلسلة نصية تتضمن جملة SQL المراد تنفيذها. يمكن استخدام جمل تتضمن معاملات (أي استخدام محتوى نائب placeholder عوضًا عن الحروف). تدعم وحدة sqlite3 نوعين من المحتويات النائبة، هما: علامة الاستفهام (نمط qmark) ومحتوى نائب مسمّى (نمط التسمية). ينفّذ تابع execute()‎ جملة SQL واحدة، ويطلق التابع تحذيرًا في حال استخدام أكثر من جملة واحدة. يمكن استخدام التابع executescript()‎ لتنفيذ جمل متعددة في استدعاء واحد. أمثلة يبين المثال التالي طريقة استخدام ...

الدالة sqlite3.complete_statement()‎ في بايثون

تتحقّق الدالة ممّا إذا كانت السلسلة النصية المعطاة تتضمن جملة SQL واحدة أو أكثر تنتهي بالفاصلة المنقوطة. البنية العامة sqlite3.complete_statement(sql) المعاملات sql سلسلة نصية تتضمن جملة SQL المراد التحقق ممّا إذا كانت تنتهي بفاصلة منقوطة أو لا. القيمة المعادة تعيد الدالة القيمة True إن كانت السلسلة النصية المعطاة تتضمن جملة SQL واحدة أو أكثر تنتهي بالفاصلة المنقوطة. أمثلة يمكن استخدام هذه الدالة لتوفير طبقة حماية لقاعدة بيانات SQLite، وكما هو موضح في المثال التالي: import sqlite3 con = sqlite3.connect(":memory:") con.isolation_level = None cur ...

التابع Cursor.executemany()‎ في بايثون

ينفّذ التابع أمر SQL على جميع تسلسلات المعاملات parameter sequences أو الروابط mappings الموجودة في تسلسل المعاملات المعطى. البنية العامة executemany(sql, seq_of_parameters) ‎المعاملات sql سلسلة نصية تتضمن جمل SQL المراد تنفيذها. seq_of_parameters ينفّذ التابع أمر SQL على جميع تسلسلات المعاملات parameter sequences أو الروابط mappings الموجودة في التسلسل seq_of_parameters. تسمح وحدة sqlite3 كذلك باستخدام مكرِّر ينتج معاملات بدلًا عن إنتاج تسلسل. أمثلة يبين المثال التالي طريقة استخدام التابع: import sqlite3 class IterChars: def __init__(self): ...

التابع Cursor.executescript()‎ في بايثون

هذا التابع من التوابع غير المعيارية والذي يسهل عملية تنفيذ جمل SQL متعددة دفعة واحدة. ينفّذ هذا التابع جملة COMMIT في البداية، ثم ينفّذ بعدها شيفرة SQL المعطاة في المعاملات. البنية العامة executescript(sql_script) ‎المعاملات sql_script يمكن لهذا المعامل أن يكون نسخة من الكائن str. أمثلة يبين المثال التالي آلية عمل التابع: import sqlite3 con = sqlite3.connect(":memory:") cur = con.cursor() cur.executescript(""" create table person( firstname, lastname, ...

التابع Thread.join‎ في روبي

يوقف التابع join عند استدعائه تنفيذ المهمة الفرعية المُستدعيَة (calling thread)، وبدء تنفيذ المهمة الفرعية التي استُدعي معها. ولن يعود حتى تخرج (exits) المهمة الفرعية، أو حتى مرور فترة زمينة محدَّدة. في حالة انتهاء المهلة الزمنية، ستعاد القيمة nil؛ خلا ذلك، ستُعاد المهمة الفرعية. سيتم إنهاء كل المهام الفرعية غير المضمومة (joined) عندما يخرج البرنامج الرئيسي. إن أطلقت المهمة الفرعية سابقًا استثناء ولم يتم تعيين الرايتين abort_on_exception أو DEBUG (أي أنه لم تتم معالجة الاستثناء بعد)، فسيُعالج في هذا الوقت. البنية ...

تحديد مجال أو عدد محدّد من القيم في SQL

معامل IN يستخدم لتحديد عددٍ معيّنٍ من القيم المحتملة لأحد حقول البيانات. مثال إن كان الجدولان الآتيان موجوديَن في قاعدة البيانات: الجدول الأول: جدول السيارات cars Colour Price Year Company Model CarID White 22,500 2018 KIA Optima 05081 Red 25,995 2017 KIA Optima Hybrid 05082 Red 31,900 2018 KIA Stinger 05083 Black 31,990 2017 KIA Cadenza 05084 Blue 23,240 2018 KIA Niro 05085 Grey 14,200 2018 KIA Rio 5-Door 05086 Blue 18,200 2018 KIA Forte5 05087 الجدول الثاني: جدول الزبائن ...

التابع Connection.iterdump()‎ في بايثون

يعيد التابع مكرِّرًا iterator يمكن استخدامه لعرض (dump) قاعدة البيانات بصيغة SQL النصية. البنية العامة iterdump() ‎القيمة المعادة يعيد التابع مكرِّرًا iterator يمكن استخدامه لعرض (dump) قاعدة البيانات بصيغة SQL النصية. هذا التابع مفيد عند التعامل مع قواعد البيانات المخزّنة في الذاكرة. يقدّم هذا التابع نفس الإمكانات التي يقدّمها الأمر ‎.dumb في صدفة sqlite3. أمثلة يعرض المثال التالي كيفية تحويل الملف existing_db.db إلى ملف عرض SQL يحمل الاسم dump.sql: import sqlite3 con = sqlite3.connect('existing_db.db') with open('dump.sql', 'w') as f: ...

التابع Connection.execute()‎ في بايثون

يستدعي هذا التابعُ التابعَ Cursor.execute()‎ مع تمرير المعاملات المعطاة. البنية العامة execute(sql[, parameters]) ‎ المعاملات sql سلسلة نصية تتضمن جملة SQL المراد تنفيذها. القيمة المعادة هذا التابع طريقة مختصرة لإنشاء كائن مؤشر عن طريق استدعاء التابع cursor()‎، حيث يستدعي التابع execute()‎ في كائن المؤشر مع تمرير المعاملات المعطاة، ثم يعيد كائن المؤشر. أمثلة يبين المثال التالي آلية عمل التابع: import sqlite3 conn = sqlite3.connect('example.db') c = conn.cursor() symbol = 'RHAT' c.execute("SELECT * FROM stocks WHERE symbol = '%s'" % symbol) انظر أيضًا التابع Connection.excutemany()‎: ...

التابع bytes.join()‎ في بايثون

يعيد التابع join()‎ كائن البياتات أو كائن مصفوفة البايتات الناتج عن ربط البيانات الثنائية التابعة لكائن قابل للتكرار (iterable). البنية العامة str.join(iterable) المعاملات iterable كائن قابل للتكرار مثل الصفوف، والقواميس، والقوائم، والمجموعات. القيمة المعادة يعيد التابع join()‎ كائن البياتات أو كائن مصفوفة البايتات الناتج عن ربط البيانات الثنائية التابعة لكائن قابل للتكرار (iterable). يطلق التابع الخطأ TypeError إن تضمن المعامل iterable أي قيمة ليست شبيهة بالبايتات (bytes-like object)، إضافة إلى السلاسل النصية. أمثلة يبين المثال التالي القيم المعادة من تطبيق ...

التابع bytes.join()‎ في بايثون

يعيد التابع join()‎ كائن البياتات أو كائن مصفوفة البايتات الناتج عن ربط البيانات الثنائية التابعة لكائن قابل للتكرار (iterable). البنية العامة str.join(iterable) المعاملات iterable كائن قابل للتكرار مثل الصفوف، والقواميس، والقوائم، والمجموعات. القيمة المعادة يعيد التابع join()‎ كائن البياتات أو كائن مصفوفة البايتات الناتج عن ربط البيانات الثنائية التابعة لكائن قابل للتكرار (iterable). يطلق التابع الخطأ TypeError إن تضمن المعامل iterable أي قيمة ليست شبيهة بالبايتات (bytes-like object)، إضافة إلى السلاسل النصية. أمثلة يبين المثال التالي القيم المعادة من تطبيق ...

التابع Connection.executemany()‎ في بايثون

يستدعي هذا التابعُ التابعَ Cursor.executemany()‎ مع تمرير المعاملات المعطاة. البنية العامة executemany(sql[, parameters]) ‎المعاملات sql سلسلة نصية تتضمن جملة SQL المراد تنفيذها. القيمة المعادة هذا التابع هو طريقة مختصرة لإنشاء كائن مؤشر عن طريق استدعاء التابع cursor()‎، حيث يستدعي التابع executemany()‎ في كائن المؤشر مع تمرير المعاملات المعطاة، ثم يعيد كائن المؤشر. أمثلة يبين المثال التالي آلية عمل التابع: import sqlite3 conn = sqlite3.connect('example.db') purchases = [('2006-03-28', 'BUY', 'IBM', 1000, 45.00), ...

التابع Connection.executemany()‎ في بايثون

يستدعي هذا التابعُ التابعَ Cursor.executemany()‎ مع تمرير المعاملات المعطاة. البنية العامة executemany(sql[, parameters]) ‎المعاملات sql سلسلة نصية تتضمن جملة SQL المراد تنفيذها. القيمة المعادة هذا التابع هو طريقة مختصرة لإنشاء كائن مؤشر عن طريق استدعاء التابع cursor()‎، حيث يستدعي التابع executemany()‎ في كائن المؤشر مع تمرير المعاملات المعطاة، ثم يعيد كائن المؤشر. أمثلة يبين المثال التالي آلية عمل التابع: import sqlite3 conn = sqlite3.connect('example.db') purchases = [('2006-03-28', 'BUY', 'IBM', 1000, 45.00), ...

تهجيرات Active Record في ريلز

التهجيرات (Migrations) هي ميزة من Active Record التي تمكّنك من تحديث مخطط قاعدة البيانات على مر الوقت. بدلًا من كتابة تعديلات قاعدة البيانات باستخدام SQL، تمكّنك التهجيرات من كتابة تعليمات DSL باستخدام روبي لتحديث جداولك. بعد قراءة هذا الدليل، ستتعرَّف على: المولِّدات التي تستطيع استعمالها لإنشاء التهجيرات. التوابع التي يوفرها Active Record لتعديل قاعدة البيانات. المهام bin/rails التي تعدِّل وتتحكم بالتهجيرات والمخطط (schema) الخاص بك. العلاقة بين التهجيرات والملف schema.rb. نظرة عامة على التهجيرات إن التهجيرات هي طريقة مناسبة وسلسة ...

التابع OrderedDict.move_to_end()‎ في بايثون

يحرّك التابع المفتاح المعطى إلى إحدى نهايتي القاموس المرتّب. البنية العامة od.move_to_end(key, last=True) المعاملات key المفتاح المراد تحريكه. last قيمة منطقية، تحدّد جهة تحريك المفتاح المحدّد. يُحرّك التابع العنصر المحدّد إلى الجهة اليمنى من القاموس (نهايته) إن أخذ المعامل last القيمة True (القيمة الافتراضية)، ويحرّكه إلى الجهة اليسرى من القاموس (بدايته) إن أخذ المعامل القيمة False. القيمة المعادة يطلق التابع الاستثناء KeyError إن كان المفتاح المطلوب غير موجود. ملاحظة: هذا التابع جديد في الإصدار 3.2 من بايثون. أمثلة يبين المثال ...

التابع Connection.create_collation()‎ في بايثون

ينشئ التابع مقارنة collation يحمل الاسم المعطى مع الكائن القابل للاستدعاء المعطى. البنية العامة create_collation(name, callable) ‎المعاملات name اسم المقارنة المراد إنشاؤها. callable كائن قابل للاستدعاء. سيُمرّر وسيطان نصّيان إلى الكائن القابل للاستدعاء، وسيعيد النتيجة ‎-1 إن كان ترتيب الوسيط الأول أدنى من الوسيط الثاني، ويعيد 0 إن كان الوسيطان متساويين، ويعيد 1 إن كان ترتيب الوسيط الأول أعلى من الوسيط الثاني. لاحظ أنّ هذه المقارنة تتحكّم في عبارة (ORDER BY في SQL) لكي لا تؤثّر عمليات المقارنة على عمليات ...

مقدمة إلى التعامل مع قواعد البيانات في Laravel

مقدمة يُبسّط Laravel التعامل مع قواعد البيانات بشكل كبير عبر مجموعة متنوعة من الأسندة الخلفية (backends) قواعد البيانات إمّا باستخدام  لغة الاستعلام البنيوية SQL خام أو باستخدام منشئ الاستعلامات الفصيح (fluent query builder)، أو باستخدام رابط الكائنات بالعلاقات Eloquent. يدعم Laravel حاليًا أربع قواعد بيانات: MySQL PostgreSQL SQLite SQL Server الضبط تقع إعدادات قاعدة بيانات تطبيقك في config/database.php. تستطيع في هذا الملف تعريف جميع اتصالات قاعدة بياناتك لإضافةً لتحديد الاتصال الافتراضي. تتوافر أمثلة عن معظم أنظمة قواعد البيانات المدعومة في ...

التابع Connection.set_authorizer()‎ في بايثون

يسجّل هذا التابع كائن استدعاء خلفيٍّ، وينفّذ هذا الكائن في كل محاولة للوصول إلى عمود في جدول ضمن قاعدة البيانات. البنية العامة set_authorizer(authorizer_callback) ‎ المعاملات authorizer_callback كائن استدعاء خلفي يُنفّذ في كل محاولة للوصول إلى أعمدة الجداول في قاعدة البيانات. يجب أن يعيد الاستدعاء الخلفية النتيجة SQLITE_OK إن كان الوصول مسموحًا به، والنتيجة SQLITE_DENY إن كان المطلوب تجاهل جملة SQL بأكملها مع إطلاق خطأ، والنتيجة SQLITE_IGONRE إن كن المطلوب التعامل مع العمود على أنّه يحمل القيمة NULL. هذه الثوابت متاحة ...

الدالة sqlite3.create_function()‎ في بايثون

ينشئ التابع دالة معرفة من قبل المستخدم يمكن استعمالها لاحقًا ضمن جمل SQL. البنية العامة create_function(name, num_params, func) ‎المعاملات name اسم الدالة المراد إنشاؤها. num_params عدد المعاملات التي تستقبلها الدالة (يمكن تعيين القيمة ‎-1 لهذا المعامل لتستقبل الدالة أي عدد من المعاملات). func كائن قابل للاستدعاء callable في بايثون، والذي سيستدعى كدالة SQL. القيمة المعادة يمكن للدالة أن تعيد أيّة قيمة من القيم المدعومة في SQLite وهي: bytes، str، int، float، None. أمثلة يبين المثال التالي طريقة استخدام الدالة: import ...

عبارة GROUP BY

تُستخدم عبارة GROUP BY في استعلام SELECT بهدف تجميع النتائج ضمن مجموعات بحسب عمود أو أكثر من الجدول. استخدام GROUP BY لمعرفة عدد السجلات الممكن تجميعها سويةً ليكن الجدول الآتي (patients) موجودًا في قاعدة البيانات: Doctor Section Age Patient PatientID Nasser Cardiology 76 Salem 1029 Abd Allah Neurology 17 Hasan 896 Reem Maternity 23 Nadine 964 Fateh Cardiology 65 Rami 1070 Kareem Neurology 19 Abd al-Rahim 1150 Hadi Critical Care 65 Roushd 1097 Reem Maternity 27 Sana 1034 Abd Allah ...

كائنات Cursor‎ في بايثون

كائنات Cursor هي وسيلة التواصل بين المستخدم وقاعدة البيانات، حيث يمكن باستخدام الخصائص والتوابع التي تقدّمها هذه الكائنات تنفيذ جمل SQL وإجراء الاستعلامات وجلب النتائج من قاعدة البيانات. خصائص كائنات Cursor يمتلك كائن المؤشر الخصائص التالية: الخاصية rowcount بالرغم من أنّ صنف Cursor في وحدة sqlite3 يتضمّن هذه الخاصية، إلا أنّ الدعم الذي يقدّمه محرّك SQLite لتحديد "عدد الصفوف المتأثرة"/"عدد الصفوف المحدّدة" جيّد أيضًا. يُجمع عدد التعديلات في الخاصية rowcount عند تنفيذ جمل الاستعلام بواسطة التابع executemany()‎. تتطلب معايير بايثون ...

المعامل EXISTS

يستخدم المعامل EXISTS للتأكد من وجود سجلات ناتجة عن الاستعلام الفرعي المستخدم في الاستعلام الرئيسي. مثال إن كان في قاعدة البيانات الجدولان الآتيان: الجدول الأول: جدول الطلاب students RegDate CourseID LastName FirstName StudentID ‎07-JUL-2017‎ 0206 Najjar Rama 1147 ‎08-NOV-2017‎ 0604 Kordi Jenan 1148 ‎07-JUL-2017 0206 Bitar Rahaf 1149 ‎20-AUG-2017 0607 Taweel Farah 1150 ‎08-NOV-2017 0610 Arab Rami 1151 ‎24-OCT-2017 0803 Akkad Aya 1152 ‎08-NOV-2017 0504 Haddad Abed 1153 ‎20-AUG-2017 0801 Fares Tasneem 1154 ‎24-OCT-2017 0607 Hamsho Monther 1155 ‎30-SEP-2017 0607 ...

التابع Array.sum‎ في روبي

يجمع التابع sum عناصر المصفوفة التي استُدعيت معه مع بعضها بعضًا. إن مُرِّرت كتلة برمجية إلى هذا التابع، فستُطبَّق تلك الكتلة على كل عنصر من عناصر المصفوفة ثم ستُجمَع النواتج المعادة لجميع العناصر. في حال كانت المصفوفة فارغة، ستُعاد القيمة المُمرّرة إلى هذا التابع. يمكن استخدام هذا التابع مع المصفوفات التي تحوي قيمًا غير عددية بتحديد قيمة مناسبة للوسيط init. يجدر التنبيه إلى أنّ التابعين join و flatten هما أسرع من التابع sum بالنسبة للمصفوفات التي تضم سلاسل نصية أو ...

الدالة addslashes()‎ في PHP

(PHP 4, PHP 5, PHP 7) تضيف الدالة addslashes()‎ الخطوط المائلة العكسية (backslashes). الوصف string addslashes (string $str). تُعيد الدالة سلسلةً نصيةً تسبقها خطوط مائلة عكسية (backslashes) قبل المحارف المُراد تهريبها. تتمثل هذه المحارف فيما يلي:   علامات الاقتباس المفردة (') علامات الاقتباس المزدوجة (") الخطوط المائلة العكسية (\) NUL (البايت NUL) تستخدم الدالة addslashes()‎ لتهريب أحد المحارف المذكورة آنفًا داخل كود برمجي بلغة PHP: <?php $str = "O'Reilly?"; eval("echo '" . addslashes($str) . "';"); ?> قبل نسخة 5.4.0  للغة PHP، كانت ميزة magic_quotes_gpc مُفَعلة ...

التابع Thread.report_on_exception‎ في روبي

يعيد التابع report_on_exception حالة "التبليغ عند الاستثناء" (report on exception). القيمة الافتراضية هي true منذ روبي 2.5. كل المهام الفرعية التي يتم إنشاؤها عندما تكون قيمة هذه الراية مساوية للقيمة true ستبعث رسالة إلى المجرى stderr$ إذا أنهى استثناء ما هذه المهمة الفرعية. يُستخدَم هذا التابع لإمساك الأخطاء في المهمة الفرعية في وقت مبكر. لكن في بعض الحالات، قد لا ترغب في هذه المخرجات. هناك عدة طرق لتجنب المخرجات الزائدة: إذا لم يكن الاستثناء مقصودًا، فأفضل خيار أمامك هو إصلاح سبب ...

التابع Thread.to_s‎ في روبي

يعيد التابع to_s اسم ومعرِّف وحالة مهمة فرعية على هيئة سلسلة نصية. البنية العامة to_s → string‎ القيمة المعادة يعاد اسم ومعرِّف وحالة المهمة الفرعية على هيئة سلسلة نصية. انظر أيضًا التابع value: ينتظر اكتمال المهمة الفرعية باستخدام join، ثم يُعيد قيمتها. مصادر قسم التابع to_s‎ في الصنف Thread‎ في توثيق روبي الرسمي.

التابع Thread.fetch في روبي

البنية العامة fetch(*args) المعاملات args انظر أيضًا التابع group: يُعيد مجموعة الخيوط ThreadGroup التي تحتوي على المهمة الفرعية المعطاة، أو يُعيد nil إذا لم تكن المهمة الفرعية عضوًا في أي مجموعة. التابع join: يوقف عند استدعائه تنفيذ المهمة الفرعية المُستدعيَة (calling thread)، وبدء تنفيذ المهمة الفرعية التي استُدعي معها. مصادر قسم التابع fetch في الصنف Thread في توثيق روبي الرسمي.

التابع str.join()‎ في بايثون

يعيد التابع join()‎ السلسلة النصية الناتجة عن ربط السلاسل النصية التابعة لكائن قابل للتكرار (iterable). البنية العامة x.join() المعاملات iterable كائن قابل للتكرار مثل الصفوف، والقواميس، والقوائم، والسلاسل النصية، والمجموعات. القيمة المعادة يعيد التابع join()‎ السلسلة النصية الناتجة عن ربط السلاسل النصية التابعة لكائن قابل للتكرار (iterable). إذا لم يكن أحد عناصر الكائن القابل للتكرار سلسلة نصية تطلق الدالة الخطأ TypeError. أمثلة يبين المثال التالي القيم المعادة من تطبيق التابع على سلاسل مختلفة: >>> s = ["100", "200", "300", "400", ...

التابع Thread.value‎ في روبي

ينتظر التابع value اكتمال المهمة الفرعية، باستخدام التابع join ثم يُعيد قيمتها، أو يطلق الاستثناء الذي أنهى المهمة الفرعية. البنية العامة value→ obj‎ القيمة المعادة تعاد القيمة المعادة من المهمة الفرعية أو يطلق الاستثناء الذي أنهى المهمة الفرعية. أمثلة مثال على استخدام التابع value‎: a = Thread.new { 2 + 2 } a.value #=> 4 b = Thread.new { raise 'something went wrong' } b.value #=> RuntimeError: something went wrong‎ انظر أيضًا التابع to_s: يضع اسم ومعرِّف وحالة المهمة الفرعية في ...

التابع Thread.group‎ في روبي

يُعيد التابع group مجموعة الخيوط ThreadGroup التي تحتوي على المهمة الفرعية المعطاة، أو يُعيد nil إذا لم تكن المهمة الفرعية عضوًا في أي مجموعة. البنية العامة group→ thgrp or nil‎ القيمة المعادة يعاد كائنٌ من النوع ThreadGroup يمثِّل مجموعة الخيوط التي تحوي المهمة الفرعية المعطاة، أو تعاد القيمة nil إذا لم تكن المهمة الفرعية عضوًا في أي مجموعة. أمثلة مثال على استخدام التابع group‎: Thread.main.group #=> #<ThreadGroup:0x4029d914>‎ انظر أيضًا التابع join: يوقف عند استدعائه تنفيذ المهمة الفرعية المُستدعيَة (calling thread)، ...

الدالة ()list_separator في Sass

تعيد الدالة list_separator()‎ نوع الفاصلة المستعملة في فصل عناصر القائمة الممرَّرة إليها. إن لم تعثر الدالة على فاصلة بسبب احتواء القائمة على أقل من عنصرين، فستعيد القيمة space. البنية العامة list_separator($list) المعاملات ‎$list القائمة المراد معرفة نوع الفاصلة المستعملة في فصل عناصرها. القيم المعادة تُعاد القيمة space إن كانت المسافة مستعملةً في فصل العناصر أو القيمة comma إن كانت الفاصلة مستعملة في فصل العناصر. أمثلة مثال عن استخدام الدالة list_separator()‎: list-separator(1px 2px 3px) // space list-separator(1px, 2px, 3px) // comma list-separator('foo') // space ...

التابع Connection.set_progress_handler()‎ في بايثون

يسجّل هذا التابع استدعاءً خلفيًا يجري تنفيذه لكل n من تعليمات SQLite في الجهاز الافتراضي virtual machine. هذا التابع مفيد عند الحاجة إلى اجراء استدعاء من SQLite أثناء عملية طويلة، كتحديث واجهة رسومية مثلًا. البنية العامة set_progress_handler(handler, n) المعاملات handler يمكن استدعاء التابع مع تمرير القيمة None للمعامل handler للتخلص من أي استدعاء خلفي معدّ مسبقًا. تؤدي إعادة قيمة غير الصفر من الاستدعاء الخلفي إلى إنهاء الاستعلام الحالي وإطلاق الاستثناء OperationalError. n عدد تعليمات SQLite. انظر أيضًا التابع Connection.set_authorizer()‎:يسجّل هذا ...

الصنف Thread في روبي

المهام الفرعية (Threads، وتدعى "الخيوط" أيضًا) هي الطريقة التي تنفذ بها روبي البرمجة المتزامنة (concurrent programming). البرامج التي تتطلب تنفيذ عدة مهام فرعية يمكنها استخدام الصنف Thread. على سبيل المثال، يمكننا إنشاء مهمة فرعية جديدة منفصلة عن المهمة الرئيسية باستخدام التابع new. thr = Thread.new { puts "Whats the big deal" }‎ ثم يمكننا إيقاف تنفيذ المهمة الفرعية الرئيسية مؤقتًا إلى حين إنتهاء المهمة الفرعية خاصتنا باستخدام التابع join: thr.join #=> "Whats the big deal"‎ في حال عدم استدعاء التابع join قبل ...

تعديل قاعدة البيانات ALTER DATABASE

يُمكن تعديل صفات قاعدة البيانات من خلال هذا الأمر الذي له الصيغ الآتية: ALTER DATABASE name RENAME TO new_name; أو في محرك SQL Server: ALTER DATABASE name MODIFY NAME = new_name; لإعادة تسمية قاعدة البيانات باسم جديد new_name ولا تمكن إعادة تسمية قاعدة البيانات المستخدمة حاليًا إذ يجب الاتصال بقاعدة بيانات أخرى ريثما تُعاد تسمية قاعدة البيانات الحالية. ALTER DATABASE name OWNER TO new_owner; التعليمة السابقة لنقل ملكية قاعدة البيانات باسم name إلى مالك آخر باسم new_owner. ALTER DATABASE name RESET ALL; أما التعليمة ...

التابع Connection.set_trace_callback()‎ في بايثون

يسجل التابع trace_callback يجري استدعاؤه لكل جملة SQL تنفّذ بواسطة SQLite. البنية العامة set_trace_callback(trace_callback) المعاملات trace_callback يأخذ الاستدعاء الخلفي وسيطًا واحدًا وهو عبارة الاستعلام (كسلسلة نصية) التي سيجري تنفيذها، وتتجاهل اللغة القيمة المعادة من الاستدعاء الخلفي. يجدر الانتباه إلى أنّ محرّك SQLite لا ينفّذ العبارات الممرّة إلى توابع Cursor.execute()‎ وحسب، بل هناك مصادر أخرى منها عملية إدارة الإجراءات في وحدة بايثون، وعملية تنفيذ المشغّلات triggers المعرّفة في قاعدة البيانات الحالية. يؤدي تمرير القيمة None إلى المعامل trace_callback إلى تعطيل الاستدعاء ...

حذف الفهرس DROP INDEX

يستخدم هذا الأمر لحذف فهرس أو أكثر في قاعدة البيانات وفق البنية العامّة الآتية: DROP INDEX [ IF EXISTS ] name [ CASCADE | RESTRICT ] إذ يُحذف الفهرس المحدد باسم name، وتمنع IF EXISTS حدوث أي خطأ في حال عدم وجود هذا الفهرس في قاعدة البيانات، أما الكلمة المفتاحية CASCADE فهي للإعلام بحذف أي كائنات objects معتمدة على الفهرس المحذوف، وبالحالة الافتراضية فإن RESTRICT تمنع حذف الفهرس إن كان هناك اعتماد عليه من قبل كائن ما. بعض أمور التوافقية في ...

الدالة re.escape()‎ في بايثون‎

تهرّب الدالة جميع المحارف الخاصّة في التعبير النمطي المعطى باستثناء حروف الترميز ASCII، والأعداد والشرطة السفلية. البنية العامة re.escape(pattern) المعاملات pattern التعبير النمطي الذي تهرّب الدالة محارفه الخاصة. القيمة المعادة تعيد الدالة النمط الأصلي بعد تهريب جميع المحارف الخاصّة فيه باستثناء حروف الترميز ASCII، والأعداد والشرطة السفلية. هذه الدالة مفيدة عند الحاجة إلى مطابقة سلسلة نصية يحتمل أن تتضمن بعض الحروف الخاصّة بالتعابير النمطية. أمثلة تبيّن الأمثلة التالية طرق استخدام الدالة re.escape()‎: >>> print(re.escape('python.exe')) python\.exe >>> legal_chars = string.ascii_lowercase + string.digits + ...

كائنات Connection‎ في بايثون

تقدّم كائنات الاتصال Connection عددًا من الخصائص والتوابع التي تساعد المستخدم في التعامل مع قواعد بيانات SQLite، كالاتصال بقاعدة البيانات وتحميل الملحقات وإنشاء النسخ الاحتياطية وغيرها. تنشأ كائنات الاتصال كنتيجة لاستدعاء الدالة sqlite3.connect()‎. خصائص كائنات الاتصال تمتلك كائنات الاتصال بقواعد البيانات SQLite الخصائص التالية: الخاصية isolation_level يمكن استخدام هذه الخاصية لمعرفة مستوى العزل الافتراضي الحالي أو تعيينه. تأخذ الخاصية القيمة None لنمط الحفظ التلقائي autocommit أو إحدى القيم "DEFERRED" أو "IMMEDIATE" أو "EXCLUSIVE". راجع قسم التحكم بالإجراءات للمزيد من المعلومات. ...

كائنات Connection‎ في بايثون

تقدّم كائنات الاتصال Connection عددًا من الخصائص والتوابع التي تساعد المستخدم في التعامل مع قواعد بيانات SQLite، كالاتصال بقاعدة البيانات وتحميل الملحقات وإنشاء النسخ الاحتياطية وغيرها. تنشأ كائنات الاتصال كنتيجة لاستدعاء الدالة sqlite3.connect()‎. خصائص كائنات الاتصال تمتلك كائنات الاتصال بقواعد البيانات SQLite الخصائص التالية: الخاصية isolation_level يمكن استخدام هذه الخاصية لمعرفة مستوى العزل الافتراضي الحالي أو تعيينه. تأخذ الخاصية القيمة None لنمط الحفظ التلقائي autocommit أو إحدى القيم "DEFERRED" أو "IMMEDIATE" أو "EXCLUSIVE". راجع قسم التحكم بالإجراءات للمزيد من المعلومات. ...

الدالة ()zip في Sass

تجمع الدالة zip()‎ قائمتين في قائمة واحدة. ما لم يُمرّر ‎$separator، إن كانت إحدى القائمتين مفصولةً بفواصل والأخرى مفصولةً بمسافات، فسيُستخدم فاصل المعامل الأول في القائمة الناتجة. وإن كانت كلا القائمتين تحتويان على أقل من عنصرين ، فستُستخدم المسافات في القائمة الناتجة. ما لم يُمرر ‎$bracketed، فستوضع القائمة الناتجة بين أقواس مربعة إن كان المعامل الأول كذلك. مثل كل دوال القوائم، فإن zip()‎ تُعيد قائمةً جديدةً بدلًا من تعديل الوسائط موضعيًا. البنية العامة join($list1, $list2, $separator: auto, $bracketed: auto) المعاملات ...

الوحدة sqlite3 في بايثون

SQLite هي مكتبة مكتوبة بلغة C تتيح إنشاء قواعد بيانات على القرص الصلب ولا تحتاج إلى خادوم خاص لمعالجتها، وتتيح الوصول إلى قاعدة البيانات باستخدام نسخة غير قياسية من لغة الاستعلام SQL. تستخدم بعض التطبيقات والبرامج قاعدة بيانات SQLite لتخزين بياناتها الداخلية، ويمكن إنشاء نماذج أولية من التطبيق باستخدام SQLite ثم نقل الشيفرة إلى قواعد بيانات أكبر مثل PostgreSQL أو Oracle. كُتبت وحدة sqlite3 من قبل Gerhard Häring، وتقدّم واجهة SQL متوافقة مع معايير DB-API 2.0 الموصوفة في PEP 249. ...

التابع Connection.executescript()‎ في بايثون

يستدعي هذا التابعُ التابعَ Cursor.executescript()‎ مع تمرير المعاملات المعطاة. البنية العامة executescript(sql_script) ‎المعاملات sql_script سلسلة نصية تتضمن شيفرة SQL المراد تنفيذها. القيمة المعادة هذا التابع هو طريقة مختصرة لإنشاء كائن مؤشر عن طريق استدعاء التابع cursor()‎، حيث يستدعي التابع executescript()‎ في كائن المؤشر مع تمرير قيمة المعامل sql_script، ثم يعيد كائن المؤشر. أمثلة يبين المثال التالي آلية عمل التابع: import sqlite3 conn = sqlite3.connect('example.db') conn.executescript(""" insert into recipe (name, ingredients) values ('broccoli stew', 'broccoli peppers cheese tomatoes'); ...

استعلام DELETE

يُستخدم استعلام DELETE لحذف سجل أو أكثر، وله البنية العامة: DELETE FROM tbl_name WHERE condition; إذ يُحدد الشرط الذي ستُحذف السجلات وفقًا له في عبارة WHERE. أما تنفيذ الاستعلامَيْن الآتيين: DELETE * FROM tbl_name; DELETE FROM tbl_name; فيؤدي لحذف كافة السجلات الموجودة في الجدول. مثال إن كان جدول الزبائن customers موجودًا في قاعدة البيانات على النحو الآتي: Bill OrderID FullName CustomerID 160 0291 Abd al-Salam Hadi 1156 170 0302 Ahmad Mostafa 1157 210 0203 Reem Hammad 1158 350 0294 Abd Allah Sadiq 1159 ...

تعديل الفهرس ALTER INDEX

يستخدم هذا الأمر لتعديل الفهرس المُنشأ عبر الأمر CREATE INDEX، وله الصيغ الآتية: ALTER INDEX [ IF EXISTS ] name RENAME TO new_name لتغيير اسم الفهرس المسمى name (إن وُجد) ليصبح باسم new_name. ALTER INDEX [ IF EXISTS ] name SET ( storage_parameter = value [, ... ] ) لتعديل أيّ من قيم معاملات التخزين المتعلقة بالفهرس (إن وُجد). ALTER INDEX [ IF EXISTS ] name RESET ( storage_parameter [, ... ] ) لإعادة ضبط كافة قيم معاملات التخزين لهذا الفهرس (إن وُجد) ...

الأمر START TRANSACTION

يُستخدم هذا الأمر للإعلام بالبدء بإجراء مجموعة من العمليات التي قد تنتهي بأمر COMMIT أو ROLLBACK، وله الصيغة التالية: START TRANSACTION; وتختلف هذه الصيغة باستخدام الكلمة المفتاحية BEGIN في محرك SQL Server لتصبح: BEGIN TRANSACTION; أما في محرك SQLite فهي الكلمة المفتاحية BEGIN فقط، أيّ: BEGIN; وفي محرك Oracle يصبح الأمر على النحو الآتي: SET TRANSACTION NAME 'name'; ويكون هذا الأمر مسؤولًا عن البدء بالعمليات وتسميتها بآن واحد بالاسم الذي يُحدد عبر name. مثال إذا كان الجدول الآتي موجودًا في قاعدة البيانات: Bill OrderID ...

التابع ‎‎.map()‎‎ في jQuery

‎.map( callback )‎ القيم المعادة يعيد كائنًا من النوع jQuery. الوصف يمرِّر هذا التابع كل عنصر من عناصر المجموعة الحالية إلى دالة، وينشئ كائنًا جديدًا من النوع jQuery يحتوي على القيم المعادة. ‎.map( callback )‎ أُضيف مع الإصدار: 1.2. callback دالة من الشكل Function( Number index, Element domElement )‎ التي ستُستدعى لكل عنصر في المجموعة الحالية. إن أردت معالجة مصفوفة أو كائن مجرد، فاستعمل jQuery.map()‎ بدلًا من هذا التابع. لما كانت القيمة المعادة كائنًا مجردًا يحتوي على مصفوفة، فمن الشائع ...

أساسيات Active Record في ريلز

هذا الدليل هو مدخل إلى المكتبة Active Record. بعد قراءة هذا الدليل، ستتعرف على: ما هي تقنية ORM (اختصار للعبارة Object Relational Mapping أي "ربط الكائنات العِلاقيَّة") وما هو Active Record وكيفية استعمالهما في ريلز. كيف ينسجم Active Record مع النموذج MVC (اختصار للعبارة Model-View-Controller). كيفية استعمال نماذج Active Record (أي Active Record models) لمعالجة وتعديل البيانات المخزَّنة في قاعدة بيانات عِلاقيِّة (relational database). اصطلاحات تسمية مخطَّط Active Record. مفهوم تهجيرات، وتحققات، وردود نداء قاعدة البيانات. ما هو Active Record؟ ...

وحدة reprlib‎ في بايثون

تقدّم وحدة reprlib وسيلة لإنتاج تمثيلات للكائنات مع إمكانية تحديد حجم السلسلة النصية الناتجة. تستخدم هذه الوحدة في منقّح بايثون وقد تكون مفيدة في سياقات أخرى أيضًا. الواجهة البرمجية لوحدة reprlib تقدّم هذه الوحدة صنفًا ونسخة صنف ودالة: الصنف reprlib.Repr يقدّم هذا الصنف خدمات تنسيق يمكن الاستفادة منها في إنشاء دوال مشابهة للدالة الداخلية repr()‎. ولتجنّب إنشاء تمثيلات ذات أحجام كبيرة جدًّا، فإنّ أحجام أنواع البيانات المستخدمة في هذا الصنف تكون محدّدة. نسخة الصنف reprlib.aRepr نسخة من الصنف Repr تستخدم ...

التابع Connection.create_aggregate()‎ في بايثون

ينشئ التابع دالة تجميع aggregate function معرّفة من قبل المستخدم. البنية العامة create_aggregate(name, num_params, aggregate_class) المعاملات name اسم دالة التجميع المراد إنشاؤها. num_params عدد المعاملات التي تستقبلها الدالة (يمكن تعيين القيمة ‎-1 لهذا المعامل لتستقبل الدالة أي عدد من المعاملات). aggregate_class صنف تجميع يجب أن يتضمّن تابع step، والذي يأخذ المعامل num_params والذي يحدّد عدد المعاملات في الدالة التي ينشئها التابع (يمكن تعيين القيمة ‎-1 لهذا المعامل لتستقبل الدالة أي عدد من المعاملات)، وتابع finalize والذي سيعيد النتيجة النهائية من ...

أدوات Active Support في ريلز

Active Support هو جزء من نواة ريلز التي توفر ملحقات للغة روبي والأدوات المساعدة وغيرها من الأشياء. أحد الأشياء التي يتضمنها هو واجهة برمجية لأدوات قياس (instrumentation API) يمكن استخدامها داخل تطبيق لقياس إجراءات معينة تحدث داخل شيفرة روبي، مثل تلك الموجودة داخل تطبيق ريلز أو إطار العمل نفسه، إذ لا يقتصر ذلك على ريلز فقط. يمكن استخدامها بشكل مستقل في شيفرات روبي البرمجية الأخرى إذا كان ذلك مطلوبًا. في هذا الدليل، ستتعلم كيفية استخدام الواجهة البرمجية لأدوات القياس (instrumentation API) ...

الاستعلام UPDATE

يُستخدم هذا الاستعلام من أجل تحديث قيم البيانات المخزنة في سجلات الجداول. البنية العامة للاستعلام: UPDATE tbl_name SET col_name = [|DEFAULT], col_name = value [|DEFAULT], … WHERE condition إذ من الممكن تحديث عدة قيم في عدة سجلات ضمن نفس الاستعلام، وعند استخدام الكلمة المفتاحية DEFAULT ستصبح القيمة في الحقل هي القيمة الافتراضية لنوع البيانات فيه، أما إن كان الاستعلام بالشكل: UPDATE tbl_name SET col_name = value [|DEFAULT], col_name = value [|DEFAULT], … فتنفيذه يؤدي لتعديل قيمة الحقل المحدد بكافة السجلات الموجودة في الجدول ...

مفاتيح الجداول

تستخدم المفاتيح بهدف الربط ما بين الجداول في قواعد البيانات. المفتاح الأوليّ PRIMARY KEY هو عمود (أو أكثر) من الجدول والذي يميّز السجلات عن بعضها، تكون القيم فيه فريدة (غير مكررة) ولا يمكن ألّا يحتوي قيمة (قيمته NULL)، ويكون للجدول مفتاح أولي وحيد. المفتاح الثانويّ FOREIGN KEY هو عمود (أو أكثر) من الجدول والذي يمكن عدّه مرجعيةً (reference) لعمود آخر في جدول ثانٍ (وغالبًا ما يكون هذا العمود هو المفتاح الأولي للجدول الثاني). مثال تحتوي قاعدة بيانات أحد المراكز التعليمية ...

الدالة csv.reader()‎‎ في بايثون

تعيد الدالة كائن قراءة مهمّته هي المرور على جميع الأسطر في ملف csv المعطى. البنية العامة csv.reader(csvfile, dialect='excel', **fmtparams) ‎المعاملات csvfile ملف csv المراد قراءة محتوياته، ويمكن أن تكون قيمة هذا المعامل أيّ كائن يدعم بروتوكول المكرِّر iterator protocol ويعيد سلسلة نصية في كلّ مرة يجري فيها استدعاء التابع ‎__next__()‎، وعادة ما تكون كائنات الملفات وكائنات القوائم ملائمة لهذا الغرض. إن كانت قيمة هذا المعامل كائن ملف، فيجب أن يكون مفتوحًا مع المعامل ''newline=‎. ملاحظة: إن لم تحدد القيمة ''newline=‎ ...

البث (Broadcasting) في Laravel

مقدمة في العديد من التطبيقات الحديثة، تُستعمل Websockets لتنفيذ واجهات استخدام فورية ذات تحيين مباشر. عند رفع بعض البيانات للخادم، تُرسَل في العادة رسالة على اتصال websocket لتُعالَج من قبل العميل. يوفّر هذا بديلًا فعالًا للسحب المتواصل للتطبيق من أجل التغييرات. لمساعدتك في بناء هذا النوع من التطبيقات، يجعل Laravel من السهل "بث" أحداث عبر صلة websocket. يسمح بث الأحداث بمشاركة نفس الأحداث بين شيفرة من جهة الخادم وشيفرة من جهة العميل. ملاحظة: قبل التعمق في بث الأحداث، تأكد من ...

String.prototype.split()‎

الدالة String.prototype.split()‎ تقسم كائن String إلى مصفوفة من السلاسل النصية بفصلها إلى سلاسل نصية فرعية، وذلك باستخدام محرف فصل مُعيّن لمعرفة أين سيكون كل قسم. البنية العامة str.split([separator[, limit]]) separator السلسلة النصية التي تُشير إلى مكان فصل السلسلة النصية، ويمكن أن يكون الفاصل separator سلسلةً نصيةً أو تعبيرًا نمطيًا. وإذا استخدمنا سلسلةً نصيةً عاديةً تحتوي على أكثر من حرف فيجب العثور على السلسلة النصية كلها في مكان الفصل؛ أما لم تُحدَّد قيمة الوسيط separator أو لم يكن موجودًا ضمن السلسلة ...

التابع Enumerable.slice_after في روبي

يقطِّع التابع slice_after عناصر الكائن القابل للتعداد إلى أجزاء تحدَّد نهايتها عبر نمطٍ محدِّدٍ أو كتلةٍ معطاةٍ ثم يعيد مُعدِّد لكل جزء من الأجزاء الناتجة. البنية العامة slice_after(pattern) → an_enumerator slice_after { |elt| bool } → an_enumerator إن كان النمط مطابقًا للعنصر (أي يعيد pattern === elt القيمة true) أو أعادت الكتلة القيمة true للعنصر المُمرَّر إليها، فسيُعدُّ العنصر نهايةً لجزء. يُستدعَى المعامل === والكتلة block من أول عنصر وحتى آخر عنصر من عناصر الكائن القابل للتعداد المعطى. يُنتِج المُعدِّد المعاد العناصر ...

الدالة csv.writer()‎‎ في بايثون

تعيد الدالة كائن كتابة وظيفته تحويل بيانات المستخدم إلى سلاسل نصية مفصولة عن بعضها البعض وكتابتها في الكائن المعطى وهو كائن شبيه بالملفات، ويمكن كذلك استخدام أيّ كائن يمتلك التابع write()‎. إن كانت قيمة هذا المعامل كائن ملف، فيجب أن يكون مفتوحًا مع المعامل newline=''‎. ملاحظة: إن لم تحدد القيمة newline=''‎ لن تُفسّر الأسطر الجديدة في الحقول المحاطة بعلامات اقتباس بطريقة صحيحة، وسيضاف رمز ‎\r إضافي إلى الأسطر المنتهية بالرمز ‎\r\n في المنصّات التي تستخدم الرمز الأخير في نهايات الأسطر. ...

الخاصية counter-increment

الخاصية counter-increment في CSS تُزيد أو تُنقِص قيمة أحد عدّادات CSS بقيمة معيّنة، ويمكن إعادة تعيين العدّاد إلى رقم معيّن باستخدام الخاصية counter-reset. بطاقة الخاصية القيمة الابتدائية none تُطبَّق على كل العناصر. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. /* الزيادة بمقدار 1 */ counter-increment: my-counter; /* الإنقاص بمقدار 1 */ counter-increment: my-counter -1; /* زيادة أحد العدادات بمقدار 1 وإنقاص الثاني بمقدار 4*/ counter-increment: counter1 counter2 -4; /* عدم زيادة أو إنقاص أيّ عداد، وتُستخدَم لتجاوز القواعد التي لها أولوية أقل */ counter-increment: ...

إلغاء صلاحيات الوصول REVOKE

يستخدم هذا الأمر لإلغاء صلاحيات الوصول access privileges لمستخدمٍ أو مجموعة مستخدمين أو أكثر، وله إحدى الصيغ العامّة الآتية (بحسب محركات البيانات المختلفة): في محرك البيانات PostgreSQL REVOKE { { SELECT | INSERT | UPDATE | DELETE | REFERENCES } [, ...] | ALL [ PRIVILEGES ] } ON [ TABLE ] tbl_name [, ...] FROM { [GROUP ] name | PUBLIC | CURRENT_USER [, ...] }; إلغاء صلاحية تنفيذ استعلامات SELECT و INSERT و UPDATE و DELETE ...

الخاصية counter-reset

الخاصية counter-reset في CSS تُعيد ضبط قيمة أحد عدّادات CSS إلى قيمة معيّنة، بينما يمكن زيادة أو إنقاص قيمة العداد باستخدام الخاصية counter-increment. بطاقة الخاصية القيمة الابتدائية none تُطبَّق على كل العناصر. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. /* ضبط قيمة العداد إلى 0 */ counter-reset: my-counter; /* ضبط قيمة العداد إلى -1 */ counter-reset: my-counter -1; /* ضبط قيمة أوّل عداد إلى 1 وثاني عدّاد إلى 4 */ counter-reset: counter1 1 counter2 4; /* إلغاء عملية إعادة التعيين، وتُستخدَم لتجاوز القواعد ...

Kotlin/Native

ما هي تقنية Kotlin/Native؟ تُستخدَم تقنية Kotlin/Native لترجمة شيفرات Kotlin إلى الصيغة الثنائيّة الأساسيّة (native binaries) والتي لا تتطلَّب آلةً افتراضيّة (virtual machine) لتشغيلها، وتشمل كلًا من المعالجات الخلفيّة (أو السند الخلفي [backend]) المعتمدة على تقنيات مكتبة LLVM للمترجِم (compiler) وكذلك تعريف الاستخدام الأساسيّ (native implementation) من مكتبة التشغيل (runtime) في Kotlin، وقد صُمّمت هذه التقنية للسماح بالترجمة في منصّات العمل التي تكون فيها الآلات الافتراضيّة غير متاحةٍ أو مرغوبةٍ (مثل أنظمة iOS والأهداف المدمجة [embedded targets])، أو عندما يحتاج ...

منح صلاحيات الوصول GRANT

يستخدم هذا الأمر لمنح صلاحيات الوصول access privileges لمستخدمٍ أو مجموعة مستخدمين أو أكثر، وله إحدى الصيغ العامّة الآتية (بحسب محركات البيانات المختلفة): في محرك البيانات PostgreSQL GRANT { { SELECT | INSERT | UPDATE | DELETE | REFERENCES } [, ...] | ALL [ PRIVILEGES ] } ON [ TABLE ] tbl_name [, ...] TO { [GROUP ] name | PUBLIC | CURRENT_USER [, ...] } [ WITH GRANT OPTION ]; إعطاء صلاحية تنفيذ استعلامات SELECT و ...

تعديل المستخدم ALTER USER

يُستخدم هذا الأمر للتعديل من خصائص وسماحيات المستخدم، وله الصيغ الآتية (بحسب محركات قواعد البيانات المختلفة): في محرك البيانات PostgreSQL ALTER USER {name | CURRENT_USER} [ WITH ] option [ ... ] إذ إن name هو اسم المستخدم الذي ستطرأ التعديلات عليه، ويمكن أن يكون الخيار option أحد الكلمات المفتاحية الآتية: الخيار مهمته  SUPERUSER لجعل المستخدم SUPERUSER أي له كافة صلاحيات الوصول access privileges في قاعدة البيانات CREATEDB لإعطاء المستخدم صلاحية إنشاء قاعدة بيانات جديدة CREATEROLE لإعطاء المستخدم صلاحية إنشاء مستخدم ...

إنشاء مستخدم جديد CREATE USER

يُستخدم هذا الأمر لإنشاء مستخدم جديد، وله الصيغ الآتية (بحسب محركات قواعد البيانات المختلفة). في محرك البيانات PostgreSQL CREATE USER name [ [ WITH ] option [ ... ] ] إذ إن name هو اسم المستخدم المنشَأ ويمكن أن يكون الخيار option أحد الكلمات المفتاحية الآتية: الخيار مهمته  SUPERUSER لجعل المستخدم SUPERUSER أي له كافة صلاحيات الوصول access privileges في قاعدة البيانات CREATEDB لإعطاء المستخدم صلاحية إنشاء قاعدة بيانات جديدة CREATEROLE لإعطاء المستخدم صلاحية إنشاء مستخدم آخر جديد CONNECTION LIMIT connlimit ...

عبارة HAVING

تستخدم عبارة  HAVING ضمن استعلام SELECT لتحديد شرطٍ معينٍ عند تجميع السجلات مع بعضها GROUP BY، وقد أُضيف إلى لغة SQL لأنه لا يمكن استخدام عبارة WHERE مع الدوال التجميعيّة مثل SUM و MIN  و MAX ...إلخ. تجميع السجلات وفق شرط مُحدّد ليكن الجدول الآتي (patients) موجودًا في قاعدة البيانات: Doctor Section Age Patient PatientID Nasser Cardiology 76 Salem 1029 Abd Allah Neurology 17 Hasan 896 Reem Maternity 23 Nadine 964 Fateh Cardiology 65 Rami 1070 Kareem Neurology 19 Abd ...

Array.prototype.copyWithin()‎

الدالة Array.prototype.copyWithin()‎ تنسخ جزءًا من المصفوفة إلى مكانٍ آخر فيها نسخًا سطحيًا، وتُعيد هذا الجزء دون تعديل طول المصفوفة. ['alpha', 'bravo', 'charlie', 'delta'].copyWithin(2, 0); // ["alpha", "bravo", "alpha", "bravo"] البنية العامة arr.copyWithin(target[, start[, end]]) target الفهرس (العد يبدأ من الصفر) الذي ستوضع العناصر المنسوخة فيه، وإذا كانت هذه القيمة سالبةً فسيبدأ العد من النهاية. إذا كانت قيمة هذا الوسيط تساوي أو أكبر من arr.length، فلن يُنسَخ أيّ عنصر، وإذا كانت هذه القيمة أكبر من start، فسيُقتَطَع الجزء المنسوخ ليتسع في arr.length. ...

الدالة sqlite3.connect()‎ في بايثون

تفتح هذه الدالة اتصالًا مع قاعدة بيانات SQLite عبر الملف المعطى، وتعيد افتراضيًا كائن اتصال ما لم تحدد قيمة أخرى في المعاملات. البنية العامة sqlite3.connect(database[, timeout, detect_types, isolation_level, check_same_thread, factory, cached_statements, uri]) المعاملات database كائن شبيه بالمسار path-like يمثّل مسار ملف قاعدة البيانات (المسار المطلق أو النسبي للمجلد الحالي) الذي سيتم الاتصال به. يمكن استخدام القيمة ":memory:" لفتح اتصال مع قاعدة بيانات تخزّن في ذاكرة الوصول العشوائي RAM بدلًا من القرص الصلب. إذا أجريت عدة اتصالات بقاعدة بيانات واحدة، وأجرى ...

Function.prototype.call()‎

الدالة Function.prototype.call()‎ تستدعي دالةً وتضبط قيمة this فيها إلى القيمة المعطية، وستُوفَّر الوسائط التي ستُمرَّر إليها كقائمة. ملاحظة: صحيحٌ أنَّ البنية العامة لهذه الدالة تكاد تماثل بينة الدالة apply()‎، لكن الفرق الرئيسي بينهما هو أنَّ الدالة apply()‎ تقبل مصفوفةً واحدةً تحتوي على الوسائط، بينما call()‎ تقبل قائمةً بالوسائط التي تُمرَّر إلى الدالة. البنية العامة function.call([thisArg, arg1, arg2, ...]) thisArg وسيطٌ اختياري، وهو يُمثِّل قيمة المعامل this التي ستُستعمل في الدالة function، لاحظ أنَّ قيمة this المُمرَّرة لا تعني بالضرورة أنَّها ...

الدالة itertools.groupby()‎ في بايثون

تعيد الدّالة itertools.groupby()‎ مُكرّرًا يُعيد مفاتيح مُتسلسلة ومجموعات (groups) تنتمي إلى هذه المفاتيح من الكائن القابل للتّكرار المعطى. العمليّة التي تقوم بها الدّالة مُشابهة لكيفيّة عمل المُرشّح uniq في أنظمة Unix. إذ تُولّد نقطة توقّف (break) أو مجموعة جديدة في كلّ مرّة تتغيّر فيها قيمة الدّالةِ المفتاح (لذا يجب في الغالب ترتيب البيانات باستعمال نفس الدّالة المفتاح). وطريقة العمل هذه تختلف عن طريقة عمل عبارة GROUP BY في لغة SQL التي تجمع العناصر المُشتركة بغضّ النّظر عن ترتيب البيانات. البنية ...

الوحدة Marshal في روبي

تحوّل المكتبة Marshal مجموعات من كائنات روبي إلى مجرى من البايتات (byte stream)، مما يسمح بتخزينها خارج البرنامج النصي النشط حاليًا. يمكن بعد ذلك قراءة تلك البيانات وإعادة إنشاء الكائنات الأصلية أنشئت منها. تحتوي البيانات المرصوفة (Marshaled data) على أرقام الإصدار الرئيسية والثانوية مخزنةً مع معلومات الكائن. في الاستخدام العادي، تُحمّل فقط البيانات التي لها نفس رقم الإصدار الرئيسي، ورقم الإصدار الثانوي المساوي أو الأقل منه. وفي حال ضبط قيمة الراية "verbose" (عادةً باستخادم ‎-d أو ‎-v أو ‎-w أو ...

String.prototype.replace()‎

الدالة String.prototype.replace()‎ تُعيد سلسلةً نصيةً جديدةً فيها بعض أو جميع الأجزاء المُطابَقة عبر النمط pattern قد استبدلتها السلسلة النصية replacement. لاحظ أنَّ النمط pattern يمكن أن يكون سلسلةً نصيةً أو كائن RegExp، ويمكن أن يكون الوسيط replacement سلسلةً نصيةً أو دالةً التي ستُستدعى لكل مُطابَقة. لاحظ أنَّ السلسلة النصية الأصلية ستبقى دون تعديل. البنية العامة str.replace(regexp|substr, newSubstr|function) regexp (أي pattern) كائن RegExp الذي ستبدّل الأجزاء المُطابَقة به إلى السلسلة النصية newSubStr أو بالقيمة المعادة من الدالة function. substr (أي pattern) ...

التابع Enumerable.slice_before في روبي

يقطِّع التابع slice_before عناصر الكائن القابل للتعداد إلى أجزاء تحدَّد بدايتها عبر نمطٍ محدِّدٍ أو كتلةٍ معطاةٍ ثم يعيد مُعدِّد لكل جزء من الأجزاء الناتجة. البنية العامة slice_before(pattern) → an_enumerator slice_before { |elt| bool } → an_enumerator إن كان النمط مطابقًا للعنصر (أي يعيد pattern === elt القيمة true) أو أعادت الكتلة القيمة true للعنصر المُمرَّر إليها، فسيُعدُّ العنصر بدايةً لجزء. يُستدعَى المعامل === والكتلة block من أول عنصر وحتى آخر عنصر من عناصر الكائن القابل للتعداد المعطى. يجري دومًا تجاهل النتيجة ...

الصنف cgi.FieldStorage‎‎ في بايثون

يمكن الوصول إلى البيانات المرسلة إلى المخدّم عن طريق الصنف FieldStorage، وإن كان النموذج يتضمّن حروفًا بترميز غير ترميز ASCII فيمكن استخدام المعامل المفتاحي encoding لتعيين قيمة الترميز المستخدم في الملف الحاوي على النموذج، ويمكن الوصول إلى الترميز المستخدم عادة في الوسم META في قسم HEAD من ملف HTML أو عن طريق الترويسة Content-Type). يقرأ الصنف محتويات النموذج من المدخلات القياسية أو من البيئة (بالاعتماد على قيمة عدد من متغيرات البيئة والمعيّنة حسب معايير CGI). قد يستهلك الصنف المدخلات القياسية؛ ...

Array.prototype.map()‎

الدالة Array.prototype.map()‎ تُنشِئ مصفوفةً جديدةً باستخدام القيم المُعادة من استدعاء دالة مُحدَّدة على جميع عناصر المصفوفة الأصلية. var array1 = [1, 4, 9, 16]; // دالة سهمية const map1 = array1.map(x => x * 2); console.log(map1); // [2, 8, 18, 32] البنية العامة var new_array = arr.map(callback[, thisArg]) callback الدالة التي ستختبر كل عنصر من عناصر المصفوفة، وتقبل ثلاثة وسائط. currentValue العنصر الحالي الذي يُعالِج في المصفوفة، وهذه القيمة مطلوبة. index فهرس العنصر الحالي في المصفوفة، وهذه القيمة اختيارية. array المصفوفة التي استدعيت ...

تهجير قاعدة البيانات في Laravel

مقدمة تشبه عمليات التهجير التحكم في الإصدار لقاعدة بياناتك، مما يسمح لفريقك بتعديل مخطط قاعدة البيانات ومشاركته بسهولة. وعادةً ما تقترن عمليات التهجير بمنشئ مخططات Laravel لبناء مخطط قاعدة البيانات تطبيقك بسهولة. وإذا كان عليك في أي وقت مضى إخبار أحد أعضاء الفريق بإضافة عمود يدويًا إلى مخطط قاعدة البيانات المحليّة الخاصة بك، فقد واجهت المشكلة التي حُلّت باستخدام تهجيرات قاعدة البيانات. توفّر الواجهة الساكنة Schema دعمًا لإنشاء وتعديل الجداول عبر جميع أنظمة قواعد البيانات المدعومة من قبل Laravel. توليد ...

الاستعلام SELECT

يُستخدَم استعلام SELECT للحصول على سجلات البيانات من الجداول المخزنة في قاعدة البيانات، قد تكون نتيجة الاستعلام سجلًا أو أكثر، وعمودًا أو أكثر. البنية العامة SELECT [DISTINCT | TOP] select_list [FROM table_source] [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_condition] [ORDER BY order_expression [ ASC | DESC]]; ويمكن أن تُستخدَم بعض المعاملات مثل UNION و EXCEPT و INTERSECT لدمج نتائج الاستعلامات أو مقارنتها مع بعضها، وتجب مراعاة ترتيب الكلمات المفتاحية المستخدمة في الصياغة السابقة لدى وجود العديد منها ضمن استعلامٍ واحد. أمثلة فيما يلي أمثلةٌ مختلفةٌ ...