تعريف البيانات بلغة SQL. مقدمة إلى لغة الاستعلام الهيكلية SQL ما يمكنك فعله باستخدام SQL

01.08.2023

ترجمة: الكسندر بيراميدين

يقدم لك هذا المقال بنية لغة SQL، بالإضافة إلى بعض المفاهيم العامة مثل أنواع حقول البيانات التي يمكن أن تحتويها وبعض نقاط الغموض الموجودة في SQL. ليس عليك أن تتذكر كل التفاصيل المذكورة في هذه المقالة. تعطى هنا فقط نظرة عامة مختصرة; يتم تقديم العديد من التفاصيل حتى تتمكن من الرجوع إليها لاحقًا أثناء إتقان اللغة.

كيف تعمل SQL؟

SQL هي لغة مصممة خصيصًا لقواعد البيانات العلائقية (RDBs). إنه يقوم بالكثير من العمل الذي كان عليك القيام به إذا كنت تستخدمه لغة عالميةالبرمجة، مثل لغة C. لتكوين RDB في لغة C، ستحتاج إلى البدء من الصفر. يمكنك تعريف كائن يسمى جدول يمكن أن ينمو ليحتوي على أي عدد من الصفوف، ثم تقوم بإنشاء إجراءات تزايدية لإدراج القيم واستردادها.

إذا أردت العثور على بعض السلاسل المحددة، فستحتاج إلى اتباع إجراء خطوة بخطوة مثل ما يلي:

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

(بالطبع، هذه ليست المجموعة الفعلية لأوامر لغة C، بل مجرد منطق الخطوات التي سيتم تضمينها في برنامج حقيقي.) سوف يقوم SQL بكل هذا نيابةً عنك. يمكن للأوامر في SQL أن تعمل على جميع مجموعات الجداول ككيان واحد ويمكنها معالجة أي قدر من المعلومات المستخرجة أو المشتقة منها كوحدة واحدة.

ماذا تفعل ANSI؟

كما قلنا في المقدمة، يتم تعريف معيار SQL باستخدام كود ANSI (المعهد الوطني الأمريكي للمعايير). لم يتم اختراع SQL بواسطة ANSI. وهذا في الأساس اختراع لشركة IBM. لكن الشركات الأخرى قفزت إلى SQL على الفور. بواسطة على الأقلفازت إحدى الشركات (Oracle) بحق تسويق منتجات SQL من شركة IBM.

بعد ظهور عدد من برامج SQL المتنافسة في السوق، حددت ANSI المعيار الذي يجب أن تتوافق معه. (تحديد هذه المعايير هو وظيفة ANSI.) لكن بعد ذلك ظهرت بعض المشاكل. لقد نشأت نتيجة لتوحيد ANSI، في شكل بعض القيود. نظرًا لأن ANSI لا يحدد دائمًا ما هو الأكثر فائدة، تحاول البرامج التوافق مع معيار ANSI دون السماح لها بتقييدها أكثر من اللازم. وهذا بدوره يؤدي إلى تناقضات عشوائية. برامج قواعد البيانات عادة ما تعطي ANSI SQL ميزات إضافيةوغالبًا ما يتم تخفيف العديد من القيود. لذلك، سيتم أيضًا أخذ متغيرات ANSI الشائعة في الاعتبار. على الرغم من أننا لا نستطيع بوضوح تغطية كل الاستثناءات أو الاختلافات، إلا أن الأفكار الجيدة تميل إلى تبنيها واستخدامها في مجموعة متنوعة من البرامج، حتى عندما لا يتم تعريفها بواسطة معيار ANSI. ANSI هو نوع من معايير الحد الأدنى، ويمكنك القيام بأكثر مما يسمح به، على الرغم من أنه يجب عليك اتباع إرشاداته عند تنفيذ المهام التي يحددها.

SQL التفاعلية والمتداخلة

هناك نوعان من SQL: التفاعلية والمتداخلة. في أغلب الأحيان، يعمل كلا النموذجين بنفس الطريقة، لكن يتم استخدامهما بشكل مختلف. يتم استخدام لغة SQL التفاعلية للتشغيل مباشرة على قاعدة البيانات لإنتاج مخرجات ليستخدمها العميل. في SQL هذا - عند إدخال أمر، سيتم تنفيذه على الفور، ويمكنك رؤية الإخراج على الفور (إن وجد).

يتكون SQL المتداخل من أوامر SQL الموضوعة داخل البرامج المكتوبة عادة بلغة أخرى (مثل COBOL أو PASCAL). وهذا يجعل مثل هذه البرامج أكثر قوة وفعالية.

ومع ذلك، فإن السماح بهذه اللغات يأتي مع بنية SQL وأسلوب إدارة البيانات الذي يتطلب بعض ملحقات SQL التفاعلية. يتم "تمرير" أوامر SQL إلى لغة SQL المتداخلة للمتغيرات أو المعلمات التي يستخدمها البرنامج الذي تم تداخلها فيه.

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

أقسام SQL الفرعية

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

  • DDL (لغة تعريف البيانات) - تسمى لغة وصف المخطط في ANSI - تتكون من أوامر تقوم بإنشاء كائنات (جداول، وفهارس، وطرق عرض، وما إلى ذلك) في قاعدة بيانات.
  • DML (لغة معالجة البيانات) عبارة عن مجموعة من الأوامر التي تحدد القيم الممثلة في الجداول في أي وقت.
  • تتكون DCD (لغة التحكم في البيانات) من أدوات تحدد ما إذا كان سيتم السماح للمستخدم بتنفيذ إجراءات معينة أم لا. هم جزء من ANSI DDL.

لا تنسى هذه الأسماء. هذه ليست لغات مختلفة، ولكنها أقسام من أوامر SQL مجمعة حسب وظائفها.

أنواع البيانات المختلفة

ليست كل أنواع القيم التي يمكن العثور عليها في حقول الجدول متماثلة منطقيًا. الفرق الأكثر وضوحا هو بين الأرقام والنص. لا يمكنك ترتيب الأرقام حسب الترتيب الأبجدي أو طرح اسم من اسم آخر.

نظرًا لأن أنظمة RDB تعتمد على الاتصالات بين أجزاء المعلومات، أنواع مختلفةيجب أن تكون البيانات مختلفة عن بعضها البعض حتى يمكن إجراء العمليات والمقارنات المناسبة عليها. في SQL، يتم ذلك عن طريق تعيين نوع بيانات لكل حقل يشير إلى نوع القيمة التي يمكن أن يحتوي عليها هذا الحقل. يجب أن تكون جميع القيم في هذا الحقل من نفس النوع. في جدول العملاء، على سبيل المثال، يحتوي cname والمدينة على أسطر نصية للتقييم، كما أن snum وcnum عبارة عن أرقام. لهذا السبب، لا يمكنك إدخال القيمة الأعلى أو القيمة لا شيء في حقل التصنيف، وهو نوع بيانات رقمي. يعد هذا القيد جيدًا لأنه يفرض بعض البنية على بياناتك. ستقوم غالبًا بمقارنة بعض أو كل القيم في حقل معين، لذلك قد ترغب فقط في تنفيذ إجراء على صفوف معينة بدلاً من جميعها. لا يمكنك القيام بذلك إذا كانت قيم الحقل من نوع بيانات مختلط.

لسوء الحظ، يعد تحديد أنواع البيانات هذه مجالًا رئيسيًا لا تتفق فيه دائمًا معظم برامج قواعد البيانات التجارية ومعيار SQL الرسمي. يتعرف معيار ANSI SQL على النص والأرقام فقط، بينما تستخدم معظم البرامج التجارية أنواعًا خاصة أخرى. في الواقع، تعتبر مثل DATA وTIME من الأنواع القياسية تقريبًا (على الرغم من اختلاف تنسيقها الدقيق). تدعم بعض الحزم أيضًا أنواعًا مثل MONEY وBINARY. (المال هو نظام "عملة" خاص تستخدمه أجهزة الكمبيوتر.)

يتم نقل جميع المعلومات الموجودة على الكمبيوتر أرقام ثنائية، ومن ثم ترجمتها إلى أنظمة أخرى حتى نتمكن من استخدامها وفهمها بسهولة.

يعرّف ANSI عدة أنواع رقمية، والاختلافات بينها دقيقة للغاية ومربكة في بعض الأحيان. تم إدراج أنواع بيانات ANSI المسموح بها في الملحق ب. يمكن أن يُعزى تعقيد أنواع بيانات ANSI الرقمية، جزئيًا على الأقل، إلى الجهود المبذولة لجعل لغة SQL المتداخلة متوافقة مع عدد من اللغات الأخرى. سيكون نوعا أرقام ANSI، INTEGER وDECIMAL (والتي يمكن اختصارهما بـ INT وDEC، على التوالي)، مناسبين لأغراضنا، وكذلك لأغراض معظم تطبيقات الأعمال العملية. وبطبيعة الحال، يمكن تمثيل النوع الصحيح كرقم عشري، لا يحتوي على أي أرقام على يمين العلامة العشرية.

