فایل بای | FileBuy

مرجع خرید و دانلود گزارش کار آموزی ، گزارشکار آزمایشگاه ، مقاله ، تحقیق ، پروژه و پایان نامه های کلیه رشته های دانشگاهی

فایل بای | FileBuy

مرجع خرید و دانلود گزارش کار آموزی ، گزارشکار آزمایشگاه ، مقاله ، تحقیق ، پروژه و پایان نامه های کلیه رشته های دانشگاهی

بررسی الگوریتم EZW

الگوریتم EZW در سال 1993 توسط shapiro ابداع شد نام کامل این واژه 1 به معنای کدینگ تدریجی با استفاده از درخت ضرایب ویولت است این الگوریتم ضرایب ویولت را به عنوان مجموعه ای از درختهای جهت یابی مکانی در نظر می گیرد هر درخت شامل ضرایبی از تمام زیرباندهای فرکانسی و مکانی است که به یک ناحیه مشخص از تصویر اختصاص دارند الگوریتم ابتدا ضرایب ویولت با دامنه
دسته بندی ریاضی
فرمت فایل doc
حجم فایل 40 کیلو بایت
تعداد صفحات فایل 35
بررسی الگوریتم EZW

فروشنده فایل

کد کاربری 8044

1-2) EZW

الگوریتم EZW در سال 1993 توسط shapiro ابداع شد نام کامل این واژه [1] به معنای کدینگ تدریجی با استفاده از درخت ضرایب ویولت است. این الگوریتم ضرایب ویولت را به عنوان مجموعه ای از درختهای جهت یابی مکانی در نظر می گیرد هر درخت شامل ضرایبی از تمام زیرباندهای فرکانسی و مکانی است که به یک ناحیه مشخص از تصویر اختصاص دارند. الگوریتم ابتدا ضرایب ویولت با دامنه بزرگتر را کددهی می کند در صورتیکه دامنه یک ضریب بزرگتر یا مساوی آستانه مشخص باشد ضریب به عنوان ضریب معنی دار [2] در نظر گرفته می شود و در غیر اینصورت بی معنی[3] می باشد یک درخت نیز در صورتی معنی دار است که بزرگترین ضریب آن از نظر دامنه بزرگتر یا مساوی با آستانه مورد نظر باشد و در غیراینصورت درخت بی معنی است.

مقدار آستانه در هر مرحله از الگوریتم نصف می شود و بدین ترتیب ضرایب بزرگتر زودتر فرستاده می شوند در هر مرحله، ابتدا معنی دار بودن ضرایب مربوط به زیر باند فرکانسی پایین تر ارزیابی می شود اگر مجموعه بی معنی باشد یک علامت درخت صفر استفاده می شود تا نشان دهد که تمامی ضرایب مجموعه صفر می باشند در غیراینصورت مجموعه به چهارزیرمجموعه برای ارزیابی بیشتر شکسته می شود و پس از اینکه تمامی مجموعه ها و ضرایب مورد ارزیابی قرار گرفته اند این مرحله به پایان می رسد کدینگ EZW براساس این فرضیه استوار است که چگالی طیف توان در اکثر تصاویر طبیعی به سرعت کاهش می یابد بدین معنی که اگر یک ضریب در زیر باند فرکانسی پایین تر کوچک باشد به احتمال زیاد ضرایب مربوط به فرزندان آن در زیر باندهای بالاتر نیز کوچک هستند به بیان دیگر اگر یک ضریب والد بی معنی باشد به احتمال زیاد فرزندان آن نیز بی معنی هستند اگر آستانه ها توانهایی از دو باشند میتوان کدینگ EZW را به عنوان یک کدینگ bit-plane در نظر گرفت در این روش در یک زمان، یک رشته بیت که از MSB شروع می شود کددهی می شود با کدینگ تدریجی رشته بیت ها و ارزیابی درختها از زیرباندهای فرکانسی کمتر به زیرباندهای فرکانسی بیشتر در هر رشته بیت میتوان به کدینگ جاسازی [4] دست یافت.

الگوریتم EZW بر پایه 4 اصل استوار است [3]

1- جدا کردن سلسله مراتبی زیرباندها با استفاده از تبدیل ویولت گسسته

1-1-2) تبدیل ویولت گسسته

تبدیل ویولت سلسله مراتبی که در EZW و SPIHT مورد استفاده قرار می گیرد نظیر یک سیستم تجزیه زیرباند سلسله مراتبی است که در آن فاصله زیرباندها در مبنای فرکانس بصورت لگاریتمی است.

در شکل 2-2 یک مثال از تجزیه دو سطحی ویولت روی یک تصویر دو بعدی نشان داده شده است. تصویر ابتدا با بکارگیری فیلترهای افقی و عمودی به چهار زیرباند تجزیه می‌شود. در تصویر (c ) 2-2 هر ضریب مربوط به ناحیه تقریبی 2×2 پیکسل در تصویر ورودی است. پس از اولین مرحله تجزیه سه زیر باند LH1 , HL1 و HH1 بعنوان زیرباندهای فرکانس بالایی در نظر گرفته می شوند که به ترتیب دارای سه موقعیت عمودی، افقی و قطری می باشند اگر Wv , Wh به ترتیب فرکانسهای افقی و عمودی باشند، پهنای باند فرکانسی برای هر زیر باند در اولین سطح تجزیه ویولت در جدول
1-2 آمده است[4]

جدول 2-1 ) پهنای باند فرکانسی مربوط به هر زیر باند پس از اولین مرحله تجزیه ویولت با استفاده از فیلترهای مشابه (پایین گذر و بالاگذر) زیر باند LL1 پس از اولین مرحله تجزیه ویولت، مجدداً تجزیه شده و ضرایب ویولت جدیدی به دست می آید جدول 2-2) پهنای باند مربوط به این ضرایب را نشان می دهد.

2-1-2) تبدیل ویولت بعنوان یک تبدیل خطی

میتوان تبدیل بالا را یک تبدیل خطی در نظر گرفت [5]. P یک بردار ستونی که درایه هایش نشان دهنده یک اسکن از پیکسلهای تصویر هستند. C یک بردار ستونی شامل ضرایب ویولت به دست آمده است از بکارگیری تبدیل ویولت گسسته روی بردار p است. اگر تبدیل ویولت بعنوان ماتریس W در نظر گرفته شوند که سطرهایش توابع پایه تبدیل هستند میتوان تبدیل خطی زیر را در نظر گرفت.

فرمول

بردار p را میتوان با تبدیل ویولت معکوس به دست آورد.

فرمول

اگر تبدیل W متعامد [5] باشد. است و بنابراین

فرمول

در واقع تبدیل ویولت W نه تنها متعامد بلکه دو متعامدی [6] می باشد.

3-1-2) یک مثال از تبدیل ویولت سلسله مراتبی

یک مثال از تبدیل ویولت سلسله مراتبی در این بخش شرح داده شده است. تصویر اولیه 16*16 و مقادیر پیکسلهای مربوط به آن به ترتیب در شکل 3-2 و جدول 3-2 آمده است.

یک ویولت چهارلایه روی تصویر اولیه اعمال شده است. فیتلر مورد استفاده فیلتر دو متعامدی Daubechies 9/7 است [6]. جدول 4-2 ضرایب تبدیل گرد شده به اعداد صحیح را نشان می دهد. قابل توجه است که ضرایب با دامنه بیشتر در زیرباندهای با فرکانس کمتر قرار گرفته اند و بسیاری از ضرایب دامنه های کوچکی دارند ویژگی فشرده سازی انرژی در تبدیل ویولت در این مثال به خوبی دیده می شود جدول 5-2 تصویر تبدیل یافته و کمی شده را نشان می دهد چنانکه کمی سازی تنها برای اولین سطح ویولت انجام گرفته است یک ضریب مقیاس 25/0 در هر ضریب فیلتر ویولت ضرب شده و سپس مجموعه فیلتر پاین گذر و بالاگذر روی تصویر اولیه بکار گرفته می شود اندازه گام کمی سازی مربوطه در این حالت 16 است.

پس از کمی سازی بیشتر ضرایب در بالاترین زیر باند فرکانسی صفر می شوند تصویربازسازی شده و تبدیل ویولت معکوس در شکل (b) 7-2 و جدول 6-2 آمده است. به علت کمی سازی بازسازی با اتلاف است.

4-1-2) انتقال تدریجی تصویر [1]

اگر یک تبدیل متعامد و سلسله مراتبی زیر باند، p یک ماتریس از اسکن پیکسلهای pi,j که (i, j) مختصات پیسک است و c ماتریس مربوط به ضرایب تبدیل یافته باشد، آنگاه:

فرمول

c ماتریسی است که باید کد شود.

در یک کدینگ کامل EZW ، ؟؟ ماتریس بازسازی C اولیه را برابر صفر قرار می دهد و با دریافت هر بیت آنرا تغییر می دهد.

فرمول

هدف اصلی در انتقال تدریجی این است که ابتدا، اطلاعات مهمتر تصویر فرستاده شود. ارسال درست این اطلاعات خطا را تا میزان زیادی کاهش می دهد. بنابراین نکته مهم، انتخاب اطلاعات مهمتر در C است. معیار متوسط مربعات خطا بعنوان یک معیار سنجش خطا مورد استفاده قرار می گیرد.

فرمول

که N تعداد پیکسلهای تصویر اولیه است. با توجه به اینکه Euclidean norm در تبدیل متعامد حفظ می شود میتوان گفت

فرمول

معادله نشان می دهد که با دریافت ضریب انتقال Ci,j در دیکدر ، DMSE به اندازه

فرمول

کاهش می یابد. واضح است با ارسال ضرایب بزرگتر در ابتدا، خطای تصویربازسازی شود. کاهش بیشتر خواهد داشت.

علاوه بر آن اگر Ci,j بصورت باینری باشد اطلاعات را میتوان بصورت تدریجی ارسال نمود. به بیان دیگر MSB که مهمترین بیت است در ابتدا و LSB که کم اهمیت ترین بیت است در آخر فرستاده می شود.

5-1-2) درخت جهت یابی مکانی

ایجاد و تقسیم بندی مجموعه ها با استفاده از ساختار ویژه ای به نام درخت جهت یابی مکانی انجام می شود این ساختار بگونه ای است که از ارتباط مکانی میان ضرایب ویولت در سطوح مختلف هرم زیرباندها [7] استفاده می کند.

درختهای جهت یابی مکانی در شکل 59-5 برای یک تصویر 16*16 نشان داده شده است. زیرباند LL2 مجدداً به چهار گروه که هر یک شامل 2×2 ضریب است تقسیم می شود در هر گروه هر یک از چهار ضریب (شکل دو سطح پایین گذر و بالاگذر دارد و هر سطح به چهار زیر باند تقسیم می شود).

