TG03f.ppt

‫‪2‬‬
‫مدیریت اطالعات و داده های سازمان یافته‬
‫‪1‬‬
‫‪4‬‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫بخش سوم کتاب توربان‬
‫مبانی مرتب سازی و دستیابی داده ها‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫•‬
‫•‬
‫سلسله مراتب داده ها‪ :‬یک بیت‪ ،‬کوچکترین واحد داده قابل پردازش در‬
‫کامپیوتر؛ یک بایت‪ ،‬یک کاراکتر ساده را معرفی می کند‪.‬‬
‫فیلد‪ :‬یک ترکیب منطقی از کاراکتر ها در یک کلمه‪ ،‬یک گروه کوچک از‬
‫کلمه ها‪ ،‬یا یک عدد‪.‬‬
‫رکورد‪ :‬یک ترکیب منطقی از فیلد های مرتبط به هم‪.‬‬
‫فایل‪ :‬یک ترکیب منطقی از از رکورد های مرتبط به هم‪.‬‬
‫‪2‬‬
‫•‬
‫•‬
‫‪1‬‬
‫‪4‬‬
‫• پایگاه داده‪ :‬ترکیب منطقی از فایل های مرتبط به هم‪.‬‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫موجودیت‪ :‬یک شخص‪ ،‬مکان‪ ،‬ش ی‪ ،‬یا یک رویداد در ارتباط با اطالعاتی که‬
‫در یک رکورد نگهداری می شود‪.‬‬
‫صفت‪ :‬هر ویژگی یا کیفیتی که یک مشخصه را توصیف می کند‪.‬‬
‫کلید اولیه‪ :‬یک فیلد شناسه که به تنهایی یک رکورد را مشخص می کند‪.‬‬
‫کلید ثانویه‪ :‬یک فیلد شناسه که بعض ی از اطالعات شناسایی را دارد‪ ،‬اما‬
‫نوعا یک فایل را با دقت کامل شناسایی نمی کند‪.‬‬
‫‪2‬‬
‫‪1‬‬
‫‪4‬‬
‫محیط فایلی سنتی‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫• یک فایل داده ای‪ ،‬مجموعه ای از رکورد های منطقا مرتبط به هم‬
‫می باشد‪ .‬در محیط سنتی مدیریت فایل ها هر‬
‫کاربرد(‪ )application‬یک فایل داده مرتبط به آن دارد که‬
‫شامل رکورد های داده های مورد نیاز آن کاربرد است‪.‬‬
‫‪2‬‬
‫‪1‬‬
‫‪4‬‬
‫مشکالت مش ی فایلینگ‬
0011 0010 1010 1101 0001 0100 1011
Data redundancy
Data inconsistency
Data isolation
Data security
Data integrity
‫افزونگی داده‬
‫ناسازگاری داده‬
‫جدایی داده ها‬
‫امنیت داده ها‬
‫یکپارچگی داده ها‬
1
•
•
•
•
•
2
4
Application/data independence ‫داده‬/‫• استقالل کاربرد‬
‫پایگاه داده‪ :‬مش ی مدرن یا پایگاهی‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫• گروه منطقی از فایل های مرتبط به هم که داده ها و وابستگی‬
‫های بین آن ها را در خود ذخیره می کنند‪.‬‬
‫‪2‬‬
‫‪1‬‬
‫‪4‬‬
‫ساختن یک پایگاه داده‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫•‬
‫برای ساختن یک پایگاه داده طراحان باید یک طراحی مفهومی و‬
‫یک طراحی فیزیکی انجام دهند‪.‬‬
‫‪2‬‬
‫‪1‬‬
‫‪ ‬طراحی مفهومی‪ :‬یک مدل انتزاعی از پایگاه داده از دید کاربر‬
‫‪ ‬طراحی فیزیکی‪ :‬یک طرح بندی که نشان می دهد داده ها چگونه در‬
‫حافظه مرتب می شوند‪.‬‬
‫‪4‬‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫• مدلسازی موجودیت ـ رابطه‪ :‬فرایند طراحی یک پایگاه داده به وسیله‬
‫سازماندهی موجودیت داده های مورد استفاده و شناسایی رابطه ای که با‬
‫هم دارند‪.‬‬
‫• نمودار موجودیت ـ رابطه‪ :‬نموداری که موجودیت داده ها‪ ،‬صفت ها و‬
‫رابطه بین آن ها را نشان می دهد‪.‬‬
‫• کالس های موجودیتی‪ :‬گروهی از موجودیت های یک نوع داده مشخص‪.‬‬
‫‪2‬‬
‫‪1‬‬
‫‪4‬‬
‫• نمونه‪ :‬یک موجودیت مشخص از یک نوع موجودیت‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫• شناسه‪ :‬یک صفت که یک نمونه موجودیت را شناسایی می کند‪.‬‬
‫• رابطه ها‪ :‬اتصال های مفهومی موجودیت ها در یک پایگاه داده‪.‬‬
‫• تعداد موجودیت هایی که در یک رابطه هستند‪ ،‬درجه آن رابطه‬
‫نامیده می شود‪ .‬رابطه بین دو آیتم رایجتر است و اصطالحا رابطه‬
‫دوگانی نامیده می شود‪.‬‬
‫‪2‬‬
‫‪1‬‬
‫‪4‬‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫• سه نوع رابطه دوگانی‪:‬‬
‫• ‪ : 1:1‬ارتیاط یک نمونه از یک نوع موجودیت با یک نمونه از نوع موجودیت دیگر‬
‫• ‪ : 1:M‬ارتباط یک نمونه از یک نوع موجودیت با چند نمونه از نوع موجودیت دیگر‬
‫• ‪ : M:N‬ارتباط یک نمونه از یک نوع موجودیت با چند نمونه از نوع موجودیت‬
‫دیگر و برعکس‪.‬‬
‫‪2‬‬
‫‪1‬‬
‫‪4‬‬
‫نمودار موجودیت ـ رابطه (‪)ERD‬‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫‪2‬‬
‫‪1‬‬
‫‪4‬‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫• نرمال سازی‪ :‬یک روش برای تحلیل و بهبود یک پایگاه داده رابطه‬
‫ای به شکلی ساده و موثر تر به منظور کاستن افزونگی‪ ،‬افزایش‬
‫یکپارچگی داده ها‪ ،‬و بهبود کارایی پردازش ی‪.‬‬
‫‪2‬‬
‫‪1‬‬
‫‪4‬‬
‫رابطه نرمال سازی نشده‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫‪2‬‬
‫‪1‬‬
‫‪4‬‬
‫نرمال سازی شده‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫‪2‬‬
‫‪1‬‬
‫‪4‬‬
‫سیستم های مدیریت پایگاه داده‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫• ‪ :DBMS‬یک برنامه نرم افزاری (یا گروهی از برنامه ها) که‬
‫دسترس ی به پایگاه داده را برای کاربر فراهم می کند‪.‬‬
‫‪2‬‬
‫‪1‬‬
‫‪4‬‬
‫دیدگاه فیزیکی و دیدگاه منطقی‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫• دیدگاه فیزیکی‪ :‬طرحی برای آرایش واقعی و فیزیکی و مکان داده ها‬
‫در ‪DASD‬های (حافظه های با دسترس ی مستقیم) سیستم‬
‫مدیریت داده‪.‬‬
‫• دیدگاه منطقی‪ :‬دید کاربر نسیت به داده ها و برنامه های نرم‬
‫افزاری که آن داده ها را در سیستم مدیریت داده پردازش می‬
‫کنند‪.‬‬
‫‪2‬‬
‫‪1‬‬
‫‪4‬‬
‫مولفه های یک ‪DBMS‬‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫• مدل داده‪ :‬تعریف راهی برای اینکه چگونه یک داده در ‪ DBMS‬ساختاردهی‬
‫می شود‪(.‬به صورت مفهومی)‬
‫• زبان تعریف داده ها(‪ :)DDL‬مجموعه ای از دستور ها که ساختار پایگاه‬
‫داده را توصیف می کند(انواع رکورد ها و مجموعه داده ها)‬
‫‪2‬‬
‫‪1‬‬
‫• ِشما(‪ :)Schema‬توصیف منطقی از همه پایگاه داده و لیست همه‬
‫داده ها و رابطه بین آن ها‪.‬‬
‫‪4‬‬
‫یرشما(‪ :)Subschema‬مجموعه مشخص ی از داده های پایگاه داده که‬
‫• ز ِ‬
‫مورد نیاز هر کاربرد (‪ )application‬هستند‪.‬‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫• زبان تغییر داده ها (‪:)Data Manipulation Language‬‬
‫دستورالعمل هایی که از زبان های سطح باال بهره می برد تا‬
‫محتوای پایگاه داده را جستجو کند‪ ،‬اطالعات را ذخیره یا بهنگام‬
‫کند و کاربردهای پایگاه داده را توسعه دهد‪.‬‬
‫• زبان جستجوی ساخت یافته ( )‪:)SQL(Structured query language‬‬
‫زبان عمومی پایگاه داده رابطه ای که کاربران را قادر به انجام‬
‫جستجو های پیچیده با دستورالعمل های نسبتا ساده‪ ،‬می سازد‪.‬‬
‫‪2‬‬
‫‪1‬‬
‫‪4‬‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫• جستجو با مثال(‪ :)QBE‬زبان پایگاه داده که کاربر را قادر می‬
‫سازد تا با پر کردن یک فرم‪ ،‬یک نمونه یا توصیفی از داده مورد‬
‫نظر را بسازد‪.‬‬
‫• مجموعه واژگان داده ها(‪:)Data dictionary collection‬‬
‫تعریف عناصر داده ها‪ ،‬ویژگی های داده هایی که عناصر داده ها‬
‫استفاده می کند و افراد‪ ،‬توابع کاری‪ ،‬کاربرد ها و گزارشاتی که این‬
‫عنصر داده ها را استفاده می کنند‪.‬‬
‫‪2‬‬
‫‪1‬‬
‫‪4‬‬
‫مدل های منطقی داده‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫• سه مدل رایج‪ :‬سلسله مراتبی‪ ،‬شبکه ای و رابطه ای‬
‫بقیه مدل ها مثل چند بعدی‪ ،‬ش ی ـ رابطه ای(‪،)object-relational‬‬
‫ابررسانه ای (‪،)hypermedia‬نهفته(‪ )embedded‬و مجازی‬
‫• ‪DBMS‬های سلسله مراتبی و شبکه ای‪ :‬معموال داده های مرتبط به هم را‬
‫از طریق لینک لیست به هم وصل می کنند‪.‬‬
‫• ‪DBMS‬های چندبعدی و رابطه ای‪ :‬داده ها را با توجه به اطالعاتی که از‬
‫آن داده ها به دست می آید به هم مرتبط می کنند‪.‬‬
‫‪2‬‬
‫‪1‬‬
‫‪4‬‬
‫مدل سلسله مراتبی ‪DB‬‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫• داده ها را در یک درخت ساختاردهی می کند که در آن هر رکورد شامل دو‬
‫عنصر‪ ،‬یک ریشه که اصطالحا کلید نامیده می شود و یک عدد متغیر از‬
‫میدان های تابعه‪ ،‬می باشد‪.‬‬
‫• بهترین مزیت این مدل سرعت و کارایی آن برای جستجو در داده ها می‬
‫باشد‪.‬‬
‫• ایراد ها‪ :‬دسترس ی به داده ها از پیش تعریف شده است‪(.‬بوسیله مدیر‬
‫پایگاه داده قبل از نوشتن برنامه هایی که به داده باید دسترس ی داشته‬
‫باشند)‪ .‬برنامه نویس ها باید از سلسله مراتب ساختار داده ها تبعیت‬
‫کنند‪.‬‬
‫‪2‬‬
‫‪1‬‬
‫‪4‬‬
‫مدل سلسله مراتبی ‪DB‬‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫‪2‬‬
‫‪1‬‬
‫‪4‬‬
‫مدل شبکه ای پایگاه داده‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫• مدل داده ای که رابطه بین داده ها را به گونه ای برقرار می کند‬
‫که رکورد های تابعه می توانند با بیش از یک عنصر داده رابطه‬
‫داشته باشند‪.‬‬
‫‪2‬‬
‫‪1‬‬
‫‪4‬‬
‫مدل رابطه ای پایگاه داده‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫• مدلی بر پایه یک مفهوم ساده به نام جدول‪ ،‬به منظور تمرکز بر روی‬
‫ویژگی های سطر ها و ستون های داده ها‪.‬‬
‫‪2‬‬
‫• رابطه ها‪ :‬جدول های سطرها و ستون های استفاده شده در ‪ DB‬رابطه ای‬
‫• چند تایی(‪ :)Tuple‬یک سطر داده در مدل رابطه ای‬
‫• صفت‪ :‬یک ستون داده در مدل رابطه ای‬
‫‪1‬‬
‫‪4‬‬
‫سه عمل اصلی در پایگاه داده رابطه ای‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫• ‪ :Select‬ایجاد یک زیرمجموعه شامل همه رکوردهای فایل با یک‬
‫معیار خاص‪.‬‬
‫• ‪ :Join‬ترکیب جدول های رابطه ای‬
‫• ‪ :Project‬ایجاد یک زیرمجموعه از ستون های یک جدول‪ ،‬به‬
‫کاربر اجازه ی جدول های جدید شامل اطالعات مورد نیاز می‬
‫دهد‪.‬‬
‫‪2‬‬
‫‪1‬‬
‫‪4‬‬
‫مزایا و معایب مدل ها ی منطقی داده ها‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫معایب‬
‫• دسترس ی پیش تعریف به داده ها با روابط سلسله مراتبی‬
‫انحصاری‪ ،‬مشخص شده توسط مدیر‬
‫• محدودیت جستجو‬
‫• سلسله مراتبی نبودن طبیعی همه داده ها‬
‫‪2‬‬
‫‪1‬‬
‫• طراحی‪ ،‬پیاده سازی و نگهداری سخت و پیچیده‬
‫• انعطاف جستجویی کمترنسبت به مدل رابطه ای‬
‫‪4‬‬
‫• کم بودن سرعت و کارایی پردازش ی‬
‫• افزونگی داده ها‬
‫• نیازمند نگهداری اضافی‬
‫مزایا‬
‫• جستجوی سریع و کارا‬
‫مدل‬
‫پایگاه داده سلسله مراتبی‬
‫• قابلیت تعریف رابطه های بیشتر‬
‫• سرعت و بازدهی بیشترنسیت به مدل رابطه‬
‫ای‬
‫پایگاه داده شبکه ای‬
‫• سادگی مفهومی‬
‫• روابط پیش تعریف برای داده ها وجود‬
‫ندارد‪.‬‬
‫• انعطاف باال درجستجوهای غیرعمومی‬
‫• آسانی افزودن داده و رکورد جدید‬
‫پایگاه داده رابطه ای‬
‫مدل های دیگر‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫• مدل داده ای ش ی ـ رابطه ای(‪ :)ORDB‬یک مدل داده که توانایی‬
‫ذخیره سازی ش ی(‪ )object‬را به پایگاه داده رابطه ای اضافه می‬
‫کند‪.‬‬
‫• مدل ابررسانه ای(‪ :)Hypermedia‬مدل داده ای که بخش های‬
‫بزرگ اطالعات (‪ )chunk‬را در گره هایی ذخیره می کند که می‬
‫تواند شامل داده هایی از گونه های مختلف باشند؛ و کاربر می‬
‫تواند به داده مربوطه از هر نوع رابطه ای پرش کند‪.‬‬
‫‪2‬‬
‫‪1‬‬
‫‪4‬‬
‫مدل های خاص‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫• پایگاه داده اطالعات جغرافیایی(‪ :)Geographical information database‬مدل‬
‫داده ای شامل داده های مکانی برای قرار دادن روی نقشه ها و تصاویر‪.‬‬
‫• پایگاه داده دانش ی‪ :‬مدل داده ای شانل قواعد تصمیم گیری که می‬
‫تواند برای تصمیم گیری های خبره استفاده شود‪.‬‬
‫‪2‬‬
‫‪1‬‬
‫‪4‬‬
‫‪0011 0010 1010 1101 0001 0100 1011‬‬
‫• ‪ :Small-footprint database‬زیرمجموعه ای از یک‬
‫بزرگتر برای کارکنان یک میدان خاص‪.‬‬
‫• پایگاه داده نهفته (‪ :)Embedded database‬پایگاه داده ای که در‬
‫دستگاه ها و یا کاربردها ساخته می شوند‪ .‬طراحی شده برای اینکه‬
‫مستقل باشند و نیاز خیلی کمی به مدیریت دارند‪.‬‬
‫• پایگاه داده مجازی‪ :‬یک پایگاه داده که فقط شامل نرم افزار است‬
‫و داده ها را که از نظر فیزیکی‪ ،‬در هر جایی روی شبکه و از هر‬
‫نوعی که باشند‪ ،‬مدیریت می کند‪.‬‬
‫‪DB‬‬
‫‪2‬‬
‫‪1‬‬
‫‪4‬‬