نوع النص هو CHAR (أو CHAR)، يشير إلى سلسلة نصية. يحتوي حقل CHAR على طول يحدده الحد الأقصى لعدد الأحرف التي يمكن إدخالها في الحقل. تحتوي معظم التطبيقات أيضًا على نوع غير قياسي يسمى VARCHAR، وهو عبارة عن سلسلة نصية ويمكن أن يصل طولها إلى الحد الأقصى المحدد بواسطة التنفيذ (عادةً 254 حرفًا). يتم تضمين قيم CHARACTER وVARCHAR في علامات الاقتباس المفردة كـ "نص". الفرق بين CHAR وVARCHAR هو أن CHAR يجب أن يحتفظ بذاكرة كافية لأقصى طول للسلسلة، بينما يقوم VARCHAR بتخصيص الذاكرة حسب الحاجة.

تتكون أنواع الأحرف من كافة الأحرف القابلة للطباعة، بما في ذلك الأرقام. ومع ذلك، فإن الرقم 1 ليس هو نفس الرمز "1". الحرف "1" هو مجرد جزء مطبوع من النص، ولم يتم تعريفه بواسطة النظام كقيمة رقمية 1. على سبيل المثال، 1 + 1 = 2، ولكن "1" + "1" لا يساوي "2". يتم تخزين قيم الأحرف في الكمبيوتر كقيم ثنائية، ولكن يتم عرضها للمستخدم كنص مطبوع.

يتم التحويل وفقًا للتنسيق الذي يحدده النظام الذي تستخدمه. سيكون تنسيق التحويل هذا واحدًا من نوعين قياسيين (ربما مع ملحقات) يُستخدمان في أنظمة الكمبيوتر: رمز ASCII (المستخدم في جميع أجهزة الكمبيوتر الشخصية والصغيرة) ورمز EBCDIC (رمز تبادل المعلومات العشرية الموسعة) (المستخدم في أجهزة الكمبيوتر الكبيرة). ستتغير عمليات معينة، مثل ترتيب قيم الحقول أبجديًا، مع التنسيق.

يجب أن نتبع السوق، وليس ANSI، في استخدام نوع DATE. (في النظام الذي لا يتعرف على نوع التاريخ، يمكنك بالطبع إعلان التاريخ كحرف أو حقل رقمي، ولكن هذا سيجعل معظم العمليات أكثر كثافة في العمل.)

يجب عليك مراجعة وثائقك الخاصة بحزمة البرامج التي ستستخدمها لمعرفة أنواع البيانات التي تدعمها بالضبط.

SQL. التناقضات.

يمكنك أن تفهم من المناقشة السابقة أن هناك اختلافات منفصلة بين المنتجات في عالم SQL. ظهرت SQL من عالم قواعد البيانات التجارية كأداة وتم تطويرها لاحقًا لتصبح معيار ANSI. لسوء الحظ، لا يحدد ANSI دائمًا ما هو الأكثر فائدة، لذا تحاول البرامج التوافق مع معيار ANSI دون السماح لها بتقييدها كثيرًا. يعد ANSI نوعًا من الحد الأدنى من المعايير - حيث يمكنك القيام بأكثر مما يسمح به، ولكن يجب أن تكون قادرًا على الحصول على نفس النتائج عند تنفيذ نفس المهمة.

ما هو "المستخدم"؟

تتواجد لغة SQL عادةً على أنظمة الكمبيوتر التي تحتوي على أكثر من مستخدم واحد، وبالتالي تحتاج إلى التمييز بينهم (يمكن أن تحتوي عائلة الكمبيوتر الشخصي لديك على أي عدد من المستخدمين، ولكن عادةً لا يكون لديها طريقة للتمييز بين مستخدم وآخر).

عادة، في مثل هذا النظام، يكون لدى كل مستخدم نوع ما من رمز التحقق من الحقوق الذي يحدد هويته (تختلف المصطلحات). في بداية الجلسة مع الكمبيوتر، يقوم المستخدم بتسجيل الدخول (التسجيل)، وإخبار الكمبيوتر عن هوية المستخدم عن طريق تعريف نفسه باستخدام معرف محدد. أي عدد من الأشخاص الذين يستخدمون معرف الوصول هم مستخدمون فرديون؛ وبالمثل، يمكن لشخص واحد أن يمثل عدد كبيرالمستخدمين (في أوقات مختلفة) باستخدام معرفات وصول SQL مختلفة. يتم تعيين الإجراءات في معظم بيئات SQL إلى معرف وصول محدد يتطابق تمامًا مع مستخدم معين. الجدول أو الكائن الآخر مملوك لمستخدم لديه التحكم الكامل فيه. قد يكون أو لا يتمتع المستخدم بامتياز تنفيذ إجراء على الكائن. ولأغراضنا، سنوافق على أن أي مستخدم لديه الامتيازات اللازمة لتنفيذ أي إجراء حتى نعود تحديدًا إلى مناقشة الامتيازات في الفصل 22. يمكن استخدام القيمة الخاصة USER كوسيطة في الأمر. يشير إلى المعرف المتاح للمستخدم الذي أصدر الأمر.

الاتفاقيات والمصطلحات

الكلمات الرئيسية هي الكلمات التي لها معنى خاص في SQL. يمكن أن تكون أوامر، ولكن ليست أسماء نصية أو كائنات. سنقوم بتسليط الضوء على الكلمات الرئيسية عن طريق كتابتها بأحرف كبيرة. يجب أن تكون حريصًا على عدم الخلط بين الكلمات الرئيسية والمصطلحات.

تحتوي لغة SQL على مصطلحات خاصة معينة تُستخدم لوصفها. ومن بينها كلمات مثل "الاستعلام" و"الجملة" و"المسند"، وهي الأكثر أهمية في وصف اللغة وفهمها، ولكنها لا تعني شيئًا مستقلاً بالنسبة لـ SQL.

الأوامر أو البيانات هي تعليمات يمكنك من خلالها الوصول إلى قاعدة بيانات SQL.

تتكون الأوامر من واحد أو أكثر من الأجزاء المنطقية المنفصلة التي تسمى الجمل.

تبدأ العروض الكلمة الرئيسيةوتتكون من الكلمات الرئيسية والوسائط. على سبيل المثال، العبارات التي قد تواجهها هي "من Salespeope" و"WHERE city = "London"". الحجج تكمل أو تغير معنى الجملة. في الأمثلة أعلاه، يعد Salespeople هو الوسيطة وFROM هي الكلمة الأساسية لعبارة FROM. وبالمثل، "city = "London"" هي وسيطة لعبارة WHERE.

الكائنات هي هياكل قاعدة بيانات يتم تسميتها بأسماء وتخزينها في الذاكرة. يتضمن ذلك الجداول الأساسية وطرق العرض والفهارس.

لكي نوضح لك كيفية تشكيل الفرق، سنفعل ذلك بالأمثلة. ومع ذلك، هناك طريقة أكثر رسمية لوصف الأوامر التي تستخدم اصطلاحات موحدة. سنستخدمها في الفصول اللاحقة لتسهيل فهم هذه الاصطلاحات في حالة مواجهتها في مستندات SQL أخرى.

تشير الأقواس المربعة () إلى الأجزاء التي لا يجوز استخدامها، وتشير علامات الحذف (...) إلى أن كل ما يسبقها يمكن تكراره لأي عدد من المرات. الكلمات الموجودة بين قوسين () هي مصطلحات خاصة تشرح معناها. لقد قمنا بتبسيط مصطلحات SQL القياسية بشكل كبير دون صعوبة فهمها.

سيرة ذاتية

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

الآن أنت تعرف بعض الأشياء عن SQL: ما هي بنيتها، وكيف يتم استخدامها، وكيف تمثل البيانات وكيف يتم تعريفها (وبعض التناقضات التي تأتي معها)، وبعض الاصطلاحات والمصطلحات المستخدمة لوصفها. كل هذه المعلومات كثيرة جدًا بالنسبة لفصل واحد؛ لا نتوقع منك أن تتذكر كل هذه التفاصيل، ولكن يمكنك الرجوع إليها لاحقًا إذا كنت بحاجة إلى ذلك.

