الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

التقليص التلقائي لطول الحقل باعتبار المساحة المخصصة من الذاكرة

مغلق
بدأه ArcKive في 28 نوفمبر 2007 · 4 رد · 1,710 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الأخوة الأعزاء السلام عليكم ورحمة الله

قرأت في ملف المساعدة الخاص بأكسس Help أنه وعند اختيار نوع الحقل data type من النوع نص text والذي طوله 255 خانة أو أقل حسب ضبط خاصية طول الحقل في خصائص الحقل، فإن الاكسس لايقوم بحجز بقية الحيز المخصص له من الذاكرة في حالة أنه لم يتم تخصيص كل الحيّز أو الطول الخاص بالحقل.

لم أفهم هذا الجزء جيـــّداً لذلك أتصوّر عدم وضوح طرحي أعلاه بالنسبة لكـــم.

هل المقصود أنه إذا قمت بضبط خاصية طول الحقل على 30 مثلا ولكنني عند الادخال في احد سجلات هذا الحقل أدخلتُ مُدخلاً طوله 20 خانة أو حرف، في هذه الحالة هل يتم حجز المساحة من الذاكرة للـ 20 حرف فقط والتي تم ادخالها أم يتم حجز مساحة للـ 30 خانة والتي قمتُ بضبطها وتحديدها من قَبل في خصائص الحقل بغض النظر عن طول المُدخَل الذي أدخلته؟؟ بمعنى آخر هل يتقلص طول الحقل اوتوماتيكياً حسب طول المُدخَـــل ويحجز من الذاكرة مساحة حسب حجمه أم أنه يحجز من الذاكرة كل الطول المُحدّد حتى اذا لم ادخل أي مُدخل أو أدخلت مدخل يقل كثيراُ من الطول المحدد للحقل؟

أم أنّهم يتحدثون عن الطول الأقصى للحقل وهو 255 خانة؟ أي عندما أقوم بتحديد طول حقل بـ 55 خانة من جملة الـ 255 فإن الاكسس يقوم بحجز كل الـ 55 خانة من الذاكرة بغض النظر عن طول المُدخل ولكنه لا يحجز مساحة من الذاكرة للـ 200 خانة المتبقية؟؟

وفي كل الأحوال هل هذا الكلام ينطبق فقط على الحقل من النوع نص text ولا ينطبق على الحقل memo أو number ؟ علما بأننى قرأت هذا المضمون في الجزء الخاص بشرح طول الحقل من النوع نص text.

أرجو أن أكون قَد وُفّـــقتُ في ايصال استفــــــساراتي لكم، ولكم منّــي كل المودّةُ والتقديـــر.

بارك الله فيـــكم وجزاكم خيـــراً

سبحان اللّه وبحمده... سبحان الله العظيم

--------------------------------------------------

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

وملء ماشاء من بعده..عدد الحركات والسكنات وعدد ماكان ومالم يكُن.. عدد أيام

الدنيا وعدد صفق الشجر وعدد رمل عالج ومثل زبد البحر.. وإلى أن يـــشاء الله رب

العالميـــن.

--------------------------------------------------

اللهم لك الحمد كما ينبغي لجلال وجهك وعظيم سلطانك كما لم يحمدك أحد من خلقك

إلى يوم الدّيـــن

[يمين]--------------------------------------------------

[/يمين]

وَممّا زادني شرَفاً وتيهاً.... دُخولي تحت قولكَ ياعبَادي

وَكدتُ بأخمصي أطأ الثُّريّا.... وأن صيّرت أَحمدَ لي نَبيّا

#2

عفوا أخطأتُ في العنوان، المقصود للحقل من النوع text و memo أي مذكّرة وليــسَ memory.

سبحان اللّه وبحمده... سبحان الله العظيم

--------------------------------------------------

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

وملء ماشاء من بعده..عدد الحركات والسكنات وعدد ماكان ومالم يكُن.. عدد أيام

الدنيا وعدد صفق الشجر وعدد رمل عالج ومثل زبد البحر.. وإلى أن يـــشاء الله رب

العالميـــن.

--------------------------------------------------

اللهم لك الحمد كما ينبغي لجلال وجهك وعظيم سلطانك كما لم يحمدك أحد من خلقك

إلى يوم الدّيـــن

[يمين]--------------------------------------------------

[/يمين]

وَممّا زادني شرَفاً وتيهاً.... دُخولي تحت قولكَ ياعبَادي

وَكدتُ بأخمصي أطأ الثُّريّا.... وأن صيّرت أَحمدَ لي نَبيّا

#3

اخي الفاضل

السلام عليكم ورحمة الله وبركاته

