ماذا لو كنت "مخزن مثيلات الفئة في قاعدة البيانات ككيانات"؟
-
03-07-2019 - |
سؤال
وأنا أحاول أن أفهم خط من جوجل مخزن البيانات API حيث يقول:
<اقتباس فقرة>وJDO يستخدم الشروح على فئات Java لوصف كيفية مثيلات الفئة يتم تخزينها في مخزن البيانات كما الكيانات، وكيف الكيانات صوغه كما الحالات عند استردادها من مخزن البيانات.
اقتباس فقرة>وأنا متأكد من أن هذا هو السؤال الأساسي جدا بالنسبة لمعظم الناس. لكنني لا أفهم لماذا يحتاج كائن الفئة ليتم تخزينها في قاعدة البيانات واسترجاعها في وقت لاحق. لماذا لا بدلا من ذلك تحديد ما تريد مخزن البيانات لتبدو وكأنها للتطبيق الخاص بك وتخزين فقط البيانات ذات الصلة من خصائص الطبقة حسب الحاجة بدلا من تخزين فئة كاملة أو دائما تخزين نفس الخصائص مرارا وتكرارا؟ على سبيل المثال من الطبقة يحتوي على جميع أنواع المعلومات التي، كما يبدو لي، لا تحتاج إلى أن تكون في قاعدة البيانات - الأساليب والمتغيرات الطبقة، والمتغيرات المثال - نكتب الاشياء التي في التعليمات البرمجية المصدر لدينا، ونحن لسنا بحاجة إلى استنساخ في قاعدة البيانات - نحن بحاجة الى بعض البيانات ذات الصلة أن الطبقة تعمل على أن تكون مخزنة فقط. حق؟ ربما أنا لا تفهم ما هو المقصود من تصريح نقلته. يرجى تصحيح لي إذا كنت قد يساء فهمها.
المحلول
ومخزن البيانات جوجل ليست قاعدة بيانات علائقية القياسية مثل SQL Server أو أوراكل. يتم تخزين كيانات على أساس التعريف، بدلا من الطريقة التقليدية في خلق مخطط أولا، ثم رسم كائن إلى المخطط. لا أعتقد أن يتم تخزين أعضاء من القطاع الخاص أو أساليب جنبا إلى جنب مع البيانات، لذلك ليست مثل الكائن بأكمله، بما في ذلك الطرق، وتسلسل في مخزن البيانات.
نصائح أخرى
لماذا لا بدلا من ذلك تحديد ما تريد مخزن البيانات لتبدو وكأنها للتطبيق الخاص بك وتخزين البيانات ذات الصلة فقط من خصائص الطبقة حسب الحاجة بدلا من تخزين فئة كاملة أو دائما تخزين نفس الخصائص مرارا وتكرارا؟
اقتباس فقرة>وهذا هو بالضبط ما ما نقلت يعني في الواقع:
<اقتباس فقرة>وJDO يستخدم الشروح على فئات Java لوصف كيفية تخزين مثيلات الفئة في مخزن البيانات ككيانات، وكيف الكيانات صوغه كما الحالات عند استردادها من مخزن البيانات.
اقتباس فقرة>ويمكنك استخدام شروح يقول "مخزن X الميدان"، "تجاهل الحقل Y"، وما إلى ذلك.