SQL (لغة الاستعلام المنظمة) - لغة الاستعلام المنظمة - لغة استعلام قياسية للعمل مع قواعد البيانات العلائقية. ظهرت لغة SQL بعد الجبر العلائقي، وتم تطوير نموذجها الأولي في أواخر السبعينيات في أبحاث IBM. تم تنفيذها في النموذج الأولي لنظام إدارة قواعد البيانات العلائقية من IBM System R. وبعد ذلك، تم استخدام هذه اللغة في العديد من أنظمة إدارة قواعد البيانات التجارية، وبسبب استخدامها على نطاق واسع، أصبحت تدريجيًا المعيار الفعلي للغات معالجة البيانات في أنظمة إدارة قواعد البيانات العلائقية. تم اعتماد أول معيار دولي للغة SQL في عام 1989 (سنسميه فيما بعد SQL/89 أو SQL1). يُطلق على معيار SQL1 أحيانًا اسم معيار ANSI/ISO، والغالبية العظمى من أنظمة إدارة قواعد البيانات (DBMS) المتوفرة في السوق تدعم هذا المعيار بشكل كامل. ومع ذلك، التنميةتكنولوجيا المعلومات المتعلقة بقواعد البيانات، والحاجة إلى تنفيذ التطبيقات المحمولة، تطلبت تحسين معيار SQL الأول وتوسيعه قريبًا.في نهاية عام 1992، تم اعتماد معيار دولي جديد للغة SQL، والذي سيسمى من الآن فصاعدا SQL/92 أو SQL2. وهو لا يخلو من العيوب، لكنه في الوقت نفسه أكثر دقة واكتمالًا من SQL/89. في اللحظة الحالية، اسمه SQL3. إذا كانت الاختلافات بين معايير SQL1 وSQL2 كمية إلى حد كبير، فإن معيار SQL3 يتوافق مع التحولات النوعية الجادة. يقدم SQL3 أنواع بيانات جديدة ويوفر القدرة على تحديد أنواع البيانات المنظمة المعقدة التي تكون أكثر توجهاً للكائنات. أخيرًا، تمت إضافة قسم يقدم معايير للأحداث والمحفزات، والتي لم يتم تناولها مسبقًا في المعايير، على الرغم من استخدامها على نطاق واسع منذ فترة طويلة في أنظمة إدارة قواعد البيانات التجارية. يحدد المعيار إمكانية تحديد المشغلات بوضوح كمجموعة من الأحداث والإجراءات. لا يمكن أن يكون الإجراء مجرد سلسلة من عبارات SQL، ولكن أيضًا عبارات تتحكم في تنفيذ البرنامج. ضمن إدارة المعاملات كانت هناك عودة إلى النموذج القديمالمعاملات التي تسمح بنقاط الحفظ، والقدرة على تحديد نقاط الإرجاع في عامل ROLLBACK ستسمح لك باستعادة المعاملة ليس إلى البداية، ولكن إلى نقطة وسيطة محفوظة مسبقًا. يزيد هذا الحل من مرونة تنفيذ خوارزميات معالجة المعلومات المعقدة. هيكل SQL على عكس الجبر العلائقي، حيث يتم تقديم عمليات استعلام قاعدة البيانات فقط، فإن SQL هوباللغة الكاملة
، فهو لا يحتوي على عمليات الاستعلام فحسب، بل يحتوي أيضًا على عوامل التشغيل المقابلة للغة تعريف البيانات (DDL) - لغة وصف البيانات. بالإضافة إلى ذلك، تحتوي اللغة على عوامل تشغيل مخصصة لإدارة (إدارة) قواعد البيانات.
يحتوي SQL على الأقسام المعروضة في الجدول. 1: الجدول 1. بيانات تعريف بيانات DDL المشغل
معنى فعل إنشاء جدول
إنشاء جدول يقوم بإنشاء جدول جديد في قاعدة البيانات إسقاط الجدول
حذف الجدول إزالة جدول من قاعدة البيانات تغيير الجدول
تحرير الجدول تعديل بنية جدول موجود أو قيود التكامل المحددة لهذا الجدول إنشاء عرض
إنشاء عرض يقوم بإنشاء جدول افتراضي يتوافق مع بعض استعلامات SQL تغيير العرض
تغيير العرض تعديل طريقة العرض التي تم إنشاؤها مسبقًا عرض إسقاط
حذف العرض حذف طريقة العرض التي تم إنشاؤها مسبقًا إنشاء فهرس
إنشاء فهرس ينشئ فهرسًا على جدول لتوفير وصول سريع إلى السمات المضمنة في الفهرس إسقاط الفهرس
إزالة الفهرس
يحتوي SQL على الأقسام المعروضة في الجدول. 1: الجدول 1. بيانات تعريف بيانات DDL المشغل
إزالة فهرس تم إنشاؤه مسبقًا الجدول 2. مشغلي معالجة البيانات Lanquaqe (DML) لمعالجة البيانات إزالة صف واحد أو أكثر يطابق معايير التصفية من الجدول الأساسي. يتوافق استخدام العامل مع مبادئ الحفاظ على التكامل، لذلك قد لا يتم دائمًا تنفيذ هذا العامل بشكل صحيح، حتى لو تمت كتابته بشكل صحيح نحويًا
إدراج إدراج صف إدراج صف واحد في الجدول الأساسي. تعد تعديلات عامل التشغيل مقبولة، حيث يمكن نقل عدة صفوف من جدول أو استعلام واحد إلى الجدول الأساسي مرة واحدة
تحديث تحديث الصف يقوم بتحديث قيم عمود واحد أو أكثر في صف واحد أو أكثر يتوافق مع معايير التصفية
الجدول 3. لغة الاستعلام Lanquaqe (DQL) لاستعلام البيانات
يحتوي SQL على الأقسام المعروضة في الجدول. 1: الجدول 1. بيانات تعريف بيانات DDL المشغل
يختار حدد الصفوف عامل يحل محل جميع عوامل الجبر العلائقية ويسمح لك بتكوين علاقة ناتجة تتوافق مع الاستعلام
الجدول 4. ضوابط المعاملات
يحتوي SQL على الأقسام المعروضة في الجدول. 1: الجدول 1. بيانات تعريف بيانات DDL المشغل
يقترف إتمام الصفقة استكمال معالجة المعلومات المترابطة المعقدة المدمجة في المعاملة
التراجع معاملة التراجع التراجع عن التغييرات التي تم إجراؤها أثناء المعاملة
نقطة الحفظ حفظ النقطة الوسيطة للمعاملة احفظ الحالة المتوسطة لقاعدة البيانات، وقم بوضع علامة عليها حتى تتمكن من العودة إليها لاحقًا
الجدول 5. أدوات إدارة البيانات
يحتوي SQL على الأقسام المعروضة في الجدول. 1: الجدول 1. بيانات تعريف بيانات DDL المشغل
تغيير قاعدة البيانات تغيير قاعدة البيانات تغيير مجموعة الكائنات الأساسية في قاعدة البيانات، والقيود التي تؤثر على قاعدة البيانات بأكملها
تغيير دباريا تغيير منطقة تخزين قاعدة البيانات تعديل منطقة التخزين التي تم إنشاؤها مسبقًا
تغيير كلمة المرور تغيير كلمة المرور تغيير كلمة المرور لقاعدة البيانات بأكملها
إنشاء قاعدة بيانات إنشاء قاعدة بيانات إنشاء قاعدة بيانات جديدة، وتحديد المعلمات الأساسية لها
إنشاء دباريا إنشاء منطقة تخزين إنشاء منطقة تخزين جديدة وإتاحتها لتخزين البيانات
إسقاط قاعدة البيانات حذف قاعدة البيانات حذف قاعدة بيانات موجودة (فقط إذا كان مصرحًا لك بتنفيذ هذا الإجراء)
إسقاط دباريا حذف منطقة تخزين قاعدة البيانات حذف منطقة تخزين موجودة (إذا لم تكن تحتوي حاليًا على بيانات نشطة)
منحة منح الحقوق منح حقوق الوصول إلى عدد من الإجراءات على كائن قاعدة بيانات معين
إبطال سلب الحقوق رفض حقوق الوصول إلى بعض الكائنات أو بعض الإجراءات على كائن ما

يبدأ كل أمر SQL بكلمة أساسية، وهو فعل يصف الإجراء الذي ينفذه الأمر، مثل CREATE. يمكن للفريق أن يكون لديه جملة واحدة أو أكثر. تصف الجملة البيانات التي يعمل بها الأمر أو تحتوي على معلومات توضيحية حول الإجراء الذي يقوم به الأمر. تبدأ كل جملة بكلمة أساسية، مثل WHERE. بعض الجمل الموجودة في الأمر مطلوبة، والبعض الآخر ليس كذلك. قد تحتوي بعض الجمل على كلمات رئيسية وتعبيرات إضافية. تتضمن العديد من الجمل أسماء الجداول أو الحقول. يجب أن تتكون الأسماء من حرف واحد إلى 18 حرفًا، وأن تبدأ بحرف، ولا تحتوي على مسافات، و شخصيات خاصةعلامات الترقيم. لا يمكن استخدام الكلمات الرئيسية كأسماء.

