Download presentation
Presentation is loading. Please wait.
1
فصل 1: مفاهيم پايه
2
مفاهيم مربوط به پايگاه داده ها
Data: عبارت است از حقيقتي خام که هيچ مفهوم خاصي ندارد و نمي تواند هيچ تاثيري در تصميم گيريهاي سيستم داشته باشد.(مثل 123) Information:مفهوم داده است که از تفسير داده بدست مي آيد و مبناي تصميم گيري در سازمانها است (دو تفسيراز 123:{کد درس: 123يا کد استاد 123}) Knowledge: دانشي است که از تجزيه و تحليل اطلاعات بدست مي آيد مثلا: چه دانشجوياني درس 123 را گرفته اند؟
3
مفاهيم مربوط به پايگاه داده ها
:Data Managementبراي توليد، ذخيره و بازيابي صحيح داده ها مکانيزم موثري مورد نياز است. چنين مکانيزمي مديريت داده ها ناميده ميشود Integrated: يکپارچگي داده ها را Integrate مي گويند به عنوان مثال پايگاه داده يک ساختار کامپيوتري يکپارچه شامل داده هاي مورد نياز کاربران است. Metadata: داده هائي که ساختار داده اصلي را توصيف ميکنند Data: 123 Metadata:( (name=student code , length= 10 , type =char,…
4
مفاهيم مربوط به سيستم هاي فايل
داده (:(Data عبارتي است از حقيقتي خام که هيچ مفهوم خاصي ندارد فيلد (Field): گروهي از کاراکترهاست که خصوصيتي از يک موجوديت را توصيف يا تفسير ميکند مثل name (اگر علي داخل فيلد name قرار گيرد نشان ميدهد اسم يک موجوديت علي است) رکورد(Record):مجموعه اي از فيلدهاست که مربوط به يک موجوديت خاص است (مثل رکورد مربوط به يک دانشجو) فايل(File):مجموعه اي از رکوردهاست که مربوط به يک نوع موجوديت هستند(مثل فايل دانشجويان) سيستم فايل(File System): مجموعه اي از فايلها و برنامه هاي لازم براي کار با آنهاست (مثل سيستم فايل يک دانشگاه)
5
معايب سيستم هاي فايل نياز به برنامه نويسي زياد و پيچيده: از آنجائي که در سيستم فايل ها نرم افزاري براي ذخيره وبازيابي فايلها وجود ندارد برنامه نويس بايد ازجزئيات نحوه ذخيره سازي فايلها آگاه باشد بنابراين نياز به نوشتن کدهاي طولاني داشت. وابستگي داده اي(Data Dependence): يک تغيير کوچک در داده هاي فايل مثل تغيير در نوع فيلد باعث ميشود که کد کليه قسمتهايي از برنامه که با فايل مرتبط ميباشند را نيز تغيير دهد زيرا برنامه ها کاملا به ساختار فيزيکي فايل وابسته اند. وابستگي ساختاري(Structural Dependence): يک تغيير کوچک در ساختار فايل مثل حذف يا اضافه يک فيلد کليه کد برنامه هائي که به نحوي به فايل مربوط ميشوند را نيزتغيير ميدهد.
6
معايب سيستم هاي فايل افزونگي داده ها : وقتي يک قلم داده در چندين جاي مختلف ذخيره ميشود را افزونگي يا تکرار داده مي نامند که مشکلات زير را خواهد داشت هدررفتن فضا و نيروي کار : ذخيره يک قلم داده در چند جاي مختلف علاوه بر آنکه فضاي حافظه زيادي را به هدر مي داد باعث به هدر رفتن نيروي کار نيز مي شد ناسازگاري داده ها (Data Inconsistency) : اگر براي يک موجوديت در دو فايل مختلف دو مقدار متفاوت وجود داشته باشد ناسازگاري داده اتفاق مي افتد. بروز انواع ناهنجاري : افزونگي داده باعث بروز سه نوع ناهنجاري ميشود
7
معايب سيستم هاي فايل ناهنجاري اصلاح : در سيستم فايل ها بدليل نبودن ارتباط بين بانکهاي اطلاعاتي ، اطلاعات به صورت تکراري در قسمتهاي مختلف ذخيره مي شود. وقتي اطلاعاتي در يک فايل اصلاح مي گردد لازم است تمام اطلاعات وابسته تغيير کند. اين نوع اصلاح را اصلاح منتشر شونده Propagating Modification گويند ناهنجاري درج : در سيستم فايل ها بدليل نبودن ارتباط بين بانکهاي اطلاعاتي لازم ميشد براي درج يک اطلاع ، اطلاعات وابسته ديگري نيز بصورت تکراري مجددا ثبت شود. که اين امر باعث هدر رفتن فضا ، نيروي کار و خطر بروز ناسازگاري ميشد. ناهنجاري حذف : وقتي با حذف يک قلم اطلاعات ، به طور ناخواسته اطلاعات وابسته ديگري نيز حذف شود. عدم وجود امکانات لازم براي تامين امنيت داده ها (Data Security) سيستمهاي فايل فاقد امکانات لازم براي تعيين حدود اختيارات هر کاربر بودند
8
سيستم هاي پايگاه داده ها
Database System : کليه داده ها به صورت يکپارچه و تنها در يک محل ذخيره ميشوند و کليه کاربران مي توانند به صورت اشتراکي و همزمان از اين داده ها استفاده کنند. سيستمي که اطلاعات را بصورت کامپيوتري نگهداري ميکند و هدف اصلي آن ذخيره و بازيابي و به هنگام سازي اطلاعات (بنا به تقاضا) مي باشد سيستم پايگاه داده ها مکانيزم هائي براي تامين جامعيت داده ها (صحت داده ها)، کنترل دسترسي به داده ها، ترميم داده ها و ... فراهم مي کند تعريف: مجموعه اي است از داده هاي ذخيره شده، پايا، به هم مرتبط، مجتمع، حتي المکان فاقد افزونگي، داراي معماري خاص خود مبتني بر يک مدل داده اي تحت مديريت يک سيستم کنترل متمرکز، مورد استفاده يک يا چند کاربر، از يک محيط(سازمان)به طور اشتراکي و همزمان
9
سيستم هاي پايگاه داده ها
Database Management System(DBMS): DBMS نقش واسط و مترجم ميان کاربران يا برنامه هاي کاربردي ((Applicationآنها و پايگاه داده را بازي ميکند DBMS هر دستور سطح بالاي کاربر يا برنامه کاربردي را به کدهاي پيچيده لازم تبديل کرده، اين کدهاي پيچيده را روي پايگاه داده ها اعمال کرده، نتيجه دريافتي را به فرمتي قابل فهم براي کاربر يا برنامه کاربردي وي تبديل مي کند Select name from student where age>17
10
اجزاء يک سيستم پايگاه داده ها
سخت افزار نرم افزار کاربران پروسجرها داده ها
11
اجزاء يک سيستم پايگاه داده ها
سخت افزار: سخت افزار يک سيستم پايگاه داده ها شامل کليه وسايل فيزيکي است که براي ورود /خروج و ذخيره اطلاعات بکار ميرود. اگر پايگاه داده در شبکه باشد کليه تجهيزات مربوط به شبکه نيز لازم ميباشد. پروسيجرها: شامل دستوارتي که براي اجراي قوانين حاکم بر سيستم نوشته ميشوند. (با صدور فاکتور ، موجودي کالاها بايد به روز شود) داده ها: داده هاي مورد نياز کاربران نهائي و فراداده ها
12
اجزاء يک سيستم پايگاه داده ها- نرم افزار
سيستم عامل : روي کليه کامپيوترهاي محيط پايگاه داده ها يک سيستم عامل مثل ويندوز يا Unix يا ... نصب ميشود. DBMS:نرم افزاري از پيش تهيه شده و پيچيده است که نسخه هاي مختلف آن خريداري ميشود و بر روي محيط کامپيوتر نصب ميگردد. از امکانات آن ايجاد و پشتيباني از پايگاه داده ها است (مثل SQL Server، Oracle، DB2و Informix). برنامه هاي کاربردي: برنامه هاي کاربردي توسط برنامه نويسان و مخصوص يک محيط عملياتي نوشته ميشود، اين برنامه ها از طريق DBMS با پايگاه داده ها ارتباط برقرار مي کند(مثل برنامه هاي حسابداري، حقوق دستمزدو...)
13
اجزاء يک سيستم پايگاه داده ها- کاربران
مديران سيستم (System Administrator): اين گروه از کاربران بر عملکرد کلي سيستم پايگاه داده ها نظارت ميکند. مديران پايگاه داده ها (Database Administrator): استفاده بهينه و درست و کارآمد از پايگاه داده ها را مورد بررسي قرار ميدهد. در واقع DBAها خط مشي و سياستهاي کلي استفاده و کار با پايگاه داده ها را مشخص مي کنند (مثل: چه DBMSي استفاده شود چگونه نصب گردد و چه استانداردها و مکانيزم هائي براي استفاده از پايگاه داده لازم است) طراحان پايگاه داده ها(Database Designer): اين گروه از کاربران، پايگاه داده ها را مطابق با خواسته مديران و بر اساس نيازهاي کليه کاربران نهائي طراحي ميکنند برنامه نويسان: برنامه هاي کاربردي لازم براي کار با پايگاه داده را طراحي و پياده سازي ميکنند(مثل ساخت صفحات ورود داده ها و تهيه گزارشات ) کاربران نهائي(End Users) : کاربران نهائي اپراتورها و مديران سازمانها هستند
14
انواع سيستم مديريت پايگاه داده ها
از نظر تعداد کاربر Single User: درهر لحظه يک کاربر اجازه کار با پايگاه داده ها را دارد. Desktop Database: به DBMS تک کاربره گفته ميشود که روي يک کامپيوتر PC اجرا شود . N-User : بطورهمزمان چندين کاربربا پايگاه داده کار ميکنند. Work-group Database: به پايگاه داده اي گفته ميشود که تعداد کاربران مجاز براي استفاده همزمان از آن کمتر از 50 کاربر باشد. Enterprise Database: به پايگاه داده اي گفته ميشود که توسط کل بخشهاي يک سازمان مورد استفاده قرار مي گيرد
15
انواع سيستم مديريت پايگاه داده ها
از نظر توزيع داده Centralized DBMS: به DBMSهائي گفته ميشود که اجازه نمي دهند داده ها روي چند سايت پخش شوند Distributed DBMS: به DBMSهائي گفته ميشود که اجازه مي دهند داده ها روي چند سايت مختلف پخش شوند از نظر کاربرد Transactional: به DBMS هائي گفته ميشود مبتني بر Transaction مثل سيستم بانک، فروش و ... Decision Support: به DBMSهائي گفته ميشود که اطلاعاتي براي مديران رده بالاي سازمان براي اتخاذ تصميمهاي استراتژيک توليد مي کند (مانند تعيين سرمايه گذاري بهينه، تعيين قيمت تضميني يا پيش بيني آب و هوا و...)
16
وظائف سيستم مديريت پايگاه داده ها
تامين استقلال داده اي و ساختاري مديريت ذخيره سازي داده ها تبديل فرمت داده ها ميان محيط فيزيکي و محيط منطقي مديريت امنيت تامين امکان دسترسي مشترک چندين کاربر به پايگاه داده ها مديريت تهيه نسخه پشتيبان و ترميم پايگاه داده ها تامين جامعيت داده اي تامين زبان پرس و جو و ابزارهاي مديريت پايگاه داده ها
17
فصل 2: معماري پايگاه داده
18
معماري سيستم هاي پايگاه داده
DBMS تبديل کننده درخواستهاي سطح بالاي کاربران به کدهاي پيچيده، و اعمال اين کدها روي پايگاه داده ها مي باشد به گونه اي که جزئيات ذخيره و بازيابي داده ها کاملا از ديد کاربر پوشيده باشد. معماري ANSI براي سيستم هاي پايگاه داده لايه فيزيکي يا داخلي (Physical or Internal Layer): در اين لايه داده هاي فيزيکي همان گونه که روي محيط فيزيکي ذخيره شده اند نمايش داده ميشوند لايه ادراکي يا انتزاعي(Conceptual Layer): لايه ادراکي شامل ديد ادراکي است. ديدي که طراح پايگاه داده نسبت به کليه موجوديتها و ارتباطات ميان آنها دارد لايه خارجي (External Layer): ديد خارجي کاربران است. و ديد خارجي ديدي است که هر کاربر نسبت به اطلاعات ذخيره شده دارد. ديد لزوما با ديد ادراکي يکسان نيست
19
معماري سيستم هاي پايگاه داده
دانشجو(شماره دانشجوئي، نام، نام خانوادگي، رشته سال ورود، شماره شناسنامه، محل صدور، تاريخ تولد نوع بيمه، شغل) درس(شماره درس، نام درس، تعداد واحد، نوع درس، قيمت هر واحد) استاد(شماره استاد، نام، نام خانوادگي، مدرک) نمرات(شماره دانشجوئي، شماره درس، ترم، نمره) ديد کاربران آموزش: (شماره دانشجوئي، نام، نام خانوادگي، رشته، سال ورود، معدل کل)
20
معماري سيستم هاي پايگاه داده
هر برنامه کاربردي که با پايگاه داده ها سرو کار دارد از دو دسته زبان استفاده ميکند: زبان فرعي داده اي يا DSL(Data Sublanguage) زبان تعريف داده ها يا DDL(Data Definition Language): از اين دستورات براي تعريف ساختار جداول و ايندکسهاو.. استفاده ميشود زبان دستکاري داده ها يا DML (Data Manipulation Language): از اين دستورات براي بازيابي، درج و حذف و اصلاح اطلاعات جداول استفاده ميشود زبان کنترل داده ها يا DCL (Data Control Language): از اين دستورات براي مديريت مجازي دسترسي به پايگاه داده ها استفاده ميشود معروفترين زبان فرعي داده اي زبان SQL (Structured Query Language)
21
فصل 3: مدلهاي پايگاه داده
22
مدلهاي پايگاه داده ها مدل پايگاه داده ها مجموعه اي از ساختار منطقي داده ها و روابط ميان داده ها را نمايش ميدهد شامل دو دسته زير است : مدل انتزاعي (Conceptual Models) ساختار منطقي داده ها و روابط ميان آنهاست مدل موجوديت – رابطه (Entity Relationship Model(ERM)) مدل شي گرا (Object Oriented Model(OOM)) مدل پياده سازي(Implementation Models) چگونگي پياده سازي مدل انتزاعي است. مدل سلسله مراتبي(Hierarchical Database Model) مدل شبکه اي (Network Database Model) مدل رابطه اي (Relational Database Model)
23
مفاهيم پايگاه داده هاي رابطه اي
جدول يا رابطه (Table or Relation): هر جدول يا رابطه، ساختاري دو بعدي شامل سطرها و ستونهاست. در پايگاه داده هاي رابطه اي براي هر نوع موجوديت يا ارتباط ميان موجوديتها يک جدول در نظر گرفته ميشود. ويژگي (Attribute): هر يک از ستونهاي(Column) يک جدول نمايانگر يکي از ويژگيهاي نوع موجوديت است.(ستونهاي S#، name و course) تاپل، رکورد(Tupple): هر سطر(Row) از جدول را يک تاپل يا رکورد مي نامند (کامپيوتر- آرش راد -7801) بدنه (Body): مجموعه تاپلهاي يک جدول را بدنه آن جدول نامند.
24
مفاهيم پايگاه داده هاي رابطه اي
مجموعه عنوان (Header): مجموعه ويژگيهاي يک جدول را مجموعه عنوان آن مي نامند. دامنه يک ويژگي (Domain): مجموعه مقادير مجاز براي يک ويژگي را دامنه آن ويژگي نامند يا مقادير هر ويژگي از دامنه آن ويژگي انتخاب مي شوند. درجه يک رابطه (Relation Degree): تعداد ويژگيهاي يک جدول را درجه آن جدول يا رابطه نامند(براي جدول ,Student 3 است) کارديناليتي يک رابطه (Relation Cardinality): تعداد Tupple هاي يک جدول در هر لحظه از حيات آن را کارديناليتي آن جدول يا رابطه مي گويند(براي جدول student ، 4 است) وابستگي تابعي(Functional Dependence): دريک جدول ويژگي B به ويژگي A وابستگي تابعي دارد اگر به ازاء هر مقدار براي ويژگي A حداکثر يک مقدار براي ويژگي B وجود داشته باشد. به صورت A->B نشان مي دهيم
25
مفاهيم پايگاه داده هاي رابطه اي- وابستگي تابعي
روابط صحيح : St# ->name, course St# + name -> course St#+name+course->course, name روابط ناصحيح : name+course-> St# name -> course
26
مفاهيم پايگاه داده هاي رابطه اي- وابستگي تابعي
Employee(emp#,name,family,Id,birthDate,birthPlace,address,SSN) (شماره ملي،آدرس،محل تولد،تاريخ تولد،شماره شناسنامه،نام خانوادگي،نام ،شماره کارمندي) Emp#->name Emp#+Family->Id SSN->emp#,name,family,Id Id+birthDate+birthplace Name+family->Id Id+birthplace->name Id->name,family
27
مفاهيم پايگاه داده هاي رابطه اي- وابستگي تابعي کامل
وابستگي تابعي کامل(Full Functional Dependence): در يک جدول، ويژگي B به ويژگي A وابستگي تابعي کامل دارد(A B) اگر اولا ويژگي B به ويژگي A وابستگي تابعي داشته باشد ثانيا به هيچ جزئي از آن وابستگي تابعي نداشته باشد. وابستگي تابعي جزئي(Partial Dependence): در يک جدول، ويژگي B به ويژگي A وابستگي تابعي جزئي دارد(A B) اگر اولا ويژگي B به ويژگي A وابستگي تابعي داشته باشد ثانيا به جزئي از آن نيز وابستگي تابعي داشته باشد.
28
مفاهيم پايگاه داده هاي رابطه اي- وابستگي تابعي کامل
مثال از جدول student: St# name Name + course st# Name course St# + name course St# course
29
مفاهيم پايگاه داده هاي رابطه اي- وابستگي تابعي کامل
مثال از جدول student: Emp # name, family, Id,… SSN name, family, emp#,… Id + birthDate + birthPlace emp#, name, family Emp# + name family Id + birthPlace name SSN + Id name Id + birthDate + birthPlace + name family
30
انواع کليدها در پايگاه داده هاي رابطه اي
سوپر کليد (Super Key): مجموعه اي از يک يا چند ويژگي است که ساير ويژگيهاي جدول به آن وابستگي تابعي دارند. کليد کانديدا (Candidate Key): کليد کانديدا سوپر کليدي است که قابل خلاصه شدن نباشد ويا سوپر کليدي است که هيچ جزئي از آن سوپر کليد نباشد. کليد اصلي (Primary Key): مجموعه اي از يک يا چند ويژگي است که براي شناسائي و تمايز ميان موجوديتهاي يک دسته مورد استفاده قرار ميگيرد. اصولا يکي از کليدهاي کانديدا به عنوان کليد اصلي در نظر گرفته ميشود. کليد ثانويه (Secondary Key) : مجموعه اي از يک يا چند ويژگي است که در صورت عدم دسترسي به مقدار کليد اصلي، از مقدار آن براي تسريع جستجوي اطلاعات يک موجوديت خاص استفاده مي شود که منحصر به فرد نيست. کليد خارجي (Foreign Key): اگر ويژگي A بين جدول 1 و جدول 2 مشترک و در جدول 1 کليد اصلي باشد آنگاه ويژگي A در جدول 2، کليد خارجي نسبت به جدول 1 خواهد بود.
31
انواع کليدها در پايگاه داده هاي رابطه اي
City(city#,Cityname) St(St#, sname, city#,field) Course(crs#,cname.unit) Enroll(St#,crs#,year,term,grade) کليد اصلي؟ کليد خارجي؟ کليد ثانويه؟
32
سوپرکليد(Super Key) St# : Student سوپر کليدهاي جدول St# + Name
St# + Course S# + Name + Course Emp# : Employee سوپر کليدهاي جدول Emp#+name + … Id+birthdate+birthplace Id+birthdate+birthplace+name SSN SSN+emp#
33
کليد کانديدا(Candidate Key)
کليد کانديدا براي جدول Student به شرح زير است: St# کليد کانديدا براي جدول Employee به شرح زير است: Emp# SSN Id+BirthDate+BirthPlace
34
کليد اصلي(Primary Key)
يکي از کليدهاي کانديدا به عنوان کليد اصلي در نظر گرفته ميشود براي جدول student :ST# براي جدول employee : emp# (آخرين کليد طولاني است و ممکن است همه کد ملي نداشته باشند) در جدول city : city# در جدول St : st# در جدول Course : crs# در جدول Enroll : (st#+crs#+year+term)
35
کليد ثانويه (Secondary Key)
اين کليد منحصر بفرد نيست در جدول student: name name+course در جدول employee: Name+family SSN Id+BirthDate+BirthPlace
36
کليد خارجي (Foreign Key)
City(city#,Cityname) St(St#, sname, city#,field) Course(crs#,cname.unit) Enroll(St#,crs#,year,term,grade) City# بين دو جدول city و st St# بين دو جدول st و enroll Crs# بين دو جدول courseو enroll
37
قوانين حاکم بر پايگاه داده رابطه اي
قوانين جامعيت داده اي (Data Integrity Rules): قانون جامعيت موجوديت (Entity Integrity Rule): طبق اين قانون هيچ جزئي از کليد اصلي در هيچ يک از تاپلها نمي تواند تکراري باشد. کليد اصلي براي شناسائي موجوديتهاي سيستم استفاده ميشود بنابراين هر موجوديت براي آنکه در سيستم قابل تشخيص باشد، بايد براي کليد اصلي يک مقدار منحصربفرد داشته باشد. قانون جامعيت ارجاعي(Referential Integrity Rule) : طبق اين قانون ، مقدار کليد خارجي در يک جدول مي تواند تهي باشد (مشروط بر آنکه جزئي از کليد اصلي نباشد). ولي اگر تهي نباشد، بايستي با يکي از مقادير کليد اصلي در جدول اصلي مساوي باشد
38
مثال Field(field#,fieldName) رشته تحصيلي
Type(type#,typeName,fee) اطلاعات مربوط به نوع درس Student(st#,sname,startYear,field#) اطلاعات دانشجويان Course(crs#,cname,unit,type#) اطلاعات دروس CF(crs#,field#,kind) هر درس مربوط به رشته Grades(st#,crs#,term,grade) اطلاعات نمرات دانشجوئي Pre(crs#,pre#)پيش نياز هر درس Prof(prof#,pname,degree) اطلاعات اساتيد PC(prof#,crs#,term) دروسي که استاد تدريس ميکند Tuition(field#,startYear,constTuition) شهريه دانشگاه و سال ورود
39
مثال Emp(emp#,ename,tel,address)مشخصات کارمندان
Contract(con#,emp#,description,startDate,endDate,payPerHour)قراردادها offEmp(emp#,startDate,pay) کارمندان رسمي Profession(p#,pname) تخصص ها Emp_profession(emp#,p#,degree)تخصص کارمندان Project(proje#,pname,headEmp#,status) اطلاعات پروژه Task(proje#,task#,tname,startDate,endDate) اطلاعات وظايف Emp_Task(proje#,task#,emp#) کارمندان روي کدام وظيفه کار ميکنند Report(report#,emp#,proje#tsk#,rdate,description,hours)گزارشات پيشرفت کار
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.