مقدمات داده پردازی
تعریف داده(Data)
هر اطلاع مفید ولازم درباره چیز یا امری رایك داده می گویند.به شناسنامه خود نگاه كنید.نام، نام خانوادگی،نام پدر ،سال تولد،محل تولد،شماره شناسنامه وسایر اطلاعات آن ،همه درباره شماست.
اینها داده های مرتبط با شما هستندوشما را از دیگران متمایز ومجزا می كنند؛ به شما سود می رسانند؛
حقوق شما را محفوظ می دارند وبه دولت امكان می دهند كه برای شما برنامه ریزی كندو امكانات فراهم سازد.
داده ها در همه امور، نقش بازی می كنند.مثلا در دادوستد، داده ها نقش بسیار بزرگی دارند.اطلاع ازاین كه چه مقدارپول دارید؛ بابت چه كالا وخدماتی پول گرفته یا پرداخته اید؛ از چه حسابی پول برداشته وبه كدام حساب واریز كرده اید؛ چقدر طلبكبرید وچقدر بدهكارید؛و…. همه، داده های مالی شما هستند . حسابداران با چنین دا ده های مالی سروكاردارند وآن را مدیریت می كنند وازآن ها نتیجه گیری می كنند.
گفتیم كه داده ها باید مفید ولازم باشند.مثالی می زنیم:
اگردر شناسنامه شما وزن یا قد شما را می نوشتند،صحیح بود؟ پاسخ منفی است.ذكر وزن وقد در شناسنامه كاربردی ندارد و وجود آنها لازم نیست، هر چند كه مفید است.اما در پرونده پزشكی شما هم لازم هستند وهم مفید،زیرا به شناسایی وضع سلامت شما ونیز، به شناخت ودرمان بیماری شما یاری میرسانند.
داده ها با هم ارتباط دارند.
اگر بدانید شماره شناسنامه شخصی 259 است، آیا می توانیداورا پیدا كنید؟ این كار دشوار است. ممكن است شماره شناسنامه خیلی از مردم259 باشد. حالا اگر بدانید كه نام آن شخص مثلا مسعود است یافتن او آسانتر می شود؛ هر چند كه هنوز هم شاید اسم خیلیها مسعود وشماره شناسنامه شان 259 باشد.اما اگر در همین حال، نام خانوادگی او را هم بدانید دیگر یافتن اوساده می شود.نتیجه ارتباط داده ها به یكدیگر، شناسایی سریعتر است.داده هایی كه به هم ارتباط نداشته باشند یا نتوان ارتباط آنها را نسبت به هم پیدا كرد، كاربرد زیادی ندارد وشاید اصلا به درد نخورد.
داده های نامرتب كاربرد ندارند.
اگر اطلاعات وداده های زیادی را بدون نظم وترتیب در جاهای مختلف پخش كنید، چطور می توانید به هنگام نیاز ازمیان آنها چیز خاصی را پیدا كنید؟داده ها هم مثل اشیای یك خانه یا انبار هستند وفقط از طریق نظم دادن وطبقه بندی وتازه كردن آنهاست كه می توان از آنها سود برد .
داده ها چگونه مرتب میشوند؟
راههای مختلفی برای مرتب كردن داده ها وجود دارد.یكی از آسانترین روشها آن است كه داده هارا به شكل یك جدول در آوریم. همه شمامی دانید جدول چیست.برنامه دانشگاه شما یك جدول است.دفتر حضور وغیاب كلاس شما یك جدول است صورتحساب بانكی پدر ومادر شما یك جدول است . اصول تمام جدولها یكی است ودرك آن نیز بسیار آسان است.در تمام آنها،برای مرتب كردن اطلاعات صفحه را خط كشی كردند وآن به شكل سطر ها وستونها در آوردند.به این ترتیب ، مجبورید اطلاعات را به شكل مرتب و زیر هم ،در جدول وارد كنید.در بالای هر ستون جدول،نام آنچه را كه قرار است در آن ستون وارد كنید،می نویسید.در هر سطر اطلاعات،نام شخص یا چیزی را كه آن داده ها به او مرتب است می نویسید.مثالی می زنیم.كتابهایی را كه در خانه یا دانشگاه دارید،در نظر بگیرید.می توانید یك جدول درباره ی آنها تشكیل دهید و اطلاعات مرتبط با كتابها را در آن نگهداری كنید.در مورد هر كتاب می توانید داده هایی از قبیل نام كتاب،نام نویسنده،نام مترجم،نام ناشر،تعداد صفحات،تاریخ نشر و… را به صورت زیر،تبدیل به یك جدول كنید.
حال،برای هر كتاب اطلاعات مرتبط با آن را در یك سطر این جدول می نویسید:
نام كتاب |
نام نویسنده |
نام مترجم |
نام ناشر |
تعداد صفحات |
شناسایی وشكار جاسوس |
پیتر رایت |
محسن اشراقی |
مؤسسه اطلاعات |
608 |
ساعت سرمستی |
هیوبرت ریوز |
دكتر سهامی |
نشر قطره |
339 |
… |
… |
… |
… |
… |
البته می توان این جدول را به هر شكل دیگری تهیه كرد و درباره ی هر كتاب اطلاعات دیگری مانند نوبت چاپ،شماره ی شناسایی كتاب و…را نیز در جدول وارد كرد.مهم،اطلاعاتی ست كه شما درباره ی هر كتاب مفید و لازم می دانید و داده های شما به شمار می آیند.این جدول،داده های شما را مرتب می كند.به این جدول داده ها(Data Table)می گویند.
جستجو در جدول داده ها
گفتیم كه مرتب كردن اطلاعات ، جستجو در آن را آسان می كند فرض كنید كه جدولی از كتاب های موجود در خانه یا دانشگاه خود را تهیه كرده اید واینك می خواهید بدانید كه مثلا كدامیك در سال 1371چاپ شده است.
در این صورت، به شكل زیر عمل می كنید:
ستون تاریخ نشر را می بینیم وآن را از بالا به پایین مرور می كنید . در هر خانه ای از این ستون كه عدد 1371 كه دیدید آن سطر جدول را با یك قلم رنگی رنگ می زنید یا بیرون جدول ، كنار نام كتاب ،یك علامت می گذارید. وقتی همه جدول را مرور كردید تمام سطرهایی كه علامت دارند یا رنگ شده اند، كتابهای مورد نظر شماهستند به همین شكل، جستجوی نام نویسنده خاص ویا هر مورد دیگر ،آسان می شود.
با ارزان شدن وتوانمندشدن رایانه ها،بزودی برنامه نویسان بر آن شدند تا برنامه های كاربردی قدرتمندی را برای كار با اطلاعات ایجاد كنند.كه در عین حال آسان وهمه فهم باشد.یكی از آخرین محصولات نرم افزاری ویژه ی این كار،برنامه های اداری شركت میكروسافت است،این سلسله از برنا
مه های میكروسافت آفیس(MicrosaftOffice)نام دارد و مجموعه ای از چند برنامه ی ك
اربردی برای ماشینی كردن دفاتر كار است.
یكی از قطعات این مجموعه برنامه ها،برنامه ی كاربردی اكسس است كه برای داده پردازی و استفاده از اطلاعات ایجاد شده است.این برنامه می تواند یك پایگاه داده ها را اداره كند.اینك ببینیم كه پایگاه داده ها چیست؟
تعریف پایگاه داده ها
گفتیم كه یكی از روشهای آسان اداره ی داده ها،ایجاد جدول مرتبی از آنهاست كه به آن جدول داده ها (DataTable)می گویند.
برنامه ی اكسس،دو یا چند جدول داده را،پایگاه داده ها (Database)می نامدو می تواند آن رابه خوبی اداره كند.برنامه ای را كه می تواند یك پایگاه داده ها را اداره كند،برنامه ی مدیریت پایگاه داده ها(Database Management Program)می گویند.اكسس،یك برنامه ی مدیریت پایگاه داده هاست.به مجموعه ای از جدولهای داده ها،پایگاه داده ها می گویند.
تعریف فیلد(Field)و ركورد(Record)
همان طور كه قبلا گفتیم،اكسس با جدول های داده ها كار می كنیم.هر جدول،از تعدادی سطرو ستون تشكیل شده است.اكسس به هر یك از ستون ها،یك فیلد،(Field) میگویند.بنابراین،جدول كتابخانه ی ما در مثال قبلی 6فیلد دارد.همچنین اكسس،هر سطر جدول داده ها را نیز یك ركورد می خواند.
در همان جدول كتابخانه ها،در مثال قبلی ،شما سه ركوردرا می بینید.به این ترتیب، هر ركورددر آن
داده ها را نیز یك ركورد(Record)می خواند.در همان جدول كتابخانه ها،در مثال قبلی،شما سه ركورد را می بینید.به این ترتیب،هر ركورد در آن جدول شامل شش فیلد است.درك مفهوم فیلدو ركورد در كار با اكسس بسیار مهم است،اما پس از مقداری تمرین،به راحتی آن را فرا گرفته،به كار گفتیم كه هر پایگاه داده،از تعدادی جدول تشكیل می شود.حال ببینیم چرا چند جدول رادر یك پایگاه داده ها می گذارند؟و این كار چه مزیتی دارد؟به مثال زیر توجه كنید:
|
فرض كنید یك جدول داده ها دارید كه فیلد های آن اطلاعاتی درباره ی سفارش های مشتریان یك فروشگاه مثل نام و نام خانوادگی و تاریخ ومقدار خرید هر كالاست و جدول دیگری داریدكه در آن فیلد های دیگری مثل اطلاعاتی درباره ی شهر،محله،خیابان،كوچه،تلفن وموارد از این دست درباره ی همان مشتری ها موجود است.حال،چگونه بایدمثلا كشف كنید كه فلان مشتری ساكن فلان خیابان،چقدر خرید كرده است.اطلاعات خرید وفروش مشتری در یك جدول و اطلاعات سكونتی همان مشتری،در جدول دیگر است.
برای این كار،باید در هر یك از جدول های یك فیلد مشترك پیدا كنید.یعنی فیلدی كه هم در این جدول و هم در آن جدول موجود باشد.بعد:
1ـاطلاعات را از جدول اول برمی دارید و به فیلد مشترك نگاه می كنیدوداده ی موجود در آن،مثلا نام خانوادگی یا شماره ی شناسنامه را جایی یادداشت می كنید.
2ـدر جدول دوم،فیلد مشترك را پیدا می كنیدو در آن داده ای را كه یادداشت كرده اید می یابید.حالا ركورد مورد نظررا پیدا كرده ایدوباید در آن به سراغ فیلد نشانی بروید وآن را یادداشت كنید.
به این ترتیب،این دو جدول به هم ربط پیدا می كنند.ربط دادن جدول ها به هم،از طریق یك فیلد مشترك،قدرت مانور شمارا در جستجوی داده هاو نتیجه گیری از آنها بسیار افزایش می دهد ودر حجم جدولها صرفه جویی می كند.زیرا،دیگر لازم نیست كه مثلا در مقابل هر ركوردی كه برای خرید و فروش مشتری به وجود می آورید،یك بار هم،آدرس او را در همان جدول بنویسیدو می توانید این داده را از جدول دیگری بردارید.به این مدل از پایگاه داده ها،پایگاه داده ها ی ارتباطی (Relational Database).اكسس،از این مدل پایگاه داده ها استفاده میكندو به همین سبب به آن مدیرپایگاه داده های ارتباط (Relational Database Management System) به طور خلاصهRDMBSمی گویند.
تعریف پایگاه داده های ارتباطی
پایگاه داده های ارتباطی،مجموعه ای از جدولهای داده است كه یك فیلد مشترك در هر یك از
جدولها وجود دارد و از طریق آن می توان داده ها را به هم ربط داد.
تعریف كلید
اكسس،به فیلدی كه لا اقل در دو جدول داده ها مشترك باشد،فیلد كلیدی(KeyField)یا به اختصار (كلید)می گویند.علت این نام آن است كه این فیلد،كلید وارد شدن از یك جدول به جدول دیگر است.گفتیم كه دو جدول اكسس از طریق یك فیلد مشترك می توانند به همدیگر ارتباط یابند.حالا،این موضوع را برای بیش از دو جدول بررسی می كنیم.در این مورد مثالی را مشاهده كنید.
فرض كنید دو جدول داده هایاكسس دارید كه در اولی مشتریان معرفی می شوندو به هر یك از آنها یك شماره ی مشتری كه حتما باید غیر تكراری و بدون مشابه باشد،اختصاص می یابد.حالا اگر جدول دیكری داشته باشیم كه به خرید های مشتریان اختصاص یافته باشدو در آن هم،برای هر بار خرید مشتریان یك ركوردثبت و نگهداری شود.اگر در این جدول،از همان شماره ی مشتری های تعریف شده در جدول مشتریان استفاده كنید،این دو جدول به هم ارتباط می یابند.هر چند كه در هر دو جدول،داده های تكراری وجود دارد(یعنی فیلد شماره ی مشتری)،اما این تكرار اجتناب ناپذیراست و در عوض،باعث می شودكه از تكرار بزرگتری كه همان اطلاعات كاملجدول مشتری هاست،در جدول خرید مشتریان،جلوگیری شود.
حالا فرض كنید یك جدول دیگر هم داریدكه یكی از فیلدهای آن نام مشتریست اما فیلدشماره مشتری ندارد.آیا این جدول را هم می توان به جدول اولیوصل كرد؟بله.اگر فیلد نام مشتری در هر دو فایل یكسان تعریف شده باشد،می توان از این فیلد برای اتصال دو جدول داده ها استفاده كرد.بنابراین،فیلد كلید ما در این حالت،فیلد نام مشتری است.وقتی این دو جدول داده ها به هم مرتبط شوند، در حقیقت،به جدول دیگرهم وصل شده اند؛زیرا دو جدول دیگر نیز از طریق یك فیلد مشترك به هم متصل بودند.به این طریق ،هر سه جدول،از طریق فیلدهای دوبه دو مشترك به هم وصل شده اند.بنابراین لازم نیست كه فیلد های ارتباط دهنده در هر سه جدول(یا بیشتر)،یكی باشند.بلكه فقط كافیست دو به دو یكی باشند.
چگونه یك پایگاه داده ها بسازیم؟
روش ساختن یك پایگاه داده های خوب را اولین باردر سالهای اولیه ی رواج یافتن رایانه ها یعنی حدود سال1960 م تبیین كرده اند و این اصول تا كنون تغییر چندانی نیافته است.البته،كار ایجاد پایگاه داده ها به مرور زمان پیشرفت بسیار زیادی كرده است.مثلادر روزگاران گذشته،دست بردن در ساختمان یك پایگاه داده ها،كار بسیار مشكل و حتی غیر ممكن بود و به همین دلیل،دست بردن در ساختمان پایگاه داده ها خیلی گران تمام می شدو برخی اوقات،این كار،6% به قیمت طراحی اولیه می افزود.اما امروزه ایجاد پایگاه داده ها با كمك یك عدد رایانه ویك برنامه ی پایگاه داده ها ی ارتباطی مانند اكسس بسیار سریع انجام می شود و دست بردن در ساختمان پایگاه داده ها نیز در هر لحظه ممكن ومیسراست.امروزه میتوان با اطلاعات كم و ناقص،كار را آغاز كرد و به مرور،ساختمان پایگاه داده ها و اجزای گوناگون آن و داده های داخل آن را تغیر داد تا به حالت ایده آل رسید.اما توصیه های كلی زیر را در مورد ساختن پایگاه داده ها در نظر داشته باشید.
1-كارهایی را كه می خواهید با پایگاه داده هاانجام دهید معین كنید:
پیش از آغاز ایجاد یك پایگاه داده ها، باید تقریبا بدانیدكه از ایجاد آن چه انتظاری داری. دانستن این نكته، كار سختی نیست.قلم وكاغذی بر داریدوعمده كارهایی را كه می خواهید با پایگاه داده های مورد نظر انجام دهید زیر هم بنویسید. این فهرست می تواند شامل كارهایی كه هم اكنون می خواهید ونیز كارهایی كه انتظار دارید بعد ها انجام دهید باشید . وقتی می گوییم كارهای عمده را بنویسید، یعنی بنویسید كه می خواهید چه چیز هایی را در پایگاه داده ها وارد كنید وچه گزارشهایی را از آن
دریافت دارید.بنابراین ،مثلا یكی از عناوین فهرست شما می تواند این باشد:‹‹وارد كردن سفارش مشتری››؛اما لازم نیست جزییاتی مانند محاسبه جمع كلی صورتحساب ویا كسر مقدار تخفیف از مبلغ دریافتی را در این فهرست بگنجانید. اینها اعمال اصلی نیستند.
2-نمودار گردش عملیات را رسم كنید:
رسم نمودارعملیات یعنی این كه مشخص كنید كدام عمل قبل از كدام عمل انجام می گیرد .تعیین این كه اگر عمل خاصی انجام نشود، كدام عمل بعدی قابل انجام نخواهد بود ، بسیار مهم است.به این ترتیب ، جریان كار شناسایی می شود وبنابراین ، كاری كه هر كس باید انجام دهد مثل پر كردن فرم خاص یا تایید كردن یك عمل خاص ، مشخص می گردد.
3-شناسایی داده های لازم:
وقتی دو مرحله قبل را انجام دادید تقریبا خواهید كه به چه داده هایی كه به چه داده هایی احتیاج دارید.مثلا می توانید تعیین كنید كه در مورد هر مشتری ،چه داده هایی نیاز دارید ویا در مورد صدور صورت حساب فروش ، چه داده هایی را لازم دارید .این داده ها،پایه ایجاد پایگاه داده های شما هستند. بنابراین باید تا حد امكان بكوشیدتا فهرست كاملی از داده های مورد نظر را درآورید وزیر هم بنویسید.
4-گروه بندی داده ها:
در این مرحله، مشخص میكنید كه داده ها چگونه باهم گروه بندی می شوند.مثلا شماره مشتری ،نام مشتری،نام خانوادگی مشتری،شماره تلفن مشتری،نشانی مشتری،داده های مرتبط به همهستندومیتواننددر یك گروه جای بگیرند.
پس از انجام كار گروه بندی باید چند فهرست داشته باشیدكه در زیر هر یك نام اجزای آن نوشته شده باشد.
5-سازماندهی داده ها:در این مرحله، تقریبا ساختمان جدولهای داده های موردنیاز برای برای یك پایگاه داده ها مشخص شده است.هركدام از فهرستهایی كه در مرحله قبل به وجود آورده ایدمی تواند
یك جدول دادها را تشكیل دهد.
در اكسس می توانید در هر مرحله كه لازم شد. جدول جدید داده ها درست كنید ویاجدول های قبلی را دست كاری وتصحیح كنید.اما اصلاح مكررتوصیه نمیشود وبهتر است، ازهمان ابتدای كار طرحی تقریبی از آنچه را كه روی كاغذ انجام میدهیدپیاده كنید.به این شكل،ازسردرگمی نجات می یابید.
6-ایجاد فرمها وگزارشها:
حال، جدول داده ها ایجاد شدهاست وشما در این مرحله شروع میكنید به ارتباط دادن آنها به یكدیگر وساختن فرمها وگزارشها.در این مرحله،ازماكروها وزبان ویژوال بیسیك هم استفاده میشود ورابطه كاربر نیز ساخته می شود.
7-آزمایش وتجدید نظر وتصفیه:
در این مرحله متوجه كمبودها شده ودر نكاتی تجدید نظر می كنید ودر برخی ودر برخی از داده ها، عناصر دیگری را كه متوجه می شوید به درد نخواهد خورد وزایداست،حذف كنید.این مرحله آخر كار است ومعمولا،پس از تحویل پایگاه داده هابه مشتری ودر حین كار آن نیز تا مدتی باید این كار را انجام دهید تا پایگاه داده ها از هر جهت، احتیاجات كاربر را برآورد وبدون نقص شود.
كسانی كه پایگاه داده ها راطراحی می كنند، معمولا وقت زیادی را برای تحقیق وتفحص درباره آنچه كاربران ومدیران می خواهند اختصاص می دهند.آنها جریان عادی كاری را كه می خواهند برای آن پایگاه داده ها تهیه كنند مطالعه می كنند.