52. SQL (لغة الاستعلام المنظمة) - لغة الاستعلام المنظمةهي لغة استعلام قياسية للعمل معها قواعد البيانات العلائقيةبيانات.

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

يمكن استخدام SQL للوصول إلى قاعدة البيانات في وضعين: العمل التفاعليوفي برامج التطبيق .

مع باستخدام SQLيمكن للمستخدم أن يتلقى بسرعة تفاعلية إجابات على أي استفسارات، بما في ذلك الاستعلامات المعقدة للغاية، بينما لتنفيذ هذه الاستعلامات بلغة أخرى سيكون من الضروري تطوير برنامج مناسب. تستخدم برامج التطبيقات المكتوبة بلغات برمجة معينة SQL كـ مدمجلغة الوصول إلى قاعدة البيانات.

بتوصيف لغة SQL ككل، يمكننا تسليط الضوء على الميزات التالية:

· هيكل رفيع المستوى، يذكر اللغة الإنجليزية;

· الاستقلال عن نظام إدارة قواعد البيانات (DBMS) المحدد.

· توافر المعايير النامية.

· القدرة على إجراء استعلامات تفاعلية لاستخراج البيانات وتعديل بنيتها.

· رزق الوصول إلى البرامجإلى قواعد البيانات؛

· دعم بنية العميل/الخادم.

· التوسعة ودعم التكنولوجيات الموجهة للكائنات.



· القدرة على الوصول إلى البيانات على شبكة الإنترنت.

الوظائف الرئيسية للغة SQL:

SQL – لغة الاستعلام التفاعلية. يقوم المستخدمون بإدخال أوامر SQL بشكل تفاعلي لاسترداد البيانات وعرضها على الشاشة، ولإجراء تغييرات على قاعدة البيانات؛

SQL – لغة برمجة قواعد البيانات. للوصول إلى قاعدة البيانات، يتم إدراج أوامر SQL في برامج التطبيقات؛

SQL – لغة إدارة قاعدة البيانات. يمكن لمسؤول قاعدة البيانات استخدام SQL لتحديد بنية قاعدة البيانات والتحكم في الوصول إلى البيانات؛

SQL – لغة تطبيق العميل/الخادم. في البرامج التطبيقية، يتم استخدام لغة SQL كوسيلة لتنظيم الاتصالات عبرها الشبكة المحليةمع خادم قاعدة بيانات يقوم بتخزين البيانات المشتركة، وما إلى ذلك.

55. القدرات اللغويةلغة SQL، التي تتوافق مع أحدث معايير SQL:2003، SQL:1999، هي لغة غنية ومعقدة للغاية، وجميع إمكانياتها يصعب فهمها على الفور، ناهيك عن فهمها. ولذلك، علينا أن نقسم اللغة إلى مستويات. في أحد التصنيفات التي يوفرها معيار SQL، تنقسم هذه اللغة إلى مستويات "أساسية" (مدخل)، و"متوسطة" (متوسطة)، و"كاملة". يحتوي المستوى الأساسي على حوالي أربعين أمرًا، والتي يمكن تجميعها في فئات وفقًا لوظائفها.

إنشاء تفاصيل الجدول (NOMZ INT، الاسم الكامل CHAR(15)، YEAR INT، GENDER CHAR(3))

إسقاط تفاصيل الجدول

تغيير تفاصيل الجدول (نموذج الحرف (10))

إنشاء عرض التقدم الأكاديمي M1 كما هو محدد *من الأداء الأكاديمي حيث المجموعة= "M-1"

أدخل في قيم المعلومات (980101، "إيفانوف الأول"، 1980، "الزوج")

احذف من التفاصيل حيث NOMZ=980201

تحديث مجموعة المعلومات الاسم الكامل = "KRAVTSOVA I. I." حيث نومز=980201

اختر * من المعلومات حيث الاسم الكامل = "SIDOROV S. S." أو الاسم الكامل = "بيتروف ب. ب."

54. أنواع البيانات والتعبيراتللوصول إلى جدول علائقي في SQL، تحتاج إلى كتابة (تحديد) أمر. حدد (حدد)الكلمة الرئيسيةيخبر نظام إدارة قواعد البيانات (DBMS) بالإجراء الذي سينفذه هذا الأمر. تبدأ أوامر الاستعلام بكلمة أساسية. بالإضافة إلى SELECT، يمكن أن تكون هذه الكلمات يخلق-يخلق، إدراج-إدراج، يمسح- يمسح، يقترف- كاملة، الخ.

من -الكلمة الأساسية، مثل SELECT، الموجودة في كل أمر. ويتبعها مسافة ثم اسم الجداول المستخدمة كمصادر للمعلومات. يجب أن تحتوي أسماء الجداول والحقول على من 1 إلى 18 حرفًا، وأن تبدأ بحرف ولا تحتوي على مسافات أو أحرف خاصة.

أين كلمة أساسية متبوعة بمسند - شرط مفروض على إدخال الجدول الذي يجب أن يستوفيه حتى يتم تضمينه في التحديد.

الطلب حسب –فرز السجلات المعروضة (تصاعدي – تصاعدي، تنازلي – تنازلي. إذا لم يتم تحديد نوع الفرز، فسيتم الفرز بترتيب تصاعدي).

الحرف (الطول) الحرف (الطول)سلاسل أحرف ذات طول ثابت

عدد صحيحالأعداد الصحيحة

سمالينتعدد صحيح صغير