بالنسبة للإجابة على سؤالك فكما تعلم ان لكل حرف تقوم بإدخاله حجم محدد سواء بالبت او بالبايت فمثلا الحجم الأقصى لحقل النص 255 حرف وبعدها لا يمكنك كتابة اكثر من ذلك لأن كامل مساحة الحقل قد تم ملأها ولكن عندما تقوم في الجدول بتحديد حجم الحقل الى 30 او 50 حرف فقط فإنه ايضا لا يمكن تجاوز هذه القيم اي انك لا تستطيع ان تضيف اكثر مما قمت بتحديده في الجدول ولكن يوجد لديك مجال للزياده وهي 200 حرف اما في النوع مذكره فتخزن حتى 65536 حرفا ( خمسة وستون الفا وخمسمائة وستة وثلاثون ) ولا تستطيع ان تتحكم بها لأنها قيمة ثابته وليست كما هو الحال مع حقل النص .

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

أنواع بيانات الحقول المتوفرة في Access ‏

دعنا نلقي نظرة عامة عن كافة أنواع بيانات الحقول المتوفرة في Microsoft Access واستخداماتها وأحجام التخزين الخاصة بها.

نص

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

يخزن حتى 255 حرفاً. تتحكم خاصية حجم_الحقل في الحد الأقصى لعدد الأحرف التي يمكن إدخالها.

مذكرة

يستخدم لنص أو أرقام طولية، كالملاحظات أو الوصف.

يخزن حتى 65.536 حرفاً.

رقم ( يوجد شرح مفصل لنوع البيانات رقم بالاسفل )

يستخدم لتضمين البيانات في الحسابات الرياضية، باستثناء الحسابات المتعلقة بالأموال (استخدام نوع العملة).

يخزن 1، 2، 3، 4 أو 8 بايت؛ يخزن 16 بايت "لمعرف النسخ المتماثل" (GUID). تعرف الخاصية "حجم_الحقل" نوع "الرقم" المحدد.

تاريخ/وقت

يستخدم للتواريخ والأرقام.

يخزن 8 بايت.

عملة

يستخدم لقيم "عملة" ويمنع حدوث التقريب أثناء إجراء الحسابات.

يخزن 8 بايت.

ترقيم تلقائي

يستخدم للأرقام الفريدة المتتالية (التي تزيد بمقدار 1 ) أو الأرقام العشوائية يتم إدراجها تلقائياً عند إضافة سجل.

يخزن 4 بايت؛ يخزن 16 بايت "لمعرف النسخ المتماثل" (GUID).

نعم/لا

يستخدم لبيانات يمكن أن تكون قيمة ممكنة واحدة من الاثنتين، مثل "نعم/لا" و"صحيح/خطأ" و"تشغيل/إيقاف". لا يتم السماح بالقيم Null "خالية".

يخزن 1 بت.

كائن OLE

يستخدم لكائنات OLE (مثل مستندات Microsoft Word أو جداول بيانات Microsoft Excel أو صور أو أصوات أو بيانات ثنائية أخرى) التي تم إنشاؤها في برامج أخرى باستخدام بروتوكول OLE .

يخزن حتى 1 غيغابايت (مقيدة بواسطة مساحة القرص).

ارتباط تشعبي

يستخدم لارتباطات تشعبية. يمكن أن يكون الارتباط التشعبي مسار UNC أو محدد موقع المعلومات (URL).

يخزن حتى 64.000 حرفاً.

معالج البحث

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

يتطلب نفس حجم الحقل المخزن كالمفتاح الأساسي الذي يتطابق مع الحقل "بحث"— - 4 بايت بالضبط.

خصائص الارقام

كما تعلم اخي الكريم ان لكل رقم حجم معين فقد يكون 1 بايت او 2 او 4 او 8 حسب نوع الحقل الرقمي و يصل إلي 16 بايت في حالة أل replication لهذا يجب الاختيار المناسب لكل حقل ب

اما خاصية الحقول Field Size الرقميه فنستطيع ان نوضحها كالتالي :

النوع : بايت Byte

الوصف : يتم تخزين أي رقم بين صفر و 255

العلامات العشرية : لايوجد

حجم التخزين : ا بايت - 1byte

النوع : عشري Decimal

الوصف : يخزن من 10^38 -1 إلي -10^38 -1 في حالية أل adp و من 10^28 -1 الى -10^28 -1 في حالية أل adp

العلامات العشرية : 28

حجم التخزين : 12 بايت

النوع : عدد صحيح Integer

الوصف : يخزن من –32,768 إلي 32,767 بدون كسور

العلامات العشرية : لايوجد

حجم التخزين : 2 بايت

النوع : عدد صحيح طويل Long Integer

الوصف : يخزن من –2,147,483,648 إلي 2,147,483,647

العلامات العشرية : لايوجد

حجم التخزين : 4 بايت

النوع : مفرد Single

الوصف : يخزن من –3.402823E38 إلي –1.401298E–45 في الأرقام السالبة و من 1.401298E–45 إلي 3.402823E38 في الأرقام الموجبة

العلامات العشرية : 7

حجم التخزين : 4 بايت

النوع : مزدوج Double