به غیر از ضریبی که در سمت چپ و بالا قرار گرفته و با رنگ خاکستری مشخص شده است ریشة یک درخت جهت یابی مکانی است پیکانها نشان می دهند که چگونه سطوح مختلف این درختها به هم مربوطند به طور کلی یک ضریب در موقعیت (i,j) در تصویر والد چهار ضریب در موقعیتهای (2i,2y) ، (2i+1,2y) ، (2i,2y+1) و (2i+1 , 2y+1) است ریشه های درختهای جهت یابی مکانی مربوط به این مثال در زیر باند LL2 قرار گرفته اند هر ضریب ویولت به غیر از آنهایی که با رنگ خاکستری مشخص شده اند و برگها میتواند ریشه برخی زیر درختهای جهت یابی مکانی باشند.

در این مثال اندازه زیر باند LL2 برابر 4×4 است و بنابراین به چهار گروه 2×2 تقسیم شده است. تعداد درختها در این مثال 12 تا است که برابر 4 /3 اندازه بالاترین زیر باند LL است.

هر کدام از 12 ریشه در زیر باند LL2 والد چهار فرزند استا که در سطح مشابهی قرار گرفته اند. فرزندان این فرزندان در سطح یک قرار می گیرند. عموماً ریشه های درختها در بالاترین سطوح، فرزندان آنها در سطحی مشابه از آن پس فرزندان ضرایبی که در سطح k قرار دارند در سطح k-1 قرار می گیرند.

بطور کلی میتوان گفت پس از تبدیل ویولت یک تصویر را میتوان با ساختار درختی آن نشان داد که در آن یک ضریب در زیر باند پایین میتواند چهار فرزند در زیر باند بالاتر داشته باشد و هر یک از این چهار فرزند میتوانند چهار فرزند دیگر در زیرباندهای بالاتر داشته باشند. به ساختاری که در این حالت پدید می آید.

درخت چهارتایی[8] گفته می شود که هر ریشه [9] چهارگره[10] دارد. نکته بسیار مهم نوع شماره گذاری موقعیت مکانی خانه ها (ضرایب) است. ضریبی که در پایین ترین سطح و در گوشه بالا در سمت چپ قرار داد دارای موقعیت مکانی (0 و 0 ) خواهد بود و به همین ترتیب ضرایب بعدی اضافه می شوند. اگر این موقعیت گذاری رعایت نشود جواب درستی به دست نمی آید [7].

6-1-2) درخت صفر

همانگونه که قبلاً‌اشاره شد میان زیرباندهای مجاوری که در موقعیت مکانی مشابه قرار گرفته‌اند نوعی وابستگی داخلی وجود دارد این بدان معناست که اگر ضریب مربوط به یک والد در تک آستانه مشخص بی معنی باشد به احتمال زیاد ضرایب مربوط به فرزندان نیز در مقایسه با استانه جاری بی معنی خواهد بود و این امر تأیید کننده نزولی بودن چگالی طیف توان در تصاویر طبیعی می باشد در الگوریتم EZW و الگوریتمهای مشابه این رابطه والد و فرزندی برای bitplane مربوط به باارزشترین بیت bit plante (MSB) مربوط به کم ارزشترین بیت (LSB) بکار برده می شود.

معنی دار بودن ضرایب با توجه به آستانه داده شده تعیین می گردد و آستانه در هر مرحله نصف می شود. ضرایب در هر مرحله با آستانه مقایسه می شود و با توجه به این مقایسه در bitplane مربوطه مقدار o یا 1 به آنها اختصاص داده می شود.

یک درخت صفر درختی است متشکل از ضرایبی که همگی در مقایسه با آستانه جاری بی معنی هستند در اکثر موارد درختهای صفر زیادی در یک bit plane وجود دارد. استفاده از نمایش درخت صفر برای یک ریشه به معنای بی معنی بودن تمام فرزندان آن در مقایسه با آستانه فعلی می باشد و این امر به فشرده سازی کمک شایانی می کند.

7-1-2) کدگذاری در الگوریتم EZW

در این الگوریتم دو لیست با نامهای DL [11] و SL مورد استفاده قرار می گیرند. لیست DL شامل مختصات ضرایبی است که معنی دار نیستند. لیست SL شامل بزرگی (نه مختصات) ضرایبی است که معنی دار می باشند هر دوره انجام الگوریتم شامل یک گذار اصلی[12] می باشد که در ادامه آن یک گذار فرعی [13] می آید. گامهای اصلی الگوریتم به ترتیب زیر است:

1- مقداردهی اولیه

الف) مختصات تمامی ضرایب ویولت در لیست DL قرار می گیرد.

ب ) تنظیم آستانه اولیه :

فرمول

که Ci,y ضریب ویولت می باشند.

2- گذار اصلی

تمامی ضرایب در یک مسیر از پیش تعیین شده اسکن می شوند این مسیر طبق چند الگو تعریف می شود. انتخاب مناسب هر یک از این الگوها می تواند نقش مهمی در افزایش کارایی الگوریتم داشته باشد. شکل با مقایسه هر یک از ضرایب لیست DL با آستانه جاری T یکی از چهار علامت زیر بعنوان علامت مشخصه ضریب در نظر گرفته می شود.

الف) در صورتیکه ضریب در مقایسه با آستانه جاری T معنی دار مثبت باشد علامت PS [14] بعنوان خروجی در نظر گرفته می شود. هنگامیکه این علامت ورودی دیکدر قرار گیرد ضریب را برابر T5/1 قرار می دهد.

ب) در صورتیکه ضریب در مقایسه با آستانه جاری T معنی دار و منفی باشد علامت NS [15] بعنوان خروجی در نظر گرفته می شود. هنگامیکه این علامت ورودی دیکدر قرار گیرد ضریب را برابر T5/1- قرار می دهد.

ج) در صورتیکه یک ضریب در مقایسه با آستانه جاری معنی دار نباشد ولی بعضی از فرزندان آن معنی دار باشند علامت IZ [16] (صفر منفرد) بعنوان خروجی در نظر گرفته می شود.

د) در صورتیکه یک ضریب و تمام فرزندان آن در مقایسه با آستانه جاری بی معنی باشند علامت ZTR [17] (درخت صفر) بعنوان خروجی در نظر گرفته می شود. نکته مهم این است که لازم نیست نسلهای این درخت صفر در تکرار جاری کدگذاری شوند. هنگامیکه این علامت ورودی دیکدر قرار می گیرد، به ضریب و تمامی ضرایب مربوطه به نسلهای آن مقدار صرف نسبت می دهد. مقدار این ضرایب در تکرارهای متوالی اصلاح میشود.

ضرایبی که با علامت PS و NS مشخص شده اند در لیست SL قرار گرفته و مقادیر آنها bitplane مربوطه صفر می شود فلوچارت مربوطه به دسته بندی


مفاهیم پایگاه داده های رابطه ای و نرمال سازی

ما در فصل2 جبر رابطه ای را ارائه کردیم که اشکال پایه ای در بسیاری از مواردی هستند که در زبان SQL Query استفاده می شوند جزئیات بیشتر در فصل های 3 و 4 ارائه شد در این فصل ابتدا دوزبانی را که بیشتر رسمیت دارند را مطالعه می کنیم یکی حساب رابطه ای چندتایی و یکی حساب رابطه ای حوزه که این دو زبان رسمی زبان هایی هستند بر پایة پرس و جو1 و مبتنی بر منطق
دسته بندی ریاضی
فرمت فایل doc
حجم فایل 1210 کیلو بایت
تعداد صفحات فایل 283
مفاهیم پایگاه داده های رابطه ای و نرمال سازی

فروشنده فایل

کد کاربری 8044

فهرست مطالب

عنوان صفحه

فصل پنجم - دیگر زبانهای رابطه ای ............................................................................................................................... 1

5-1- حساب رابطه ای چند تایی ......................................................................................................................................... 3

5-1-1- طرح مثال ............................................................................................................................................................. 4

5-1-2- تعاریف رسمی ....................................................................................................................................................... 9

5-1-3- اطمینان در بیان ...................................................................................................................................................... 11

5-1-4- زبان های توانای پر معنی ....................................................................................................................................... 12

5-2- قلمرو حساب رابطه ای ............................................................................................................................................. 13

5-2-1- تعریف رسمی ..................................................................................................................................................... 13

5-2-2- پرس وجوهای نمونه ............................................................................................................................................. 14

5-2-3- ایمنی عبارات ....................................................................................................................................................... 16

5-2-4- قدرت بیانی زبان .................................................................................................................................................. 18

5-3- پرس وجو از طریق مثال ............................................................................................................................................ 19

5-3-1-جدول های ساختمان ............................................................................................................................................. 20

5-3-2- پرس وجو هایی روی یک رابطه ........................................................................................................................... 20

5-3-3- پرس وجو روی رابطه های جداگانه ..................................................................................................................... 25

5-3-4- جعبه وضعیت ...................................................................................................................................................... 27

5-3-5- رابطه نتیجه .......................................................................................................................................................... 30

5-3-6- QBEدر مایکروسافت اکسس ............................................................................................................................. 32

5-4- دیتالوگ ................................................................................................................................................................. 35

5-4-1- ساختار اساسی ..................................................................................................................................................... 35

5-4-2- ترکیب دستورات دیتالوگ .................................................................................................................................. 38

5-4-3- ترکیب های معنایی دیتالوگ غیر بازگشتی .......................................................................................................... 42

5-4-3-1- ترکیب های معنایی یک دستور ........................................................................................................................ 42

5-4-3-2- ترکیب معنایی برنامه ........................................................................................................................................ 44

5-4-4- ایمنی .................................................................................................................................................................. 47

5-4-5- عملیاتهای رابطه ای در دیتالوگ .......................................................................................................................... 49

5-4-6- بازگشتی در دیتالوگ .......................................................................................................................................... 51

5-4-7- قدرت بازگشتی .................................................................................................................................................. 56

5-5- خلاصه ................................................................................................................................................................... 59

مرور اصطلاحات ............................................................................................................................................................ 60

تمرین مهارت .................................................................................................................................................................. 61

تمرین ها ......................................................................................................................................................................... 63

نکاتی مربوط به فهرست کتاب .......................................................................................................................................... 66

ابزارها ............................................................................................................................................................................. 67

بخش دوم :طراحی پایگاه داده ....................................................................................................................................... 68

فصل ششم: طراحی پایگاه داده مدل E-R .................................................................................................................. 70

6-1- مفهوم کلی فرایند طراحی ....................................................................................................................................... 71

6-1-1- مراحل طراحی ................................................................................................................................................. 72

6-1-2- طراحی جایگزین ها .......................................................................................................................................... 74

6-2- مدل موجودیت رابطه ........................................................................................................................................... 75

6-2-1- گروه موجودیت ............................................................................................................................................. 76