NUMERIC (الدقة، الدرجة) DECIMAL (الدقة، الدرجة DEC (الدقة، الدرجة)رقم النقطة الثابتة

تعويم (الدقة)رقم النقطة العائمة

دقة مضاعفةأرقام بقفل عائم، دقة عالية

التعبيراتفي SQL يتم استخدامها لتحديد معايير اختيار البيانات أو تنفيذ العمليات على القيم التي يتم قراءتها من قاعدة البيانات. التعبيرات عبارة عن تسلسل محدد لحقول قاعدة البيانات والثوابت والوظائف المتصلة بواسطة عوامل التشغيل.

الثوابتتستخدم للإشارة إلى قيم بيانات محددة. ثوابت النقطة الثابتة، على سبيل المثال: 21 -375.18 62.3

ثوابت النقطة العائمة،على سبيل المثال: 1.5E7 -3.14E9 2.5E-6 0.783E24

ثوابت السلسلةيجب أن تكون محاطة بعلامات اقتباس مفردة. أمثلة على هذه الثوابت: "مينسك"، "نيويورك"، "إيفانوف آي. آي."

قيمة مفقودة(باطل). يدعم SQL معالجة البيانات المفقودة باستخدام مفهوم القيمة المفقودة.

تدعم معظم أنظمة إدارة قواعد البيانات الموجهة نحو SQL ما يسمى وظائف إجمالية (إجمالية).. تتضمن الوظائف الإجمالية شائعة الاستخدام ما يلي:

· عدد- عدد القيم في عمود الجدول؛

· مجموع- مجموع القيم في العمود؛

· متوسط- الوسط الحسابي للقيم الموجودة في العمود؛

· الأعلى- الحد الأقصى للقيمة في العمود؛

· دقيقة- الحد الأدنى للقيمة في العمود.

يمكن استخدام التعبيرات التالية: أنواع المشغلين:

· الحساب: + (إضافة)، - (الطرح)، * (الضرب)، / (قسم)؛

· علاقة: = (يساوي)، > (أكبر)،< (меньше), >= (أكبر من أو يساوي)،<= (меньше или равно), <>(لا يساوي)؛

· منطقي: و(منطقي "و")، أو(منطقي "أو")، لا(النفي المنطقي)؛

56. أوامر التحكم في المعاملاتتسمح لك بالتأكد من سلامة قاعدة البيانات.

معاملة SQLهي عدة أوامر SQL متسلسلة يجب تنفيذها كوحدة واحدة.

في لغة SQL، يتم تنفيذ معالجة المعاملات باستخدام أمرين - يقترفو التراجع. يديرون التغييرات التي تجريها مجموعة من الفرق. فريق يقترفتقارير الانتهاء بنجاح من الصفقة. يقوم بإبلاغ نظام إدارة قواعد البيانات (DBMS) بأن المعاملة قد اكتملت، وتم إكمال جميع أوامرها بنجاح، ولم تظهر أي تناقضات في قاعدة البيانات. فريق التراجعالإبلاغ عن عدم نجاح إتمام الصفقة. فهو يُعلم نظام إدارة قواعد البيانات (DBMS) بأن المستخدم لا يريد إكمال المعاملة، ويجب على نظام إدارة قواعد البيانات (DBMS) تجاهل أي تغييرات تم إجراؤها على قاعدة البيانات نتيجة للمعاملة. في هذه الحالة، يقوم نظام إدارة قواعد البيانات (DBMS) بإرجاع قاعدة البيانات إلى الحالة التي كانت عليها قبل تنفيذ المعاملة.

فرق يقترفو التراجعيتم استخدامها بشكل أساسي في وضع البرنامج، على الرغم من أنه يمكن استخدامها أيضًا بشكل تفاعلي.

57. للوصول إلى أوامر التحكمهذه هي أوامر لأداء وظائف إدارية تمنح أو تلغي الحق (الامتياز) في استخدام جداول قاعدة البيانات بطريقة معينة. يتمتع كل مستخدم لقاعدة البيانات بحقوق معينة فيما يتعلق بكائنات قاعدة البيانات.

حقوق- هذه هي الإجراءات التي يمكن للمستخدم تنفيذها مع الكائن. يمكن أن تتغير الحقوق بمرور الوقت: يمكن إلغاء الحقوق القديمة وإضافة حقوق جديدة. يتم توفير الحقوق التالية:

· INSERT – الحق في إضافة البيانات إلى الجدول.

· تحديث – الحق في تغيير بيانات الجدول.

· الحذف – الحق في حذف البيانات من الجدول.

· المراجع – الحق في تحديد المفتاح الأساسي.

58 تضمين اللغة في البرامج التطبيقية..إلى المدمج فيهذه أوامر مصممة لتنفيذ الوصول إلى قاعدة بيانات من برامج التطبيقات المكتوبة بلغة برمجة معينة.

يُطلق على SQL غالبًا لغة الإسبرانتو لأنظمة إدارة قواعد البيانات (DBMS). في الواقع، لا توجد لغة أخرى في العالم للعمل مع قواعد البيانات التي يمكن استخدامها على نطاق واسع في البرامج. ظهر معيار sol الأول في عام 1986 وقد اكتسب الآن اعترافًا عالميًا. يمكن استخدامه حتى عند العمل مع أنظمة إدارة قواعد البيانات غير العلائقية. على عكس الأدوات البرمجية الأخرى، مثل لغات C وCobol، والتي تعتبر من اختصاص المبرمجين المحترفين، يتم استخدام SQL من قبل متخصصين من مجموعة متنوعة من المجالات. المبرمجون ومسؤولو نظم إدارة قواعد البيانات (DBMS) ومحللو الأعمال - جميعهم يعالجون البيانات بنجاح باستخدام SQL. ومعرفة هذه اللغة مفيدة لكل من عليه التعامل مع قاعدة البيانات.

في هذه المقالة سوف نلقي نظرة على المفاهيم الأساسية لـ SQL. دعونا نروي خلفيته الدرامية (ونبدد بعض الأساطير على طول الطريق). سوف تصبح على دراية بالنموذج العلائقي وستكون قادرًا على اكتساب المهارات الأولى في العمل مع SQL، مما سيساعد في إتقان اللغة بشكل أكبر.

هل من الصعب تعلم SQL؟ يعتمد ذلك على مدى العمق الذي ستذهب إليه. لكي تصبح محترفًا، عليك أن تدرس كثيرًا. بدأت لغة SQL في الظهور في عام 1974 كموضوع لورقة بحثية قصيرة مكونة من 23 صفحة، وقد قطعت شوطًا طويلًا منذ ذلك الحين. يحتوي نص المعيار الحالي - الوثيقة الرسمية "لغة قاعدة البيانات القياسية الدولية SQL" (المعروفة عمومًا باسم sql-92) - على أكثر من ستمائة صفحة، لكنه لا يذكر شيئًا عن الميزات المحددة لإصدارات sol المطبقة في أنظمة إدارة قواعد البيانات من Microsoft وOracle وSybase وما إلى ذلك. اللغة متطورة ومتنوعة لدرجة أن مجرد سرد إمكانياتها سيتطلب العديد من المقالات الصحفية، وإذا قمت بجمع كل ما تم كتابته حول الموضوع، فستحصل على مكتبة متعددة المجلدات.

ومع ذلك، بالنسبة للمستخدم العادي، ليس من الضروري على الإطلاق معرفة SQL بالكامل. تمامًا كما يحتاج السائح الذي يجد نفسه في بلد يتحدثون فيه لغة غير مفهومة، فقط إلى تعلم بعض التعبيرات الشائعة والقواعد النحوية، لذلك في لغة SQL - بمعرفة القليل، يمكنك الحصول على العديد من النتائج المفيدة. في هذه المقالة سنلقي نظرة على أوامر SQL الأساسية، وقواعد تحديد معايير اختيار البيانات، وإظهار كيفية الحصول على النتائج. ونتيجة لذلك، ستتمكن من إنشاء الجداول بنفسك وإدخال المعلومات فيها وإنشاء الاستعلامات والعمل مع التقارير. يمكن أن تصبح هذه المعرفة أساسًا لمزيد من التطوير المستقل لـ SQL.

ما هو SQL؟

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

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

الخاصية الأكثر أهمية لـ SQL هي القدرة على الوصول إلى قواعد البيانات العلائقية. يعتقد الكثيرون أن التعبيرين "قاعدة بيانات تمت معالجتها باستخدام SQL" و"قاعدة بيانات علائقية" مترادفان. ومع ذلك، سوف ترى قريبا أن هناك فرقا بينهما. لا يحتوي معيار SQL-92 حتى على مصطلح العلاقة.

ما هو نظام إدارة قواعد البيانات العلائقية؟

بدون الخوض في التفاصيل، نظام إدارة قواعد البيانات العلائقية هو نظام يعتمد على نموذج إدارة البيانات العلائقية.

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

المفاهيم الأساسية للنموذج العلائقي

وفقا للنموذج العلائقي، العلاقة هي جدول يحتوي على بيانات. قد تحتوي العلاقة على سمة واحدة أو أكثر (سمات) تتوافق مع أعمدة هذا الجدول، وبعض مجموعات البيانات (ربما تكون فارغة)، وهي عبارة عن مجموعات من هذه السمات (تسمى مجموعات n-ary، أو السجلات) وتتوافق مع صفوف الجدول.

بالنسبة لأي صف، يجب أن تنتمي قيم السمات إلى ما يسمى بالمجالات. في الواقع، المجال عبارة عن مجموعة معينة من البيانات التي تحدد مجموعة جميع القيم الصالحة.

دعونا نلقي نظرة على مثال. يجب أن يكون هناك مجال أيام الأسبوع يحتوي على قيم من الاثنين إلى الأحد. إذا كانت العلاقة تحتوي على سمة WeekDay المقابلة لهذا المجال، فيجب أن تحتوي أي مجموعة في العلاقة على إحدى القيم المدرجة في عمود WeekDay. لا يُسمح بظهور القيم يناير أو Cat.

يرجى ملاحظة: يجب أن تحتوي السمة على إحدى القيم الصالحة. يحظر تحديد قيم متعددة في وقت واحد. وبالتالي، بالإضافة إلى شرط أن تنتمي قيم السمات إلى مجال معين، يجب استيفاء شرط ذريتها. وهذا يعني أن هذه المعاني لا يمكن تفكيكها، أي لا يمكن تجزئتها إلى أجزاء أصغر دون فقدان المعنى الأساسي. على سبيل المثال، إذا كانت قيمة السمة تحتوي في نفس الوقت على الاثنين والثلاثاء، فيمكن التمييز بين جزأين، مع الحفاظ على المعنى الأصلي - يوم الأسبوع؛ لذلك، قيمة السمة هذه ليست ذرية. ومع ذلك، إذا حاولت تقسيم معنى "الاثنين" إلى أجزاء، فستحصل على مجموعة من الحروف الفردية - من "P" إلى "K"؛ فُقد المعنى الأصلي، فمعنى "الاثنين" ذري.

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

في عمله الأصلي، حدد الدكتور كود مجموعة من ثمانية عوامل تسمى الجبر العلائقي. تم نقل أربعة عوامل – الاتحاد، والضرب المنطقي، والفرق، والضرب الديكارتي – من نظرية المجموعات التقليدية؛ تم إنشاء العوامل المتبقية خصيصًا للتعامل مع العلاقات. اقترح العمل اللاحق الذي قام به الدكتور كود وكريس ديت وباحثون آخرون عوامل تشغيل إضافية. لاحقًا في هذه المقالة، سنلقي نظرة على ثلاثة عوامل علائقية: المشروع، أو التحديد، أو التقييد، والانضمام.

SQL والنموذج العلائقي

الآن بعد أن أصبحت على دراية بالنموذج العلائقي، دعنا ننساه. بالطبع، ليس إلى الأبد، ولكن فقط لشرح ما يلي: على الرغم من أن النموذج العلائقي الذي اقترحه الدكتور كود هو الذي تم استخدامه في تطوير SQL، إلا أنه لا يوجد تطابق كامل أو حرفي بين الاثنين (وهذا أحد الأسباب) لماذا لا يحتوي معيار SQL-92 على مصطلح الموقف). على سبيل المثال، مفاهيم جدول SQL والعلاقة ليست متكافئة، لأن الجداول يمكن أن تحتوي على عدة صفوف متطابقة في وقت واحد، في حين لا يسمح للصفوف المتطابقة بالظهور في العلاقات. بالإضافة إلى ذلك، لا توفر لغة SQL استخدام المجالات العلائقية، على الرغم من أن أنواع البيانات تلعب دورًا إلى حد ما (يحاول بعض المؤيدين المؤثرين للنموذج العلائقي الآن الضغط من أجل إدراج المجالات العلائقية في معيار SQL المستقبلي).

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

