TG 3 - DB.pdf

‫مدیریت دادههای سازمانیافته‬
‫‪Managing Organizational Data‬‬
‫‪TG3‬‬
‫ارائ ه‌دهنده ‪ ‌:‬شیرین‌مظفری‬
‫رئوس مطالب‬
‫• اصول طبقهبندی و دسترسی به دادهها‬
‫• روش سنتی‪ :‬محیط پروندهها (‪)files‬‬
‫• روش نوین‪ :‬مدیریت پایگاه داده‬
‫• سامانهی مدیریت پایگاه داده‬
‫• مدلهای منطقی دادهها (‪)Logical data model‬‬
‫‪2‬‬
‫اهداف آموزشی‬
‫• مدیریت دادهها به روش سنتی و معایب آن‬
‫• تعریف پایگاه داده‬
‫• چگونگی رویکرد پایگاه داده ای در برطرف کردن مشکالت روش سنتی‬
‫• شرح چگونگی سازماندهی داده توسط سه مدل دادهای متداول و مزایای هریک‬
‫‪3‬‬
‫سلسله مراتب داده ها‬
‫• بیت )‪ :(Binary digIT‬یک رقم دودویی ( ‪ 0‬یا ‪.)1‬‬
‫• بایت‪ :‬تعدادی بیت (‪ 8‬بیت) که کد معادل یک کاراکتر را نمایش میدهد‪.‬‬
‫• کاراکتر‪ :‬نشانهای که در جدول کدها در مقابل کد معادل قرار میگیرد‪( .‬مثال‪ :‬حرف‪ ،‬عدد‪ ،‬عالمت یا فاصله خالی)‬
‫• رشته‪ :‬مجموعهای از کاراکترها‪.‬‬
‫• فیلد‪ :‬یک رشتهی معنی دار‪.‬‬
‫• رکورد‪ :‬مجموعهای از صفات یک پدیده (موجودیت)‪ .‬هر صفت با یک فیلد مشخص میشود‪.‬‬
‫• پرونده (‪ :)File‬شامل رکوردهای موجودیتهای یکسان‪( .‬مثال‪ :‬پرونده مربوط به نمرات دانشجویان درس پایگاه داده)‬
‫• پایگاه داده‪ :‬مجموعهای از پروندههای موجودیتهای مرتبط به هم‪( .‬مثال‪ :‬پروندههای مربوط به موجودیتهای‬
‫دانشجو‪ ،‬استاد و درس)‬
‫‪4‬‬
‫سلسله مراتب داده ها‬
‫پایگاه داده‬
‫فایل‬
‫‪5‬‬
‫فایل‬
‫تعاریف در پایگاه داده ( مدل سازی معنایی داده ها)‬
‫• مدلسازی معنایی دادهها(‪ :)Semantic data modeling‬ارائه یک مدل کلی از دادههای محیط با‬
‫استفاده از مفاهیم انتزاعی و براساس معنایی که کاربر برای دادهها قائل است‪.‬‬
‫• موجودیت (‪ :)entity‬یک پدیده مثل یک شخص‪ ،‬مکان‪ ،‬شی یا یک رویداد‪ .‬اطالعات موجود در یک‬
‫رکورد میتواند صفات او را توصیف کند‪.‬‬
‫‪ ‬مثال‪ :‬دانشجو‪ ،‬استاد‪ ،‬درس‬
‫• صفت (‪ :)attribute‬هر ویژگی یا کیفیتی که یک مشخصه ی موجودیت را توصیف کند‪.‬‬
‫‪ ‬مثال‪ :‬نام‪ ،‬نام خانوادگی‪ ،‬شماره دانشجویی‪ ،‬شماره ملی‪.‬‬
‫• کلید اولیه(‪ :)primary key‬یک فیلد به عنوان شناسه که به شکل یکتا رکورد را مشخص کند‪.‬‬
‫‪ ‬مثال‪ :‬شماره دانشجویی‪ ،‬شماره ملی‬
‫• کلید ثانویه (‪ :)secondary key‬یک فیلد به عنوان شناسه که بعضی از اطالعات شناسایی را دارد‪ ،‬اما میتواند‬
‫یکه نباشد و با ترکیب با فیلدهای دیگر یک رکورد را به صورت یکتا مشخص کند‪.‬‬
‫‪ ‬مثال‪ :‬نام خانوادگی‬
‫‪6‬‬
‫محیط پرونده سنتی‬
‫• از سال ‪ 1955‬تا اوایل ‪ ،1970‬سازمانها دادههایشان را در محیط فایل مدیریت میکردند‪.‬‬
‫• تعدادی فایل داده ای‪ ،‬مجموعه ای از رکورد هایی است که از لحاظ منطقی مرتبط به هم می‬
‫باشند‪.‬‬
‫• در محیط سنتی مدیریت فایل ها‪ ،‬هر کاربرد (‪ )application‬یک فایل دادهای مرتبط به آن‬
‫دارد که شامل رکورد های دادهی مورد نیاز آن کاربرد است‪.‬‬
‫• روش سنتی مدیریت دادهها‪ :‬سازمان با تعداد زیادی کاربرد با فایلهای دادهای مرتبط به هر‬
‫کدام‪.‬‬
‫‪7‬‬
‫محیط فایل سنتی‬
‫‪8‬‬
‫معایب روش فایل داده ای‬
‫( رویکرد فایلی)‬
‫• افزونگی داده (‪ : )Data redundancy‬تکرار دادهها‬
‫• ناسازگاری داده (‪ :)Data inconsistency‬بهنگام نشدن مقدار یک داده افزونه در تمام افزونهها (یک فیلد با چند‬
‫مقدار)‬
‫• جدایی داده ها (‪)Data isolation‬‬
‫• امنیت داده ها (‪)Data security‬‬
‫• یکپارچگی داده ها (‪)Data integrity‬‬
‫• استقالل کاربرد‪/‬داده (‪)Application/data independence‬‬
‫‪9‬‬
‫پایگاه داده‪ :‬مشی مدرن یا پایگاهی‬
‫تعریف پایگاه داده‪ :‬گروهی از پروندههای مرتبط به هم که دادهها و ارتباطات‬
‫بین آنها را در خود ذخیره میکنند‪.‬‬
‫‪10‬‬
‫مشی مدرن یا پایگاهی‬
‫‪11‬‬
‫طراحی یک پایگاه داده‬
‫•‬
‫برای ساختن یک پایگاه داده طراحان باید یک طراحی مفهومی و یک طراحی فیزیکی انجام دهند‪.‬‬
‫‪ o‬طراحی مفهومی‪ :‬یک مدل انتزاعی از پایگاه داده از دید کاربر که مشخص می کند داده ها چگونه گروه بندی می‬
‫شوند‪.‬‬
‫‪ o‬طراحی فیزیکی‪ :‬یک طرح بندی (‪ )layout‬که نشان می دهد داده ها چگونه در حافظه ی فیزیکی مرتب می شوند‪.‬‬
‫(نحوه درج طراحی منطقی در حافظه فیزیکی)‬
‫• مدلسازی موجودیت ـ رابطه )‪ (Entity Relationship Diagram‬و بهنجارسازی برای طراحی‬
‫بهینه ی پایگاه داده‪.‬‬
‫‪12‬‬
‫• شناسه‪ :‬یک صفت که یک موجودیت را میتوان با آن شناسایی کرد‪.‬‬
‫• رابطه ها‪ :‬اتصال های مفهومی موجودیت ها در یک پایگاه داده‪.‬‬
‫• درجهی رابطه‪ :‬تعداد موجودیت هایی که در یک رابطه هستند‪ ،‬درجه‬
‫آن رابطه نامیده می شود‪ .‬رابطه بین دو موجودیت رایجتر است و‬
‫اصطالحاً رابطهی دوگانه نامیده می شود‪.‬‬
‫‪13‬‬
‫• سه نوع رابطه دوگانی‪:‬‬
‫• رابطه یک به یک (‪ : )1:1‬ارتباط یک به یک دو نمونه‪.‬‬
‫مثال‪ :‬هر پروژهای را یک کارمند مدیریت میکند و هر کارمند مسئول مدیریت یک پروژه است‪.‬‬
‫(رابطه یک به یک بین کارمند و پروژه)‬
‫• رابطه یک به چند (‪ : )1:N‬به ازای یک نمونه از موجودیت اول ‪ N‬نمونه از موجودیت دوم موجود‬
‫است‪.‬‬
‫مثال‪ :‬هر درس توسط یک استاد ارائه میشود ولی هر استاد میتواند چند درس ارائه دهد‪( .‬رابطه‬
‫یک به چند بین درس و استاد)‬
‫• رابطه چند به چند (‪ : )M:N‬به ازای ‪ M‬نمونه از موجودیت اول ‪ N‬نمونه از موجودیت دوم موجود‬
‫است‪.‬‬
‫مثال‪ :‬هر قطعه دستگاه مربوط به چند بخش است و هر بخش هم شامل چند قطعه است‪( .‬رابطه‬
‫چند به چند بین قطعه و بخش)‬
‫‪14‬‬
‫سیستم های مدیریت پایگاه داده‬
‫• ‪ :DBMS‬یک سامانه نرم افزاری که امکانات دسترسی و بهنگامی یا حذف (امکانات پردازشی) را‬
‫در پایگاه داده برای یک کاربر فراهم میکند‪.‬‬
‫‪ ‬مثال‪Microsoft Access ،MySQL :‬‬
‫قابلیتهای ‪:DBMS‬‬
‫• یکپارچگی‬
‫• کنترل امنیت داده ها‬
‫• کنترل دسترسی به داده ها‬
‫‪15‬‬
‫دیدگاه (‪ )View‬فیزیکی و دیدگاه منطقی‬
‫در یک سامانه مدیریت پایگاه داده (‪ )DBMS‬دو دیدگاه به داده های پایگاه داده‬
‫وجود دارد‪:‬‬
‫• دیدگاه منطقی‪ :‬چیدمان منطقی دادهها‬
‫• دیدگاه فیزیکی‪ :‬نحوه واقعی چیدن دادهها در حافظه سیستم است‪.‬‬
‫‪16‬‬
‫مولفه های یک ‪DBMS‬‬
‫• مدل داده(‪ :)Data Model‬چگونگی نمایش دادهها به شکل ساختاری مفهومی در ‪. DBMS‬‬
‫‪ o‬شِما(‪ :)Schema‬توصیف منطقی از پایگاه داده و صورت همه دادهها و روابط بین آنها‪.‬‬
‫توصیف جدولها و روابط بین آنها‪.‬‬
‫‪ o‬شِما جزئی(‪ :)Subschema‬زیرمجموعهای از دادههای پایگاه داده که مورد نیاز هر کاربرد‬
‫(‪ )application‬هستند‪.‬‬
‫• زبان تعریف داده ها(‪ :)Data Definition Language‬زبانی که ساختار پایگاه داده را‬
‫توصیف میکند (انواع رکورد ها و مجموعه داده ها)‪ ،‬رابطه ی بین دیدگاه فیزیکی و منطقی‪.‬‬
‫• زبان پردازش دادهها (‪ :)Data Manipulation Language‬زبانی سطح باال که در محتوای‬
‫پایگاه داده جستجو میکند‪ ،‬اطالعات را ذخیره‪ ،‬بهنگام یا حذف میکند و کاربردهای پایگاه داده‬
‫را توسعه میدهد‪.‬‬
‫‪17‬‬
DDL ‫مثال برای‬
:‫ دستوراتی نظیر‬،‫ ساختار پایگاه داده را توصیف می کنند‬،‫این زبان‬
• CREATE - to create objects in the database
• ALTER - alters the structure of the database
• DROP - delete objects from the database
• TRUNCATE - remove all records from a table, including all
spaces allocated for the records are removed
• COMMENT - add comments to the data dictionary
• RENAME - rename an object
18
)‫(ادامه‬DBMS ‫مؤلفه های‬
• DELETE to remove rows.
• INSERT to add a row.
• SELECT to retrieve row.
• UPDATE to change data in specified columns.
19
‫زبان های پایگاه داده (ادامه)‬
‫• زبان پرس و جوی ساخت یافته ( )‪:)SQL(Structured query language‬‬
‫زبان پایگاه دادهی رابطهای که کاربران را قادر به انجام جستجوهای پیچیده با‬
‫دستورالعملهای نسبتاً ساده‪ ،‬می سازد‪ ،‬ترکیب‪ DDL‬و ‪.DML‬‬
‫‪20‬‬
‫مدل رابطه ای پایگاه داده‬
‫• مدلی بر پایه یک مفهوم ساده به نام جدول‪ ،‬به منظور تمرکز بر روی ویژگی های‬
‫سطرها و ستونهای دادهها‪.‬‬
‫• رابطه ها‪ :‬جدول های سطرها و ستون های استفاده شده در ‪ DB‬رابطه ای‪.‬‬
‫• چند تایی(‪ :)Tuple‬یک سطر داده در مدل رابطه ای که صفات یک موجودیت را بیان میکند‪.‬‬
‫• صفات‪ :‬یک ستون داده در مدل رابطه ای(مقادیر یک صفت برای همه موجودیتها)‪.‬‬
‫‪21‬‬
‫سه عمل اصلی در پایگاه داده رابطه ای‬
‫• ‪ :Select‬دسترسی به یک زیرمجموعه شامل همهی موجودیتها با یک ویژگی‬
‫خاص‪.‬‬
‫• ‪ :Join‬ترکیب جداول رابطه ای‪.‬‬
‫• ‪ :Project‬ایجاد یک زیرمجموعه از صفات یک جدول‪ ،‬به کاربر اجازهی تشکیل‬
‫جدولهای جدید شامل اطالعات مورد نیاز می دهد‪.‬‬
‫‪22‬‬
23
24