6-2-2- گروه رابطه ها .................................................................................................................................................. 78

6-2-3- صفات ............................................................................................................................................................. 83

6-3- محدودیت ها ........................................................................................................................................................ 87

6-3-1- ترسیم کاردینالیتی ............................................................................................................................................ 87

6-3-2- کلیدها ............................................................................................................................................................. 89

6-3-2-1- گروه موجودیت ها ...................................................................................................................................... 90

6-3-2-2- گروه رابطه ها .............................................................................................................................................. 91

6-3-3- مشارکت محدودیت ها .................................................................................................................................. 93

6-4- نمودارهای موجودیت – رابطه ............................................................................................................................ 93

6-5- نتایج طراحی موجودیت – رابطه ......................................................................................................................... 102

6-5-1- استفاده از گروه موجودیت ها در مقابل صفات ............................................................................................... 102

6-5-2- استفاده از گروه موجودیت ها به جای گروه رابطه ها ...................................................................................... 105

6-5-3- گروه رابطه های n-ary در مقایل دوگانه ...................................................................................................... 106

6-5-4- جایگاه صفات رابطه ..................................................................................................................................... 109

6-6- گروه موجودیت ضعیف .................................................................................................................................... 111

6-7- ویژگیهای E-R گسترده .................................................................................................................................. 114

6-7-1- ویژه کاری .................................................................................................................................................... 115

6-7-2 – عمومی سازی .............................................................................................................................................. 118

6-7-3- صفات وراثتی ............................................................................................................................................... 120

6-7-4- محدودیت ها در عمومی سازی ..................................................................................................................... 121

6-7-5- ترکیب ......................................................................................................................................................... 125

6-7-6- نمادهای E-R جایگزین ............................................................................................................................... 128

6-8- طراحی پایگاه داده برای پروژه بانکداری ........................................................................................................... 130

6-8-1- جایگزین های طرح E-R .............................................................................................................................. 131

6-8-2- الزامات داده برای پایگاه داده بانک ................................................................................................................ 132

6-8-3- گروه های موجودیت برای پایگاه داده بانک ................................................................................................. 134

6-8-4- گروه های رابطه برای پایگاه داده بانک .......................................................................................................... 135

6-8-5- نمودار E-R برای پایگاه داده بانک .............................................................................................................. 136

6-9- تبدیل شدن به الگوی رابطه ای .......................................................................................................................... 136

6-9-1- ارائه گروه های موجودیت قوی ..................................................................................................................... 138

6-9-2- ارائه گروه های موجودیت ضعیف ................................................................................................................ 139

6-9-3 – ارائه گروه های رابطه .................................................................................................................................. 140

6-9-3-1- الگوهای زائد ............................................................................................................................................ 142

6-9-3-2- ترکیب الگوها ........................................................................................................................................... 142

6-9-4- صفات ترکیبی و چند مقداری ....................................................................................................................... 144

6-9-5- ارائه روش عمومی سازی ............................................................................................................................. 145

6-9-6- ارائه دادن ترکیب ......................................................................................................................................... 147

6-9-7- الگوی رابطه برای پروژه بانکداری ................................................................................................................ 148

6-10- جنبه های دیگر طراحی پایگاه داده ................................................................................................................. 149

6-10-1- محدودیت داده ها وطراحی پایگاه داده رابطه ای ........................................................................................ 150

6-10-2- الزامات کاربردی : پرس وجوها ، کارایی .................................................................................................... 151

6-10-3- الزامات کنترل ........................................................................................................................................... 153

6-10-4- جریان داده ها ............................................................................................................................................ 153

6-10-5- موضوعات دیگر در طراحی پایگاه داده ..................................................................................................... 154

6-11- زبان مدل سازی یکپارچه UML .................................................................................................................. 156

6-12- خلاصه ........................................................................................................................................................... 160

مروری بر اصطلاحات ................................................................................................................................................. 163

تمرین مهارت ............................................................................................................................................................. 165

تمرینات ...................................................................................................................................................................... 170

منابع ........................................................................................................................................................................... 173

ابزارها ......................................................................................................................................................................... 173

فصل هفتم: طراحی پایگاه داده رابطه ای .......................................................................................... 175

7-1- ویژگی های طراحی های رابطه ای خوب ......................................................................................................... 176

7-1-1- طراحی جایگزین : الگوهای بزرگتر .............................................................................................................. 177

7-1-2- طراحی جایگزین : الگوهای کوچکتر ........................................................................................................... 181

7-2- محدوده های غیر قابل تجزیه واولین شکل نرمال ............................................................................................... 185

7-3- تجزیه با استفاده از وابستگی های عملیاتی ....................................................................................................... 188

7-3-1- کلیدها و وابستگی های عملیاتی ................................................................................................................... 188

7-3-2- شکل نرمال Boyce-codd ...................................................................................................................... 192

7-3-3- BCNF و حفاظت وابستگی ..................................................................................................................... 193

7-3-4- سومین شکل نرمال .................................................................................................................................... 197

7-3-5- شکل های نرمال بیشتر ................................................................................................................................. 200

7-4- تئوری وابستگی عملیاتی .................................................................................................................................. 201

7-4-1- بستار مجموعه وابستگی های عملیاتی .......................................................................................................... 201

7-4-2- بستار گروه های صفات ............................................................................................................................. 205

7-4-3- پوشش استاندارد ....................................................................................................................................... 208

7-4-4- تجزیه بی نقص .......................................................................................................................................... 213

7-4-5- حفاظت وابستگی ........................................................................................................................................ 214

7-5- تجزیه با استفاده از وابستگی های عملیاتی ........................................................................................................ 217

7-5-1- تجزیه BCNF .......................................................................................................................................... 217

7-5-1-1- آزمون BCNF .................................................................................................................................... 218

......................................................................................................................... 220

7-5-2- تجزیه 3NF .............................................................................................................................................. 222

7-5-3- مقایسه BCNF و 3NF ............................................................................................................................. 225

7-6- تجزیه با استفاده از وابستگی های چند مقداری ................................................................................................. 226

7-6-1- وابستگی های چند مقداری ......................................................................................................................... 227

7-6-2- شکل نرمال چهارم ..................................................................................................................................... 230

7-6-3- تجزیه 4NF ............................................................................................................................................... 232

7-7- دیگر شکل های نرمال ..................................................................................................................................... 234

7-8- فرایند طراحی پایگاه داده ............................................................................................................................... 234

7-8-1- مدل E-R و نرمال سازی ............................................................................................................................ 235

7-8-2- نام گذاری صفات و رابطه ها ........................................................................................................................ 237

7-8-3- از نرمال درآوردن برای کارایی ................................................................................................................... 239

7-8-4- دیگر مباحث طراحی ................................................................................................................................... 240

7-9- مدل سازی داده های موقتی ............................................................................................................................. 241

7-10- خلاصه .......................................................................................................................................................... 245

مرور اصطلاحات ........................................................................................................................................................ 246

تمرین مهارت ............................................................................................................................................................ 248

تمرین ...................................................................................................................................................................... 250

واژه نامه ..................................................................................................................................................................... 254

فهرست شکل ها

عنوان صفحه

شکل 5-1- اسامی همه مشتریانی که یک وام در شاخه perryridge دارند ................................................................... 5

شکل 5-2- جدول های ساختمان برای مثال بانک ........................................................................................................ 22

شکل 5-3- نمونه پرس و جو در Microsoft access QBE .................................................................................... 32

شکل 5-4- یک پرس و جو تراکمی در Microsoft access QBE ....................................................................... 34

شکل 5-5- نمونه حساب رابطه ای .............................................................................................................................. 37

شکل 5-6- رابطه V1 .................................................................................................................................................. 37

شکل 5-7- برنامه دیتالوگ سود حساب های perryridge ......................................................................................... 41

شکل 5-8- برنامه دیتالوگ بازگشتی .......................................................................................................................... 42

شکل 5-9- نتیجه Infer(R,I) .................................................................................................................................... 44

شکل 5-10- لایه بندی رابطه ها .................................................................................................................................. 46

شکل 5-11- رویه datalog-fixpoint ..................................................................................................................... 52

شکل 5- 12- رابطه manager ................................................................................................................................. 53

شکل 5-13- کارکنان جونز در تکرار رویه datalog- fixpoint ............................................................................... 54

شکل 5-14- پایگاه داده کارکنان .............................................................................................................................. 62

شکل 5-15- پایگاه داده بیمه ..................................................................................................................................... 65

شکل 6-1- گروه موجودیت loan,customer ....................................................................................................... 78

شکل 6-2- گروه رابطه borrower ........................................................................................................................... 79

شکل 6-3- Accwss-date به عنوان صفتی برای گروه رابطه depositor .............................................................. 81

شکل 6-4- صفات مرکب نام مشتری وآدرس مشتری ................................................................................................. 83

شکل 6-5- نقشه کاردینالیتی ها a,b ............................................................................................................................ 87

شکل 6-6- نقشه کاردینالیتی ها a,b ............................................................................................................................ 89

شکل 6-7- نمودار E-R مربوط به loans,customers ........................................................................................... 94

شکل 6-8- روابط c,b,a ........................................................................................................................................... 96

شکل 6-9- نمودار E-R با یک صفت که به یک رابطه اضافه شده است ..................................................................... 96

شکل 6-10- نمودار E-R با صفات مرکب ، چند مقداری و مشتق شده .................................................................... 97

شکل 6-11- نمودار E-R با نمایشگر نقش .......................................................................................................... 99

شکل 6-12- نمودار E-R با یک رابطه سه گانه ........................................................................................................ 99

شکل 6-13- مشارکت کلی یک گروه موجودیت در یک گروه رابطه ...................................................................... 100

شکل 6-14- محدودیت های کاردینالیتی روی گروه رابطه ....................................................................................... 101

شکل 6-15- جانشین هائی برای telephone,employee ..................................................................................... 103

شکل 6-16- loan به عنوان یک گروه رابطه .................................................................................................... 105

شکل 6-17- رابطه سه گانه در مقابل سه رابطه دوگانه .............................................................................................. 108

شکل 6-18- access-date به عنوان صفتی برای گروه موجودیت account ...................................................... 110

شکل 6-19- نمودار E-R برای یک گروه موجودیت ضعیف ............................................................................... 114

شکل 6-20- عمومی سازی و ویژه کاری ............................................................................................................... 117

شکل 6-21- نمودار E-R با رابطه های زائد ......................................................................................................... 126

شکل 6-22- نمودار E-R ترکیب ....................................................................................................................... 127

شکل 6-23- نمادهای مورد استفاده در E-R ......................................................................................................... 129

شکل 6-24- نمادهای جایگزین در E-R ........................................................................................................ 130

شکل 6-25- نمودار E-R برای پروژه بانکداری .................................................................................................. 137

شکل 6-26- چند گانه loan ................................................................................................................................. 138