SQL ثابت وديناميكي

ربما تكون على دراية بمصطلحات مثل SQL الثابتة والديناميكية. يكون استعلام SQL ثابتًا إذا تم تجميعه وتحسينه في مرحلة ما قبل تنفيذ البرنامج. لقد ذكرنا بالفعل أحد أشكال SQL الثابتة عندما تحدثنا عن تضمين أوامر SQL في برامج C أو Cobol (هناك اسم آخر لمثل هذه التعبيرات - SQL المضمن). كما قد تتوقع، يتم تجميع استعلام SQL الديناميكي وتحسينه أثناء تنفيذ البرنامج. كقاعدة عامة، يستخدم المستخدمون العاديون SQL الديناميكي، والذي يسمح لهم بإنشاء استعلامات وفقًا لاحتياجاتهم المباشرة. أحد خيارات استخدام استعلامات SQL الديناميكية هو الاتصال التفاعلي أو المباشر (حتى أن هناك مصطلحًا خاصًا - directsql)، عندما يتم إدخال الاستعلامات المرسلة للمعالجة بشكل تفاعلي من المحطة. هناك بعض الاختلافات بين SQL الثابتة والديناميكية في بناء الجملة للبنيات المستخدمة وميزات التنفيذ، ولكن هذه المشكلات خارج نطاق المقالة. نلاحظ فقط أنه من أجل وضوح الفهم، يتم تقديم الأمثلة في شكل استعلامات SQL مباشرة، لأن هذا لا يسمح للمبرمجين فقط، ولكن أيضًا لمعظم المستخدمين النهائيين، بتعلم كيفية استخدام SQL.

كيف تتعلم SQL

أنت الآن جاهز لكتابة استعلامات SQL الأولى الخاصة بك. إذا كان لديك حق الوصول إلى قاعدة البيانات عبر SQL وترغب في استخدام الأمثلة التي قدمناها عمليًا، فضع في اعتبارك ما يلي: يجب عليك تسجيل الدخول كمستخدم يتمتع بحقوق غير محدودة وستحتاج إلى أدوات برمجية للمعالجة التفاعلية لاستعلامات SQL (إذا كنا عند التحدث عن قاعدة بيانات الشبكة، يجب عليك التحدث مع مسؤول قاعدة البيانات لديك حول منحك الحقوق المناسبة). إذا لم يكن لديك إمكانية الوصول إلى قاعدة البيانات عبر SQL، فلا تقلق: جميع الأمثلة بسيطة جدًا ويمكنك اكتشافها "جافًا" دون الذهاب إلى الجهاز.

من أجل تنفيذ أي إجراءات في SQL، يجب عليك تنفيذ تعبير في لغة SQL. هناك عدة أنواع من التعبيرات، ولكن يمكن تمييز ثلاث مجموعات رئيسية بينها: أوامر ddl (لغة تعريف البيانات)، وأوامر dml (لغة معالجة البيانات) وأدوات التحكم في البيانات. وبالتالي، بمعنى ما، يجمع SQL بين ثلاث لغات مختلفة.

أوامر لغة وصف البيانات

لنبدأ بأحد أوامر ddl الرئيسية - إنشاء جدول. هناك عدة أنواع من الجداول في SQL، أهمها نوعان: أساسي (أساسي) وانتقائي (طرق عرض). الجداول الأساسية هي تلك المتعلقة بالبيانات الواقعية؛ الانتقائية هي الجداول "الافتراضية" التي يتم إنشاؤها بناءً على المعلومات التي تم الحصول عليها من الجداول الأساسية؛ ولكن بالنسبة للمستخدمين تبدو النماذج وكأنها جداول عادية. تم تصميم أمر إنشاء الجدول لإنشاء الجداول الأساسية.

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

إنشاء tableTableName(ColumnDataType) ؛

الإنشاء والجدول عبارة عن كلمات رئيسية لـ SQL؛ يعد TableName وColumn وDataType معلمات رسمية، وبدلاً من ذلك يقوم المستخدم بإدخال القيم الفعلية في كل مرة. يتم وضع معلمات Column وDataType بين قوسين. في SQL، يتم استخدام الأقواس بشكل شائع لتجميع العناصر الفردية. وفي هذه الحالة، فإنها تسمح لك بدمج التعريفات الخاصة بالعمود. الفاصلة المنقوطة النهائية هي فاصل أوامر. يجب أن ينهي أي تعبير في لغة SQL.

دعونا نلقي نظرة على مثال. لنفترض أنك بحاجة إلى إنشاء جدول لتخزين البيانات حول جميع المواعيد. للقيام بذلك، أدخل الأمر في SQL:

إنشاء مواعيد الجدول (تاريخ الموعد) ؛

بعد تنفيذ هذا الأمر، سيتم إنشاء جدول باسم المواعيد، حيث يوجد عمود واحد موعد_تاريخ، يمكن كتابة البيانات من نوع التاريخ. نظرًا لعدم إدخال أي بيانات بعد، فإن عدد الصفوف في الجدول هو صفر (يحدد أمر إنشاء الجدول الجدول فقط؛ ويتم إدخال القيم الفعلية باستخدام أمر الإدراج، والذي سيتم مناقشته لاحقًا).

تسمى معلمات المواعيد والموعد_تاريخ المعرفات لأنها تحدد أسماء كائنات قاعدة بيانات محددة، وفي هذه الحالة أسماء جدول وعمود، على التوالي. هناك نوعان من المعرفات في SQL: العادية والمحددة. يتم وضع المعرفات المميزة بين علامات اقتباس مزدوجة وتكون حساسة لحالة الأحرف. لا يتم تمييز المعرفات العادية بأي أحرف محدودة، كما أن كتابتها ليست حساسة لحالة الأحرف. تستخدم هذه المقالة المعرفات العادية فقط.

