مهندسی نرم افزار UML ویدیو کلوب بخش چهار
بررسی ارتباطات بین جداول و متغيرهاي سیستم
شکل زیر نمائی شماتیک از ارتباطات بین متغرها و موجودیتهای سیستم نرم افزاری ویدئو کلوپ را نمایش می دهد و در ادامه هر یک از این ارتباطها را مورد بررسی قرار خواهیم داد.
خطهای رسم شده بین جداول، رابطه (Relationship) بین جداول را نشان می دهد. پایگاه داده یا همان Database، مجموعه ای سازمان داده شده از اطلاعات است که به شکل جداول ذخیره می شوند. برای سازمان دهی این اطلاعات روشهای متفاوتی وجود دارد که هدف تمامی آنها فراهم کردن روشهایی مناسب برای سهولت در برقراری ارتباط با پایگاههای داده و استفاده از اطلاعات موجود در آنها است. سیستم مدیریت پایگاه داده (DBMS) ، مکانیزمی را جهت ذخیره سازی و بازیابی اطلاعات در پایگاه داده فراهم می نماید. در حقیقت DBMS باعث می شود تا برنامه نویس بدون نگرانی درباره چگونگی ذخیره سازی داداه ها در پایگاه داده و ساختار آنها، به اطلاعات دسترسی پیدا کند و بتواند داده های جدید را در آن ذخیره نماید.
امروزه اکثر پایگاه داده های محبوب از نوع رابطه ای (Relational) هستند. همانند پایگاه داده های عادی، در پایگاه داده های رابطه ای نیز دسترسی به اطلاعات ذخیره شده در جداول از طریق زبان پرس و جوی ساخت یافته یا همان SQL میسر میگردد که زبانی استاندارد است و توسط اکثر نرم افزارهای مرتبط با پایگاه داده مورد استفاده قرار می گیرد. از جمله سیستمهای پایگاه داده رابطه ای می توان به MS SQL Server، Oracle™، Sybase™، DB2™، Informix™ و MySQL™ اشاره کرد.
مدل پایگاه داده رابطه ای (Relational Database Model)
مدل پایگاه داده رابطه ای، نمایش منطقی ای از داده هاست که رابطه موجود بین داده ها را، بدون درگیر شدن با ساختار فیزیکی آنها، نشان میدهد. پایگاه داده رابطه ای از جداول تشکیل میشود. هر جدول خود از سطرها یا رکوردها (record/row) و ستونها یا فیلدها (columns/fields) تشکیل میشود. با توجه به اینکه حجم اطلاعات قابل ذخیره در یک جدول نامحدود است، از اینرو باید بتوان با استفاده از روشی تنها به آن قسمت از اطلاعات دسترسی پیدا کرد که مورد نظر کاربر است.
انواع پایگاه داده ها
پایگاه داده ها از نظر ساختار مفهومی و شیوهای رفتار با دادهها بر دو نوع هستند :
1. پایگاه داده رابطهای
2. پایگاه داده شیگرا
مدلهای پایگاه داده
شگردهای مختلفی برای مدلهای دادهای وجود دارد. بیشتر سیستمهای پایگاه دادهای هر چند بطور معمول بیشتر از یک مدل را مورد حمایت قرار میدهند، حول یک مدل مشخص ایجاد شده اند. برای هر یک از الگوهایهای منطقی (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 این مدل را پیاده سازی میکند.