شکل 6-27- نمودار E-R ...................................................................................................................................... 143

شکل 6-28- نمادهای مورد استفاده در طراحی نمودار کلاس UML .................................................................... 159

شکل 6-29- نمودار E-R برای تمرین مهارت 6-9و6-22 .................................................................................. 168

شکل 6-30- نمودار E-R برای تمرین 6-11 ................................................................................................... 169

شکل 6-31- نمودار E-R برای تمرین 6-21 ................................................................................................... 171

شکل 7-1- الگوهای بانکداری برای بخش 6-9-7 ........................................................................................... 177

شکل 7-2- بخشی از چند گانه ها در رابطه های bor- loan,borrower,loan ............................................. 179

شکل 7-3- چندگانه ها در رابطه های loan-amt-br,loan-branch,loan .................................................. 181

شکل 7-4- از بین رفتن اطلاعات در یک تجزیه نامناسب ................................................................................. 185

شکل 7-5- رابطه نمونه r ................................................................................................................................. 191

شکل 7-6- گروه های رابطه Works-in,cust-banker ................................................................................ 195

شکل 7-7- گروه رابطه cust-banker-branch ........................................................................................... 196

شکل 7-8- یک روال برای محاسبه F+ .......................................................................................................... 205

شکل 7-9- یک الگوریتم برای محاسبه X+ ، بستار X تحت F ........................................................................... 207

شکل 7-10- محاسبه پوشش استاندارد ............................................................................................................ 211

شکل 7-11- آزمون برای حفاظت وابستگی ................................................................................................... 215

شکل 7-12- الگوریتم تجزیه BCNF ............................................................................................................ 219

شکل 7-13- حفاظت وابستگی ، تجزیه بی نقص در 3NF ............................................................................ 222

شکل 7-14- نمایش جدولی از XàB ...................................................................................................... 228

شکل 7-15- یک مثال از افزونگی در رابطه روی الگوی BCNF .................................................................. 229

شکل 7-16- یک رابطه R2 غیر مجاز ............................................................................................................ 229

شکل 7-17- الگوریتم تجزیه 4NF .............................................................................................................. 231

شکل 7-18- رابطه تمرین 7-2 ................................................................................................................. 248

شکل 7-19- الگوریتمی برای محاسبه X+ ....................................................................................................... 252

7-5-1-2- الگوریتم تجزیه BCNF ...........................

ما در فصل2 جبر رابطه ای را ارائه کردیم که اشکال پایه ای در بسیاری از مواردی هستند که در زبان SQL Query استفاده می شوند . جزئیات بیشتر در فصل های 3 و 4 ارائه شد . در این فصل ابتدا دوزبانی را که بیشتر رسمیت دارند را مطالعه می کنیم یکی حساب رابطه ای چندتایی و یکی حساب رابطه ای حوزه . که این دو زبان رسمی زبان هایی هستند بر پایة پرس و جو[1] و مبتنی بر منطق ریاضی ، و این دو زبان رسمی شکل پایه ای برای دو یا بیشتر زبان های دوستانه هستند ، که بعداً در این فصل QBE[2] و Datalog را مطالعه می کنیم .

بر خلاف SQL و QBE یک زبان گرافیکی به گونه ای به شکل جداول می باشد .QBE و جایگزینش خیلی مورد استفاده قرار می گیرند در سیستمهای پایگاه داده در کامپیوترهای شخصی . Datalog یک نمونه ترکیبی بعد از زبان Prolog دارد . هر چند در حال حاضر به صورت تجاری از این دست آورد استفاده نمی شود . Datalog بیشتر در جستجوی سیستم های پایگاه داده ای مورد استفاده قرار می گیرد .

برای QBE و Datalog ، ما ساختارها و مفاهیم بنیادی را سریع تر از یک کتاب راهنمای جامع کاربران برای این زبان ها به دست می آوریم ، عقیده بر این است که شخص یکی از این زبان ها را انتخاب کند ، ممکن است در جزئیات متفاوت باشند یا ممکن است تنها یک زیر مجموعه از تمام زبان ها را تأیید کند .

5-1 حساب رابطه ای چندتایی

وقتی که ما یک عبارت جبری رابطه ای را می نویسم . ما یک روالی را که جوابهایی برای پرس و جو به وجود می آورند را مهیا می کنیم . در مقام مقایسه حساب رابطه ای چندتایی یک زبان تحقیقی غیر رویه ای اطلاعات خوبی را بدون دادن یک روال ویژه برای به دست آوردن آن اطلاعات ارائه می دهد . یک پرس و جو در حساب رابطه ای چندتایی که مثل { t | p (t ) } بیان می شود منظور این است که آن یک مجموعه ای از همه متغییرهائی چون t می باشد به گونه ای که p ( t ) مبتنی بر آن درست باشد به ازاء همه t ها. در دنباله مطالبمان ، ما از t [A] برای مشخص کردن مقدار متغییر t بر روی صفت A استفاده می کنیم و ما از r t برای مشخص کردن یک متغییر t که در رابطه با r می باشد ، استفاده می نماییم.

قبل از این که ما یک تعریف رسمی از حساب رابطه ای چندتایی ارائه بدهیم ، ما به بعضی از پرس و جو ها که در جملات جبری رابطه ای در بخش 2-2 نوشته ایم برمی گردیم . به یاد آورید که پرس و جو ها از الگوی های زیر پیروی می کنند :

شاخه ( نام شاخه ـ شهر شاخه ـ موجودی ( دارائی ) )

خریدار ـ مشتری ( نام مشتری و جبر مشتری ، شهر مشتری )

وام ( شماره وام ـ نام شاخه ـ مقدار )

وام گیرنده ( نام مشتری ـ شماره وام )

حساب ( شماره حساب ـ نام شاخه ـ موجودی )

سپرده گذار ( نام مشتری ـ شماره حساب )

5- 1- 1- طرح مثال

پیدا کردن نام شاخه ، شماره وام ، مبلغ وام برای وام های بیشتر از 1200 دلار :

{loam ^ t [ amount ]> 1200 t½ t }

فرض کنید که ما خواسته باشیم فقط صفت ( شماره وام ) ، بیشتر از همه صفات رابطه وام باشد . برای نوشتن این پرس و جو در حساب رابطه ای چندتایی ما به نوشتن یک توضیح نیاز داریم . برای یک رابطه در این طرح یا مدل ( شماره وام ) ما به چندتایی ها بر روی شماره وام نیاز داریم هم چنانکه یک چندتایی در وام به وسیله یک صفت, مقداری بزرگتر از 1200 وجود دارد . برای بیان این تقاضا ما به ساختار وجود داشتن از مطلق ریاضی نیاز داریم . نکته :

r ( Q (t) ) t

وجود یک متغییر t متعلق به r به گونه ای که Q (t) درست باشد . از این نکات استفاده می کنیم ، تا بتوانیم پرس و جو را بنویسیم همچون ، پیدا کردن شماره وام برای هر یک از وام ها به گونه ای که مبلغ بزرگ تر از 1200 دلار باشد . همچون :

loan ( t [ loan - number] = S [loan-number]^S [amount]>1200}S t½}

در انگلیسی ، ما می خوانیم جمله یا توضیحی قبلی به عنوان ” دسته ای از همه متغیرهایی همچون t که وجود دارد یک متغیر ( چندتایی) S متعلق به loan برای هر مقدار t و s متعلق به loan-number که مساوی هستند و مقدار S برای صفت amount بزرگ تر از 1200 دلار هستند .

متغیر چندتایی t تنها در نشانه های loan-number تعریف می شود از این که تنها صفتی از بودن یک حالت ویژه برای t وجود دارد . نتیجه این است که یک ارتباط روی loan number وجود دارد .

نتیجه پرس و جو پیدا کردن اسامی همه مشتری ها که یک وام از شاخة Perryridge دارند . این پرس و جو اندکی پیچیده تر از تحقیقات قبلی است. بعد از درگیر کردن دو رابطه : قرض کننده و وام . ما باید همه درخواست ها را مشاهده کنیم . بنابراین ، ما دو شرط « وجود داشتن » در عبارت حساب رابطه ای چندتایی داریم که به وسیله ( ^ ) and متصل شده اند . ما پرس و جو را به شکل زیر می نویسیم:

{ t½ s borrower ( t [ customer-name] = S [Customer-name]^ u loan
( u [ loan – number] = S [ loan- number] ^ u [ branch –name ] = “ perryridge” )) }

customer – name

Adams

Hayes

شکل 5-1 اسامی همه مشتری هایی که یک وام در شاخه Perryridge دارند .

در انگلیسی ، این مطلب به صورت همه متغیرهائی ( customer name ) برای هر مشتری که یک وام از یک شاخه Perryridge دارد ، بیان می گردد . متغیرهای چندتایی u این اطمینان را می دهند که مشتری یک قرض کنند از شاخه Perryridge می باشد . متغیرهای چندتایی S در شماره وام یکسان مثل S محصور شده اند . شکل 1- 5 نتیجه این پرس و جو را نشان می دهد .

برای یافتن همه مشتری هایی که یک وام دارند و یک موجودی و یا هر دو را در بانک دارند ، ما عملوند مشترک در روابط جبری به کار می بریم . در جبر رابطه ای چندتایی ما به دو شرط « وجود داشتن » نیاز داریم که به وسیله ( v ) یا متصل می شوند :

{ t½ s borrower ( t [ customer-name] = S [Customer-name] ) v u depositor ( t [ customer – name] = u [ customer- name] ) }

این توضیح جمله همه اسامی مشتری های چندتایی را برای نگهداری آن به یکی از روشهای زیر را می دهد .

l نام مشتری در بعضی چندتایی ها از رابطه قرض کننده نوشته می شود همچون قرض کننده از بانک

l نام مشتری در بعضی چندتایی ها از رابطه امانت گذار نوشته می شود همچون امانت گذار در بانک .

اگر بعضی از مشتری ها هر دو ، یک وام و یک حساب در بانک را داشته باشند، مشتری فقط یکبار در نتیجه ظاهر می شود . چرا که در تعریف ریاضی در یک مجموعه اجازه داده نمی شود که از عناصر نسخه برداری شود .

نتیجه این تحقیق در شکل 11-2 نشان داده شده است.

اکنون اگر تنها آن مشتری هایی را که هر دو یک حساب و یک وام بانک دارند را خواسته باشیم، نیاز داریم به اینکه ( v ) or را به ( ^ ) and در جمله قبلی تغییر دهیم.

{ t½ S borrower ( t [ customer-name] = S [Customer-name] ) ^ u depositor ( t [ customer – name] = u [ customer- name] ) }

نتیجه این پرس و جو در شکل 19- 2 نشان داده شده ا ست .

