قاعدة بيانات المثال
هذا المثال يوضح استخدام الأساسية للبيرل النمطية ديسيبل. قاعدة بيانات تحتوي على سجلات الاشخاص الذين يرغبون في المشاركة في مبنية على البريد الإلكتروني 'القلم بال' الخدمة. من الأعضاء تقديم عناوين بريدهم الإلكتروني ، وبعض المعلومات الشخصية المحدودة ، ومجموعة من المصالح اختيارها من مجموعة معرفة مسبقا من حوالي 100 المواضيع الممكنة. يمكن إجراء عمليات بحث عن الأعضاء الآخرين الذين يشاركوننا في بعض المصالح المشتركة ، وتلبية غيرها من القيود ، وقاعدة بيانات للتو طاولة واحدة ، وتميز الصفوف من الأعضاء لهذا 'البريد بال' خدمة كل مشترك لديه عنوان البريد الإلكتروني (المفترضة لالبساطة لتناسب في حقل حرف 32) ، وهذا يجب أن يكون فريدا من نوعه ، وبمثابة المفتاح الأساسي. الأعضاء عادة يصفون أنفسهم بأنهم الذكور أو الإناث ، ولكن لا يمكن أن تختار لتحديد جنسهم (في هذه الحالة فهي تصنف على أنها 'البريد الأشخاص'). يمكن للمشتركين في تحديد القيود على نوع الشخص مع الذين يرغبون في تقابل (تحديد الذكور والإناث ، والتجارة الإلكترونية ، أو أي شخص). لالبساطة ، ومشترك من يمثل مصالحهم باستخدام خمسة حقول عددية منفصلة. الجدول يحتوي على التعريف التالي : إنشاء جدول EPAL (varchar البريد الإلكتروني (32) غير فارغة ، اكتب varchar (8) غير فارغة ، نريد varchar (8) غير فارغة ، interest1 عدد (4) ، interest2 عدد (4) ، interest3 عدد (4) ، interest4 عدد (4 ) ، interest5 عدد (4) ، عائقا id_pkey المفتاح الأساسي (البريد الإلكتروني) ، عائقا type_check الاختيار (في نوع ( 'ذكر' ، 'أنثى' ، 'EPERSON')) ، عائقا want_check الاختيار (ترغب في ( 'ذكر' ، 'أنثى '،' EPERSON '،' أي '))) ؛ و'الاختيار' القيود ليست ذات أهمية خاصة ويمكن حذفها إذا كانت قاعدة البيانات التي تستخدمها لا تدعم مثل هذه القيود ، ورمز البرنامج يزدوج هذه الشيكات ، والمثال هو برنامج قائم بذاته بيرل برنامج قراءة البيانات من لوحة المفاتيح والتي تعمل مباشرة مع قاعدة البيانات. أوامر يمكن أن تعطى للبرنامج لإضافة سجلات إلى قاعدة البيانات أو لإجراء عمليات البحث. ويمكن أن تتكيف مع رمز شكل سيناريو المجموعة الاستشارية لاندونيسيا التي قبلت البيانات التي تم إدخالها في أتش تي أم أل الأشكال ، وهذا من شأنه أن يؤدي في قائم على الشبكة الإلكترونية خدمة بال -- لا شيء أكثر فائدة من هذا الإصدار المستقل. مشابهة جدا إدخال البيانات المطلوبة لسجل وبالإضافة إلى ذلك تفتيش. يجب على المستخدمين إدخال الخاصة بهم 'النوع' ، 'اكتب' مع شخص من الذين يرغبون في تتطابق ، ويجب تحديد المصالح خمسة من قائمة اهتمامات محددة مسبقا ، وإذا سجل هي التي يمكن ان تضاف ، وإدخال البيانات كما يجب أن تشمل البريد الالكتروني عنوان. معايير لخوض مباراة وناجحة في البحث هي : قيمة 'نوع' في المحضر يفي 'تريد' اشتراط طلب -- مع تجاوز هذا الطلب 'نريد أي =' يطابق أي قيمة في مجال النوع. 'اكتب' المحددة في طلب بحث يفي 'تريد' الشرط الوارد في السجل -- مرة أخرى مع 'أي' يواكبه جميع أنواع طلب ممكن. مجموعتين من المصالح وغير صفرية تقاطع (يمثل مصالحهم والأرقام في النطاق 1-100 ؛ فهي ليست بالضرورة أمر). هذه مطابقة للمعايير يصعب التعبير باعتبارها مزود حالة اختيار ، بل هو الأسهل بالنسبة للبرنامج لاسترداد كافة السجلات وتطبيق معايير برمجيا. ويستخدم البرنامج لعدد من المتغيرات العالمية ، وكل روتين والمتغيرات المحلية ، وإلى حد ما أكبر حجم البرنامج يزيد من خطر استخدام الأخطاء الناجمة عن اعلان ضمني من المتغيرات ، أو استخدام متغيرات غير مهيأ. يجدر تغيير وضع المترجم بيرل حتى يتسنى لجميع المتغيرات يجب أن تكون معلنة. يحدد التوجيه 'استخدام صارمة' في بداية البرنامج يجعل هذا التغيير. الخط الرئيسي باستدعاء التهيئة الروتينية التي تخلق اتصال قاعدة بيانات ويضع الجدول. وتتمثل المهمة الرئيسية ثم لديه 'القائمة ، اختر' حلقة معالجة الأوامر المدخلة من قبل المستخدم. الأوامر المتداولة هي 'إضافة' ، 'البحث' ، 'قائمة' (قوائم محتويات قائمة الفائدة) و'إنهاء'. رمز هو : تهيئة ؛ في حين (1) ($ بلدي كمد ؛ الطباعة "أدخل الأمر (إضافة ، والبحث ، وقائمة (المصالح) ، والإقلاع) :" ؛ $ كمد = روتين التهيئة يخلق التجزئة التي خرائط الفائدة الموضوع لتحديد هوية عدد. المستخدمين يجب إدخال مصالحهم ، ويكون لهم التحقق ؛ هنا ، وبعثرة بمثابة نظام البحث أسرع من القائمة الأصلية. وغيرها من المهام الروتينية لتهيئة يتم فتح اتصال قاعدة البيانات وإعداد كل من بسيطة استعلام قاعدة الاختيار وبيان أكثر تفصيلا معلمات مزود التي سيتم استخدامها لإدخال سجلات. البيان الذي يتطلب ادخال ثمانية القيم على أن تكون ملزمة -- عنوان البريد الإلكتروني ، 'النوع' ، 'أريد' وخمسة معرفات الفائدة. دون تهيئة (بلدي ($ معرف ، $ الفائدة) ؛ $ هوية = 0 ؛ foreach $ الفائدة (@ interestlist) (($ $ interesttable الفائدة) = $ معرف ؛ معرف $ + + ؛) $ dbh = ديسيبل -> الاتصال ($ data_source ، "HSimpson" ، "دوه" ، (AutoCommit => 1)) | | يموت "تعذر الاتصال ديسيبل \ ن" ؛ $ searchHandle = $ dbh -> تحضير ( "اختر * من epal") ؛ insertHandle $ = $ dbh -> تحضير ( "تضاف إلى قيم epal (؟ ، ،؟ ،؟ ،؟ ،؟ ،؟ ،؟)") ؛) وظيفة doAdd يستخدم ثلاث وظائف المساعد بسيطة (owntype ، wanttype ، getinterests) للحصول على مدخلات المستخدمين. وgetinterests الدالة مرارا يطالب المستخدم حتى البيانات التي تحدد المصالح الخمسة قد تم إدخالها بشكل صحيح ، وإنما ترجع قائمة مع الأرقام المعرف المقابلة. مذكرة استدعاء للتنفيذ وظيفة ، وهذا يحدد ثلاث حجج واضحة وخمس عنصر الفائدة الصفيف. هذا لا يتطابق مع متطلبات لمدة ثماني حجج -- بعد كل شيء ، وبيرل ويجمع كل الحجج في قائمة واحدة على أي حال ، ومن ثم الانقسامات إلى الحجج داخل الدالة. دون doAdd (بلدي ($ لكم ، رغبة $ ، $ البريد الإلكتروني ، و @المصالح) ؛ $ لكم = owntype ؛ $ = رغبة wanttype ؛ @ = مصالح getinterests ؛ الطباعة "عنوان بريدك الالكتروني :" ؛ البريد الإلكتروني $ = وظيفة البحث وبالمثل يستخدم وظائف المساعد (owntype ، wanttype وgetintersts) للحصول على بيانات توصيف الباحث. ثم أنها تدير مزود استفسار البحث : 'كل ما حدد من الجدول epal'. سجل كل من يقرأ في قائمة ($ searchHandle -> fetchrow_array). ويتم استرجاع البيانات بعد ذلك التحقق من بيانات طلب (بعض بيرل الظهر غير عادي 'إلى الجبهة' الاختبارات المشروطة هو مبين في هذا القانون). مقال قدمه مايكل Barrbay تنويه :موقعنا على الانترنت ليست مسؤولة عن محتوى هذه المادة. Webarticles هو حر للمعلومات. المهم : هذه المادة "قاعدة بيانات سبيل المثال" وقد ترجم من قبل البرمجيات التلقائي. نشعر بالاسف من اجل أي الأخطاء الإملائية التي قد حدث. شكرا لتفهمكم.
|
|||||
| Online: 312 users browsing the articles directory |
|
|