يجب أن تستوفي الأحرف المستخدمة لإنشاء المعرفات قواعد معينة. يمكن للمعرفات العادية استخدام الحروف فقط (وليس بالضرورة اللاتينية، ولكن أيضًا الحروف الهجائية الأخرى) والأرقام والشرطة السفلية. يجب ألا يحتوي المعرف على علامات ترقيم أو مسافات أو أحرف خاصة (#، @، % أو!)؛ بالإضافة إلى ذلك، لا يمكن أن يبدأ برقم أو بشرطة سفلية. يمكنك استخدام كلمات أساسية منفصلة لـ SQL للمعرفات، لكن هذا غير مستحسن. يهدف المعرف إلى تعيين كائن ما، لذلك يجب أن يكون له اسم فريد (ضمن سياق معين): لا يمكنك إنشاء جدول باسم موجود بالفعل في قاعدة البيانات؛ لا يمكن أن يكون لديك أعمدة بنفس الأسماء في نفس الجدول. بالمناسبة، ضع في اعتبارك أن المواعيد والمواعيد هي نفس أسماء SQL. إن تغيير حالة الأحرف وحده لا يمكنه إنشاء معرف جديد.

على الرغم من أن الجدول يمكن أن يحتوي على عمود واحد فقط، إلا أنه من الناحية العملية تكون الجداول التي تحتوي على أعمدة متعددة مطلوبة عادةً. يبدو الأمر الخاص بإنشاء مثل هذا الجدول بشكل عام كما يلي:

إنشاء tableTableName(ColumnDataType[ (, ColumnDataType )]) ;

تُستخدم الأقواس المربعة للإشارة إلى العناصر الاختيارية، وتحتوي الأقواس المتعرجة على عناصر يمكن أن تمثل قائمة من بنيات المسار الواحد (عند إدخال أمر SQL حقيقي، لا يتم وضع أي من الأقواس أو الأقواس الأخرى). يسمح لك بناء الجملة هذا بتحديد أي عدد من الأعمدة. لاحظ أن العنصر الثاني يسبقه فاصلة. إذا كانت هناك عدة معلمات في القائمة، فسيتم فصلها عن بعضها البعض بفواصل.

إنشاء مواعيد الجدول 2 (تاريخ الموعد، وقت الموعد، الوصف varchar (256))؛

يقوم هذا الأمر بإنشاء جدول المواعيد2 (يجب أن يكون للجدول الجديد اسم مختلف، نظرًا لأن جدول المواعيد موجود بالفعل في قاعدة البيانات). مثل الجدول الأول، يحتوي على عمود موعد_تاريخ لتسجيل تواريخ المواعيد؛ بالإضافة إلى ذلك، ظهر عمود "الموعد_الوقت" لتسجيل وقت هذه الاجتماعات. معلمة الوصف عبارة عن سلسلة نصية يمكن أن تحتوي على ما يصل إلى 256 حرفًا. تم تحديد هذه المعلمة على أنها varchar (اختصار لـ "تغيير الأحرف") لأنه ليس من المعروف مسبقًا مقدار المساحة المطلوبة للإدخال، ولكن من الواضح أن الوصف لن يستغرق أكثر من 256 حرفًا. عند وصف معلمة من نوع سلسلة الأحرف (وبعض الأنواع الأخرى)، تتم الإشارة إلى طول المعلمة. يتم تحديد قيمته بين قوسين على يمين اسم النوع.

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

الآن بعد أن تعرفت على القواعد الأساسية، فلنلقِ نظرة على مثال أكثر تعقيدًا لإنشاء جدول يحتوي على أعمدة متعددة. في بداية المقال تم عرض جدول الموظفين. يحتوي على الأعمدة التالية: الاسم الأخير، الاسم الأول، تاريخ التعيين، القسم، الفئة، الراتب للسنة. يتم استخدام أمر SQL التالي لتعريف هذا الجدول:

إنشاء موظفين في الجدول (حرف الاسم الأخير (13) ليس فارغًا، وحرف الاسم الأول (10) ليس فارغًا، وتاريخ_تاريخ_التأجير، وحرف_المكتب_الفرعي (15)، وحرف صغير على مستوى الدرجة، والرقم العشري للراتب (9، 2))؛

يلتقي الفريق بعدة عناصر جديدة. أولاً، يوجد التعبير غير الفارغ في نهاية تعريف عمودي الاسم الأخير والاسم الأول. بمساعدة هذه الهياكل، يتم تحديد المتطلبات التي يجب الالتزام بها. في هذه الحالة، يُشار إلى أنه يجب ملء حقلي الاسم الأخير والاسم الأول عند الإدخال؛ لا يمكنك ترك هذه الأعمدة فارغة (وهذا أمر منطقي تمامًا: كيف يمكنك التعرف على الموظف دون معرفة اسمه؟).

بالإضافة إلى ذلك، يحتوي المثال على ثلاثة أنواع جديدة من البيانات: الحرف والصغير والعلامة العشرية. حتى الآن لم نتحدث كثيرًا عن الأنواع. على الرغم من أن SQL لا يحتوي على مجالات علائقية، إلا أنه يحتوي على مجموعة من أنواع البيانات الأساسية. يتم استخدام هذه المعلومات عند تخصيص الذاكرة ومقارنة القيم؛ إلى حد ما، يتم تضييق قائمة قيم الإدخال الممكنة، ولكن التحكم في الكتابة في SQL أقل صرامة من اللغات الأخرى.

يمكن تقسيم جميع أنواع البيانات المتوفرة في SQL إلى ست مجموعات: سلاسل الأحرف، والقيم الرقمية الدقيقة، والقيم الرقمية التقريبية، وسلاسل البت، وأوقات التاريخ، والفواصل الزمنية. لقد قمنا بإدراج جميع الأصناف، ولكن هذه المقالة ستناقش فقط بعضها بالتفصيل (سلاسل البت، على سبيل المثال، ليست ذات أهمية خاصة للمستخدمين العاديين).

بالمناسبة، إذا كنت تعتقد أن التاريخ والوقت خطأ مطبعي، فأنت مخطئ. تتضمن هذه المجموعة (التاريخ والوقت) معظم أنواع البيانات المرتبطة بالوقت المستخدمة في SQL (يتم فصل المعلمات مثل الفواصل الزمنية في مجموعة منفصلة). في المثال السابق، واجهنا بالفعل نوعين من البيانات من مجموعة التاريخ والوقت - التاريخ والوقت.

نوع البيانات التالي الذي تعرفه بالفعل هو تغيير الأحرف (أو فقط varchar)؛ إنه ينتمي إلى مجموعة سلاسل الأحرف. إذا تم استخدام varchar لتخزين سلاسل ذات طول متغير، فإن نوع char الموجود في المثال الثالث مخصص لتخزين سلاسل ذات عدد ثابت من الأحرف. على سبيل المثال، سيحتوي عمود last_name على سلاسل مكونة من 13 حرفًا، بغض النظر عن الأسماء الأخيرة الفعلية التي تم إدخالها، سواء كانت poe أو penworth-chickering (في حالة poe، سيتم ملء الأحرف العشرة المتبقية بمسافات).

من وجهة نظر المستخدم، varchar وchar لهما نفس المعنى. لماذا كان من الضروري تقديم نوعين؟ الحقيقة هي أنه من الناحية العملية يتعين عليك عادةً البحث عن حل وسط بين الأداء وتوفير مساحة القرص. كقاعدة عامة، استخدام سلاسل ذات طول ثابت يعطي بعض الفوائد في سرعة الوصول، ولكن إذا كان طول السلسلة طويلًا جدًا، فسيتم إهدار مساحة القرص. إذا قمت في المواعيد 2 بحجز 256 حرفًا لكل سطر تعليق، فقد يتبين أن هذا غير منطقي؛ في أغلب الأحيان ستكون الخطوط أقصر بكثير. من ناحية أخرى، تختلف الأسماء الأخيرة أيضًا في الطول، ولكنها تتطلب بشكل عام حوالي 13 حرفًا؛ وفي هذه الحالة ستكون الخسائر ضئيلة. القاعدة الأساسية الجيدة هي: إذا كنت تعلم أن طول السلسلة يختلف قليلاً أو صغير نسبيًا، فاستخدم char؛ في حالات أخرى - فارشار.

ينتمي نوعا البيانات الجديدان التاليان، Smallint وDecimal، إلى مجموعة القيم الرقمية الدقيقة. Smallint اختصار لعدد صحيح صغير. يوفر SQL أيضًا نوع بيانات صحيحًا. يتم تفسير وجود نوعين متشابهين في هذه الحالة من خلال اعتبارات توفير المساحة. في مثالنا، يمكن تمثيل قيم المعلمة Grade_level باستخدام رقم مكون من رقمين، لذلك يتم استخدام نوع Smallint؛ ومع ذلك، من الناحية العملية، ليس من المعروف دائمًا ما هي القيم القصوى التي يمكن أن تحتوي عليها المعلمات. إذا لم يكن هناك مثل هذه المعلومات، فاستخدم عددا صحيحا. إن المقدار الفعلي للمساحة المخصصة لتخزين المعلمات الصغيرة والأعداد الصحيحة، ونطاق القيم المقابل لهذه المعلمات، خاص بكل نظام أساسي.

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

حيث p هو عدد المنازل العشرية، و d هو عدد المنازل العشرية. بدلاً من p، اكتب إجمالي عدد الأرقام المعنوية في القيم المستخدمة، وبدلاً من d، اكتب عدد المنازل العشرية.

يعرض الشريط الجانبي "إنشاء جدول" ملخصًا كاملاً لأمر إنشاء الجدول. يحتوي على عناصر جديدة ويظهر التنسيق لجميع أنواع البيانات التي تم النظر فيها (من حيث المبدأ، هناك أنواع بيانات أخرى، لكننا لا نفكر فيها بعد).

في البداية، قد يبدو أن بناء جملة أوامر SQL معقد للغاية. ولكن يمكنك فهم ذلك بسهولة إذا قمت بدراسة الأمثلة المذكورة أعلاه بعناية. ظهر عنصر إضافي في الرسم التخطيطي - خط عمودي؛ فهو يعمل على التمييز بين التصاميم البديلة. بمعنى آخر، عند تحديد كل عمود، تحتاج إلى تحديد نوع البيانات المناسب (كما تتذكر، المعلمات الاختيارية محاطة بأقواس مربعة، والبنيات التي يمكن تكرارها عدة مرات محاطة بأقواس متعرجة؛ ولا تتم كتابة هذه الأحرف الخاصة في أوامر SQL الحقيقية). يعرض الجزء الأول من الرسم التخطيطي الأسماء الكاملة لأنواع البيانات، بينما يحتوي الجزء الثاني على أسمائها المختصرة؛ ومن الناحية العملية، يمكن استخدام أي منها.

اكتمل الجزء الأول من المقال. أما الجزء الثاني فسيتم تخصيصه لدراسة أوامر DML، إدراج واختيار وتحديث وحذف. سيتم أيضًا تناول شروط أخذ عينات البيانات وعوامل المقارنة والعوامل المنطقية واستخدام القيم الخالية والمنطق الثلاثي.

إنشاء جدول. يكون بناء جملة أمر إنشاء الجدول كما يلي: تتم الإشارة إلى المعلمات الاختيارية بين قوسين مربعين، ويتم الإشارة إلى الهياكل المتكررة بين قوسين متعرجين.

إنشاء جدول جدول (حرف العمود (الطول) [القيد] | تغيير الأحرف (الطول) [ القيد ] | التاريخ [ القيد ] | الوقت [ القيد ] | عدد صحيح [ القيد ] | سمينت [ القيد ] | العشري (الدقة، المنازل العشرية) [ قيد ] |.طفو (دقة) [ قيد ] [(، عمود شار (طول) [ قيد ] | varchar (طول) [ قيد ] | تاريخ [ قيد ] | وقت [ قيد ] | int [ قيد ] | صغير [ قيد ] | dec (الدقة، المنازل العشرية) [ القيد ] |.

سر اسم SQL

في أوائل السبعينيات. بدأت شركة IBM في تنفيذ نموذج قاعدة البيانات العلائقية الذي اقترحه الدكتور كود. أنشأ دونالد تشامبرلين ومجموعة من الآخرين في وحدة الأبحاث المتقدمة نموذجًا أوليًا للغة يُطلق عليها اسم لغة الاستعلام الإنجليزية المنظمة، أو ببساطة التكملة. وبعد ذلك تم توسيعها وصقلها. الإصدار الجديد الذي اقترحته شركة IBM كان يسمى تتمة/2. تم استخدامه كواجهة برنامج (api) لتصميم أول نظام قاعدة بيانات علائقية من شركة IBM - system/r. لأسباب تتعلق بالفروق القانونية، قررت شركة IBM تغيير الاسم: بدلاً من التكملة/2، استخدم SQL (لغة الاستعلام المنظمة). غالبًا ما يتم نطق هذا الاختصار "see-ku-el".

هناك اختلافات كبيرة بين النماذج الأولية المبكرة ومعيار SQL المعترف به الآن في العديد من المؤسسات. حتى أن جيم ميلتون، الذي أعد معيار SQL-92، ذكر أن الكثير من الناس مخطئون في الاعتقاد بأن كلمة "منظم" تعكس بشكل صحيح تفاصيل هذه اللغة (جيم ميلتون وألان ر. سيمون "فهم SQL الجديد: دليل كامل" ". سان فرانسيسكو: مورغان كوفمان، 1993. ISBN: 1-55860-245-3). لذلك، في الواقع، SQL هو مجرد اسم، سلسلة من الحروف S-Q-L وليس أكثر.

في هذا الفصل...

  • ما هو SQL
  • المفاهيم الخاطئة SQL
  • نظرة على معايير SQL المختلفة
  • مقدمة لأوامر SQL القياسية والكلمات المحجوزة
  • تمثيل الأرقام والرموز والتواريخ والأوقات وأنواع البيانات الأخرى
  • قيم وقيود غير محددة
  • استخدام SQL في نظام العميل/الخادم
  • SQL على الويب

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

ما هو SQL وما هو ليس كذلك

أول شيء يجب فهمه حول SQL هو أنه ليس ملف إجرائيمثل FORTRAN وBasic وC وCOBOL وPascal وJava. لحل مشكلة باستخدام إحدى هذه اللغات الإجرائية، عليك كتابة إجراء ينفذ عمليات محددة واحدة تلو الأخرى حتى تكتمل المهمة. قد يكون الإجراء تسلسلًا خطيًا أو يحتوي على تفرع، ولكن في كلتا الحالتين يحدد المبرمج ترتيب التنفيذ.

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

بخير. لقد قلت للتو أن SQL ليست لغة إجرائية. في جوهر الأمر، هذا صحيح. ومع ذلك، مع وجود الملايين من المبرمجين (وربما تكون واحدًا منهم) المعتادين على حل المشكلات من الناحية الإجرائية، كان هناك الكثير من الضغط في السنوات الأخيرة لإضافة بعض القدرات الإجرائية إلى SQL. ولهذا السبب يتضمن الإصدار الجديد من مواصفات SQL، SQL:2003، الآن ميزات اللغة الإجرائية مثل كتل BEGIN وعبارات IF الشرطية والوظائف والإجراءات. باستخدام هذه الأدوات الجديدة، يمكن تخزين البرامج على الخادم بحيث يمكن إعادة استخدامها من قبل العديد من المستخدمين.

لتوضيح ما قصدته عندما قلت "أخبر النظام بما تحتاجه بالضبط"، لنفترض أن لديك جدول موظف يحتوي على بيانات الموظف وتريد تحديد كافة الصفوف منه التي تتوافق مع جميع الموظفين "كبار الموظفين". يمكن تعريف العمال "كبار" بأنهم أي شخص يزيد عمره عن 40 عامًا أو يحصل على أكثر من 60 ألف دولار سنويًا. يمكن إجراء الاختيار الذي تحتاجه باستخدام الاستعلام التالي:

اختر * من الموظف الذي يكون عمره أكبر من 40 عامًا أو الراتب أكبر من 60000؛

يحدد هذا البيان من جدول EMPLOYEE جميع الصفوف التي تكون فيها قيمة عمود AGE (العمر) أكبر من 40 أو قيمة عمود SALARY (الراتب) أكبر من 60000. يعرف SQL نفسه كيفية تحديد المعلومات. يقوم محرك قاعدة البيانات بفحص قاعدة البيانات ويقرر بنفسه كيفية تنفيذ الاستعلام. كل ما عليك فعله هو الإشارة إلى البيانات التي تحتاجها.

يتذكر:
الاستعلام هو سؤال تطرحه على قاعدة البيانات. إذا كانت أي من بياناتها مطابقة لشروط طلبك، فسيقوم SQL بتمريرها إليك
.

تفتقر تطبيقات SQL الحديثة إلى العديد من بنيات البرمجة البسيطة التي تعتبر أساسية لمعظم اللغات الأخرى. تتطلب التطبيقات اليومية عادةً بعضًا من هذه التركيبات على الأقل، لذا فإن SQL هي في الواقع لغة فرعيةبيانات. حتى مع الإضافات التي ظهرت في SQL مع معيار SQL: 1999 و ملحقات إضافية، التي تمت إضافتها في SQL:2003، لا تزال بحاجة إلى استخدام إحدى لغات البرمجة، مثل C، إلى جانب SQL لإنشاء تطبيق كامل.

يمكنك تحديد المعلومات من قاعدة البيانات بإحدى الطرق التالية.

  • استخدام استعلام غير قابل للبرمجة لمرة واحدة من وحدة تحكم الكمبيوتر، وإدخال أمر SQL وقراءة نتائج تنفيذه على الشاشة. وحدة التحكم (Console) هي مصطلح تقليدي يشير إلى أجهزة الكمبيوتر التي تقوم بعمل لوحة المفاتيح والشاشة الموجودة في أجهزة الكمبيوتر الحديثة. تكون استعلامات وحدة التحكم مفيدة عندما تحتاج إلى استجابة سريعة لطلب محدد. لتلبية بعض الاحتياجات الحالية، قد تحتاج إلى بيانات من قاعدة البيانات لم تكن مطلوبة من قبل. ربما لن تحتاج إليهم مرة أخرى، لكنك تحتاجهم الآن. أدخل استعلام SQL المناسب من لوحة المفاتيح، وبعد فترة ستظهر النتيجة على شاشتك.
  • استخدام برنامج يقوم باسترجاع المعلومات من قاعدة البيانات ثم إنشاء تقرير بناءً على هذه البيانات إما معروضًا على الشاشة أو مطبوعًا. يمكن أيضًا استخدام SQL بهذه الطريقة. يمكن وضع استعلام SQL معقد قد يكون مفيدًا في المستقبل مباشرة في البرنامج. وهذا يسمح لك بإعادة استخدامه في المستقبل. وبالتالي، يتم تنفيذ صياغة الاستعلام مرة واحدة. يغطي الفصل 15 كيفية إدراج كود SQL في البرامج المكتوبة بلغة أخرى.