حال پرس و جوی یافتن همه مشتری هایی که یک حساب بانکی دارند اما یک وام از بانک ندارند را ملاحظه کنید. بیان ریاضی رابطه ای برای این پرس و جو مانند بیان هایی که ما ارائه کردیم می باشد . بجز آنهایی که ما از علامت ~)) not استفاده کردیم .

{ t½ u depositor ( t [ customer-name] = u [Customer-name] ) ^ ~S borrower ( t [ customer – name] = S [ customer- name] ) }

این بیان ریاضی رابطه ای چندتایی از depositor ( ...)u استفاده می کند . با شرط آن که نیاز است به این که مشتری یک حساب در بانک داشته باشد و از
borrower ( ...)
S ~ استفاده می شود با شرط این که آن مشتری ها که پیدا می شوند متعلق به بعضی از متغیر رابطه ای وام گیرنده ای که یک وام از بانک دارند ,نباشد .

نتایج این پرس و جو در شکل 12 – 2 نشان داده شده است .

در پرس و جو ما بایستی از جهت نشان دادن نتیجه و دلالت استفاده کنیم . شکلQ p به معنی p " آن گاه "Q است . که آن « اگر p درست باشد آن گاه Q باید درست باشد » می باشد . نکته این که Q P منطقاً مساوی است با ~ PVQ . استفاده از استدلال سریع تر از not و or اغلب به یک بیان بیشتر یک پرس و جو در انگلیسی اشاره می کند .

پرس و جویی را که ما در بخش 3-3-2 استفاده کرده ایم ملاحظه نمائید. برای توضیح بخش عمل : « یافتن همه مشتری هائی که یک حساب در همه شاخه های که معلوم شده در Brooklyn دارند . نوشتن این پرس و جو در حساب رابطه ای چندتایی ، « برای همه » ساختار مشخص شده ای را به وسیله ایجاد می کنیم .

توجه :

به معنی ” Q برای همه متغیرهای t در رابطه با r درست است “ و ما توضیحی برای پرس و جو خود به شکل زیر می نویسیم:

{ t½r customer ( r [ customer-name] = t [Customer-name] ) ^ ( branch ( u [branch – city ] = “ Brooklyn” DEPOSITOR ( t [ customer-name] = S [ customer – name ] ^ w account ( w [ account – number ] = S [ account – number ] ^ w [ branch –name ] = u [ branch – name] )))) }

در انگلیسی ، ما این جمله را این گونه بیان می کنیم « همه مشتری هایی که در آن
( customer- name ) متغیر t هست . برای همه متغیرهای u در رابطة branch و اگر مقدار u به عنوان یک صفت branch-city مساوی Brooklyn باشد آن گاه مشتری یک حساب در شاخه ای که نام آن ظاهر شده است در صفت name - branch متغیر u داشته باشد» .

نکته ظریفی در بالای این پرس و جو وجود دارد این است که : اگر هیچ شعبه ای درBrooklyn وجود نداشته باشد و نام همه مشتری هائی که در این شرط برقرارند وجود نداشته باشد .

خط اول توضیح پرس و جو در این حالت بحرانی است ـ بدون شرط

customer ( r [customer-name ] = t [ customer-name ] )

اگر هیچ شاخه ای در Brooklyn وجود نداشته باشد ، هیچ مقدار t ( به انضمام مقادیری که نام مشتری در رابطه customer نیستند . ) محدود شود .

5-1-2 تعاریف رسمی

حالا ما برای بیان تعاریف رسمی آماده هستیم. یک منطق رابطه ای چندتایی به شکل زیر بیان می شود:

{ t½ p ( t ) }

هرکجا که p به عنوان فرمول ظاهر شود ، ممکن است چندین متغیر چندتایی در یک فرمول ظاهر شود . یک متغیر چندتایی به یک متغیر آزاد که بیان می شود به وسیله یک یا گفته می شود . بنابراین ، در

