1 / 39

Shahriar Pirnia pirnia

Database پایگاه داده ها قسمت دوم. Shahriar Pirnia http://www.pirnia.net. 3 - عناصر اصلی محیط پایگاه داده ها: - سخت افزار (Hardware) - نرم افزار (Software) - کاربر (User) - داده (Data). سخت افزار: تشکيل شده از : - سخت افزار ذخيره سازي داده ها:

ziv
Download Presentation

Shahriar Pirnia pirnia

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Databaseپایگاه داده ها قسمت دوم Shahriar Pirnia http://www.pirnia.net

  2. 3 - عناصر اصلی محیط پایگاه داده ها: - سخت افزار (Hardware) - نرم افزار (Software) - کاربر (User) - داده (Data)

  3. سخت افزار: • تشکيل شده از : - سخت افزار ذخيره سازي داده ها: حافظه جانبي : ديسکهاي سريع با ظرفيت بالا نوار (Tape) رسانه پشتيبان است نه رسانه اصلي - سخت افزار پردازشگر: CPU ، ماشين - سخت افزار ارتباطي (Communication) : بويژه در محيطهاي Distributed Database

  4. - موارد استفاده از نوار - در توليد نسخه هاي Backup استفاده ميشود: Data Backup , System Backup در ايجاد (Log files) (Transaction Log Files) : فايلهاي ثبت وقايع تراکنشها Log Files : فايلي که حاوي اطلاعاتي در مورد عملياتي که کاربران انجام داده اند و اتفاقاتي که در سيستم افتاده، مخصوصا اينکه چه کاربري در چه زماني و روي چه داده اي چه عملي انجام داده است. اين دو امکان در نوار به منظور : - تامين امنيت پايگاه داده (Database Security) - ترميم داده ها (Data Recovery) : هنگام خرابي سخت افزاري يا نرم افزاري، خرابي محيطي، انساني و ... * ترميم پايگاه نهايتا منجر به بازگرداندن پايگاه به حالت صحيح خود پيش از خرابي ميشود. Transaction (تراکنش) : عملي است که کاربر (طبعا از طريق يک برنامه) روي بخشي از داده هاي يک پايگاه داده انجام مي دهد و اجراي درست آن، Database را از يک حالت صحيح به حالت صحيح ديگر مي برد. (برنامه ممکن است يک يا چندين Statement داشته باشد).

  5. نکته مهم : يک تراکنش يا بايد به تمامي انجام شود يا اصلا انجام نشود. مثال: شماره حساب c1 1- کم کن از حساب c1 مبلغ a1 را 2- اضافه کن به حساب c2 مبلغ a1 را x1 x2 شماره حساب c2

  6. 2- نرم افزار (بحث مقدماتي): - نرم افزار محيط پايگاه داده : - نرم افزار مديريتي: DBMS - نرم افزار کاربردي: مجموعه برنامه هايي است براي ايجاد و کار با پايگاه (AP ها) D B M S DB F S کاربران AP ها OS

  7. DBMS نرم افزاري است که به کاربران امکان مي دهد تا: - پايگاه از ديد خود را تعريف کنند (Definition) - با پايگاه خود کار کنند. (Manipulation) - پايگاه خود را تا حدي کنترل کنند. (Control) - مثال: يک کاربر Access يک کاربر ديگر راGrant بکند يا نکند.(يا بعبارتي خصوصي کردن يا نکردن اطلاعات) مثال :Grant user1 DBA Manipulation (کار با داده ها) - بازيابي (Retrieve) - عمليات ذخيره : - درج Insert - حذف Delete - تغيير (Modify) Update لازمه هر چهار عمل (لازمه کار با داده ها) دستيابي به داده های ذخيره شده است. (Access) هر DBMS از تعدادي Module يا واحد تشکيل شده است و هر واحد وظيفه خاص خودش را دارد.

  8. 3- کاربر (استفاده کننده پايگاه داده) (User) : -کاربر از نظر اسلوب عملياتي : • کاربر Online : در تماس مستقيم با سيستم • کاربر Batch : برنامه هايش معمولا بطور دسته اي و با تاخير اجرا مي شود. - کاربر از نظر نقش (Role) : • مديريتي: از طريق برنامه سازي ايجاد، پياده سازي، نگهداري، بهره برداري، توسعه و رشد پايگاه را تحت کنترل دارد. • استفاده کننده: خدمات لازم را از پايگاه مي گيرد.

  9. - کاربر از نظر مهارت تماس • کاربر برنامه ساز (با مهارت برنامه سازي) • کاربر غير برنامه ساز -کاربر برنامه ساز • در عمل سه سطح دارد: • برنامه سازان طراحي کننده و ايجاد کننده سيستم پايگاه داده (تیم DBA) • AP نويسها(Application programmers) (Application Developers) • خود dBA (فردي با تخصص بالا سرپرست تيم DBA که دو جنبه 1- فني 2- مديريتي در کار خود دارد. (اداره کننده پايگاه داده ها)

  10. نکته ! :Database نهايتا براي جلب رضايت کاربران غير برنامه ساز است يا بعبارتي پايگاه اساسا براي خدمت رساني و جلب رضايت اين دسته ازکاربران است. - کاربر غير برنامه ساز: هدايت شده از طريق map, menu, form (احتمالا بر اساس استفاده از Mouse و icon ها) و در مواردي با تعدادي فرامين ساده. - Menu driven, Form driven - Command based * براي کاربران غير برنامه ساز بايد ساده ترين interface با ساده ترين دستورات و فرمانها ايجاد کرد.

  11. 4- داده (داده هاي ذخيره شده در پايگاه) (داده هاي عملياتي Operational data) داده هاي عملياتي با داده هاي ورودي و داده هاي خروجي فرق دارد. هر چند که ممکن است داده هاي ورودي به داده هاي ذخيره شده تبديل شود. و هر چند که داده هاي خر.وجي به نوعي از داده هاي عملياتي استخراج مي شود.

  12. داده های عملياتي • عبارت است از داده هايي که کاربران در يک محيط عملياتي روزانه با آن سر و کار دارند که به آنها دادهاي پايدار (Persistent Data) نیز می گویند .هر چند که واقعا پايدار نيستند. • داده هاي عملياتي درباره چه هستند؟ • درباره انواع موجوديتهای عملياتي ٍٍEntity Types و ارتباطات بين آنها ((Relationship مي باشد . • نوع موجوديت Entity Type • مفهوم کلي – شي – پديده – فرد و هر آنچه که مي خواهيم در موردش اطلاع داشته باشيم. • نکته ! : در هر محيط عملياتي مجموعه اي از انواع موجوديتها وجود دارد • که نيازهای اطلاعاتي کاربران محيط ناظر بر آنها است. • قدمهای طراحي پايگاه داده ها (Database) • مطالعه و تجزيه و تحليل محیط عملیاتی • بازشناسي انواع موجوديتهای محيط ( Entity Set ) • برای هر نوع موجوديت تعيين صفات خاصه (Attribute Set)

  13. از اين ديدگاه پايگاه داده ها يا Database عبارت است از : دادهای ذخيره شده در مورد موجوديتها وارتباطات بين آنها که بايد در کادر يک Data Structure مشخص تعريف شوند و به سیستم داده مي شود. مثال : محيط عملياتي دانشکده : - دانشجو- استاد - کلاس - برنامه - درس - کتاب * انواع موجوديتهای محيط با يکديگر ارتباطات دارند به نحوي که عملي يا کنشي روي يکديگر انجام مي دهند انتخاب مي کند دانشجو درس انتخاب مي شود معنا يا Semantic خاصي در محيط مشخص دارد

  14. ارتباط معمولا يک عبارت فعلي است (دارای فعل )که بايستي به نحوی در پايگاه ذخيره شود. موجوديتها و ارتباطات ميان آنها را با يک نمودار نمايش مي دهيم که به آن نمودار ER گفته مي شود. Entity Relationship Diagram نمودار ER : اولين برداشتي است که طراح از پايگاه دارد و امکاني است برای مدلسازی معنايي داده ها (Semantic Data Modeling)و نهايتا به ما مي گويد که دادهای ما در مورد چه هستند و چه ارتباطي دارند. همين نمودار ER در کادر يک DS مشخص نگاشته مي شود. ممکن است بين 2 نوع موجوديت بيش از يک ارتباط وجود داشته باشد که اگر در حيطه نيازهای اطلاعاتي ما باشد بايد آنها را بازشناسي نمود ( هر ارتباط با معنا و Semantic خودش ).

  15. مثال : • Q0 :(Query Q0)مشخصات دانشجويي St(i) را بدهيد. • Q1 : دانشجوی X چه دروسي را انتخاب کرده است؟ • Q2: دانشجوی St (i)چه دروسي را حذف مي کند؟ • توجه : DB قبلي به اين Query پاسخ نميدهد چون ارتباط حذف کردن را درسيستم معرفي نکرده بوديم انتخاب مي کند Student No. Student Name And….. Course No. Course Name Number Of Units And … حذف مي کند دانشجو درس حذف مي شود انتخاب مي شود

  16. قدم سوم در طراحي پايگاه داده ها: 3- بازشناسي ارتباطات بين انواع موجوديتها وتشخيص Semantic هر يک از آنها و رسم نمودار ER درجه ارتباط (طبیعت –Nature – Degree) هر ارتباط دارای طبیعت است که اين طبیعت همان چگونگي تناظر بين 2مجموعه نمونه های آن موجوديتها است و اين درجه ممکن است.1:1 باشد يا 1:n یکسویه يا 1:n دو سويه (که به آن n:m نیز می گویند ) باشد. Many To Many One To Many One To One این امر باید توسط طراح سیستم شناسایی شود چرا که در کمیت سیستم تاثیر می گذارد

  17. مثال : یک درس می تواند توسط چند دانشجو حذف شود ولی دانشجو فقط یک درس را می تواند حذف کند یا رابطه پدری و فرزندی و ... دانشجو درس درس حذف مي شود 1:N يکسويه است. دانشجو درس را حذف ميکند1:1است نکته : ماهيت يا درجه ارتباط بين موجوديتها : از قواعد Semantic ناظر بر محيط عملیاتی بدست مي آيد. ارتباط ممکن است بين يک نوع موجوديت و خودش باشد و يا به عبارت ديگر موجوديتهای دو طرف ارتباط لزوما از نظر Type يا نوع متفاوت نيستند. مثال :ارتباط يک درس با درس ديگراز نظر پيش نياز بودن ؟ درس جواب

  18. درس درس Q3 : پيشنيازهای درسC3کدامند؟ اگر اين ارتباط در محيط توسط طراح شناخته شده و در سيستم ذخيره شده باشد سيستم مي تواند به اين Query پاسخ دهد و لاغير. انتخاب مي کند 1:N حذف مي کند تدريس مي شود (1:n) درس استاد دانشجو حذف مي شود تدريس مي کند (1:N) انتخاب مي شود 1:N پيشنياز است( دارای پيشنياز است) SCP : دانشجوي St(i) درس Cj را با استاد Pk اخذ كرده است .

  19. مثال كامل از كتاب DATE محيط عملياتي : محيطي است كه در آن انواع موجوديتهاي زير را داريم : تهيه كننده Supplier قطعهPart پروژه Project شهر City انبار Warehouse كارمند Employee ارتباطات بر اساس نيازهاي اطلاعاتي بازشناسي مي شوند و نيازهاي اطلاعاتي بر اساس Query ها مشخص مي شوند . SPJ 1:n 1:n مدير است 1:1 پروژه تهيه كننده قطعه 1:n 1:n كار مي كند ساكن است 1:n 1:n 1:1 1:n 1:n 1:1 1:n 1:n شهر انبار كارمند 1:1 1:1

  20. SPJ : يك ارتباط سه موجوديتي است با اين Semantic كه تهيه كننده S1 قطعه P1 را براي استفاده در پروژه J1 تهيه کرده است و چنین اطلاعاتی که حاصل ارتباط سه موجودیتی است لزوما همیشه از این سه اطلاع حاصل نمی شود. فرض كنيد : I1 : S1 قطعه P1 را تهيه كرده است . I2 : P1 در پروژه J1 استفاده شود . I3 : S1 براي J1 قطعه تهيه كرده است . اگر چنين استدلال شود مي گوييم طراح در دام پيوندي (Connection Trap) افتاده است . دام پيوندي : استنتاج يك اطلاع ناظر به ارتباط ميان سه موجوديت از روي اطلاع در مورد دوبدوي آنها . تمرين : يك محيط عملياتي (ترجيحا يك محيط واقعي انتخاب نموده ) حداقل 6 نوع موجوديت در آن شناسايي نماييد . مراحل اوليه طراحي را تا مرحله نممودار ER انحام دهيد و مجموعه Query ها را لیست نماييد .

  21. 2- نرم افزار (بحث مقدماتي): - نرم افزار محيط پايگاه داده : - نرم افزار مديريتي: DBMS - نرم افزار کاربردي: مجموعه برنامه هايي است براي ايجاد و کار با پايگاه (AP ها) D B M S DB F S کاربران AP ها OS

  22. DBMS نرم افزاري است که به کاربران امکان مي دهد تا: - پايگاه از ديد خود را تعريف کنند (Definition) - با پايگاه خود کار کنند. (Manipulation) - پايگاه خود را تا حدي کنترل کنند. (Control) - مثال: يک کاربر Access يک کاربر ديگر راGrant بکند يا نکند.(يا بعبارتي خصوصي کردن يا نکردن اطلاعات) مثال :Grant user1 DBA Manipulation (کار با داده ها) - بازيابي (Retrieve) - عمليات ذخيره : - درج Insert - حذف Delete - تغيير (Modify) Update لازمه هر چهار عمل (لازمه کار با داده ها) دستيابي به داده های ذخيره شده است. (Access) هر DBMS از تعدادي Module يا واحد تشکيل شده است و هر واحد وظيفه خاص خودش را دارد.

  23. 3- کاربر (استفاده کننده پايگاه داده) (User) : -کاربر از نظر اسلوب عملياتي : • کاربر Online : در تماس مستقيم با سيستم • کاربر Batch : برنامه هايش معمولا بطور دسته اي و با تاخير اجرا مي شود. - کاربر از نظر نقش (Role) : • مديريتي: از طريق برنامه سازي ايجاد، پياده سازي، نگهداري، بهره برداري، توسعه و رشد پايگاه را تحت کنترل دارد. • استفاده کننده: خدمات لازم را از پايگاه مي گيرد.

  24. - کاربر از نظر مهارت تماس • کاربر برنامه ساز (با مهارت برنامه سازي) • کاربر غير برنامه ساز -کاربر برنامه ساز • در عمل سه سطح دارد: • برنامه سازان طراحي کننده و ايجاد کننده سيستم پايگاه داده (تیم DBA) • AP نويسها(Application programmers) (Application Developers) • خود dBA (فردي با تخصص بالا سرپرست تيم DBA که دو جنبه 1- فني 2- مديريتي در کار خود دارد. (اداره کننده پايگاه داده ها)

  25. نکته ! :Database نهايتا براي جلب رضايت کاربران غير برنامه ساز است يا بعبارتي پايگاه اساسا براي خدمت رساني و جلب رضايت اين دسته ازکاربران است. - کاربر غير برنامه ساز: هدايت شده از طريق map, menu, form (احتمالا بر اساس استفاده از Mouse و icon ها) و در مواردي با تعدادي فرامين ساده. - Menu driven, Form driven - Command based * براي کاربران غير برنامه ساز بايد ساده ترين interface با ساده ترين دستورات و فرمانها ايجاد کرد.

  26. 4- داده (داده هاي ذخيره شده در پايگاه) (داده هاي عملياتي Operational data) داده هاي عملياتي با داده هاي ورودي و داده هاي خروجي فرق دارد. هر چند که ممکن است داده هاي ورودي به داده هاي ذخيره شده تبديل شود. و هر چند که داده هاي خر.وجي به نوعي از داده هاي عملياتي استخراج مي شود.

  27. داده های عملياتي • عبارت است از داده هايي که کاربران در يک محيط عملياتي روزانه با آن سر و کار دارند که به آنها دادهاي پايدار (Persistent Data) نیز می گویند .هر چند که واقعا پايدار نيستند. • داده هاي عملياتي درباره چه هستند؟ • درباره انواع موجوديتهای عملياتي ٍٍEntity Types و ارتباطات بين آنها ((Relationship مي باشد . • نوع موجوديت Entity Type • مفهوم کلي – شي – پديده – فرد و هر آنچه که مي خواهيم در موردش اطلاع داشته باشيم. • نکته ! : در هر محيط عملياتي مجموعه اي از انواع موجوديتها وجود دارد • که نيازهای اطلاعاتي کاربران محيط ناظر بر آنها است. • قدمهای طراحي پايگاه داده ها (Database) • مطالعه و تجزيه و تحليل محیط عملیاتی • بازشناسي انواع موجوديتهای محيط ( Entity Set ) • برای هر نوع موجوديت تعيين صفات خاصه (Attribute Set)

  28. از اين ديدگاه پايگاه داده ها يا Database عبارت است از : دادهای ذخيره شده در مورد موجوديتها وارتباطات بين آنها که بايد در کادر يک Data Structure مشخص تعريف شوند و به سیستم داده مي شود. مثال : محيط عملياتي دانشکده : - دانشجو- استاد - کلاس - برنامه - درس - کتاب * انواع موجوديتهای محيط با يکديگر ارتباطات دارند به نحوي که عملي يا کنشي روي يکديگر انجام مي دهند انتخاب مي کند دانشجو درس انتخاب مي شود معنا يا Semantic خاصي در محيط مشخص دارد

  29. ارتباط معمولا يک عبارت فعلي است (دارای فعل )که بايستي به نحوی در پايگاه ذخيره شود. موجوديتها و ارتباطات ميان آنها را با يک نمودار نمايش مي دهيم که به آن نمودار ER گفته مي شود. Entity Relationship Diagram نمودار ER : اولين برداشتي است که طراح از پايگاه دارد و امکاني است برای مدلسازی معنايي داده ها (Semantic Data Modeling)و نهايتا به ما مي گويد که دادهای ما در مورد چه هستند و چه ارتباطي دارند. همين نمودار ER در کادر يک DS مشخص نگاشته مي شود. ممکن است بين 2 نوع موجوديت بيش از يک ارتباط وجود داشته باشد که اگر در حيطه نيازهای اطلاعاتي ما باشد بايد آنها را بازشناسي نمود ( هر ارتباط با معنا و Semantic خودش ).

  30. مثال : • Q0 :(Query Q0)مشخصات دانشجويي St(i) را بدهيد. • Q1 : دانشجوی X چه دروسي را انتخاب کرده است؟ • Q2: دانشجوی St (i)چه دروسي را حذف مي کند؟ • توجه : DB قبلي به اين Query پاسخ نميدهد چون ارتباط حذف کردن را درسيستم معرفي نکرده بوديم انتخاب مي کند Student No. Student Name And….. Course No. Course Name Number Of Units And … حذف مي کند دانشجو درس حذف مي شود انتخاب مي شود

  31. قدم سوم در طراحي پايگاه داده ها: 3- بازشناسي ارتباطات بين انواع موجوديتها وتشخيص Semantic هر يک از آنها و رسم نمودار ER درجه ارتباط (طبیعت –Nature – Degree) هر ارتباط دارای طبیعت است که اين طبیعت همان چگونگي تناظر بين 2مجموعه نمونه های آن موجوديتها است و اين درجه ممکن است.1:1 باشد يا 1:n یکسویه يا 1:n دو سويه (که به آن n:m نیز می گویند ) باشد. Many To Many One To Many One To One این امر باید توسط طراح سیستم شناسایی شود چرا که در کمیت سیستم تاثیر می گذارد

  32. مثال : یک درس می تواند توسط چند دانشجو حذف شود ولی دانشجو فقط یک درس را می تواند حذف کند یا رابطه پدری و فرزندی و ... دانشجو درس درس حذف مي شود 1:N يکسويه است. دانشجو درس را حذف ميکند1:1است نکته : ماهيت يا درجه ارتباط بين موجوديتها : از قواعد Semantic ناظر بر محيط عملیاتی بدست مي آيد. ارتباط ممکن است بين يک نوع موجوديت و خودش باشد و يا به عبارت ديگر موجوديتهای دو طرف ارتباط لزوما از نظر Type يا نوع متفاوت نيستند. مثال :ارتباط يک درس با درس ديگراز نظر پيش نياز بودن ؟ درس جواب

  33. درس درس Q3 : پيشنيازهای درسC3کدامند؟ اگر اين ارتباط در محيط توسط طراح شناخته شده و در سيستم ذخيره شده باشد سيستم مي تواند به اين Query پاسخ دهد و لاغير. انتخاب مي کند 1:N حذف مي کند تدريس مي شود (1:n) درس استاد دانشجو حذف مي شود تدريس مي کند (1:N) انتخاب مي شود 1:N پيشنياز است( دارای پيشنياز است) SCP : دانشجوي St(i) درس Cj را با استاد Pk اخذ كرده است .

  34. مثال كامل از كتاب DATE محيط عملياتي : محيطي است كه در آن انواع موجوديتهاي زير را داريم : تهيه كننده Supplier قطعهPart پروژه Project شهر City انبار Warehouse كارمند Employee ارتباطات بر اساس نيازهاي اطلاعاتي بازشناسي مي شوند و نيازهاي اطلاعاتي بر اساس Query ها مشخص مي شوند . SPJ 1:n 1:n مدير است 1:1 پروژه تهيه كننده قطعه 1:n 1:n كار مي كند ساكن است 1:n 1:n 1:1 1:n 1:n 1:1 1:n 1:n شهر انبار كارمند 1:1 1:1

  35. SPJ : يك ارتباط سه موجوديتي است با اين Semantic كه تهيه كننده S1 قطعه P1 را براي استفاده در پروژه J1 تهيه کرده است و چنین اطلاعاتی که حاصل ارتباط سه موجودیتی است لزوما همیشه از این سه اطلاع حاصل نمی شود. فرض كنيد : I1 : S1 قطعه P1 را تهيه كرده است . I2 : P1 در پروژه J1 استفاده شود . I3 : S1 براي J1 قطعه تهيه كرده است . اگر چنين استدلال شود مي گوييم طراح در دام پيوندي (Connection Trap) افتاده است . دام پيوندي : استنتاج يك اطلاع ناظر به ارتباط ميان سه موجوديت از روي اطلاع در مورد دوبدوي آنها . پایان قسمت دوم

More Related