تاریخچه دلفی :
شركت Borland پس از معرّفی موفّق نسخه Borland Pascal و تكميل آن با عرضه نسخههفتم اين زبان برنامهنويسی، در حدود سال 1374 ش. شروع به كار بر روی يک ابزار طرّاحیسريع برنامههای كاربردی به نام دلفی نمود. بعد از آنكه تعيين شد معماری مدل اشيا بهترينروش اجرای اين طرح است، لازم بود كه يک زبان برنامهنويسی كه به مثابه قلب نظام است،مشخّص گردد.در آن زمان Borland به عنوان شركت توليدكننده بهترين ابزارهای Pascal شناخته میشد وشايد میشد آن را كم و بيش مالِک زبان برنامهنويسی Pascal دانست. در نهايت، شركتBorland تصميم گرفت كه محصول جديد را بر اساس زبان برنامهنويسی Pascal توليد كند.بعد از تطبيق كامل Pascal با مدل اشيا، اين شركت توانست محيط طرّاحی سريع برنامههایكاربردی را اجرا كند؛ البته شايد بتوان گفت كه كاری كه Borland در تغيير زبان Pascal كرد،توأم با خطر بود؛ زيرا اين زبان مشتریهايی داشت كه بسيار به آن وفادار بودند و ممكن بودبرخورد خوبی با تغييرات انجامشده از خود نشان ندهند و در نتيجه ممكن بود اين شركت جايگاه ممتاز خود را در بازار Pascal از دست بدهد.در نهايت اوّلين نسخه دلفی در حدود سال 1374 ش. به بازار ارائه شد و به عنوان فرزند خَلفPascal ـ كه خود نيز به علّت پيشينه روشن، سادگی، و بالابودن امكانات، توجّه برنامهنويسانزيادی را به خود جلب كرده بود ـ چهرهای برتر از خود نشان داد و برنامهنويسان زيادی را بهسوی خود جلب كرد و به محصولی پرفروش و ابزاری بسيار بحثبرانگيز تبديل شد.در قلب دلفی ،یک کامپایلر (همگردان) پاسکال است . دلفی 7 مرحله دیگری از تکامل همانکامپایلر پاسکالی است که شرکت بورلند از هنگامی که (17 سال پیش) Anders Hejlberg ،اولین کامپایلر توربو پاسکال را نوشت مشغول توسعه آن بوده است . طی سالها ، برنامه نویسانپاسکال از پایایی و موزون بودن و نیز سرعت کامپایل که توربو پاسکال ارائه می دهد ، لذت بردهاند . دلفی 7 نیز از این صفات مستثنی نیست ، کامپایلر آن ترکیبی از یک دهه تجربه کامپایلر وپیشرفته ترین کامپایلر بهینه ساز 32 بیتی است . با وجود رشد قابل توجه قابلیت های کامپایلر درطی چندین سال ، سرعت کامپایل به طرز جالب توجهی تنها اندکی کم شده است . علاوه بر این ،پایداری کامپایلر دلفی می رود تا معیار و نمونه ای برای سایرین باشد .حال وقت بررسی هر یک از نگارشهای قبلی دلفی می باشد که در اینجا قابلیت های هر نگارش رابه طور مختصر مرور می کنیم :
دلفی 1 :
در اولین روزهای DOS ، برنامه نویسان یک انتخاب بین BASIC (آهسته ولی بهره ور) وزبان اسمبلی (کارا ولی پیچیده) پیش رو داشتند . توربو پاسکال که سادگی یک زبان ساخت یافته وکارایی یک کامپایلر واقعی را ارائه می کرد ، این فاصله را پر نمود . برنامه نویسان ویندوز1/3نیز با انتخاب مشابهی، یعنی انتخابی بین یک زبان قدرتمند و سخت (بد قلق) مانند C++ و یکزبان با کاربری آسان ولی محدود مانند ویژوال بیسیک روبرو بودند . دلفی 1 با ارائه یکرویکرد اساسا متفاوت به توسعه ویندوز پاسخ داد : تولید توسعه ویژوالی (بصری) ، برنامه هایاجرایی همگردانی شده ، DLL ها ، پایگاههای داده ها که همگی با هم یک محیط ویژوالی بدونمحدودیت را تشکیل می دهند . دلفی 1 اولین ابزار توسعه ویندوز بود که یک محیط توسعهویژوالی (بصری) ، یک کامپایلر بهینه ساز کد اصلی و یک موتور دسترسی به پایگاه داده هایمقیاس پذیر را تلفیق کرد . دلفی1 اصطلاح توسعه سریع برنامه کاربردی (RAD) را تعریف کرد ترکیب کامپایلر ، ابزار RAD و دسترسی سریع به پایگاه داده ها ، بسیاری از برنامه نویسانVB را به طرف خود جلب کرد و دلفی در بسیاری از تبدیلها موفق شد . همچنین بسیاری ازتوسعه گران Turbo Pascal با گذار به این ابزار یکنواخت و جدید ، دوره جدیدی را آغاز کردند. Object Pascal (پاسکال موضوعی) آن زبانی نبود که ما بتوانیم در دانشگاه از آن استفاده کنیمو به راحتی برنامه نویسی نماییم . بسیاری دیگر از برنامه نویسان برای بهره بردن از از الگوهایطراحی قدرتمند ارائه شده توسط زبان و ابزار دلفی به آن روی آوردند . گروه ویژوال بیسیک درمیکروسافت که تا قبل از دلفی ، رقیب مهمی برای آنها نبود ، اصلا آمادگی چنین چیزی را نداشتند. ویژوال بیسیک 3 قدیمی ، حجیم و گنگ بود و به هیچ وجه قابل مقایسه با دلفی 1 نبود .در سال 1995 ، شرکت بورلند شکست بزرگی را در دادخواهی شرکت لوتوس به خاطر شباهتبرنامه Quattro با برنامه 3-2-1 تحمل کرده بود . همچنین شرکت بورلند به خاطر رقابت دربازار برنامه های کاربردی از سوی میکروسافت تحت فشار بود . بورلند با فروش کواتر تجاریبه شرکت ناول ، از بازار برنامه های کاربردی خارج شد و dBase و Paradox را برای توسعهگران پایگاه داده ها مد نظر قرار داد. در حالی که بورلند سرگرم بازار ابزارهای توسعه گرویندوز بود ، میکروسافت مقدار زیادی از سهم سکوی تجاری بورلند در بازار را تصاحب کرد .
بورلند با متمرکز کردن دوباره مهارت اصلی خود ، در ایجاد ابزارهای توسعه گر در نظر داشتتا با دلفی و نگارش جدیدی از Borland C++ ، ضربه ای بزند .
دلفی2 :
یک سال بعد ، دلفی 2 تمامی این قابلیت ها را تحت سیستم های عامل پیشرفته 32 بیتی ویندوز 95و ویندوز NT ارائه داد . علاوه بر این ، دلفی 2 با ویژگیها و کارایی جدید مانند یک کامپایلر 32بیتی که برنامه های کاربردی سریعتری را ایجاد می کند ، یک کتابخانه موضوعی پیشرفته وتوسعه داده شده ، پشتیبانی پایگاه داده های بازسازی شده ، اداره رشته بهبود یافته ، پشتیبانی ازOLE ، ارث بری فرم ویژوالی (VFI) و سازگاری با پروژه های دلفی 16 بیتی ، بهره وری رابهبود بخشیده است . دلفی 2 معیاری شد که سایر ابزارهای RAD با آن سنجیده می شوند .در سال 1996 ، مهمترین سکوی ویندوز از زمان ویندوز ./3 (ویندوز 32 بیتی 95) ترخیص شد. بورلند علاقه داشت تا دلفی را به عنوان برترین ابزار تولید برنامه برای ویندوز ایجاد کند . یکنکته تاریخی جالب دلفی اینست که قرار بود دلفی 2 ، دلفی 32 نامیده شود تا این حقیقت را کهبرای ویندوز 32 بیتی طراحی شده نشان دهد ، ولی نام محصول ، قبل از انتشار به دلفی 2 تغییریافت تا نشان دهد که دلفی یک محصول کامل شده است .میکروسافت کوشید تا با ویژوال بیسیک 4 ، با حریف خود مقابله کند ولی ویژوال بیسیک 4 دچاراختلالاتی مانند کارایی ضعیف ، عدم امکان قابلیت حمل از 16 بیتی به 32 بیتی و کاستی هایطراحی کلیدی بود . با این وجود ، تعداد قابل توجهی از برنامه نویسان بودند که به هر دلیلی بهاستفاده از ویژوال بیسیک ادامه دادند . بورلند همچنین علاقه داشت تا دلفی به بازار سرور (خادم)/ کلاینت (مشتری) که در اختیار ابزارهایی مانند PowerBuilder بود رخنه کند ، ولی ایننگارش هنوز قدرت لازم برای کنار زدن چنین محصولاتی را نداشت .راهکار (استراتژی) شرکت در این زمان به طور انکار ناپذیری برای تمرکز روی مشتریانشرکتبود . تصمیم تغییر جهت به این روش ، بدون شک ناشی از کم شدن رابطه بازاری dBase وParadox بود و کاهش تدریجی درآمد بازار C++ نیز به این تصمیم گیری کمک نمود . بهمنظور راهنمایی برای شروع حرکت (و جهت دستیابی به هدف فوق) ، بورلند اشتباه تأسیسOpen Environment Corporation را مرتکب شد که یک شرکت میان افزاری(Middleware) با دو محصول عمده بود : یک میان افزار خارج از رده بر مبنای DCE که میتوان آن را CORBA نامید و یک فناوری اختصاصی برای OLE توزیع شده که توسطDCOM ، در حال منسوخ شدن می باشد.
دلفی 3 :
در طی توسعه دلفی 1 ، گروه توسعه دلفی به ایجاد ساده ابزار و ترخیص آسان مشغول شد . برایدلفی 2 ، گروه توسعه مشغول انجام وظایفی نظیر انتقال به 32 بیتی (ضمن حفظ سازگاری تقریباکامل) و افزودن ویژگیهای پایگاه داده های جدید و سرور (خادم) / مشتری (کلاینت) مورد نیازتوسط IT (فناوری اطلاعات) شرکتی بود . هنگام ایجاد دلفی 3 ، گروه توسعه فرصتی یافتند تامجموعه ابزار را برای ارائه راه حل هایی با وسعت و عمق فوق العاده جهت برخی مسائل مرتبط با توسعه گران ویندوز گسترش دهند . خصوصا دلفی 3 کاربرد فناوری های کاملا پیچیده COMو ActiveX ، توسعه برنامه کاربردی وب جهانی ، برنامه های کاربردی “thin client”(مشتری کم کار) و معماری های پایگاه داده های چند ردیفی (multitier) را آسان نمود . ابزارCode Insight دلفی 3 ، فرآیند کد نویسی را کمی آسانتر نمود اگر چه در اغلب موارد ، تحلیلروش نوشتن برنامه های کاربردی دلفی همان است که در دلفی 1 بود .در سال 1997 ، رقابت ، باعث رخ دادن اتفاقات جالبی شده بود . در پایین ترین سطح ،میکروسافت بالاخره چندین کار در ویژوال بیسیک 5 انجام داد که عبارتند از : یک کامپایلر برایبرطرف ساختن مشکلات قبلی کارایی ، پشتیبانی خوب از COM/ActiveX و برخی ویژگیهای سکوی جدید کلیدی . حال ، دلفی در بالاترین سطح به طور موفقیت آمیز محصولات شرکتهایی مانند PowerBuilder و Forte را از دور خارج کرده است .در طول چرخه توسعه دلفی 3 ، با تصمیم Anders Hejlsberg (معمار ارشد دلفی) در موردترک بورلند و احراز سمتی در میکروسافت ، دلفی یک عضو اصلی خود را از دست داد . هرچندکه به خاطر جایگزین شدن Chuck Jazdzewski (کمک معمار با سابقه در رأس امور) ، گروهمزبور ضرر نکرد .
دلفی :4
دلفی 4 روی توسعه آسانتر متمرکز شد . Module Explorer معرفی شد و شما را قادر به مرورو ویرایش واحدها (Unit) توسط یک رابط گرافیکی مناسب نمود . ناوبر کد(Code navigator)جدید و ویژگی های تکمیل کلاس ، شما را قادر ساخت تا با مقداری کار اضافی ، روی اصلبرنامه های کاربردی خود تمرکز کنید . IDE با نوار ابزار و پنجره های قابل مقر (dockable) ،طراحی مجدد شد تا ایجاد برنامه را برای شما راحت تر سازد و برنامه اشکال زدا (debugger)نیز به مقدار زیادی بهبود داده شد . دلفی 4 توانایی محصول را در زمینه سازمانی (enterprise)با پشتیبانی چند ردیفی (multitier) برجسته با استفاده از فناوری هایی نظیر MIDAS ،DCOM ، MTS و CORBA توسعه داد .در سال 1998 دلفی موقعیت خود را در رقابت کاملا مستحکم کرده بود . خطوط مقدم تا اندازه ایتثبیت شده بودند ، اگر چه دلفی به تدریج بهره خود از بازار را بالا می برد . CORBA درصنعت مطرح بود و دلفی آن را داشت و رقبا فاقد آن بودند . البته دلفی 4 چند نکته کوچک منفینیز داشت : پس از این که دلفی چندین سال با ثبات ترین ابزار در بازار بود ، دلفی 4 نزد کاربرانکهنه کار به نبودن در استاندارد بسیار بالا برای ثبات و طراحی محض معروف شده بود .انتشار دلفی 4 با تأسیس شرکت Visigenic ، با یکی از پیشروهای صنعت CORBA همراه شد. بورلند در کوششی برای رخنه کردن در enterprise ، نام آن را به Inprise ، تغییر داد و درموقعیتی قرار گرفت تا صنعت را با تلفیق ابزارهای خود با فناوری CORBA به افق جدیدیهدایت کند . جهت پیروزی واقعی ، لازم بود تا CORBA به اندازه ایجاد COM یا اینترنت کهدر نگارش های قبلی ابزارهای بورلند انجام شده بود ، آسان شود . تلفیق ابزار تولید CORBAسهم کمی را در کل ایجاد نرم افزار به خود اختصاص داد اگر چه به دلایل مختلف ، این تلفیق بهاندازه ای که باید باشد نبود .
دلفی 5 :
دلفی 5 از چندین جهت پیشرفت داشت : اول این که دلفی 5 ، آنچه را که دلفی 4 با بفزودن ویژگیهای بیشتر برای آسان کردن وظایف وقت گیر شروع کرده بود ادامه داد . در نتیجه به شما امکان داد تا بیشتر به آنچه می خواهید بنویسید توجه کنید (و کمتر روی چگونگی نوشتن آن تکیه داشتهباشید) . این ویژگی های سودمند جدید ، شامل توسعه بیشتر IDE و برنامه اشکال زدا ، نرم افزارتولید گروهی TeamSource و ابزارهای تبدیل می باشد . دوم آن که دلفی 5 ویژگی های جدیدیبرای آسان ساختن توسعه اینترنتی دارد . این ویژگی های جدید اینترنتی ، شامل جادوگر ActiveServer Object Wizard برای ایجاد ASP ، مؤلفه های InternetExpress برای پشتیبانی ازXML و ویژگی های جدید MDAS می باشد که سبب شده است سکوی داده های بسیار انعطافپذیر برای اینترنت ایجاد کند . در نهایت ، بورلند ارائه مهمترین ویژگی دلفی 5 یعنی پایداری راشروع نمود . یک نرم افزار عظیم را نمی توان ناگهانی ارائه داد بدین منظور ، بورلند صبر کردتا دلفی 5 قبل از ارائه شدن ، کمی منتظر بماند .دلفی 5 در نیمه دوم سال 1999 عرضه شد . دلفی به رخنه کردن در سازمانی (enterprise)ادامه می داد در حالی که ویژوال بیسیک به صورت رقیبی در سطح پایین عمل می کرد هر چندکه هنوز جنگ برقرار بود . نام Inprise به دنبال Borland فقط به عنوان یک نام تجاری آوردهمی شد . ادارات اجرایی با تقسیم شدن شرکت بین ابزارها و میان افزار ، ترک ناگهانی CEODel Yocam و استخدام CEO Dale Fuller مدیر Internet-savvy که دوباره شرکت راروی تولید کنندگان نرم افزار متمرکز کرد ، مدتی آشفته بودند
دلفی 6و7 :
به طور واضح ، تم (شاهدک) اصلی دلفی 7 ، سازگاری با ابزار توسعه برنامه Kylix بورلندبرای لینوکس است . بدین منظور بورلند Component Library (کتابخانه مؤلفه) جدیدی برایCross-Platform (سکوی تقابلی) (CLX) ایجاد کرد که شامل VisualCLX برای توسعهویژوالی (بصری) ، مؤلفه های دسترسی به داده های کلاینت (مشتری) ، DataCLX و مؤلفههای NetCLX Internet می باشند . برنامه های کاربردی که تنها با کتابخانه CLX و عناصرقابل حمل RTL نوشته شده اند به راحتی بین سیستم های ویندوز و لینوکس قابل حمل هستند .مجموعه مؤلفه ها و درایور (گرداننده) های جدید dbExpress ، یکی از بزرگترین قدم ها درکوشش برای ایجاد سازگاری با لینوکس است چرا که بالاخره جانشین واقعی را برای BDE کهدر سالهای اخیر واقعا قدیمی شده بود ، ارائه کرد .تم بعدی دلفی 7 ، همراه بودن همه موارد XML است . این شامل XML برای برنامه هایکاربردی پایگاه داده ها ، برنامه های مبتنی بر وب و سرویس های وب مبتنی بر Soap می باشد .توسعه گران دلفی ابزارهایی دارند که برای دربر داشتن کامل روند گسترده صنعتی به سویXML ، مورد نیاز می باشد . این ابزارها مزایای بسیاری را از لحاظ برنامه های کاربردی کهدر برابر محدودیت های سنتی ابزارهای مختلف توسعه ، سکو (platform) ها و پایگاه داده ها ودر عوض اینترنت عمل می نمایند ارائه می کنند.البته علاوه بر تمام این بهبود ها و افزوده ها ، دلفی 7 بهبودهایی را انجام داد که در نگارش هایمختلف دلفی در موضوعاتی مانند VCL ، IDE ، اشکال زداها ، زبان پاسکال موضوعی وRTL انتظار داشتید.
پیشگفتاری برای دلفی
مقام برنامه نویسی رایانه ای :
در ميان تمام علوم نرمافزاری رايانه كه از ديرباز تا كنون به صورت روزافزون وجود داشته ودارند، بالاترين مقام از آنِ برنامهنويسی است كه تازگی به برنامهسازی تبديل شده است؛ بهگونهای كه اگر برنامهنويسی در حدّ متوسّط يا حرفهای را در يک كفه ترازو و تعداد زيادیتكنسين رشتههای ديگر علوم رايانهای را در كفه ديگر آن قرار دهيم، كفه مربوط به برنامهنويساز نظر علمی و جايگاه آن در علوم رايانهای سنگينی خواهد كرد.
زبان برنامه نویسی :
محيطی كه برنامهنويسی و به عبارت بهتر، برنامهسازی در آن صورت میگيرد، زبان برنامه نويسی نام دارد.
انواع زبانهای برنامهنويسی از نظر سطح :
◊ سطح پايين:
نوعی از زبانهای برنامهنويسی هستند كه بايد در آنها برنامه خود را با استفاده از زبان ماشينايجاد كرد. نمونه اصلی اين نوع زبانهای برنامهنويسی، زبان برنامه نویسی Assemblyمی باشد.
◊ سطح بالا:
در اين دسته از زبانهای برنامهنويسی، نيازی به استفاده از زبان ماشين برای ايجاد برنامههانمیباشد و در آنها كدهايی شبيه گفتار محاورهای روزمره انگليسی نگاشته میشود تا برنامه ايجادگردد. تعداد اين نوع زبانهای برنامهنويسی زياد است و استفاده از اين نوع زبانهای برنامهنويسیبجز در موارد استثنايی بهتر میباشد. نمونههای اصلي اين نوع زبان برنامهنويسی عبارتند از:Microsoft Visual Basic(VB), Microsoft , Visual C، و Delphi.البته فرمانی در دلفی وجود دارد كه با استفاده از آن میتوان به زبان ماشين هم برنامه نوشت.
انواع زبانهای برنامهنويسی از نظر عملكرد :
زبانهای برنامهنويسی كه ابزارهای ويژهای را برای توسعه سريع برنامههای كاربردی فراهم كردهاند؛ امّا محدود به ساختار داخلی خود میباشند؛ مانند زبانهای برنامهنويسی Paradox، VB، PowerBuilder، FoxPro، Visual FoxPro، Opal، Smalltalk, PE2 و DOS BatchFiles.زبانهای برنامهنويسی كه به برنامهنويس اجازه میدهند به هر چيزی روی رايانه دسترسی داشته باشد؛ امّا مزايای اين نوع زبانهای برنامهنويسی به جای آن كه يک راه حل مفيد ارائهدهند، بيشتر مشكلساز هستند؛ چرا كه در بعضی مواقع ابزارهای آنها به قدری پيچيده میشوندكه بايد به جای پرداختن به مشكل خود، مسألههای مربوط به ابزارهای آنها را حل كرد؛ مانندزبانهای برنامهنويسی C++، Turbo Pascal و Assembly؛زبانهای برنامهنويسی كه حاوی مزايايی هر دو نوع بالا و عاری از عيبهای آنها میباشند:نمونه اصلی اين نوع زبانهای برنامهنويسی، زبان برنامهنويسی Delphi است.
جايگاه گسترش دلفي در ميان زبانهای برنامهنويسی :
در بازه زمانی سالهای 1374 تا 1380 ش. شاهد دگرگونیهای ژرفی در علوم انفورماتيکبوديم. گذشته از گسترش فزاينده شبكههای رايانهای و تولّد سيستمعامل Windows، نسل جديدیاز زبانهای برنامهنويسی پا به عرصه وجود گذاشتند كه با همراهداشتن ميراث زبانهای نسل پيشاز خود و با تكيه بر الگوهای جديد، ضمن آسانكردن فرآيندهای برنامهنويسی، در بالابردن سطحكيفی برنامههای توليدشده نيز مؤثّر واقع شدند، تا آنجا كه امروزه وجود رقابت شديد بينشركتهای بزرگ برنامهسازی برای تهيّه ابزارهای برنامهسازی عاملی شده تا تنوّع و كيفيّت اينمحصولات همهروزه افزايش يابد.زبانهای برنامهنويسی مانند VB، VC و Delphi هر روزه تغييرات جديدی را به خود میبيننو سير تكاملي آنها به سوی افزايش ابزارهای نهفته و پشتيبانی بهتر و كاملتر از مفهومهایمختلف در برنامهنويسی شیءگرا سوق يافته استزبان برنامهنويسی VC و بستههای مشابه آن بيشتر از هر چيز به سابقه ديرينه خود برای ساختبستههای سيستمی (مانند فايلهای DLL، ابزارهای كنترل برنامه مانند VBX و كار با واسطهها)تكيه كردهاند و زبان برنامهنويسی VB همچون نياكان خود بيشتر از هر چيز سعی داشته سادگیرا با افزايش قابليّتها و توانايیهای بيشتر حفظ كند.در حالی كه هر يک از اين زبانهای برنامهنويسی به سمت خاصّ خودشان ميل بيشتری يافتهاند،دلفی تمام توانايیها را يکجا فراهم كرده است، به گونهای كه دلفی منبع بزرگی از توانايیها وابزارهای برنامهنويسی تحت Windows است كه تمام نقطهضعفهای موجود در زبانهایبرنامهنويسی ديگر تحت Windows را پوشانيده است، به طوری كه هر برنامهای كه بخواهيد بادلفی قابل انجام است؛ چرا كه دلفی با خود دلفی ساخته شده است.اصول اين زبان را میتوانيد در چند ساعت فرا بگيريد. چند هفته، برای آموزش كلّيّات اين زبانكافی است و زمان سه ماه برای فراگرفتن بيشتر مهارتها برای ايجاد برنامههای كاربردی كفايتمیكند. متخصّص و متبحّرشدن در اين زبان مانند زبانهای ديگر به تجربه زياد و صرف چندسال وقت نياز دارد.همچنين از آنجا كه دلفی گونهای محيط برنامهسازی ديداری بر اساس زبان برنامهنويسی Pascalاست؛ لذا انتخاب نام Visual Pascal برای آن دور و بیجا نخواهد بود.
ويژگیهای زبان برنامهسازی دلفی
محيط توسعه مجتمع بسيار قوی و انعطافپذير :
در زبانهای برنامهنويسی ديداری (همچون دلفی)، محيط کار و سادگی استفاده از آن، نقش مهم(وحتّی مهمتر از برنامه مترجم) را در طرّاحی برنامهها بر عهده دارد كه سازندگان دلفی به اين نكتهتوجّه داشتند، به طوری كه يک مجتمع كامل برای ساخت برنامهها در دلفی وجود دارد كه هرچيزی كه لازم داريد، در اين محيط موجود است.
بهرهمندی كامل از شيوه شیءگرایی:
ساختار زبان برنامهسازی دلفی بر اصل استفاده از پاسكال شیءگرا بنا گرديده است كه زبانیكامل، قدرتمند و يكسره شیگراست. هسته اصلی روشهای برنامهنويسی شیءگرا در دلفی نهفتهاست و همينک دلفی به صورت واقعی از قابليّتهای مختلف زبانهای شیءگرا پشتيبانی میكند ودارای ويژگیهايی اضافی (مانند بازبينی نوع دادهها در هنگام اجرا، واژه كليدی Published،ويژگیها و تابعهای بازگرداننده نوعهای پيچيده) نيز میباشد. مفهوم شیءگرايی در دلفی كاملتراز C++ است؛ ولی ممكن است به كاملی قابليّتهای شیءگرايی Smalltalk نباشد. در هرصورت، در حال حاضر دلفی قسمت عمده كدهای برنامه را به صورت كاملاً شیءگرا توليدمیكند.كوتاهبودن كدهای برنامهنويسی و روشهای ويرايش آنها:دلفی بسياری از كدهای برنامهها را به صورت خودكار در هنگام آغاز ايجاد پروژه توليد میكند؛امّا علاوه بر اين قابليّت، قسمتی تحت عنوان «ويرايشگر كد» دارد كه بر پايه متن استوار است وقابليّتهايی مانند تعيين عكسالعملها، همزمانسازیها، تكميل كدها، قابلاستفادهبودن جزيی كدها،استفاده از ماكروها، و نقشههای كليدی سفارشی را در اختيار شما قرار میدهد. همچنين تركيبمتن روشن و نيز باز و بستهشدن كدها در خواندن، و هدايتكردن كدها به شما كمک خواهد كرد.
كتابخانه بسيار غنی از شیءها:
دلفی چنان كتابخانهای از شیءهای ديداری و غيرديداری دارد كه كمتر شیء را میتوان دربرنامهها يافت كه در آن موجود نباشد.
ايجاد برنامه الگو:
فرآيند الگوسازی، گسترش برنامهها (خواه برنامههای بر پايه UML و خواه برنامههایايجادشونده در چارچوب كاری .NET) را سريعتر میكند و اين در حالی است كه برنامهساز حتّیيک خط كد هم ننوشته است.
تعريف نيازمندیها:
دلفی يک رابط به برنامه Borland CaliberRM تهيّه میكند. اين برنامه كه بر پايه صفحههایوب قرار دارد، نظامی برای تعريف نيازمندیها و مديريّت برنامهسازی است، به طوری كهبرنامه مورد تهيّه نهايت انتظار كاربران را به دست میآورد؛ البتّه اين برنامه بدون محيط توسعهمجتمع دلفی نيز قابل دسترسی است.
طرّاحی انواع رابط كاربر (واسط كاربر):
دلفی قادر است انواع رابطهای كاربر گرافيكی، فرمهای VCL، فرمهای ويندوزی، فرمهای وبی،و صفحههای HTML
سازگاری، پشتيبانی، و ارتباط :
سازگاری ميان نسخههای مختلف دلفی؛
سازگاری با برنامههای مبتنی بر ActiveX، C++، Java، Visual Basic، MS-Office وPowerBuilder؛مديريّت و پشتيبانی كامل از انواع بانک اطّلاعاتی و SQL؛کنترل كامل مبدأ برنامهها بر اساس نظامهای كنترل مبدأ ClearCase ، CVS Visual SourceSafe؛ارتباط با تيم طلايی.
كار در چارچوب كاری Net. مايكروسافت:
چارچوب كاری .NET مايكروسافت، چارچوبی اصلی برای ايجاد و اجرای برنامههای .NETاست كه شامل زبانهای اجرايی مشهور و كتابخانه كلاس میباشد. زبانهای اجرايی مشهور،برنامهها را توليد و خدماتی مانند مديريّت حافظه و اجرای همزمان چند زبان را فراهم میكنند.كتابخانه كلاس هم مجموعهای از مؤلّفهها است كه میتواند جهت شیء را كه در برنامههایكاربردی.NET استفاده میشوند، تعيين كرده و مجدّداً مورد استفاده قرار بگيرند تا بتوان بهتريناستفاده را از زبانهای اجرايی كرد، به طوری كه دلفی تمام چارچوب كاری كتابخانه كلاس را درمحيط خود برای پرورش برنامههای كاربردی .NET قرار داده است و در چند مورد نيز آن راگسترش داده است.
ترجمه سريع برنامه:
ترجمه برنامه در دلفی بسيار سريع انجام میشود؛ به طوری که سرعت اين ترجمه بيشتر ازسرعت مترجمهای زبانهای برنامهنويسی C و C++ است و حتی دارای سرعتی 10 تا 20 بارسريعتر از برنامههای تفسيری (مانند VB, PowerBuilder, Paradox, Visual Fox Pro وdBase) میباشد و به ادّعای شرکت Borland، مترجم دلفی سريعترين مترجم در بين زبانهایبرنامهنويسی است و از دلايل اين امر میتوان به سادگی تعريف و ساختار زبان برنامهنويسیدلفی و نياز کمتر مترجم به تلفيق قسمتهای لازم برنامه در آن اشاره كرد. لازم به ذكر است كهمترجم دلفی، مترجمی برای پاسكال میباشد.
اشكالزدايی، مستقرسازی، و نصب برنامهها:
اشكالزداهای توسعهيافته Borland .NET و Borland Win32 شما را در يافتن و تصحيحانواع اشكالهای برنامه كمک میكنند. همچنين مدير مستقرسازی ASP.NET دلفی، شما را دركپیكردن فايلهايی كه برنامههای ASP.NET به سوی يک سرويسدهنده وب نياز دارد، كمکمینمايد. همچنين، چارچوب كاری .NET شامل چند برنامه كمكی است كه شما را در آمادهسازیبرنامههايتان برای مستقرسازی آنها كمک میكند. دلفی نيز شامل برنامه InstallShieldExpress برای ايجاد برنامههای نصبكننده ويندوزی میباشد.
خروجی ايستا:
فايلهای اجرايی دلفی نيز يک فايل EXE واقعی و تنهاست كه همه چيز در درون آن قرار دادهشده است و قابل اجرا بر روی هر رايانه دارای شرايط درست میباشد. در نتيجه، نيازی به تحويلفايلهای ديگر (كتابخانههای در حال اجرا) به مشتری در هنگام ارائه فايل اجرايی نمیباشد؛ درحالی كه در VB بايد فايلهای VBX نيز به همراه فايل اجرايی نهايی به مشتری ارائه شوند؛ البتّهمگر آنكه از بستهها استفاده كرده باشيد. به همين دليل، برنامههای دلفی برای نصب، سادهتر ازبرنامههای نوشتهشده به وسيله ساير زبانهای برنامهنويسی میباشند.
اجزای محیط دلفی
نوار عنوان:
بالاترين نوار موجود در پنجره برنامه میباشد که از چپ به راست، به ترتيب شكلک برنامه، نامپروژه جاری، Borland Delphi، و نام فايل يا فرم جاری را نمايش میدهد و دارای سه دكمهكنترلی با چهار حالت مختلف در منتهیاليه سمت راست خود میباشد(1 در تصویر).
نوار فهرست گزينشی:
معمولاً در پايين نوار عنوان قرار دارد و حاوی عنوانهايی است که هر عنوان دارای يک فهرستگزينشی با تعدادی گزينه براي اجرای فرمانها و فعّالسازی يا غيرفعّالسازی قابليّتها میباشد.
نوارهای ابزار:
معمولاً در زير نوار فهرست گزينشی قرار دارند و حاوی مجموعهای از پركاربردترين فرمانهاو قابليّتهای دلفی هستند و سيزده نوع میباشد.
پنجره نمای بنا :
ساختار درختی كدهای مبدأ يا HTML را كه در قسمت «ويرايشگر كد» مشاهده میشوند ياشیءهايی را كه در قسمت «سطح طرّاح» مشاهده میگردند نمايش میدهد و نيز اگر كدهاینوشتهشده شما دارای اِشكال از نظر قانونهای برنامهنويسی باشند، در پوشه Errors در اين پنجرهديده میشوند؛
پنجره بازرس شیء، نظارت بر شیء، يا ناظر شیءها:
برای تعيين يا تغيير «ويژگی»ها و «رويداد»های شیءها به كار میرود؛ (5 در تصویر)
صفحه خوشآمدگويی:
دارای قسمتهای مختلفی همچون چند دكمه مربوط به آغاز كار، چند پيوند به منبعهای توسعهبرنامه (مانند مقالههای آموزشی، راهنمای online، و محصولات وابسته به دلفی) و فهرستی ازپيوندهای متّصل به آخرين پروژههای در حال انجام توسّط كاربر (كه در قسمت بالای اين صفحهقرار میگیرند) میباشد؛
پنجره مدير پروژه:
برای مشاهده و سازماندهی فايلهای تشكيلدهنده يک پروژه يا چند پروژه به صورت تركيبیاست؛
پنجره نمای قالب:
بيانگر نحوه توسعه ECO با دلفی میباشد؛ (8 در تصویر)
كاوشگر دادهها:
برای كاوش در شیءهای ويژه خدمتدهنده پايگاههای داده (مانند جدولها، ستونها، پردازهها ذخيرهشده تعريفشده، مدارها، و ايندكسها) و ايجاد و مديريّت اتّصالهای پايگاه داده است؛
جعبه ابزار:
بستگی به نمايی كه در آن قرار داريد (مانند «سطح طرّاح» يا «ويرايشگر كد»)، شاملقسمتهايی برای توسعهدادن پروژه شما میباشد. برای مثال، هنگامی كه در نمای «سطح طرّاح»هستيد، حاوی شیءهای قابلدسترس در آن سطح میباشد كه به صورت دستهبندیشده ارائهمیگردند و هنگامی كه در نمای «ويرايشگر كد» هستيد، بيانگر جزئيّات كدهايی است كه شمامیتوانيد آنها را به كدهايتانبيافزاييد؛ (10 در تصویر)
Properties:
برگه فعّال پيشفرض است كه با استفاده از محتويّات آن، میتوان ويژگیهای شیء جاری راتنظيم كرد. اين ويژگیها بر حسب كاربردشان در گروههای مختلف دستهبندی شدهاند كه نام هرگروه به رنگ قرمز و به صورت توپر و كمي چپتر از راستای ويژگیها مشخّص گرديده استو میتوان ويژگیهاي زيرمجموعه آنها را گسترش داده يا در صورت نياز، جمع كرد. همچنينويژگیها بر اساس حروف الفبا مرتّب شدهاند تا يافتن ویژگی موردنظر در ميان ويژگیهای مختلفآسان گردد. نوع مقدارهای هر ويژگی بستگی به نوع آن ويژگی دارد و مقداری غير از نوعمتناسب را نمیپذيرد. همچنين با قرارگرفتن بر روی هر ويژگی، نام و عملكرد آن به صورتخلاصه در پايين اين پنجره نمايش داده میشود و در صورتی كه تعداد اين گروهها و ويژگیها بهاندازهای باشد كه در پنجره جای نگيرند، پنجره حاوی نوار پيمايش میگردد.
Events:
با استفاده از محتويّات اين برگه كه به صورت برگه قبلی تنظيم شده است، میتوان پاسخهایرويدادهايی را كه ممكن است برای شیء جاری روی دهد تعيين كرد. برای اين كار روی رويدادموردنظر كليک نموده و از روی دكمه حاوی پيكان روبهروی آن پردازه يا عملكردی را كهمیخواهيد در پاسخ آن قرار دهيد، تنظيم نماييد يا با دابلكليکكردن در قسمت روبهروی آن،پردازه مربوط به آن رويداد ايجاد میشود يا در صورت وجود، به آن پردازه در قسمت ويرايشگركد رفته و جواب را تعيين كرده يا تغيير دهيد.
- برخی از ويژگیها تنها در هنگام اجرای برنامه قابل تغيير هستند که اين ويژگیها در پنجرهبازرس شیء مشاهده نمیشوند؛ امّا در فايل واحد قابلدسترس میباشند.
- برخی از ويژگیها تنها در هنگام اجرای برنامه به صورت فقطخواندنی قابل دسترس هستند.
رویداد و پردازنده
رويداد:
هر عملی كه از سوی كاربر يا سيستمعامل بر روی برنامهای که در حال ساخت آن هستید، انجامشود را يک رويداد میگويند؛ مانند فشردن يک كليد، حركتدادن اشارهگر موشواره، انتخابعنوانی از فهرست گزينشی، دستكاریكردن يک فايل، چاپ يک سند، و ارسال يک فايل توسّطدستگاه Modem.برنامهنويس بايد در هنگام برنامهنويسی عکسالعملهای اين رويدادها را (معمولاً به صورتکدهايی) تعيين کند؛ به طوری که اين کدها در فايل کد فرم که فايل واحد ناميده میشود، ذخيرهگرديده و در هنگام بروز رويداد مزبور، کدهای مربوط به آن رويداد اجرا میشوند.
- هر شیء كه دارای قابليّت داشتن رويداد باشد، دارای يک سری رويداد مخصوص به خوداست؛ هر چند ممكن است بعضی از شیءها دارای رويدادهای مشترک نيز باشند.
- هيج فرمی بدون فايل واحد نمیتواند وجود داشته باشد؛ امّا بالعكس آن ممكن است.
- هنگامی كه فرمی ايجاد میشود، به صورت خودکار يک فايل واحد نيز برای آن ايجاد میگردد
پردازه، رويه، هماهنگکننده رويداد، يا مدير رويداد :
کدهای جواب مربوط به هر رويداد در داخل قسمتی از فايل واحد به نام پردازه قرار میگيرند. درنتيجه، پردازه يک زيربرنامه است كه از سوی قسمت ديگری از برنامه، به منظور انجام عملويژهای فراخوانی میشود و پل ميان برنامه و كاربر یا برنامه و سیستمعامل است.
شكل كلّی پردازه يک رويداد :
Procedure TformName.ObjectName+EventName(Parameters(s));Beginend;
هر كدی كه برنامهنويس در ميان Procedure و end; مینويسد، به پردازه افزوده میشود، بهطوری كه هنگامی كه اين رويداد به وقوع میپيوندد، معمولاً به اجرا در خواهد آمد، به گونهای كهاگر چندين سطر كد در ميان Begin و end; نوشته شود، كدها از بالا به پايين اجرا میشوند.درون پرانتزها نيز اطّلاعات ارسالی به پردازه قرار میگيرد كه به آنها، عاملهای مؤثّر گفتهمیشود.
- معمولاً مهمترين پردازه رويداد هر شیء، با دابلكليکكردن بر روی آن شیء قابل فراخوانیاست.
- کدهايی را كه از اين به بعد میآموزيد، میتوانيد در پردازه هر رويدادی بنويسيد؛ امّا اين كهكدام كد در كجا نوشته شود، نيازمند درايت برنامهنويس است.
- وجود دو حالت «سطح طرّاح» و «ويرايشگر كد» كمک بزرگی به برنامهنويس مینمايد، هرچند كه ممكن است از ديد يک كاربر تازهكار اين عمل سراسر راز و رمز باشد.
- تغييراتی كه از طريق سطح طرّاح و پنجره بازرس شیء بر روی ويژگیهای يک شیء اِعمالمیشوند، «تغييرات زمان طرّاحی» و تغييراتی كه از طريق کد اِعمال میگردند، «تغييرات درزمان اجرا» ناميده میشوند.
بانک های اطلاعاتی و ارتباط آنها با دلفی
بانک اطلاعاتی چیست ؟
دادِگان (پایگاه دادهها یا بانک اطلاعاتی) به مجموعهای از اطلاعات با ساختار منظم و سامانمندگفته میشود. این پایگاههای اطلاعاتی معمولاً در قالبی که برای دستگاهها و رایانهها قابل خواندنو قابل دسترسی باشند ذخیره میشوند. البته چنین شیوه ذخیرهسازی اطلاعات تنها روش موجودنیست و شیوههای دیگری مانند ذخیرهسازی ساده در پروندهها نیز استفاده میگردد. مسئلهای کهذخیرهسازی دادهها در دادگان را موثر میسازد وجود یک ساختار مفهومی است برایذخیرهسازی و روابط بین دادهها است.پایگاه داده در اصل مجموعهای سازمان یافته از اطلاعات است.این واژه از دانش رایانه سرچشمهمیگیرد ،اما کاربر وسیع و عمومی نیز دارد، این وسعت به اندازهای است که مرکز اروپایی پایگاه داده (که تعاریف خردمندانهای برای پایگاه داده ایجاد میکند) شامل تعاریف غیرالکترونیکی برای پایگاه داده میباشد. در این نوشتار به کاربرد های تکنیکی برای این اصطلاحمحدود میشود.یک تعریف ممکن این است که: پایگاه داده مجموعهای از رکورد های ذخیره شده در رایانه با یکروش سیستماتیک (اصولی) مثل یک برنامه رایانهای است که میتواند به سوالات کاربر پاسخدهد. برای ذخیره و بازیابی بهتر، هر رکورد معمولا به صورت مجموعهای از اجزای دادهای یارویداد ها سازماندهی میگردد. بخش های بازیابی شده در هر پرسش به اطلاعاتی تبدیل میشودکه برای اتخاذ یک تصمیم کاربرد دارد. برنامه رایانهای که برای مدیریت و پرسش و پاسخ بینپایگاههای دادهای استفاده میشود را مدیر سیستم پایگاه دادهای یا به اختصار (DBMS) مینامیم.خصوصیات و طراحی سیستم های پایگاه دادهای در علم اطلاعات مطالعه میشود.مفهوم اصلی پایگاه داده این است که پایگاه داده مجموعهای از رکورد ها یا تکه هایی از یکشناخت است.نوعا در یک پایگاه داده توصیف ساخت یافتهای برای موجودیت های نگه داری شدهدر پایگاه داده وجود دارد: این توصیف با یک الگو یا مدل شناخته میشود. مدل توصیفی، اشیاپایگاههای داده و ارتباط بین آنها را نشان میدهد. روش های متفاوتی برای سازماندهی این مدل هاوجود دارد که به آنها مدل های پایگاه داده گوییم. پرکاربردترین مدلی که امروزه بسیار استفادهمیشود، مدل رابطهای است که به طور عام به صورت زیر تعریف میشود: نمایش تماماطلاعاتی که به فرم جداول مرتبط که هریک از سطر ها و ستونها تشکیل شده است(تعریف حقیقیآن در علم ریاضیات برسی میشود). در این مدل وابستگی ها به کمک مقادیر مشترک در بیش ازیک جدول نشان داده میشود. مدل های دیگری مثل مدل سلسله مراتب و مدل شبکهای به طورصریح تری ارتباط ها را نشان میدهند.در مباحث تخصصی تر اصتلاح دادگان یا پایگاه داده به صورت مجموعهای از رکورد هایمرتبط با هم تعریف میشود. بسیاری از حرفهای ها مجموعهای از داده هایی با خصوصیاتیکسان به منظور ایجاد یک پایگاه دادهای یکتا استفاده میکنند.معمولا DBMS ها بر اساس مدل هایی که استفاده میکنند تقسیم بندی میشوند: ارتباطی،شی گرا،شبکهای و امثال آن. مدل های دادهای به تعیین زبانهای دسترسی به پایگاههای داده علاقه مندهستند. بخش قابل توجهی از مهندسی DBMS مستقل از مدل های میباشد و به فاکتور هاییهمچون اجرا، همزمانی،جامعیت و بازیافت از خطاهای سخت افزاری وابسطه است.در این سطحتفاوت های بسیاری بین محصولات وجود دارد.موارد زیر به صورت خلاصه شرح داده می شود:
تاریخچه پایگاه داده :
اولین کاربردهای اصطلاح پایگاه داده به June 1963 باز میگردد، یعنی زمانی که شرکتSystem Development Corporation مسئولیت اجرایی یک طرح به نام “توسعه و مدیریتمحاسباتی یک پایگاه دادهای مرکزی” را بر عهده گرفت. پایگاه داده به عنوان یک واژه واحد دراوایل دهه 70 در اروپا و در اواخر دهه 70 در خبر نامههای معتبر آمریکایی به کار رفت.(بانکدادهای یا Databank در اوایل سال 1966 در روزنامه واشنگتن کار رفت)از پیشگامان این شاخه چارلزباخمن میباشد. مقالات باخمن این را نشان داد که فرضیات او کاربرد بسیار موثرتری برایدسترسی به وسایل ذخیره سازی را محیا میکند. در آن زمانها پردازش داده بر پایه کارت هایمنگنه و نوار های مغناطیسی بود که پردازش سری اطلاعات را مهیا میکند. دو نوع مدل دادهایدر آن زمانها ایجاد شد:CODASYL موجب توسعه مدل شبکهای شدکه ریشه در نظریات باخمنداشت و مدل سلسله مراتبی که توسط North American Rockwell ایجاد شد و بعدا با اقباساز آن شرکت IBM محصولIMS را تولید نمودمدل رابطهای توسط E. F. Codd در سال 1970 ارائه شد.او مدل های موجود را مورد انتقادقرار میداد. برای مدتی نسبتا طولانی این مدل در مجامع علمی مورد تایید بود. اولین محصولموفق برای میکرو کامپیوتر ها dBASE بودکه برای سیستم عامل هایCP/M و PC-DOS/MS-DOS ساخته شد. در جریان سال 1990 پژوهش بر روی مدل توزیع شده(distributed database) و ماشین های دادگانی (database machines) متمرکز شد، اماتاثیر کمی بر بازار گذاشت. در سال 1990 توجهات به طرف مدل شی گرا(object-orienteddatabases) جلب شد. این مدل جهت کنترل دادههای مرکب لازم بود و به سادگی بر روی پایگاهدادههای خاص، مهندسی داده(شامل مهندسی نرم افزار منابع) و دادههای چند رسانهای کارمیکرد.در سال 2000 نوآوری تازهای رخ داد و دادگان اکسامال (XML) به وجود آمد. هدف این مدلاز بین بردن تفاوت بین مستندات و داده ها است و کمک میکند که منابع اطلاعاتی چه ساختیافته باشند یا نه در کنار هم قرار گیرند.
مدل های پایگاه داده :
شگرد های مختلفی برای مدل های دادهای وجود دارد. بیشتر سیستم های پایگاه دادهای هر چند کهطور معمول بیشتر از یک مدل را مورد حمایت قرار میدهند، حول یک مدل مشخص ایجاد شدهاند. برای هر یک از الگوهای های منطقی (logical model) اجراهای فیزیکی مختلفی قابل پیادهشدن است و سطوح کنترل مختلفی در انطباق فیزیکی برای کاربران محیا میکند. یک انتخابمناسب تاثیر موثری بر اجرا دارد. مثالی از موارد الگوی رابطهای (relational model) است:همه رویدادهای مهم در مدل رابطهای امکان ایجاد نمایههایی که دسترسی سریع به سطرها درجدول را میدهد،فراهم میشود.یک مدل دادهای تنها شیوه ساختمان بندی داده ها نیست بلکه معمولا به صورت مجموعهای ازعملیات ها که میتواند روی داده ها اجرا شود تعریف میشوند. برای مثال در مدل رابطهایعملیاتی همچون گزینش (selection)، طرح ریزی (projection) و اتصال (join) تعریفمیگردد.
مدل تخت :
مدل تخت یا جدولی (flat (or table) model ) تشکیل شده است از یک آرایه دو بعدی باعناصر دادهای که همه اجزای یک ستون به صورت دادههای مشابه فرض میشود و همه عناصریک سطر با هم در ارتباط هستند. برای نمونه در ستون هایی که برای نام کاربری و رمز عبوردر جزئی از سیستم های پایگاه دادهای امنیتی مورد استفاده قرار میگیرد هر سطر شامل رمزعبوری است که مخصوص یک کاربر خاص است. ستون های جدول که با آن در ارتباط هستند بهصورت داده کاراکتری، اطلاعات زمانی، عدد صحیح یا اعداد ممیز شناور تعریف میشوند. اینمدل پایه برنامههای محاسباتی(spreadsheet) است.پایگاه داده ها با فایل های تخت به سادگی توسط فایل های متنی تعریف میشوند. هر رکورد یکخط است و فیلد ها به کمک جدا کننده هایی از هم مجزا میشوند. فرضا به مثال زیر دقت کنید:
id name team
1 Amy Blues
2 Bob Reds
3 Chuck Blues
4 Dick Blues
5 Ethel Reds
6 Fred Blues
7 Gilly Blues
8 Hank Reds
دادههای هر ستون مشابه هم است ما به این ستونها فیلد ها (fields) گوییم. و هر خط را غیر ازخط اول یک رکورد(record) مینامیم. خط اول را که برخی پایگاههای دادهای آنرا ندارند رکوردبرچسب(field labels) گوییم. هر مقدار دادهای اندازه خاص خود را دارد که اگر به آن اندازهنرسد میتوان از کاراکنر فاصله برای این منظور استفاده کرد اما این مسئله مخصوصا زمانی کهبخواهیم اطلاعات را بر روی کارت های منگنه قرار دهیم مشکل ساز خواهد شد. امروزه معمولااز نویسه TAB برای جداسازی فیلد ها و کاراکتر خط بعد برای رکورد بعدی استفاده میکنیم.البته شیوههای دیگری هم وجود دارد مثلا به مثال زیر دقت کنید:
“1”,”Amy”,”Blues”
“2”,”Bob”,”Reds”
“3”,”Chuck”,”Blues”
“4”,”Dick”,”Blues”
“5”,”Ethel”,”Reds”
“6”,”Fred”,”Blues”
“7”,”Gilly”,”Blues”
“8”,”Hank”,”Reds”
این مثال از جدا کننده کاما استفاده میکند.در این نوع مدل تنها قابلیت حذف،اضافه،دیدن و ویرایشوجود دارد که ممکن است کافی نباشد.Microsoft Excel این مدل را پیاده سازی میکند.
مدل شبکه ای(Network) :
در سال 1967و در کنفرانس زبانهای سیستم های دادهای (CODASYL) توسطCharlesBachman ارائه شد. در سال 1971 مجددا مطرح شد و اساس کار پایگاه دادهای قرار گرفت ودر اوایل دهه 80 با ثبت آن درسازمان بين المللي استانداردهاي جهاني یا ISO به اوج رسید.مدل شبکهای (database model) بر پایه دو سازه مهم یعنی مجموعه ها و رکورد ها ساختهمیشود و برخلاف روش سلسله مراتبی که از درخت استفاده میکند، گراف را به کار میگیرد.مزیت این روش بر سلسله مراتبی این است که مدل های ارتباطی طبیعی بیشتری را بینموجودیت ها فراهم میکند. الی رغم این مزیت ها به دو دلیل اساسی این مدل با شکست مواجهشد: اول اینکه شرکت IBM با تولید محصولات IMS و DL/I که بر پایه مدل سلسله مراتبیاست این مدل را نادیده گرفت. دوم اینکه سرانجام مدل رابطهای (relational model) جای آنرا گرفت چون سطح بالاتر و واضح تر بود. تا اوایل دهه 80 به علت کارایی رابط های سطحپایین مدل سلسله مراتبی و شبکهای پیشنهاد میشد که بسیاری از نیاز های آن زمان را برطرفمیکرد. اما با سریعتر شدن سخت افزار به علت قابلیت انعطاف و سودمندی بیشتر سیستم هایرابطهای به پیروزی رسیدند.رکورد ها در این مدل شامل فیلد هایی است( ممکن است همچون زبان کوبول (COBOL) بهصورت سلسله مراتب اولویتی باشد). مجموعه ها با ارتباط یک به چند بین رکورد ها تعریفمیشود: یک مالک و چند عضو. عملیات های مدل شبکهای از نوع هدایت کننده است: یک برنامهدر موقعیت جاری خود باقی میماند و از یک رکورد به رکورد دیگر میرود هر گاه که ارتباطیبین آنها وجود داشته باشد. معمولا از اشارهگرها(pointers) برای آدرس دهی مستقیم به یکرکورد در دیسک استفاده میشود. با این تکنیک کارایی بازیابی اضافه میشود هر چند در نمایشظاهری این مدل ضروری نیست .
مدل رابطه ای :
مدل رابطه ای (relational model) در یک مقاله تحصیلی توسط E. F. Codd در سال 1970ارائه گشت. این مدل یک مدل ریاضیاتی است که با مفاهیمی چون مستندات منطقی (predicatelogic) و تئوری مجموعه ها (set theory) در ارتباط است. محصولاتی همچوناینگرس،اراکل، DB2 وسرور اسکیوال (SQL Server) بر این پایه ایجاد شده است. ساختارداده ها در این محصولات به صورت جدول است با این تفاوت که میتواند چند سطر داشته باشد.به عبارت دیگر دارای جداول چند گانه است که به طور صریح ارتباطات بین آنها بیان نمیشود ودر عوض کلید هایی به منظور تطبیق سطر ها در جداول مختلف استفاده میشود. به عنوان مثالجدول کارمندان ممکن است ستونی به نام “موقعیت” داشته باشد که کلید جدول موقعیت را با همتطبیق میدهد.
پایگاه دادههای چند بعدی :
پایگاه دادههای رابطهای توانست به سرعت بازار را تسخیر كند، هرچند كارهایی نیز وجود داشتكه این پایگاه دادهها نمیتوانست به خوبی انجام دهد. به ویژه به كارگیری كليدها در چند ركوردمرتبط به هم و در چند پایگاه داده مشترك، كندی سیستم را موجب میشد. برای نمونه برای یافتن
نشانی كاربری با نام دیوید، سیستم رابطهای باید نام وی را در جدول كاربر جستجو كند و كليداصلی (primary key ) را بیابد و سپس در جدول نشانیها، دنبال آن كليد بگردد. اگر چه اینوضعیت از نظر كاربر، فقط يك عملیات محسوب، اما به جستجو درجداول نیازمند است كه اینكار پیچیده و زمان بر خواهد بود. راه كار این مشكل این است كه پایگاه دادهها اطلاعات صریحدرباره ارتباط بین دادهها را ذخیره نماید. میتوان به جای یافتن نشانی دیوید با جستجو ی كليد درجدول نشانی، اشارهگر به دادهها را ذخیره نمود. در واقع، اگر ركورد اصلی، مالك داده باشد، درهمان مكان فیزيكی ذخیره خواهد شد و از سوی دیگر سرعت دسترسی افزایش خواهد یافت.چنین سیستمی را پایگاه دادههای چند بعدی مینامند. این سیستم در هنگامی كه از مجموعهدادههای بزرگ استفاده میشود، بسیار سودمند خواهد بود. از آنجاييكه این سیستم برای مجموعهدادههای بزرگ به كار میرود، هیچگاه در بازار به طور مستقیم عمومیت نخواهد یافت.
پایگاه دادههای شیء:
اگر چه سیستمهای چند بعدی نتوانستند بازار را تسخیر نمایند، اما به توسعه سیستمهای شیء منجرشدند. این سیستمها كه مبتنی بر ساختار و مفاهیم سیستمهای چند بعدی هستند، به كاربر امكانمیدهند تا اشیاء را به طور مستقیم در پایگاه دادهها ذخیره نماید. بدین ترتیب ساختار برنامه نویسیشیء گرا (object oriented ) را میتوان به طور مستقیم و بدون تبدیل نمودن به سایر فرمتها،در پایگاه دادهها مورد استفاده قرار داد. این وضعیت به دلیل مفاهیم مالكيت (ownership) درسیستم چند بعدی، رخ میدهد. در برنامه شیء گرا (OO)، يك شیء خاص “مالك ” سایر اشیاءدر حافظه است، مثلا دیوید مالك نشانی خود میباشد. در صورتی كه مفهوم مالكيت در پایگاهدادههای رابطهای وجود ندارد.
ویژگیهای سیستم مدیریت پایگاه دادهها:
پس از این مقدمه به توصیف سیستم مدیریت پایگاه دادهها میپردازیم. سیستم مدیریت پایگاهدادهها، مجموعهای پیچیده از برنامههای نرمافزاری است كه ذخیره سازی و بازیابی دادههای(فیلدها، ركوردها و فایلها) سازمان را در پایگاه دادهها، كنترل میكند. این سیستم، كنترل امنیتو صحت پایگاه دادهها را نیز بر عهده دارد. سیستم مدیریت پایگاه دادهها، درخواستهای داده رااز برنامه میپذیرد و به سیستم عامل دستور میدهد تا دادهها ی مناسب را انتقال دهد. هنگامی كهچنین سیستمی مورد استفاده قرار میگیرد، اگر نیازمندیهای اطلاعاتی سازمانی تغییر یابد،سیستمهای اطلاعاتی نیز آسانتر تغییر خواهند یافت. سیستم مذكور از صحت پایگاه دادهها پشتیبانیمیكند. بدین ترتیب كه اجازه نمیدهد بیش از يك كاربر در هر لحظه، يك ركورد را به روزرسانی كند. این سیستم ركوردهای تكراری را در خارج پایگاه دادهها نگاه میدارد. برای مثال،هیچ دو مشترك با يك شماره مشتری، نمیتوانند در پایگاه دادهها وارد شوند. این سیستم روشیبرای ورود و به روز رسانی تعاملی پایگاه دادهها فراهم میآورد. يك سیستم اطلاعات كسب و كاراز موضوعاتی نظیر (مشتریان، كارمندان، فروشندگان و غیره) و فعالیتهایی چون (سفارشات،پرداختها، خریدها و غیره) تشكيل شده است. طراحی پایگاه دادهها، فرایند تصمیم گیری دربارهنحوه سازماندهی این دادهها در انواع ركوردها و برقراری ارتباط بین ركوردهاست.سیستممدیریت پایگاه دادهها میتواند ساختار دادهها و ارتباط آنها را در سازمان به طور اثر بخش نشاندهد. سه نوع مدل متداول سازمانی عبارتند از: سلسله مراتبی، شبكهای و رابطهای. يك سیستممدیریت پایگاه دادهها ممكن است يك، دو یا هر سه روش را فراهم آورد. سرورهای پایگاه دادهها،كامپیوترهایی هستند كه پایگاه دادههای واقعی را نگاه میدارند و فقط سیستم مدیریت پایگاه دادههاو نرمافزار مربوطه را اجرا میكنند. معمولا این سرورها رایانههای چند پردازندهای با آرایههایديسك RAID برای ذخیره سازی میباشند.
فهرست سیستمهای متداول مدیریت دادگان:
معروفترین این نرمافزارهای مدیریت دادگانها میتوان به چند نمونه زیر اشاره کرد:
1.Oracle
2.Microsoft SQL Server
3.MySQL
4.PostregSQL
5.DB2
6.Microsoft Access
مشخصات فنی پروژه
نرم افزارهای استفاده شده در ساخت نرم افزار طراحی سیستم بنگاه املاک :
این برنامه شامل :
1و2 From
فرم 1جهت وارد کردن رمز عبور برنامه می باشد یا به عبارتی قسمت امنیتی برنامه است و درصورت درست وارد کردن رمز عبور وارد بزنامه می شویم و در غیر این صورت فرم 2 ظاهرمیشود و این پیغام را می دهد ((رمز وارد شده تایید نشد))موارد گفته شده با استفاده از دستوراتIf…………….. thenBegin….…..endelsebegin…………end.انجام می شود.اگر شخصی رمز عبور برنامه را نداند می تواند با استفاده از دکمه خروج از برنامه خارج شود .لازم به ذکر است که رمز عبور برنامه :123456می باشد.
3و4 Form
فرم3 ، فرم اصلی برنامه می باشد و به شکل زیر است که شامل گزینه های آپارتمان و خانه وکلنگی و … وخروج می باشد. فرم 4 نشان می دهد که رمز وارد شده صحیح است.
Form 5
با باز کردن هر کدام از گزینه ها (به عنوان مثا ل آپارتمان) فرم زیر ظاهر می شود که از طریقآن می توان وارد بانک اطلاعات شد و یا به بانک اطلاعات مواردی را اضاقه کرد.
Form 6
این فرم یکی از مهمترین فرم های برنامه می باشد زیرا بانک اطلاعاتی در این فرم قرار دارد.بانک اطلاعاتی در این طراحی توسط بانک اطلاعاتی خود نرم افزار دلفی به نامایجاد شده است. Data base desktopبرای حذف هر کدام از اطلاعات افزوده شده بایدروی دکمه ( – ) کلیک کرد.
Field Name
نام فیلد هایی که می خواهیم در بانک اطلاعاتی باشند در این قسمت وارد می شوند و همچنینیک فیلد را به عنوان فیلد کلید قرار دهیم .در این فرم می توان اطلاعاتی را که می خواهیم به بانک اطلاعات اضافه کنیم. پس از پر کردنفرم با انتخاب گزینه تیک اطلاعات در بانک ثبت می گردند.
جستجو:
این قسمت برای جستجو در بانک به کار می رود . در صورت کلیک کردن بر روی این دکمهفرم جستجو باز می شود و از متراز مورد نظررا می خواهد . با وارد کردنعدد مورد نظر و زدن دکمه جستجو عمل جستجو در بانک اطلاعاتی انجام می شود ورکورد مورد نظر با یک علامت فلش در بانک اطلاعاتی نمایان می شود . لازم به ذکر استکه عمل جستجو یکی از ارکان بسیار مهم یک بانک اطلاعاتی می باشد.از این فرم جهت جستجو در بانک اطلاعاتی استفاده می شود . این جستجو به کمک FILTERصورت می گیرد .