عادة ما ترتبط البيانات بالبرمجة وفي عالم المعلومات الحديث يتم تقديمها في ثلاثة إصدارات متكافئة منطقيًا: البيانات الموصوفة والمستخدمة في برنامج بلغة البرمجة ؛ البيانات في أنظمة قواعد البيانات ؛ البيانات في أنظمة المعلومات الموزعة. أعطت البرمجة الحديثة حرية نسبية فقط للمتغير الأول لإضفاء الطابع الرسمي على المعلومات. الخياران الثانيان هما أشكال موثوقة إلى حد ما لتوفير المعلومات والعلاقات بين مكوناتها.
بيانات الماضي والحاضر
الموقف الأساسي للغات البرمجة هو الوصف الدقيق للبيانات والخوارزميات. أجهزة الكمبيوتر لا "تقدم" أي فرصة لعدم اليقين: هناك شيء يجب التصرف بناءً عليه ، وهناك أمر يقوم بهذا الإجراء.
يعتمد المفهوم الحديث على أساس أعلى من ذلك بكثير: هناك معطى ، وما سيتم تحديده بالضبط في مكان استخدامه. في أي حال ، في وقت الاستخدام ، يتم فحص البيانات تلقائيًا وتحويلها إلى النوع الصحيح.المبرمج الحديث غير ملزم بالعناية بالوصف الأولي ومراعاة توافق النوع في الخوارزمية.
عملية الانتقال:
- من البيانات المكتوبة ووصفها الإلزامي قبل الاستخدام ؛
- البيانات غير المكتوبة والتحرر من أي التزام لوصفها واستخدامها.
في الواقع ، يمكننا التعرف على الاسترخاء النسبي لمتطلبات الصياغة - فهو متاح فقط في بيئة أدوات البرمجة الحديثة. في وقت التشغيل ، يتم إصلاح نوع كل مرجع ، وتسلسل الأوامر محدد جيدًا.
أنواع ونمذجة
الرياضيات والفيزياء والتجارة والإنتاج والاقتصاد وغيرها من المجالات التي تستخدم فيها الأرقام ، عملت دائمًا مع البيانات ولم تعلق أي أهمية على مفهوم النوع. حقيقة أن الأرقام يمكن أن تكون كاملة أو كسرية لم تكن مهمة حقًا.
يمكن أن تعطي كل صيغة محددة أو إجراء محدد عددًا صحيحًا أو كسرًا لا نهائيًا أو رقمًا حقيقيًا أو معقدًا. حتى الآن ، هناك عجائب في العقل مثل الصغر اللامتناهي والكبير بلا حدود. علاوة على ذلك ، هذه المعجزات لها خصائص حتى
لا توجد حتى الآن حرية في البرمجة. يجب أن يكون كل شيء رسميًا بشكل صارم. مفهوم البيانات هو ، أولاً وقبل كل شيء ، نوع:
- عدد صحيح ؛
- منطقي ؛
- شار ؛
- سلسلة وهكذا
قد تختلف أسماء الأنواع في لغات البرمجة المختلفة ، ولكن يوجد دائمًا عدد صحيح أو رقم حقيقي أو قيمة منطقية أو رمز أوخط. لا تزال هناك آثار وأفكار محددة متبقية: عدد صحيح بدون إشارة ، رمز ، بايت ، كلمة ، كلمة مزدوجة ، سلسلة بطول ثابت.
لا حرية لمفهوم البيانات في نظام البيانات. لغة SQL - "الدولية" (توجد لهجة لكل قاعدة بيانات حديثة) - لا تتسامح مع أي أخطاء ليس فقط في البيانات ، ولكن أيضًا في استعلامات SQL. خطأ في الطلب هو ضمان لعدم وجود نتيجة. لا داعي للحديث عن انتهاكات الأوصاف إطلاقا
نمذجة عمليات المعلومات وتمثيل البيانات هي الطريقة الوحيدة المؤكدة لبناء هيكل يمكن أن يتطور ويتكيف مع الظروف المتغيرة.
ديناميات الأصل
المعلومات الطبيعية هي التغيير المستمر. لإعطاء وصف رسمي ومفهوم نموذج بيانات في مجال موضوع معين يعني حل ثلاث مشاكل:
- تحديد البيانات الموجودة هنا ؛
- إضفاء الطابع الرسمي على العلاقة بينهما ؛
- وصف عمليات تغيير البيانات والعلاقات.
مثال على مجموعة بيانات لخوارزمية بسيطة في JavaScript - نسخة مصغرة من نموذج حتى أكثر أنظمة إدارة قواعد البيانات صلابة.
إنه فقط في الحالة الثانية ، لا يرى الخبراء والمتخصصون ، عند تصميم هياكل البيانات والجداول والعلاقات ، (من الصعب حقًا تغطية كمية كبيرة من المعلومات الطبيعية) جوهر الأشياء ، و يتم الحصول على مجموعة مرهقة وغير مطورة من أكوام البيانات ، بينما يتم تداول معلومات المصدر في مجال الموضوع بحرية وسهولة.
ثابتممكن
من الممارسات الشائعة في JavaScript تضمين التعليمات البرمجية المرفقة بصفحة والوظائف المخصصة للأحداث على علامات الصفحة. في كلتا الحالتين ، تحدد علامات الصفحة البيانات التي يقبلها مورد ويب معين أو يعدله أو ينشئه.
إذا ركزت كود المعالج الخاص بك بعناية شديدة على أحداث العنصر ، وليس على كود الصفحة ككل ، فهذه هي أفضل طريقة للخروج. من الناحية المثالية ، عندما لا تقدم الكود بيانات جديدة أو لا تصلح البيانات المتاحة ، لكنها تركز على ما لديها بالضبط في وقت معين.
في الواقع ، إذا حددت مفهوم "البيانات" باعتباره وصفًا ثابتًا إلى أدنى حد لمعلومات المصدر واتبعته ، فهذا يعني أن لديك فرصة للنجاح.
فيما يتعلق بقواعد البيانات ، الأمور أكثر تعقيدًا. أي شفرة جافا سكريبت "تزود" الصفحة بالوظائف. أي قاعدة بيانات هي عبارة عن مجموعة من الجداول والعلاقات فيما بينها والإجراءات المخزنة والاستعلامات والوظائف المتاحة من الخارج.
Static هو مشكلة أي خوارزمية. المفهوم الحديث للبيانات ثابت: رقم وسلسلة وشخصية وما إلى ذلك. عند المعالجة أو عند الكتابة إلى جدول قاعدة بيانات ، يتحول كل شيء بسلاسة. ولكن متى يكتسب الأصل بعدًا أو معنى مختلفًا؟ الخيار الأول: تغيير اللافتة ، لكن الاتصالات والطلبات قد تسقط على الفور.
الإحصائيات والأشياء
تعريف مفهوم "البيانات" ككائن يغير الوضع بشكل كبير. الكائن له هيكله الخاص. هنا يمكنك استخدام أي وصف لأي متغيرات. الدور لن يلعب. الكائن له طرق يتم من خلالها إتاحة البيانات. منذ كل شيءتستخدم في مجال البرمجة ، أي ثلاث طرق أساسية: القراءة والكتابة والتغيير. يمكنك إضافة المزيد للمقارنة والبحث والاستنساخ وما إلى ذلك.
يفرض مجال الموضوع مجموعة من الخصائص على كل بيانات. وهكذا ، يتضح أن مفهوم البيانات يتحول إلى نوع من الوصف يمكن تغييره ديناميكيًا. ثابت داخل كائن يعطي ديناميات خارجه.
تغيير مجموعة الواصفات الثابتة داخل كائن ، لا داعي للقلق بشأن ديناميكيات علاقاته مع الكائنات الأخرى.
برمجة وعرض البيانات
ما هي البيانات؟ لقد اعتاد الوعي العام بالفعل على تكنولوجيا المعلومات ، ويعمل في السحاب ولديه حاويات في مساحات افتراضية. الآن ، ليس فقط المبرمجون والمستخدمون المحترفون ، ولكن أيضًا الأشخاص العاديون يتمتعون بالكفاءة في مسائل المعلومات واستخدامها.
لكن ما هي البرمجة؟ حتى يومنا هذا ، يعطي الرأي العام التعريف التالي لهذا المفهوم ومفاهيمه:
- المعلومات والبيانات هي المفاهيم الأساسية المستخدمة في علوم الكمبيوتر.
- البيانات هي طريقة معينة يتم تلقيها وتسجيل الملاحظات المتعلقة بالواقع المحيط.
- إنها بسيطة ومعقدة (هياكل) ، أولية وثانوية.
- قاعدة البيانات هي مجموعة من المواد المستقلة المقدمة بطريقة منهجية بحيث يمكن العثور عليها وتعديلها واستخدامها.
ما مدى موضوعية هذا؟ المؤلفون المعتمدوناعتقد ذلك. تميل الممارسة الحقيقية إلى التأكد من أن كل مجال موضوع يحدد نظام البيانات الصحيح الخاص به ويعطي كل فرصة لبناء نموذج ديناميكي جيد.
ليس من غير المألوف أن يفرض العميل (المستهلك) رأيه الخاص على المبرمج (مصمم قاعدة البيانات) حول كيف وماذا يفعل. من وجهة نظر البرمجة ، يمكن تحقيق أي رغبة للعميل بمنتهى الدقة.
تحتاج أوراكل لحل مشكلة الميزانية لصيانة إمدادات المياه في الريف (مبنى 21 في القرية) - جيد. هناك حاجة إلى MySQL لتنظيم نظام تتبع لعناصر البريد لجميع مكاتب البريد في روسيا - كل شيء سيعمل أيضًا.
يمكنك دائمًا تكوين أي خوارزمية وتوفير الوصول إلى أي تمثيل للمعلومات ضمن تعريف مفهوم البيانات ، والذي تم وضعه بواسطة مطور نظام إدارة قاعدة البيانات أو لغة البرمجة. السؤال مختلف: كيف نفعل ذلك بأقل التكاليف في أقصى ديناميكيات؟
قواعد بيانات ، أمثلة
يتم إنشاء قاعدة بسيطة بدون نموذج. المفاهيم الأساسية للبيانات والاتصال صغيرة ، والوظيفة بسيطة للغاية. على سبيل المثال ، بالنسبة لمؤسسة التعليم العالي ، فأنت بحاجة إلى:
- جدول المعلمين
- جدول المجموعة (رقم المفتاح والمجموعة) ؛
- جدول عام للطلاب (تستخدم مفاتيح المجموعة)
يريد العميد معرفة تقدم المعلمين. يحتوي جدول المعلمين على حقول:
- اللقب ؛
- اسم ؛
- الأبوية ؛
- رقم المجموعة الخاضعة للإشراف
يحتوي جدول الطالب على حقول:
- اللقب ؛
- اسم ؛
- الأبوية ؛
- تاريخ الميلاد ؛
- GPA (لجميع المواد) ؛
- رقم المجموعة.
يمكن أن يكون هناك خياران على الأقل لأخذ العينات: باستخدام اسم المعلم ، يمكنك الذهاب إلى رقم المجموعة ورؤية جميع الطلاب ومتوسط درجاتهم ، أو حسب الاسم الأخير للمعلم والأخير اسم الطالب يمكنك مشاهدة متوسط الدرجات لآخر واحد
حتى في مثل هذا الإصدار البسيط ، المشاكل مضمونة وسيتعين تغيير شيء ما. الموقف: مرض المعلم يحل محله شهر آخر مما يعني أنه يشرف على مجموعتين. يوجد حقل واحد فقط تحت رقم مجموعة واحد في جدول المعلم
لحل المشكلة ، تحتاج إلى إضافة حقل مكرر. وإذا مرض اثنان ، أضف ثلاثة حقول. لذلك يبدأ جدول المعلمين في النمو من الصفر.
هناك خيار آخر: استبدال الحقل الرقمي لمفتاح المجموعة بآخر رمزي. بعد ذلك ، في كل مرة تحددها ، سيتعين عليك تحويل السلسلة إلى سلسلة من المفاتيح ، وسيتحول استعلام SQL واحد إلى عدة.
من الأمثلة الواعدة ليس إنشاء الجداول ، ولكن صنع الأشياء. ثم المعلم كائن ، ويمكن أن يكون له عدة مجموعات تحت الإشراف. لكنها دائما شيء واحد. كائن المعلم له مفتاح فريد ، ولكن يمكن أن يكون له مجموعات متعددة تحت الإشراف. المجموعة لديها أيضا مفتاح فريد. طالب أيضا
جميع الوظائف الثلاثة ليست متاحة فقط داخل المهمة ، ولكن يمكن تطويرها بشكل أكبر.
قواعد وجوه المنحى
قادة صناعة المعلوماتتقدم قواعد البيانات العلائقية الكلاسيكية. يتم اختبارها من خلال الحياة ، فهي تعمل ، فهي آمنة وموثوقة ، وفي حالة حدوث مشاكل ، فهي تسمح لك باستعادة المعلومات.
بدأ تطوير قواعد البيانات الموجهة للكائنات (OODB) في منتصف الثمانينيات ، ووفقًا لمؤلفين موثوقين ، فهي واعدة حتى يومنا هذا. ولكن حتى الآن ، بصرف النظر عن النظريات الأساسية والأحكام المفاهيمية ، لا يوجد OODB حصل على نفس التصنيف والتوزيع مثل MySQL أو MS SQL Server أو Oracle في جميع أشكالها المتنوعة.
ولكن ماذا لو تم اقتراح التعريف ومفهوم البيانات والأنواع والسمات والفئات والتسلسلات الهرمية من قبل مطور لا يكفي تقييمه لإنشاء مجتمع من المبرمجين الذين يقرون عقلية OODB هذا؟ علينا الاعتماد على قوتنا.
تم إنشاء أكثر من ثلاثين نوعًا مختلفًا من OODB في بيئة Linux. ولكن ما هو الضمان بأن قاعدة البيانات التي تم إنشاؤها لن تتطلب المزيد من الوظائف؟ لا تقدم بيئة الويندوز الكثير من الضمانات في هذا المجال.
الحل الموجه للكائنات
ومع ذلك ، هناك حل. باستخدام MySQL كمثال ، يمكنك إظهار كيف تتحول الجداول الارتباطية القياسية إلى نموذج موجه للكائنات للمشكلة التي يتم حلها.
لا توجد قاعدة بيانات هنا ، ولكن هناك بيئة لتشكيل نظام الكائنات الخاص بك. تُستخدم قوة MySQL فقط كذاكرة ارتباطية للجداول من صفوف المعلومات. يتم تحديد منطق الاستخدام من قبل المطور نفسه. على وجه الخصوص ، هناك جدول is_cache. لديها كل شيءعدة حقول أساسية:
- owner_code ؛
- رمز الجلسة ؛
- h_code ؛
- مفاجأة ؛
- أ_المحتويات.
تحمل باقي الحقول وظائف الخدمة. يقف هذا الجدول عند مدخلات أي طلب ويسجل وصوله. يتم تحديد ما سيعمل به نموذج قاعدة البيانات من قبل مطوره. ما يلائم حقل المحتوى (a_contents) يتم تحديده بواسطة كائنات النموذج الذي أنشأه المطور.
هناك أربعة أشياء في هذه الفكرة: النقر ، وضرب الجلسة ، وكود سجل الضرب ، ومحتوى محدد. ما هي المكالمة ، أي نظام من الأشياء يجب أن يبنى - يتم تحديده من قبل المطور. ما هو المقصود بالجلسة (عملية العمل) يحدده المطور. رمز السجل هو القدرة على التراجع عن الطلبات.
الجداول هنا ليس لها علاقة بمجال الموضوع. هناك وحدة تحكم بالمكالمات (is_cache) ، وهناك تسجيل (is_customs) ، وهناك سجل المكالمات (is_histories). يتم تحديد الجداول المتبقية من خلال المهمة التي يتم حلها.
في الواقع ، يقترح هذا الحل إنشاء OODB الخاص بك استنادًا إلى نموذج قاعدة بيانات المجال المبني والمشكلة التي يتم حلها. هناك ميزة إضافية كبيرة هنا - هذا هو مفهومك الخاص عن البيانات ، ونموذجك الخاص في العرض التقديمي والعلاقة بينهما. يوجد أساس هنا - قاعدة بيانات علائقية رائعة. لن تكون هناك مشاكل في البحث عن شيء وسوء فهم شيء.
النموذج: نظام الكائن + DBMS
يكاد يكون من المستحيل تغيير أي شيء في تكنولوجيا المعلومات. لا تزال ثورة المعلومات الحقيقية بعيدة. الوعي المهنيلن يغير مطورو البرمجيات التقاليد الكلاسيكية. لكن لا يزال هناك مخرج من الموقف
باستخدام أنظمة إدارة قواعد بيانات حديثة وموثوقة كأساس لخلق بيئة لوجود النموذج الخاص بك ، يمكنك تحقيق نجاح ملحوظ.
على أي حال ، سيتعين عليك إنشاء عرض أو نموذج بيانات لحل المهمة ، لكن عليك القيام بذلك بشكل صحيح: اجعله نظامًا للكائنات ، وأن يكون نظام إدارة قواعد البيانات الجيد هو بيئته.