الوصف : يخزن من –1.79769313486231E308 إلي –4.94065645841247E–324 في الأرقام السالبة و من 4.94065645841247E–324 إلي 1.79769313486231E308 في الأرقام الموجبة

العلامات العشرية : 15

حجم التخزين : 8 بايت

النوع : معرف النسخة المتماثلة Replication ID ---- Globally unique identifier - GUID

الوصف : بأخذ رقم النسخة المتماثل وكون على شكل {66E521A4-8B86-4AE1-B46C-D9B124EB10F7}

العلامات العشرية : N / A

حجم التخزين : 16 بايت

الخلاصة : نستنتج من الشرح السابق انه يجب علينا التالي :

تحديد نوع البيانات الواجب استخدامه لحقل استناداً إلى تلك الاعتبارات:

1. ما هو نوع القيم الذي تريد السماح به في الحقل؟ على سبيل المثال، لا يمكن تخزين نوع البيانات"نص" في حقل مع نوع البيانات "رقم".

2. ما هو مقدار مساحة التخزين التي تريد استخدامها للقيم في الحقل؟

3. ما هي أنواع العمليات التي تريد تنفيذها على القيم في الحقل؟ على سبيل المثال، يمكن لـ Microsoft Access تجميع القيم في حقلي "رقم" و"عملة"، ولكن لا يمكنه تجميع القيم في حقلي نص وكائن OLE.

4. هل تريد فرز أو فهرسة حقل؟ لا يمكن فرز أو فهرسة حقول كائنات OLE.

5. هل تريد استخدام حقل لتجميع السجلات في استعلامات أو تقارير؟ لا يمكن استخدام كائنات OLE لتجميع السجلات.

6. ما هي طريقة فرز القيم الموجودة في الحقل التي تريدها؟ في الحقل "نص"، يتم فرز الأرقام كسلاسل أحرف (1، 10، 100، 2، 20، 200 وهكذا)، وليس كقيم رقمية. استخدم حقل "رقم" أو "عملة" لفرز الأرقام كقيم رقمية. كذلك لن يتم فرز العديد من تنسيقات التاريخ بشكل صحيح إذا تم إدخالها في حقل "نص". استخدم حقل "تاريخ/وقت" لتأمين الفرز الملائم للتواريخ.

7. هل ستحتاج إلى تخزين مستندات Microsoft Word أو Microsoft Excel، وصورهما وأصواتهما والأنواع الأخرى من البيانات الثنائية التي تم إنشائها في برامج أخرى؟ يمكن أن تكون كائنات OLE مرتبطة بـ أو مضمنة في حقل كائن OLE في جدول Microsoft Access. لعرض كائن OLE، استخدم عنصر تحكم في نموذج أو تقرير.

اذا رغبت في المزيد من المعلومات فرتجع هذا الرابط

/index.php?showtopic=102040

#4

الأخت الفاضلة زهرة

السلام عليك ورحمة الله وبركاته

وبارك الله فيك وزادك علماً وجزاك خيراً على قدر إخلاصك في نشر العلم النافع.

الجزء الذي قرأته في ملف المساعدة الخاص بأكسس تحديداً هو كالآتي:

Microsoft access doesn't reserve space for unused portions of a text field when it is less than 255 characters of length.

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

اذا المقصود هو ان الاكسس يحجز فقط المساحة المحددة لطول الحقل في خصائص الحقل كما ذكرتِ بغض النظر عن حجم المدخل ولكنه لا يحجز الحيز المتبقي من الـ255 خانة وهو الطول الأقصى لهذا النوع. أمّا بالنسبة للحقل من النوع memo فإن كل المساحة المحددة محجوزة من الذاكرة بغض النظر عن حجم أو طول المُدخل.

أرجو أن يكون هذا هو الفهم الصحيح.

بارك الله فيـــك

سبحان اللّه وبحمده... سبحان الله العظيم

--------------------------------------------------

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

وملء ماشاء من بعده..عدد الحركات والسكنات وعدد ماكان ومالم يكُن.. عدد أيام

الدنيا وعدد صفق الشجر وعدد رمل عالج ومثل زبد البحر.. وإلى أن يـــشاء الله رب

العالميـــن.

--------------------------------------------------

اللهم لك الحمد كما ينبغي لجلال وجهك وعظيم سلطانك كما لم يحمدك أحد من خلقك

إلى يوم الدّيـــن

[يمين]--------------------------------------------------

[/يمين]

وَممّا زادني شرَفاً وتيهاً.... دُخولي تحت قولكَ ياعبَادي

وَكدتُ بأخمصي أطأ الثُّريّا.... وأن صيّرت أَحمدَ لي نَبيّا

#5

نعم أخي الكريم هذا هو بالضبط ما يفعله برنامج الأكسيس حسب ما تفضلت به

لهذا دائما وابدا نستخدم ما نحتاج اليه من حجم الحقل

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…