هل قواعد البيانات العلائقية محكوم عليها بالفشل؟ الأحكام الأساسية لنموذج قاعدة البيانات العلائقية.

02.08.2019

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

تم اقتراح نموذج قاعدة البيانات العلائقية في عام 1969 من قبل عالم الرياضيات والباحث في شركة IBM إي إف. كود (إي إف كود). للحصول على بعض المعلومات الأساسية حول قواعد البيانات العلائقية، راجع مقالة النظرة العامة " قاعدة البيانات ونظام إدارة قواعد البيانات" 2. نظرًا لأن قواعد البيانات العلائقية هي المهيمنة حاليًا، في هذه المقالة (وكذلك في المقالات " بيانات الوصف”, “معالجة البيانات" و " تصميم قاعدة البيانات 2) تتم مناقشة أهم المفاهيم الأساسية للنموذج العلائقي بالتفصيل.

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

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

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

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

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

طاولة "الرجل"

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

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

مفاتيح

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

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

في هذا الجدول، لا تعد حقول التاريخ أو الوقت من اليوم أو درجة الحرارة مفاتيحًا - يمكن تكرار القيم في كل حقل من هذه الحقول. لكن مجموعة حقول التاريخ + الوقت من اليوم فريدة من نوعها وتحدد صف الجدول بشكل فريد. هذا مفتاح مركب.

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

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

عند تصوير الجداول، من المعتاد تسليط الضوء على المفاتيح الأساسية للجداول. على سبيل المثال، غالبًا ما يتم وضع خط تحت الحقول ذات الصلة. ويسلط Microsoft Access الضوء على الحقول الرئيسية بالخط العريض.

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

قد يلاحظ القارئ اليقظ أنه يمكن دائمًا توسيع المفتاح (ما لم يتضمن جميع حقول الجدول) عن طريق تضمين الحقول الزائدة عن الحاجة. رسميا، سيظل هذا المفتاح مفتاحا، ولكن من وجهة نظر عملية، فهذه مجرد لعبة مفاهيم. لا تعتبر هذه المفاتيح ممكنة، لأنه من الضروري دائمًا السعي لتقليل طول (تعقيد) المفتاح.

الأشكال العادية، التطبيع

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

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

ثانيًا، يتطلب الجدول تعيين مفتاح أساسي.

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

النموذج العادي الأول (1NF)

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

نظرًا لأن قيمة حقل التقييمات ليست ذرية، فإن الجدول لا يلبي متطلبات 1NF.

تم توضيح الطريقة الممكنة لتقديم قائمة التقييمات في الإرشادات الخاصة بالمقالة. "تصميم قاعدة البيانات" 2.

النموذج العادي الثاني (2NF)

يقال أن الجدول في النموذج العادي الثاني إذا كان في 1NF وكل عمود غير مفتاح يعتمد بشكل كامل على المفتاح الأساسي.بمعنى آخر، يجب تحديد قيمة كل حقل بالكامل بقيمة المفتاح الأساسي. من المهم ملاحظة أن الاعتماد على المفتاح الأساسي يُفهم على أنه اعتماد على المفتاح بأكمله، وليس على مكونه الفردي (في حالة المفتاح المركب). لنعطي مثالاً لجدول غير موجود في 2NF. للقيام بذلك، دعنا نعود إلى مثال توقعات الطقس ونضيف عمودًا آخر إلى الجدول - وقت شروق الشمس (هذا مثال معقول تمامًا؛ غالبًا ما يتم توفير هذا النوع من المعلومات على مواقع التنبؤ بالطقس).

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

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

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

النموذج العادي الثالث (3NF)

يقال أن الجدول موجود في 3NF إذا كان 2NF وجميع الأعمدة غير الرئيسية مستقلة بشكل متبادل.

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

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

يحتوي هذا الجدول على تبعية بين الأعمدة غير الرئيسية "المدينة" و"رمز المدينة"، وبالتالي فإن الجدول ليس في 3NF.

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

في نظرية قواعد البيانات العلائقية، يتم أيضًا أخذ النماذج ذات الترتيب الأعلى في الاعتبار - نموذج Boyce-Codd العادي، 4NF، 5NF وحتى أعلى. ليس لهذه النماذج أهمية عملية كبيرة، وعادة ما يتوقف المطورون دائمًا عند 3NF.

تطبيع قاعدة البيانات

التطبيع هو عملية تقليل جداول قاعدة البيانات إلى نموذج عادي محدد. كقاعدة عامة، يتم تقليل التطبيع إلى 2NF إلى التحلل - تقسيم جدول واحد إلى عدة جدول. يمكن عادةً إجراء التطبيع إلى 3NF عن طريق إزالة الأعمدة التابعة (المحسوبة). في بعض الحالات، عند التطبيع إلى 3NF، يتعين عليك أيضًا إجراء التحلل.

قواعد بيانات متعددة الجداول، العلاقات بين الجداول، المفاتيح الخارجية

من الناحية العملية، تعد قواعد البيانات ذات الجدول الواحد نادرة جدًا، لأنه من وجهة نظر نمذجة قاعدة بيانات المجال، فإن وجود جدول واحد يعني وجود كيان واحد. وفي المقابل، فإن وجود عدة كيانات يعني عادة وجود اتصالات بينها.

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

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

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

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

ونتيجة لذلك، سوف نتلقى مجموعة الجداول التالية المقابلة للكيانات الموصوفة.

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

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

دعونا نوضح ذلك من خلال رسم تخطيطي في نمط Microsoft Access (مزيد من المعلومات حول "مخطط البيانات" لـ Access مكتوب في المقالة "بيانات الوصف" 2).

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

جدول "المعلم-المادة"

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

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

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

قواعد النزاهة

يحدد النموذج العلائقي قاعدتين عامتين لتكامل قاعدة البيانات: تكامل الكائن والتكامل المرجعي.

قاعدة النزاهة أشياءبسيط جدا. هو - هي يتطلب ألا تحتوي المفاتيح الأساسية للجدول على قيم خالية (خالية)..

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

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

الفهرسة

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

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

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

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

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

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

يجب ألا تكون مجالات المواضيع التي يتم تصميمها كبيرة جدًا؛

يجب أن يكونوا مألوفين جدًا للطلاب (وبهذا المعنى، فإن مشروع "المدرسة"، الذي سئم منه الجميع، ليس هو الخيار الأسوأ!) ؛

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

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

وظائف نظام إدارة قواعد البيانات ذات مستوى عالٍ ومنخفض.

وظائف عالية المستوى:

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

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

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

وظائف المستوى المنخفض:

1. إدارة البيانات في الذاكرة الخارجية.

2. إدارة المخازن المؤقتة لذاكرة الوصول العشوائي.

3. ادارة العمليات التجارية؛

4. إدخال سجل التغيير في قاعدة البيانات؛

5. التأكد من سلامة وأمن قاعدة البيانات.

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

سجل نظم إدارة قواعد البيانات - قاعدة بيانات خاصة أو جزء من قاعدة البيانات الرئيسية، لا يمكن للمستخدم الوصول إليها وتستخدم لتسجيل المعلومات حول جميع التغييرات في قاعدة البيانات.

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

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

تصنيف نظم إدارة قواعد البيانات.

يمكن تصنيف نظم إدارة قواعد البيانات إلى:

1. حسب نوع البرنامج:

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

ب. عملاء قاعدة البيانات - البرامج التي تطلب البيانات. يمكن استخدام PFDBMS وجداول البيانات ومعالجات النصوص وبرامج البريد الإلكتروني كبرامج عميل؛

ج. قواعد بيانات وظيفية بالكامل (MS Access, MS Fox Pro) – برنامج ذو واجهة مطورة تتيح لك إنشاء الجداول وتعديلها وإدخال البيانات وإنشاء الاستعلامات وتنسيقها وتطوير التقارير وطباعتها.

2. وفقًا لنموذج بيانات نظام إدارة قواعد البيانات (وكذلك قاعدة البيانات):

أ. الهرمية - يعتمد على بنية شجرية لتخزين المعلومات وتذكرنا بنظام ملفات الكمبيوتر؛ العيب الرئيسي هو عدم القدرة على تنفيذ علاقة متعدد إلى متعدد؛

ب. شبكة - التي حلت محل تلك الهرمية ولم تدم طويلا لأن العيب الرئيسي كان صعوبة تطوير التطبيقات الجادة. والفرق الرئيسي بين الشبكة والشبكة الهرمية هو أنه في البنية الهرمية، يكون لـ "سليل السجل" سلف واحد فقط، ولكن في سليل الشبكة يمكن أن يكون له أي عدد من الأسلاف؛

ج. العلائقية - يتم وضع بياناتها في جداول توجد بينها اتصالات معينة؛

د. وجوه المنحى - يقومون بتخزين البيانات في شكل كائنات والميزة الرئيسية عند العمل معهم هي أنه يمكن تطبيق نهج موجه للكائنات عليهم؛

ه. هجين، أي كائن علائقي - الجمع بين قدرات قواعد البيانات العلائقية والموجهة للكائنات. مثال على قاعدة البيانات هذه هو Oracle (كانت علائقية سابقًا).

3. اعتمادا على موقع الأجزاء الفردية من نظام إدارة قواعد البيانات، يتم تمييزها:

أ. محلي - جميع أجزائها موجودة على جهاز كمبيوتر واحد؛

ب. شبكة.

الشبكات تشمل:

- مع تنظيم خادم الملفات;

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

- مع منظمة خادم العميل؛

يتلقى خادم قاعدة البيانات طلبًا من العميل، ويجد السجل المطلوب في البيانات وينقله إلى العميل. يتم إنشاء طلب إلى الخادم بلغة الاستعلام المنظمة SQL، ولهذا السبب تسمى خوادم قاعدة البيانات بخوادم SQL.

- نظم إدارة قواعد البيانات الموزعة تحتوي على عدة عشرات ومئات من الخوادم الموجودة على مساحة كبيرة.

الأحكام الأساسية لنموذج قاعدة البيانات العلائقية.

قاعدة البيانات العلائقية هي قاعدة بيانات يتم فيها تنظيم جميع البيانات على شكل جداول، ويتم اختزال جميع العمليات على هذه البيانات إلى عمليات على الجداول.

مميزات قواعد البيانات العلائقية:

1. يتم تخزين البيانات في جداول تتكون من أعمدة وصفوف؛

2. عند تقاطع كل عمود وصف هناك قيمة واحدة؛

3. كل عمود - حقل له اسمه الخاص، والذي يعمل بمثابة سمة الاسم، وجميع القيم في عمود واحد لها نفس النوع؛

4. يتم ترتيب الأعمدة بترتيب معين يتم تحديده عند إنشاء الجدول، على عكس الصفوف التي يتم ترتيبها بترتيب عشوائي. لا يجوز أن يحتوي الجدول على صف واحد، ولكن يجب أن يحتوي على عمود واحد على الأقل.

مصطلحات قاعدة البيانات العلائقية:

عنصر قاعدة البيانات العلائقية نموذج العرض
1. قاعدة البيانات مجموعة من الجداول
2. مخطط قاعدة البيانات مجموعة من رؤوس الجدول
3. الموقف طاولة
4. مخطط العلاقة صف رأس عمود الجدول
5. الجوهر وصف خصائص الكائن
6. السمة رأس العمود
7. المجال مجموعة من قيم السمات الصالحة
8. المفتاح الأساسي معرف فريد يحدد بشكل فريد كل سجل في الجدول
9. نوع البيانات نوع قيم العناصر في الجدول
10. كورتيج سلسلة (سجل)
11. العلاقة الأساسية عدد الصفوف في الجدول
12. درجة العلاقة عدد الحقول
13. جسد العلاقة مجموعة من العلاقات الصفوف

عند تصميم قاعدة بيانات علائقية، يتم وضع البيانات في عدة جداول. يتم إنشاء العلاقات بين الجداول باستخدام المفاتيح. عند ربط الجداول، يتم التمييز بين الجدول الرئيسي والإضافي (الثانوي).

هناك الأنواع التالية من العلاقات بين الجداول:

1. العلاقة 1:1 (واحد لواحد) يعني أن كل سجل في الجدول الرئيسي يتوافق مع سجل واحد في الجدول الإضافي، وعلى العكس من ذلك، كل سجل في الجدول الإضافي يتوافق مع سجل واحد في الجدول الرئيسي.

2. نوع الاتصال 1:M (واحد إلى متعدد) يعني أن كل سجل في الجدول الرئيسي يتوافق مع عدة سجلات في الجدول الإضافي، وعلى العكس من ذلك، كل سجل في الجدول الإضافي يتوافق مع سجل واحد فقط في الجدول الرئيسي.

3. نوع العلاقة M:1 (متعدد إلى واحد) يعني أن سجلاً واحداً أو أكثر في الجدول الرئيسي يتوافق مع سجل واحد فقط في الجدول الثانوي.

4. علاقة M:M (كثير إلى كثير) – يحدث ذلك عندما تتطابق عدة سجلات من الجدول الرئيسي مع عدة سجلات من الجدول الإضافي والعكس صحيح.

5. المكونات الأساسية لبرنامج MS Access.

المكونات (الكائنات) الرئيسية لـ MS Access هي:

1. الجداول.

3. النماذج؛

4. التقارير.

5. وحدات الماكرو:

وحدات

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

طلب – سؤال حول البيانات المخزنة في الجداول، أو تعليمات لاختيار السجلات المراد تغييرها.

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

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

دقيق - واحد أو أكثر من أوامر الماكرو التي يمكن استخدامها لأتمتة مهمة محددة. الماكرو هو لبنة البناء الأساسية للماكرو؛ تعليمات مستقلة يمكن دمجها مع تعليمات ماكرو أخرى لأتمتة إكمال المهمة.

وحدة – مجموعة من الأوصاف والتعليمات والإجراءات المخزنة تحت اسم واحد. يحتوي MS Access على ثلاثة أنواع من الوحدات: وحدة النموذج ووحدة التقرير والوحدة العامة. تحتوي الوحدات النمطية للنماذج والتقارير على برنامج محلي للنماذج والتقارير.

6. الجداول في MS Access.

لدى MS Access الطرق التالية لإنشاء الجداول:

1. وضع الجدول؛

2. البناء؛

3. معالج الجدول؛

4. استيراد الجداول؛

5. التواصل مع الجداول.

في وضع الجدول يتم إدخال البيانات في جدول فارغ. يتم توفير جدول يحتوي على 30 حقلاً لإدخال البيانات. بعد حفظه، يقرر MS Access نفسه نوع البيانات الذي سيتم تخصيصه لكل حقل.

البناء يوفر القدرة على إنشاء الحقول بشكل مستقل وتحديد أنواع البيانات للحقول وأحجام الحقول وتعيين خصائص الحقل.

لتحديد حقل في الوضع البناء طلب منهم:

1. اسم الحقل ، والذي يجب أن يكون له في كل جدول اسم فريد، وهو عبارة عن مزيج من الحروف والأرقام والمسافات والأحرف الخاصة، باستثناء " .!” “ " الحد الأقصى لطول الاسم هو 64 حرفًا.

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

أنواع بيانات الوصول إلى MS

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

3. أهم خصائص الحقل:

- حجم الحقليحدد الحد الأقصى لحجم البيانات المخزنة في الحقل.

- تنسيق الحقلهو تنسيق لعرض نوع بيانات معين ويحدد قواعد عرض البيانات عند عرضها على الشاشة أو طباعتها.

- التوقيع الميدانييقوم بتعيين النص الذي يتم عرضه في الجداول والنماذج والتقارير.

- الشرط على القيمةيسمح لك بالتحكم في الإدخال، ويضع قيودًا على القيم المدخلة، في حالة انتهاك الشروط، ويحظر الإدخال ويعرض النص المحدد بواسطة خاصية رسالة الخطأ؛

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

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

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

لتحديد مفتاح، حدد الحقول التي يتكون منها المفتاح وانقر فوق الزر الموجود على شريط الأدوات الحقل الرئيسيأو يتم تنفيذ الأمر تحرير/حقل المفتاح.


©2015-2019 الموقع
جميع الحقوق تنتمي إلى مؤلفيها. لا يدعي هذا الموقع حقوق التأليف، ولكنه يوفر الاستخدام المجاني.
تاريخ إنشاء الصفحة: 16-02-2016

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

النماذج الأساسية

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

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

المفهوم الأساسي لقاعدة البيانات العلائقية

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

عملية النمذجة وتجميع العناصر الأساسية

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

يتم إجراء نمذجة الجداول وتصميم قواعد البيانات العلائقية باستخدام أدوات مجانية مثل Workbench وPhpMyAdmin وCase Studio وdbForge Studio. بعد التصميم التفصيلي، يجب عليك حفظ النموذج العلائقي الجاهز بيانيًا وترجمته إلى كود SQL جاهز. في هذه المرحلة، يمكنك البدء في العمل على فرز البيانات ومعالجتها وتنظيمها.

الميزات والبنية والمصطلحات المرتبطة بالنموذج العلائقي

يصف كل مصدر عناصره بطريقته الخاصة، ولتقليل الارتباك أود أن أعطي تلميحًا صغيرًا:

  • RelationalTable = الكيان؛
  • التخطيط = السمات = أسماء الحقول = رؤوس أعمدة الكيان؛
  • مثيل الكيان = tuple = سجل = سلسلة الجدول؛
  • قيمة السمة = خلية الكيان = الحقل.

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

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

الآن، بعد معرفة العناصر المكونة للجدول، يمكنك الانتقال إلى خصائص نموذج قاعدة البيانات العلائقية:

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

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

الخصائص الرئيسية لحقول قاعدة البيانات العلائقية

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

رسم تخطيطي لجدول قاعدة بيانات علائقية ثنائي الأبعاد

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

القواعد الأساسية لتطبيع الكيان العلائقي

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

2. بالنسبة للجدول الذي تم تحويله بالفعل إلى 1NF، يجب أن يعتمد اسم أي عمود غير معرف على المعرف الفريد للجدول (2NF).

3. بالنسبة للجدول بأكمله الموجود بالفعل في 2NF، لا يمكن أن يعتمد كل حقل غير محدد على عنصر ذي قيمة أخرى غير محددة (كيان 3NF).

قواعد البيانات: العلاقات العلائقية بين الجداول

هناك جدولان علائقيان رئيسيان:

  • "واحد متعدد". يحدث عندما يتوافق سجل رئيسي واحد في الجدول رقم 1 مع عدة مثيلات للكيان الثاني. تشير أيقونة المفتاح الموجودة في أحد طرفي الخط المرسوم إلى أن الكيان موجود على الجانب "الواحد"؛ وغالبًا ما يتم تمييز الطرف الآخر من الخط برمز اللانهاية.

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

وجود المفاتيح في قاعدة البيانات العلائقية

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

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

مثال لنموذج قاعدة البيانات العلائقية

من أجل الوضوح، نعطي مثالا بسيطا لنموذج قاعدة بيانات علائقية يتكون من كيانين. هناك جدول يسمى "مكتب العميد".

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

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

قاعدة البيانات العلائقية - المفاهيم الأساسية

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

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

كل سمة لكائن معين هي قيمة السمة. وبالتالي، فإن قيمة سمة الوزن لجزء المحرك هي 50، وهو ما يعكس حقيقة أن هذا المحرك يزن 50 كيلوجرامًا.

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

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

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

نموذج البيانات العلائقية

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

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

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

تم تطويره من قبل كود في عام 1969-1970 على أساس النظرية الرياضية للعلاقات ويعتمد على نظام من المفاهيم أهمها الجدول، العلاقة، الصف، العمود، المفتاح الأساسي، المفتاح الخارجي.

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

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

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

الشكل 1. مفاهيم قاعدة البيانات الأساسية.

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

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

الشكل 2. العلاقة بين جداول قاعدة البيانات.

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

بالإضافة إلى الجداول، يمكن لقاعدة البيانات تخزين كائنات أخرى، مثل شاشات العرض والتقارير وطرق العرض وحتى برامج التطبيقات التي تعمل مع قاعدة البيانات.

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

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

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

لغة SQL

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

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

لغة SQL لديها معيار رسمي - ANSI/ISO. يلتزم معظم مطوري نظم إدارة قواعد البيانات (DBMS) بهذا المعيار، ولكنهم غالبًا ما يقومون بتوسيع نطاقه لتنفيذ قدرات معالجة البيانات الجديدة. آليات إدارة البيانات الجديدة التي سيتم وصفها في ثانية.خادم قاعدة البيانات ، لا يمكن استخدامه إلا من خلال عبارات SQL الخاصة، والتي لا يتم تضمينها بشكل عام في معيار اللغة.

SQL ليست لغة برمجة تقليدية. لا تتم كتابة البرامج فيه، ولكن الاستعلامات إلى قاعدة البيانات. لهذا السبب تعتبر SQL لغة تعريفية. وهذا يعني أنه يمكن استخدامه لصياغة ما يجب الحصول عليه، لكنه لا يمكن أن يشير إلى كيفية القيام بذلك. على وجه الخصوص، على عكس لغات البرمجة الإجرائية (C، Pascal، Ada)، لا تحتوي لغة SQL على عوامل تشغيل مثل if-then-else، for، while، إلخ.

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

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

الجدول 1. عوامل تشغيل SQL الأساسية.

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

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

دعونا نلقي نظرة على بعض الأمثلة.

يتم تنفيذ الاستعلام "تحديد عدد الأجزاء الموجودة في المخزون لجميع أنواع الأجزاء" على النحو التالي:

اختر الاسم والكمية

من الجزء؛

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

يبدو الاستعلام "ما هي الأجزاء الفولاذية الموجودة في المخزون؟" والتي تمت صياغتها في SQL كما يلي:

من الجزء

حيث المادة = "الفولاذ"؛

ستكون نتيجة هذا الاستعلام أيضًا جدولًا يحتوي فقط على صفوف الجدول المصدر التي لها القيمة "فولاذ" في عمود المادة. يتيح لك هذا الاستعلام الحصول على إسقاط أفقي لجدول الأجزاء (العلامة النجمية في عبارة SELECT تعني تحديد كافة الأعمدة من الجدول).

سيتم كتابة طلب "تحديد اسم وكمية الأجزاء الموجودة في المخزون والمصنوعة من البلاستيك والتي يقل وزنها عن خمسة كيلوغرامات" على النحو التالي:

اختر الاسم والكمية

من الجزء

حيث المادة = "البلاستيك"

والوزن< 5;

نتيجة الاستعلام هي جدول بعمودين - الاسم، الكمية، والذي يحتوي على اسم وعدد القطع المصنوعة من البلاستيك والتي يقل وزنها عن 5 كجم. في جوهرها، عملية أخذ العينات هي عملية تشكيل إسقاط أفقي أولاً (ابحث عن جميع صفوف جدول الأجزاء التي تكون المادة = "البلاستيك" والوزن< 5), а затем вертикальной проекции (извлечь Название и Количество из выбранных ранее строк).

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

لنفترض أنه تمت صياغة استعلام في قاعدة بيانات المستودع:

حدد الاسم الكمية المادة

من الجزء

حيث الرقم = "T145-A8"؛

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

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

يتم إنشاء فهرس باستخدام عبارة SQL CREATE INDEX. في هذا المثال المشغل

إنشاء فهرس جزء فريد من نوعه

على الجزء (الرقم)؛

سيقوم بإنشاء فهرس باسم "فهرس الجزء" في العمود رقم جزء الجدول.

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

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

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

في ختام مناقشتنا للغة SQL، دعونا نؤكد مرة أخرى أنها لغة استعلام. من المستحيل كتابة أي برنامج تطبيقي معقد يعمل مع قاعدة بيانات. ولهذا الغرض، تستخدم أنظمة إدارة قواعد البيانات الحديثة لغة الجيل الرابع (Forth Generation Language - 4GL)، التي تتمتع بالإمكانيات الأساسية للغات الإجرائية من الجيل الثالث (3GL)، مثل C وPascal وAda والقدرة على تضمين SQL البيانات في نص البرنامج، بالإضافة إلى عناصر التحكم في واجهة المستخدم (القوائم والنماذج وإدخال المستخدم وما إلى ذلك). اليوم، 4GL هو أحد المعايير الفعلية لأدوات تطوير تطبيقات قواعد البيانات.

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

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

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

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

أثناء تشغيل قواعد البيانات، يوفر نظام إدارة قواعد البيانات إمكانية تحرير هيكل قاعدة البيانات وملئها بالبيانات والبحث والفرز واختيار البيانات وفقًا لمعايير محددة وإنشاء التقارير.

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

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



تحظى أنظمة إدارة قواعد البيانات (DBMS) الأخرى (بتنسيق ملف مختلف) بشعبية كبيرة أيضًا - Paradox، وClarion، وما إلى ذلك. يجب التأكيد على أن الأنظمة المدرجة تعود أصولها إلى MS-DOS، ولكن الآن تم تحسين جميعها تقريبًا ولديها إصدارات لنظام التشغيل Windows.

من بين الأنظمة العلائقية الحديثة، فإن نظام إدارة قواعد البيانات الأكثر شيوعًا لنظام Windows هو Access from Microsoft، وApproach من Lotus، وParadox من Borland. العديد من هذه الأنظمة تدعم تقنية OLE ويمكنها معالجة ليس فقط المعلومات الرقمية والنصية، ولكن أيضًا الصور الرسومية (الرسومات والصور الفوتوغرافية) وحتى الأجزاء الصوتية ومقاطع الفيديو.

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

في الوقت نفسه، تنتقل أنظمة إدارة قواعد البيانات العلائقية الأكثر قوة مع ما يسمى بالوصول إلى SQL تدريجياً إلى مركز تكنولوجيا المعلومات الحديثة. تعتمد أنظمة إدارة قواعد البيانات هذه على تقنية خادم العميل. ومن بين الشركات الرائدة في تصنيع هذه الأنظمة هي Oracle وCentura (Gupta) وSybase وInformix وMicrosoft وغيرها.

أنواع البيانات في قواعد البيانات

تعمل أنظمة المعلومات مع الأنواع الرئيسية التالية من البيانات.

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

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

بيانات نوع التاريخ و/أو الوقت. يتم تحديد بيانات نوع التاريخ ببعض التنسيقات المعروفة آليًا، على سبيل المثال - DD.MM.YY (يوم، شهر، سنة). للوهلة الأولى، هذه حالة خاصة للبيانات النصية. ومع ذلك، فإن استخدام نوع تاريخ خاص في IC له المزايا التالية. أولا، يحصل النظام على فرصة للحفاظ على رقابة صارمة (على سبيل المثال، يمكن أن تكون قيمة الشهر منفصلة فقط في النطاق 01-12). ثانيا، يصبح من الممكن تمثيل تنسيق التاريخ تلقائيا اعتمادا على تقاليد بلد معين (على سبيل المثال، يتم اعتماد تنسيق MM-DD-GT في الولايات المتحدة الأمريكية). ثالثا، عند البرمجة، يتم تبسيط العمليات الحسابية مع التواريخ إلى حد كبير (حاول، على سبيل المثال، حساب تاريخ يدويا بعد 57 يوما من تاريخ معين). استخدام هذا النوع من الوقت له نفس المزايا.

البيانات المنطقية. يمكن للبيانات من هذا النوع (تسمى أحيانًا منطقية) أن تأخذ واحدة فقط من قيمتين متبادلتين - صحيح أو خطأ (مشروط: 1 أو 0). إنه في الواقع مفتاح يمكن تفسير قيمته على أنها "نعم" و"لا" أو على أنها "صحيح" و"خطأ". يعد النوع المنطقي مناسبًا للاستخدام لتلك السمات التي يمكن أن تأخذ إحدى القيمتين المتبادلتين، على سبيل المثال، الحصول على رخصة قيادة (نعم أو لا)، والخدمة العسكرية (نعم أو لا)، وما إلى ذلك.

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

أنواع مخصصة. في العديد من الأنظمة، يتم منح المستخدمين الفرصة لإنشاء أنواع البيانات الخاصة بهم، على سبيل المثال: "يوم من الأسبوع" (الاثنين، الثلاثاء، إلخ)، "العنوان" (الرمز البريدي - المدينة - ...)، إلخ.

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

قواعد البيانات العلائقية

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

مثال على تنفيذ نموذج البيانات العلائقية يمكن أن يكون جدولاً يحتوي على معلومات حول الطلاب.

كما يتبين من المثال أعلاه، يحتوي الجدول العلائقي على الخصائص التالية:

· كل صف في الجدول عبارة عن عنصر بيانات واحد (معلومات عن طالب واحد).

· جميع أعمدة الجدول متجانسة أي جميع العناصر الموجودة في العمود هي من نفس النوع والطول (على سبيل المثال، يعرض عمود الاسم أسماء الطلاب من نوع الأحرف التي يصل طولها إلى 17 حرفًا)؛

· كل عمود له اسم فريد (على سبيل المثال، لا يوجد عمودين للاسم في الجدول)؛

· لا يسمح بوجود صفوف متطابقة في الجدول (يتم الإدخال لكل طالب مرة واحدة فقط).

· يمكن أن يكون ترتيب الصفوف والأعمدة في الجدول عشوائياً (يتم إدخال اسم الطالب في الجدول عند القبول في المدرسة، ولا يهم ترتيب الأعمدة).

العناصر الهيكلية لقاعدة البيانات العلائقية

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

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

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

يتم استخدام الخصائص التالية لوصف المجال:

· اسم الحقل (على سبيل المثال، رقم الملف الشخصي، اسم العائلة)؛

· نوع الحقل (على سبيل المثال، الحرف، التاريخ)؛

· خصائص إضافية (طول المجال، الشكل، الدقة).

على سبيل المثال، المجال تاريخ الميلاديمكن أن يكون من النوع "التاريخ" وطوله 8 (6 أرقام ونقطتان تفصل اليوم والشهر والسنة في سجل التاريخ).

3. كل صف من الجدول يسمى سجل. يجمع السجل بشكل منطقي جميع الحقول التي تصف كائن بيانات واحدًا، على سبيل المثال، تصف جميع الحقول الموجودة في الصف الأول من الجدول أعلاه بيانات حول الطالب إيفان فاسيليفيتش بيتروف، المولود في 12 مارس 1989، والذي يعيش في العنوان: ش. غوركي، 12-34 عامًا، يدرس في الصف 4A، رقم الملف الشخصي - P-69. يقوم النظام بترقيم السجلات بالترتيب: 1،2، ...، n، حيث n هو إجمالي عدد السجلات (الصفوف) في الجدول في الوقت الحالي. وعلى النقيض من عدد الحقول (الأعمدة) في الجدول، يمكن أن يختلف عدد السجلات أثناء تشغيل قاعدة البيانات حسب الرغبة (من صفر إلى ملايين). يمكن أيضًا تغيير عدد الحقول وأسمائها وأنواعها، ولكن هذه عملية خاصة تسمى تغيير تخطيط الجدول .

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

5. يمكن تضمين كل حقل في عدة جداول (على سبيل المثال، حقل اسم العائلةقد يتم إدراجها في جدول قائمة الطلاب في فرقة المسرح).