{ t loan ^ customer ( t [ branch-name] = S [branch-name] )

t یک متغیر آزاد می باشد . متغیر چندتایی S گفته می شود که یک متغیر ناگزیر می باشد . یک شکل منطق رابطه ای چندتایی از عناصر خارجی ساخته می شود. یک عنصر به یکی از اشکال زیر می باشد :

l rS ، هنگامی که S یک متغیر چندتایی هست و r یک رابطه می باشد . ( ما از عمل به شکل استفاده نمی کنیم)

l s[n](-)u[y] و هنگامی که S و U متغیرهای چندتایی هستند و x یک صفت برای زمانی که S تعریف شده است می باشد و y یک صفت برای زمانی u تعریف شده است می باشد و (- ) یک عملگر مقایسه ای است . () ، نیازمند هستیم که متغیرهای x و y بتوانند عضو مجموعه ای باشند که بتوانند به وسیله عملگر (- ) مقایسه شوند .

l S [x](-)c ، هنگامی که S یک متغیر چندتایی هست ، x یک صفت که توسط s تعریف می شود ، است . (- ) یک عملگر مقایسه ای است و c یک مقدار ثابت در مکانی.

l ( حوزه ) از صفت x است . ما فرمولی از عناصری که از قوانین زیر پیروی می کنند
می سازیم :

l یک اتم ، یک فرمول است .

l اگر P1 یک فرمول باشد ، آنگاه ~P1 و ( P1 ) فرمول هستند .

l اگر P1 و P2 فرمول باشند ، آنگاه P1VP2 و P1^P2 و P2 P1 فرمول هستند.

l اگر P1 (S) یک فرمول باشد متشکل از یک متغیر چندتایی آزاد s و r یک رابطه هست ، آنگاه

r( P1 (S) ( P1 (S) ) and

نیز فرمول هستند .

همچنین ما می توانیم برای روابط جبری عبارت های معادلی را که در ظاهر هم مشکل نباشند را بنویسیم .

در جبر رابطه ای چندتایی ، این عبارت ها شامل 3 قانون زیر می باشند :

1. P1P2 is equivalent to ~ ( ~ ( P1 ) ~ ( P2 )) .

2. ( P1 (t)) is equivalent to ~ tr ( ~ P1 (t) )

3. P1P2 is equivalent to ~ ( P1 ) P2.

5-1-3 اطمینان در بیان

یک نتیجه پایانی برای آدرس داده وجود دارد . یک بیان جبر رابطه ای چندتایی ممکن یک رابط نامحدود عمومی می باشد . که ما این عبارت را این گونه می نویسیم :

loan ) } { t | ~ ( t

به طور نامحدود چندتایی های زیادی که در loan نیستند ، وجود دارد . بیشتر این چندتایی ها شامل مقادیری هستند که هرگز در پایگاه داده ظاهر نمی شوند .

بدون شک ما امید چندانی برای پذیرش این چنین عبارت هائی را نداریم . برای یاری ما محدودیت در جبر رابطه ای چندتایی را تعریف می کنند. ما حیطه یک فرمول رابطه ای چندتایی را معرفی می کنیم و p به طور حسی ، مکان p به شکل دامنه ( p ) مشخص می شود ، همه مقادیر ارجاع شده به وسیلة p در آن هست. آنها شامل مقادیر نام برده شده در خود p هستند به همان خوبی مقادیری که در یک رابطة چندتایی ذکر شده در p ظاهر می شوند . بدین ترتیب ، موقعیت p هست همه مقادیری که صریحاً در p ظاهر می شوند یا این که در یک یا بیشتر روابطی که اسامی آنها را به وجود می آورند در p ، پدیدار می شوند . برای مثال دامنه (t [ amount] > 1200 loan t ) مجموعه ای شامل 1200 مجموعه همه مقادیر ظاهر شده در loan است .

همچنین دامنه loan ) ) ( ~ ( t مجموعه از همه مقادیر پدید آمده در loan است زمانی که رابطه loan در عبارت نامبرده شده .

ما گفتیم که یک عبارت { t | p ( t ) } درست است اگر همه مقادیر که به وجود می آیند در مجموعه مقادیر از دامنه ( P ) عبارت loan ) } { t | ~ ( t مجموعه از همه مقادیری که در loan وجود دارند بنابراین ، این امکان وجود دارد که داشته باشد یک چندتایی t که در loan نیست و شامل مقادیری که وجود ندارد در loan . به طور مثال عبارت هایی از حساب رابطه ای چندتایی که ما در این قسمت می نویسیم درست هستند .

5-1-4 زبانهای توانای پرمعنی

حساب رابطه ای چندتایی محصور شده با عبارتهای درست که در روابط قوی جبری پایه برابر هستند با (عملگرهای p , u , - , x , اما بدون عملگرهای رابطه ای عمومی چون g و عملگرهای رابطه ای خارجی) بنابراین برای هر جمله جبری رابطه ای فقط عملگر پایه به کار می رود و یک جمله ( توضیح ) معادل در حساب رابطه ای چندتایی است و برای هر جمله رابطه ای چندتایی یک حساب رابطه ای چندتایی برابر آن وجود دارد .

ما اینجا این تحقیق را اثبات نخواهیم کرد ؛ نکات مربوط به فهرست کتب شامل مراجعه به دلایل می باشد . برخی قسمتهای این دلایل شامل تمرین ها است .

ما توجه خواهیم کرد به حساب رابطه ای چندتایی که هیچ معادلی برای عملگرهای به هم پیوسته ندارند و آن می تواند به پشتیانی تراکم بسط داده شود و ادامه دادن حساب رابطه ای چندتایی به طور دستی بیان علم حساب که درست می باشد.

5-2 قلمرو حساب رابطه ای

شکل دوم حساب رابطه ای، که قلمرو حساب رابطه ای نامیده می شود، از متغیرهای سد[3] استفاده می کند. این متغیرها به جای استفاده از مقادیر یا چندگانه کلی از متغیرهای برگرفته از مقادیری استفاده می کند که برخواسته از قلمرو خصوصیات اند. البته قلمرو حساب رابطه ای به طور دقیقی به حساب رابطه ای چندگانه مربوط می شود.

قلمرو حساب رابطه ای به عنوان تئوری بنیادین بسیاری از مفاهیم مورد استفاده زبان، بکار میرود. درست شبیه جبر رابطه ای که به عنوان پایه ای برای زبان SQL بکار میرود.

5-2-1 تعریف رسمی

یک عبارت در قلمرو حساب رابطه ای به صورت:

{ < x1 ,x2 ,….,xn > | P(x1 ,x2 ,….,xn) }

است بطوریکه x1 ,x2 ,….,xn متغیرهای قلمرو را بیان می کند. P بیانگر یک فرمول ترکیب اتم هاست، همانگونه که در حساب رابطه ای چند تایی بود. اتم در قلمرو حساب رابطه ای یکی از شکلهای زیر را داراست:

  • · r < x1 ,x2 ,….,xn > بطوریکه r رابطه ای است روی n خصوصیت و x1 ,x2 ,….,xn متغیرها یا ثابت های قلمرو هستند.
  • · ، بطوریکه xوy متغیرهای قلمرو و عملگرهای مقایسه ای (> ، ≥ ، = ، ≠ ، < ، ≤) است. لازم است که خصوصیاتx و y دارای قلمروهایی باشند که بوسیله مقایسه شده اند.
  • · ، بطوریکه x یک متغیر قلمرو، یک عملگر مقایسه ای، و c یک ثابت در قلمروی خصوصیات برای هر x متعلق به قلمرو است.

ما با استفاده از قواعد زیر یک فرمول از اتم ها ایجاد کرده ایم:

  • · هر اتم یک فرمول است.
  • · اگر P1 یک فرمول است، بنابراین ⌐P1 و (P1) هم فرمول هستند.
  • · اگر P1 و P2 فرمول هستند، بنابراین نیز فرمول هستند.
  • · اگر P1(X) یک فرمول از x است، بطوریکه x یک متغیر قلمروی مستقل است، آنگاه

نیز یک فرمول است.

برای نمایش خلاصه تر می نویسیم:

5-2-2 پرس وجوهای نمونه

اکنون پرس وجوهایی از قلمرو چندگانه رابطه ای برای نمونه هایی که قبلاً توضیح دادیم ارائه می دهیم. به شباهت این عبارات و عبارات مشابه قلمرو چندگانه رابطه ای توجه نمایید.

  • · یافتن شماره وام، نام شعبه و مبلغ وامهای بیشتر از 1200دلار:

{ < l , b , a > | < l , b , a > loan a > 1200 }

  • · یافتن همه شماره وامها برای وامهای با مبلغ بیشتر از 1200دلار:

{ < l > | b , a ( < l , b , a > loan a > 1200 }

اگرچه پرس و جوی دوم مانند آن مورد که برای چندگانه حساب رابطه ای نوشتیم، به نظر میرسد، اما با هم یک تفاوت مهم دارند. درحساب چندگانه، وقتی می نوشتیم برای بعضی متغیر چندگانه s، بلافاصله آنرا با نوشتن یک به یک رابطه متصل می کردیم. اگر چه، وقتی در قلمرو حساب می نویسیم ، b به یک چندگانه اشاره نمی کند، اما بلکه به مقدار یک قلمرو اشاره دارد. بنابراین، دامنه متغیر b تا وقتی که زیر فرمول loan< l , b , a > متغیر b را به نامهای شعبه که در رابطه دیده می شوند محدود می کند، نا محدود است.

اکنون ما چندین مثال از پرس و جوها در قلمرو حساب رابطه ای بیان می کنیم.

  • · یافتن نام همه مشتریانی که از شعبه Perryridge وام دریافت کرده اند و یافتن مبلغ آن:

{ < c,a > | l ( borrower

b( < l,b,a>loan b="Perryridge"))}

  • · یافتن نام همه مشتریانی که یک وام،یک شماره حساب، یا هر دو را در شعبه Perryridge داشته اند:

{ < c > | l ( < c,l > borrower b , a ( loan b = "Perryridge")) a( depositor b,n ( account b="Perryridge"))}

  • · نام همه مشتریانی که در تمام شعبات واقع در بروکلین شماره حساب دارند:

{ < c > | s,t ( < c,s,t > customer x,y,z ( branch y = "Brooklyn" a,b ( account depositor))}

در زبان انگلیسی این عبارت را اینگونه تفسیر می کنیم: "مجموعه همه متغییرهای c (نام مشتری) که در آن برای همه متغییرهای های x,y,z (نام شعبه، شهر شعبه، موجودی) اگر شهر شعبه بروکلین است، آنگاه این عبارات همواره درست است:

  • oدر رابطه account با شماره حساب a، نام شعبه x وجود دارد.
  • oدر رابطه depositor یک چندگانه با نام مشتری c وشماره حساب a وجود دارد.

5-2-3 ایمنی عبارات

یادآور می شویم که در حساب چندگانه رابطه ای (بخش 5-1)، می توان عباراتی نوشت که بی نهایت رابطه تولید کند. این موضوع ما را به تعریف ایمنی برای عبارات حساب چندگانه رابطه ای سوق می دهد. برای قلمروی حساب رابطه ای نیز وضعیت مشابهی رخ می دهد. یک عبارت مانند

{ < l,b,a > | ⌐ ( < l,b,a > loan)}

نا ایمن است. زیرا مقادیری از نتیجه را که در قلمروی عبارت نیستند را پذیرش می کند.

در قلمروی حسابهای رابطه ای نیز باید نگران شکل فرمول در شرطهای "There exist" و "For all" باشیم. به عبارت

{ < x > |y (< x,y > r) z (⌐ ( < x,z > r ) P(x,z))}

وقتی p شامل بعضی فرمولهای شامل x یا z است توجه نمایید. می توانیم قسمت اول فرمول را r) y (< x,y > فقط با مقدار داخل r مورد ارزیابی قرار دهیم. اگرچه برای تست کردن قسمت دوم فرمول،

P(x,z)) r ) z(⌐ ( < x,z >

باید مقادیری برای z که در r ظاهر نشده اند را مورد توجه قرار دهیم. بنابراین در حالت کلی تست کردن قسمت دوم فرمول بدون ملاحظه کردن تعداد نامتناهی از مقادیر بالقوه برای z ، امکانپذیر نیست. در عوض برای ممنوع کردن عبارات مانند آنچه قبلاً ذکر شد، محدودیتهایی را اضافه کردیم.

در حساب چندگانه رابطه ای، هر متغیر وجودی تعیین شده را به یک دامنه مشخص رابطه محدود می کنیم. چون در قلمروی حساب اینکار را نمی کنیم، برای کار با موارد مشابه مثالمان، قواعدی را به تعریف ایمنی اضافه می کنیم. عبارت:

{ < x1 ,x2 ,….,xn > | P(x1 ,x2 ,….,xn) }

را ایمن گوییم هرگاه همه موارد زیر را داشته باشیم:

  1. همه مقادیری که در چندگانه عبارت ظاهر می شوند مقادیری از [4]dam(p) هستند.
  2. برای هر زیر فرمول "there exist" از شکل x (P1(x))، زیر فرمول درست است اگر و تنها اگر یک مقدار x در dam(P1) وجود داشته باشد که به ازای آن P1(x) درست است.
  3. برای هر زیر فرمول ّ"For all" از شکل (P1(x)) x، زیر فرمول درست است اگر و تنها اگر برای هر مقدار x از dam(P1) P1(x) درست باشد..

هدف از قواعد اضافی این است که مطمئن شویم که می توانیم "There exist" و "For all" را تست کنیم بدون آنکه مجبور باشیم بینهایت حالت ممکن را تست کنیم. به قاعده دوم در تعریف ایمنی توجه کنید. برای آنکه x (P1(x)) برقرار باشد، نیاز به این داریم که فقط یک x پیدا کنیم که P1(x) برقرار باشد. در حالت کلی، باید تعداد خیلی زیاد از مقادیر برای تست وجود داشته باشد. اگرچه اگر عبارت ایمن باشد، می توانیم توجه مان را به مقادیری از dam(P1) محدود کنیم. این محدودیت چندگانه هایی که باید مورد توجه قرار دهیم را به تعداد محدودی کاهش می دهد.

این وضعیت برای زیرفرمول به شکل (P1(x)) x ، به همین شکل است. برای اثبات درستی (P1(x)) x، بایدکلاٌ، همه مقادیر ممکن را تست کنیم، بنابراین باید بسیاری از مقادیر را تا بی نهایت آزمایش کنیم. همانند قبل اگر بدانیم که عبارت ایمن است همین برای ما کافیست که P1(x) را برای این مقادیر برگرفته از dam(P1) تست کنیم. تمام قلمرو عبارتهای حساب رابطه ای که ما در پرس و جو های مثال این بخش آورده ایم؛ ایمن هستند.


مقاله بررسی ماتریس الگوریتم

مقاله بررسی ماتریس الگوریتم در 23 صفحه ورد قابل ویرایش
دسته بندی علوم انسانی
بازدید ها 0
فرمت فایل doc
حجم فایل 38 کیلو بایت
تعداد صفحات فایل 23
مقاله بررسی ماتریس الگوریتم

فروشنده فایل

کد کاربری 6017
کاربر

مقاله بررسی ماتریس الگوریتم در 23 صفحه ورد قابل ویرایش


-2) EZW

الگوریتم EZW در سال 1993 توسط shapiro ابداع شد نام کامل این واژه به معنای کدینگ تدریجی با استفاده از درخت ضرایب ویولت است. این الگوریتم ضرایب ویولت را به عنوان مجموعه ای از درختهای جهت یابی مکانی در نظر می گیرد هر درخت شامل ضرایبی از تمام زیرباندهای فرکانسی و مکانی است که به یک ناحیه مشخص از تصویر اختصاص دارند. الگوریتم ابتدا ضرایب ویولت با دامنه بزرگتر را کددهی می کند در صورتیکه دامنه یک ضریب بزرگتر یا مساوی آستانه مشخص باشد ضریب به عنوان ضریب معنی دار در نظر گرفته می شود و در غیر اینصورت بی معنی می باشد یک درخت نیز در صورتی معنی دار است که بزرگترین ضریب آن از نظر دامنه بزرگتر یا مساوی با آستانه مورد نظر باشد و در غیراینصورت درخت بی معنی است.

مقدار آستانه در هر مرحله از الگوریتم نصف می شود و بدین ترتیب ضرایب بزرگتر زودتر فرستاده می شوند در هر مرحله، ابتدا معنی دار بودن ضرایب مربوط به زیر باند فرکانسی پایین تر ارزیابی می شود اگر مجموعه بی معنی باشد یک علامت درخت صفر استفاده می شود تا نشان دهد که تمامی ضرایب مجموعه صفر می باشند در غیراینصورت مجموعه به چهارزیرمجموعه برای ارزیابی بیشتر شکسته می شود و پس از اینکه تمامی مجموعه ها و ضرایب مورد ارزیابی قرار گرفته اند این مرحله به پایان می رسد کدینگ EZW براساس این فرضیه استوار است که چگالی طیف توان در اکثر تصاویر طبیعی به سرعت کاهش می یابد بدین معنی که اگر یک ضریب در زیر باند فرکانسی پایین تر کوچک باشد به احتمال زیاد ضرایب مربوط به فرزندان آن در زیر باندهای بالاتر نیز کوچک هستند به بیان دیگر اگر یک ضریب والد بی معنی باشد به احتمال زیاد فرزندان آن نیز بی معنی هستند اگر آستانه ها توانهایی از دو باشند میتوان کدینگ EZW را به عنوان یک کدینگ bit-plane در نظر گرفت در این روش در یک زمان، یک رشته بیت که از MSB شروع می شود کددهی می شود با کدینگ تدریجی رشته بیت ها و ارزیابی درختها از زیرباندهای فرکانسی کمتر به زیرباندهای فرکانسی بیشتر در هر رشته بیت میتوان به کدینگ جاسازی دست یافت.

الگوریتم EZW بر پایه 4 اصل استوار است [3]

1- جدا کردن سلسله مراتبی زیرباندها با استفاده از تبدیل ویولت گسسته

1-1-2) تبدیل ویولت گسسته

تبدیل ویولت سلسله مراتبی که در EZW و SPIHT مورد استفاده قرار می گیرد نظیر یک سیستم تجزیه زیرباند سلسله مراتبی است که در آن فاصله زیرباندها در مبنای فرکانس بصورت لگاریتمی است.

در شکل 2-2 یک مثال از تجزیه دو سطحی ویولت روی یک تصویر دو بعدی نشان داده شده است. تصویر ابتدا با بکارگیری فیلترهای افقی و عمودی به چهار زیرباند تجزیه می‌شود. در تصویر (c ) 2-2 هر ضریب مربوط به ناحیه تقریبی 2×2 پیکسل در تصویر ورودی است. پس از اولین مرحله تجزیه سه زیر باند LH1 , HL1 و HH1 بعنوان زیرباندهای فرکانس بالایی در نظر گرفته می شوند که به ترتیب دارای سه موقعیت عمودی، افقی و قطری می باشند اگر Wv , Wh به ترتیب فرکانسهای افقی و عمودی باشند، پهنای باند فرکانسی برای هر زیر باند در اولین سطح تجزیه ویولت در جدول
1-2 آمده است[4]

جدول 2-1 ) پهنای باند فرکانسی مربوط به هر زیر باند پس از اولین مرحله تجزیه ویولت با استفاده از فیلترهای مشابه (پایین گذر و بالاگذر) زیر باند LL1 پس از اولین مرحله تجزیه ویولت، مجدداً تجزیه شده و ضرایب ویولت جدیدی به دست می آید جدول 2-2) پهنای باند مربوط به این ضرایب را نشان می دهد.

2-1-2) تبدیل ویولت بعنوان یک تبدیل خطی

میتوان تبدیل بالا را یک تبدیل خطی در نظر گرفت [5]. P یک بردار ستونی که درایه هایش نشان دهنده یک اسکن از پیکسلهای تصویر هستند. C یک بردار ستونی شامل ضرایب ویولت به دست آمده است از بکارگیری تبدیل ویولت گسسته روی بردار p است. اگر تبدیل ویولت بعنوان ماتریس W در نظر گرفته شوند که سطرهایش توابع پایه تبدیل هستند میتوان تبدیل خطی زیر را در نظر گرفت.

فرمول

بردار p را میتوان با تبدیل ویولت معکوس به دست آورد.

فرمول

اگر تبدیل W متعامد باشد. است و بنابراین

فرمول

در واقع تبدیل ویولت W نه تنها متعامد بلکه دو متعامدی می باشد.

3-1-2) یک مثال از تبدیل ویولت سلسله مراتبی

یک مثال از تبدیل ویولت سلسله مراتبی در این بخش شرح داده شده است. تصویر اولیه 16*16 و مقادیر پیکسلهای مربوط به آن به ترتیب در شکل 3-2 و جدول 3-2 آمده است.

یک ویولت چهارلایه روی تصویر اولیه اعمال شده است. فیتلر مورد استفاده فیلتر دو متعامدی Daubechies 9/7 است [6]. جدول 4-2 ضرایب تبدیل گرد شده به اعداد صحیح را نشان می دهد. قابل توجه است که ضرایب با دامنه بیشتر در زیرباندهای با فرکانس کمتر قرار گرفته اند و بسیاری از ضرایب دامنه های کوچکی دارند ویژگی فشرده سازی انرژی در تبدیل ویولت در این مثال به خوبی دیده می شود جدول 5-2 تصویر تبدیل یافته و کمی شده را نشان می دهد چنانکه کمی سازی تنها برای اولین سطح ویولت انجام گرفته است یک ضریب مقیاس 25/0 در هر ضریب فیلتر ویولت ضرب شده و سپس مجموعه فیلتر پاین گذر و بالاگذر روی تصویر اولیه بکار گرفته می شود اندازه گام کمی سازی مربوطه در این حالت 16 است.

پس از کمی سازی بیشتر ضرایب در بالاترین زیر باند فرکانسی صفر می شوند تصویربازسازی شده و تبدیل ویولت معکوس در شکل (b) 7-2 و جدول 6-2 آمده است. به علت کمی سازی بازسازی با اتلاف است.





1- ضرایب با دامنه بزرگتر زدوتر ارسال می شوند.

2- بیتهای پرارزش تر ضریب حاوی اطلاعات کمتری هستند و زودتر ارسال میشوند.

میتوان نشان داد که چگونه اینکدر SPIHT از این اصلها برای انتقال تدریجی ضرایب ویولت به دیکدر استفاده می کند فرض می شود تبدیل ویولت به تصویر اعمال شده و ضرایب Ci,j در حافظه ذخیره شده اند. این ضرایب بدون در نظر گرفتن علامتشان مرتب شده و اطلاعات مرتب شده در آرایه m قرار گرفته اند و عضو m(k) از این آرایه شامل مختصات (i,j) مربوط به آرایه Ci,j است و بنابراین برای همه مقادیر k داریم

فرمول

جدول 58-5 مقادیر فرضی 16 ضریب را نشان می دهد که هر کدام بعنوان یک عدد 16 بیتی نشان داده شده است. پرارزشترین بیت،‌بیت علامت است و 15 بیت باقیمانده مربوط به مقدار عدد هستند. اولین ضریب است که برابر با S1aci…r است. ضریب دوم نیز برابر با است و به همین ترتیب

اطلاعات مرتب شده ای که اینکدر باید بفرستد دنباله m(k) است که به ترتیب زیر است:

علاوه بر آن باید 16 علامت و 16 ضریب را به ترتیب ارزش بفرستد. یک انتقال مستقیم شامل ارسال 16 عدد است. این روش یک روش wastfull است. در الگوریتم SPIHT ، اینکدر وارد یک حلقه می شود که در هر تکرار حلقه دو گام انجام می شود: گام مرتب سازی و گام اصلاح.

در اولین تکرار اینکدر عدد 2= L یعنی تعدد ضرایبی را که در فاصله

فرمول

قرار دارند می فرستد در ادامه دو جفت مختصات ( 3و 2 ) و (4 و 3) و علامت دو ضریب اول فرستاده می شود. این عملیات در نخستین مرحله مرتب سازی انجام می شود. این اطلاعات دیکدر را قادر به تخمین زدن ضرایب به ترتیبی که در ادامه آمده است می کند:

ضرایب و بعنوان یک عدد 16 بیتی بصورت و 14 ضریب باقیمانده صفر بازسازی می شوند. این نشان می دهد که چگونه پرارزش ترین بیتهای مربوط به بزرگترین ضرایب ابتدا به دیکدر فرستاده می شوند. گام بعدی مرحله اصلاح می باشد که در تکرار اول انجام نمی شود.

در تکرار دوم (حلقه دوم) اینکدر هر دو گام را انجام می دهد. در مرحله مرتب سازی عدد 4= L بعنوان تعداد ضرایبی که در فاصله

فرمول

قرار دارند در ادامة آن چهار مختصات ( 2و 3) ، (4 و 4) ، (2 و 1) و (1 و3) و علامت چهار ضریب فرستاده می شود. در گام اصلاح دو بیت b , a بعنوان چهاردهمین بیت با ارزش ضرایب مربوطه به حلقه قبلی فرستاده می شود.

اطلاعات به دست آمده دیکدر را قادر به اصلاح ضرایب تقریبی که از مرحله قبل بدست آمده اند می کند و شش ضریب اول به شکل زیر در می آید:

فرمول

و ده ضریب باقیمانده تغییری نمی کند.

2-2-2) دسته بندی ضرایب در الگوریتم SPIHT

به منظور کاهش تعداد تصمیم گیری ها در مقایسه میان بیتها و نیز کاهش حجم داده های خروجی در الگوریتم SPIHT از ساختار سلسله مراتبی استفاده می شود. در اینجا هدف اصلی دسته بندی ضرایب در مجموعه ها به گونه ای است که تعداد عضوهای یک مجموعه بی معنی حداکثر باشد و هر مجموعه معنی دار تنها یک عضو را شامل شود.


مکان یابی بادبند ها با استفاده از الگوریتم ژنتیک

مکان یابی بادبند ها با استفاده از الگوریتم ژنتیک
دسته بندی عمران
بازدید ها 8
فرمت فایل pdf
حجم فایل 576 کیلو بایت
تعداد صفحات فایل 9
مکان یابی بادبند ها با استفاده از الگوریتم ژنتیک

فروشنده فایل

کد کاربری 2116
کاربر

پیدا کردن مکان بهینه بادبند ها در سازه های فلزی با استفاده از الگوریتم ژنتیک در یک فایل پی دی اف 9 صفحه ای


طرح آماری الگوریتمهای کنترل همروندی

طرح آماری الگوریتمهای کنترل همروندی در 16 صفحه ورد قابل ویرایش
دسته بندی آمار
بازدید ها 0
فرمت فایل doc
حجم فایل 79 کیلو بایت
تعداد صفحات فایل 16
طرح آماری الگوریتمهای کنترل همروندی

فروشنده فایل

کد کاربری 6017
کاربر

پروژه آماری الگوریتمهای کنترل همروندی در 16 صفحه ورد قابل ویرایش

چکیده : در این گزارش ما به بررسی ویژگی های الگوریتمهای کنترل همروندی توزیعی که بر پایه مکانیزم قفل دو مرحله ای(2 Phase Locking) ایجاد شده اند خواهیم پرداخت. محور اصلی این بررسی بر مبنای تجزیه مساله کنترل همروندی به دو حالت read-wirte و write-write می‌باشد. در این مقال، تعدادی از تکنیکهای همزمان سازی برای حل هر یک از قسمتهای مساله بیان شده و سپس این تکنیکها برای حل کلی مساله با یکدیگر ترکیب می‌شوند.

در این گزارش بر روی درستی و ساختار الگوریتمها متمرکز خواهیم شد. در این راستا برای ساختار پایگاه داده توزیعی یک سطحی از انتزاع را در نظر می‌گیریم تا مساله تا حد ممکن ساده سازی شود.



1. مقدمه : کنترل همروندی فرآیندی است که طی آن بین دسترسی های همزمان به یک پایگاه داده در یک سیستم مدیریت پایگاه داده چند کاربره هماهنگی بوجود می‌آید. کنترل همروندی به کاربران اجازه می‌دهد تا در یک حالت چند برنامگی با سیستم تعامل داشته باشند در حالیکه رفتار سیستم از دیدگاه کاربر به نحو خواهد بود که کاربر تصور می‌کند در یک محیط تک برنامه در حال فعالیت است. سخت ترین حالت در این سیستم مقابله با بروز آوری های آزار دهنده ای است که یک کاربر هنگام استخراج داده توسط کاربر دیگر انجام می‌دهد. به دو دلیل ذیل کنترل همروندی در پایگاه داده های توزیعی از اهمیت بالایی برخوردار است:

کاربراان ممکن است به داده هایی که در کامپیوترهای مختلف در سیستم قرار دارند دسترسی پیدا کنند.
یک مکانیزم کنترل همروندی در یک کامپیوتر از وضعیت دسترسی در سایر کامپیوترها اطلاعی ندارد.

مساله کنترل همروندی در چندین سال قبل کاملا مورد بررسی قرار گفته است و در خصوص پایگاه‌داده‌های متمرکز کاملا شناخته شده است. در خصوص این مسال در پایگاه داده توزیعی با توجه به اینکه مساله در حوزه مساله توزیعی قرار می‌گیرد بصورت مداوم راهکارهای بهبود مختلف عرضه می‌شود. یک تئوری ریاضی وسیع برای تحلیل این مساله ارائه شده و یک راهکار قفل دو مرحله ای به عنوان راه حل استاندارد در این خصوص ارائه شده است. بیش از 20 الگوریتم کنترل همروندی توزیعی ارائه شده است که بسیاری از آنها پیاده سازی شده و در حال استفاده می‌باشند.این الگوریتمها معمولا پیچیده هستند و اثبات درستی آنها بسیار سخت می‌باشد. یکی از دلایل اینکه این پیچیدگی وجود دارد این است که آنها در اصطلاحات مختلف بیان می‌شوند و بیان های مختلفی برای آنها وجود دارد. یکی از دلایل اینکه این پیچدگی وجود دارد این است که مساله از زیر قسمتهای مختلف تشکیل شده است و برای هر یک از این زیر قسمتها یک زیر الگوریتم ارائه می‌شود. بهترین راه برای فائق آمدن بر این پیچدگی این است که زیر مساله ها و الگوریتمهای ارائه شده برای هر یک را در ی.ک سطح از انتزاع نگاه داریم.

با بررسی الگوریتمهای مختلف می‌توان به این حقیقت رسید که این الگوریتمها همگی ترکیبی از زیر الگوریتمهای محدودی هستند. در حقیقت این زیر الگوریتمها نسخه‌های متفاوتی از دو تکنیک اصلی در کنترل همروندی توزیعی به نامهای قفل دو مرحله ای و ترتیب برچسب زمانی می‌باشند.

همانطور که گفته شد، هدف کنترل همروندی مقابله با تزاحمهایی است که در اثر استفاده چند کاربر از یک سری داده واحد برای کاربران بوجود می‌آید است. حال ما با ارائه دو مثال در خصوص این مسائل بحث خواهیم نمود. این دو مثال از محک معروف TPC_A مقتبس شده اند. در این مثالها، یک سیستم اطلاعات را از پایگاه داده ها استخراج کرده و محاسبات لازم را انجام داده و در نهایت اطلاعات را در پایگاه داده ذخیره می‌نماید.

حالت اول را می‌توان بروزآوری از دست رفته نامید. حالتی را تصور کنید که دو مشتری از دو سیستم مجزا بخواهند از یک حساب مالی برداشت نمایند. در این حالت فرض کنید در غیاب سیستم کنترل همروندی، هر دو با هم اقدام به خواندن اطلاعات و درج اطلاعات جدید در سیستم میکنند. در این حالت در غیاب سیستم کنترل همروندی تنها آخرین درج در سیستم ثبت می‌شود. این حالت در شکل 1 نشان داده شده‌ است.





6-قفل دو مرحله‌ای با نسخه اولیه : قفل دو مرحله‌ای با نسخه اولیه یک تکنیک از نوع قفله دو مرحله‌ای است که که به افزونگی داده توجه خاصی دارد. یک کپی از هر داده منطقی به عنوان یک کپی یا نسخه اولیه از داده مزبور مطرح می‌شود. قبل از دسترسی به هر گونه کپی از داده های منطقی، قفل صحیح باید از کپی اولیه اخذ شود.

برای قفلهای خواندنی این روش تعامل و ارتباطات بیشتری را نیاز دارد.فرض کنید که ‏T یک تراکنش باشد که بخواهد داده x را بخواند. در اینصورت اگر X1 کپی اولیه از x باشد و xi برای خواندن توسط تراکنش در دسترس باشد، تراکنش بایستی با x1 که کپی اولیه داده است تعامل داشته و قفل خود را بدست آورد و پس از آن نیز با تعامل با xi داده مورد نظر خود را از Xi بخواند. برای قفلهای نوشتنی بر عکس پیاده سازی پایه قفل دو مرحله ای تراکنش احتیاجی به تعامل بیشتر با سایر dm ها ندارد. در پیاده سازی پایه قفل دو مرحله ای، اگر یک تراکنش می‌خواست داده x را بروز کند، لازم بود تا بر تمامی نسخه های x قفل نوشتنی بزند و سپس عمل نوشتن را بر روی تمامی نسخه های x انجام دهد اما در اینجا فقط لازم است که تراکنش قفل نوشتن را بر روی کپی اولیه قرار دهد و در صورت بدست آوردن قفل، باید عملیات نوشتن را مانند روش قبل بر روی تمامی نسخه های x انجام دهد.

6-قفل دو مرحله‌ای با رای گیری : قفل دو مرحله ای با رای گیری پیاده‌سازی دیگری از روشهای قفل دو مرحله ای است که در آن افزونگی داده بیشتر مد نظر قرار گرفته است. این روش شکل تغییر یافته الگوریتم توافق اکثریت توماس است و تنها برای همزمان سازیهای ww مناسب است.

برای فهم بهتر این روش بهتر است آنرا در داخل روش two phase commit توصیف کنیم. فرض کنید یک تراکنش بخواهد بر روی داده x مقدار جدیدی را بنویسد، در اینصورت درخواست قفل به تمامی نسخه های داده x ارسال شود. در صورتیکه قفل قابل تخصیص باشد، DM دریافت کننده قفل بایستی یک پیام تخصیص قفل صادر نماید. در صورتیکه قفل قابل تخصیص نباشد نیز یک پیام بلوکه شدن در خواست قفل ارسال می‌گردد. در صورتیکه پیامها از dm های مختلف برگشت داده شد، حال tm ارسال کننده درخواست قفل اقدام به تصمیم‌گیری می‌نماید. در صورتیکه تعداد قفلهای اخذ شده دارای اکثریت باشند، آنگاه tm دقیقا مانند حالتی عمل میکند که قفلهای لازم را بر روی نسخه داده ای مزبور بدست آورده است. در این حالت tm باقی عملیات یعنی نوشتن بر روی داده مزبور را انجام می‌دهد. در صورتیکه قفلهای لازم بر روی داده مورد نظر به تعداد اکثریت نباشد، Tm منتظر دریافت پاسخ تخصیص قفل از dm هایی که پاسخ بلوکه شدن قفل را ارسال نمودند، می‌شود. در این حالت با دریافت پاسخ جدید از dm هایی که قبلا درخواست را بلوکه کردند، tm تعداد قفلهای لازم را بررسی می‌کند. در صورت اخذ اکثریت آرا، اجرای خود را ادامه می‌دهد. از آنجائیکه فقط یک تراکنش می‌تواند در هر لحظه اکثریت قفلهای نوشتن را بدست آورد در نتیجه فقط در هر لحظه فقط بک تراکنش می‌تواند بر روی اطلاعات تغییرات اعمال نماید. در هر لحظه فقط یک تراکنش می‌تواند در فاز نوشتن خود قرار داشته باشد. در نتیجه تمامی نسخه های x دارای یک ترتیب مشخص و مشترک از مقادیر می‌باشند. نقطه قفل یک تراگنش جایی است که یک تراکنش توانسته است اکثریت قفلهای لازم را برای نوشتن برای هر آیتم داده‌ای در مجموعه نوشتاری خود بدست آورد. برای بروز آوری های با حجم بالا ، تراکنش بایستی اکثریت قفلهای نوشتن را بر روی تمامی آیتمهای داده ای نوشتنی خود قبل از ارسال دستورات نوشتن بدست آورد.

در حقیقت، قفل دو مرحله ای با رای گیری می‌تواند برای همزمان سازی عملیات های rw سازگار شود. برای اینکار برای خواندن یک نسخه داده‌ای بایستی قفل خواندن از تمامی نسخه های داده ای درخواست شود. در صورتیکه اکثریت قفل خواندن از dm ها بدست آید می‌تواند اطلاعات مورد نظر را بخواند. این روش روش بسیار خوب و قدرتمندی است ولی در این روش برای خواندن یک آیتم داده ای بایستی از تمامی سایتهایی که دارای یک نسخه از آیتم داده‌ای مذکور هستند قفل خواندن اخذ شود که عملا سیستم را بسیار کند می‌کند.

7- قفل دو مرحله‌ای متمرکز : بجاری توزیع نمودن زمانبندها بر روی سایتهای مختلف، همه زمانبندها را بر روی یک سایت متمرکز خواهیم نمود. در این خالت اگر یک تراکنش بخواهد به یک داده x دسترسی پیدا کند باید از سایت مذکور درخواست قفل مناسب بر روی داده مذکور نماید. در این وضعیت داده ممکن است بر روی یک سایت غیر از سایت زمانبند مرکزی قرار داشته باشد.

فرض کنید تراکنشt بخواهد داده x را بخواند در اینصورت بایستی t یک قفل خواندن را از سایت مرکزی درخواست نماید. در این حالت اگر قفل تخصیص داده شود تراکنش می‌تواند اطلاعات را از یکی از سایتهایی که دارای xهستند درخواست نماید. در غیر اینصورت باید منتظر دریافت مجوز تخصیص ثقفل خواندن از سوی سایت زمانبند مرکزی باشد. در حالتی که داده x بر روی سایت مرکزی زمانبند نیز باشد، درخواست قفل و داده بطور مشترک به سایت مرکزی ارسال می‌شود، در صورتیکه قفل قابل تخصیص باشد، عملیات خواندن به همراه تخصیص قفل انجام می‌شود. برای عملیات بروز آوری و نوشتن نیز فرآیند تخصیص قفل به همین نحو است با این تفاوت که بعد از تخصیص قفل و اعلام به درخواست کننده از سوی سایت مرکزی زمانبندی، سایت درخواست کننده موظف است تمامی کپی های نسخه های اطلاعاتی را بروز نماید. این روش نیز مانند قفل دو مرحله‌ای کپی اولیه مستلزم نقل و انتقال مضاعف پیام می‌باشد.