كتاب معرفي شده : Data base management system by Royha Ramakrishran

مشکلات استفاده از فايل سيستم

         ۱- ذخیره و بازیابی (search)            ۲- سطح دسترسی                     ۳- مدیریت داده

مزیت های DBMS

          ۱) استقلال داده (Data independence) : برنامه ای که برنامه نویس می نویسد به داده درون دیتابیس وابسته نیست . در DBMS برنامه به Data وابسته نیست ولی در فایل سیستم برنامه جدا از فایل سیستم معنی ندارد.

          ۲) دسترسی موثر به داده ها (Efficient data access) : در DBMS دسترسی موثر به داده داریم. دسترسی موثر یعنی دسترسی کارا ؛ یعنی در کمترین زمان ممکن با درصد موفقیت بالا.

در DBMS ، Access time  بالاست چون ما خودمان داریم کار مدیریت را انجام می دهیم.

           ۳) Data integrity & security : جامعیت یعنی اینکه ما دیتابیس را از تغییرات ناخواسته محافظت کنیم.(تغییرات ناخواسته ناشی از crash ، هک کردن و ... )

جامعیت پایگاه داده: یعنی دیتاهای ما به صورت ناخواسته نباید تغییر کنند. جامعیت یکی از جنبه های امنیت است.

           ۴) مدیریت داده (Data administration) :  ما redundancy نباید داشته باشیم. Redundancy یعنی یک داده ای را چند بار دردیتابیس ذخیره کنیم.

امنیت سه جنبه دارد : ۱- Availability (موجودیت)         ۲- Confidentiality (محرمانگی) : object ای که اینجا گذاشتیم فقط برای کسانی که مجاز هستند، استفاده شود.     ۳-

          ۵) Concurrent access & Crash recovery : recovery یعنی DBMS امکانی را فراهم می کند که

چندین کاربر بتوانند از یک دیتابیس استفاده کنند. چنانچه دو کاربر روی جداول مختلف از یک دیتابیس کار کنند اتفاق خاصی نمی افتد. اگر این دو کاربر بخواهند روی یک جدول کار کنند در این صورت : بعضی ها Concurrent access بر روی یک جدول را اجازه نمی دهند.بعضی ها اجازه می دهند به شرطی که یکی از کاربران روی یک رکورد و دیگری روی رکورد دیگر کار کنند. مثلاً کاربر ۱ روی رکورد علی و کاربر ۲ روی رکورد رضا کار کند. بعضی ها کار روی رکوردهای مشترک را اجازه می دهند به شرطی که روی فیلدهای مختلف کار کنند.مثلاً کاربر ۱ روی فیلد نام و کاربر ۲ روی فیلد سن کار کنند.

* دو نوع lock داریم : lockx :  lock نوشتنی     و     lockr : lock خواندنی . وقتی lockr هست نمی توان روش lockx کرد در این حالت lockx در صف قرار میگیرد تا کار lockr تمام شود.

Crash recovery (ترمیم پس از خرابی) : یک کاری در حال انجام است نصف کار انجام شده برق قطع می شود این برق قطع شدن می شه Crash (خرابی) . حال می خواهیم خرابی را ترمیم کنیم با استفاده از log file این کار را انجام می دهیم.

Log file (فایل ثبت) : فایلی است که ما هر کاری که در سیستم انجام می دهیم در آن ذخیره شده است. مثلاً کار ۱ در ساعت ۲۰ : ۱۰ انجام شده است. کافیست همه ی این کارها را محفوظ کنیم.

Roll back: Log file را تا جای خاصی Roll back می کند. به این جای خاص Check point می گویند.

          ۶) Reduced app. Development time : میزان زمانی که لازم است تا سیستم را develop کنیم کاهش می یابد. (کاهش زمان توسعه سیستم)

Data Model : نحوه قرار گرفتن داده‌ها در كنار هم و ارتباط آنها با يكديگر مي‌باشد. مدل‌هاي متنوع آن عبارتند از :
üمدل شبكه‌اي
üمدل تخت
üمدل رابطه‌اي كه يكي از پركارترين مدلها مي‌باشد (E - R - Model)
  • مدل شي‌گرا
  • مدل شي‌ - رابطه‌اي

مدل داده رابطه ای (R.D.M) : ما در این مدل یک Relation (جدول) داریم.

 

(Filed) فيلد

Table

 

Sid

Name

Login

Age

Gpa

چند گانه

Topples

53666

Jones

Janson

18

34

 

 

 

 

 

 

Schema  یک جدول ، چکیده ای از جدول ماست شامل نام جدول به همراه نام فیلدها و نوعشان.مانند مثال زیر:

Student (Sid : string , Name : string , Login : string , Age : integer , Gpa : real(

 

سطوح abstraction یا سطوح تجرد :

یعنی یک دیتابیس را در چند سطح می توانیم ببینیم.

 

External

Schema 3

External

Schema 2

External

Schema 1

 

Conceptual Schema

 

Physical Schema

 

Disk

كاربر

 

 

همان طراحی که از دیتابیس داریم شامل یک سری جداول که وجود دارند و یک سری ارتباطاتی که بین جداول وجود دارد.

سازماندهی جداول و دیتابیس

 

 

 

 

 

 

 

 

 

 

 

 


هر Data base ای  ۳ تا schema دارد:

 ۱- physical schema     ۲- external schema      ۳- conceptual schema (logical schema)

External Schema = View  :

view ابزاری است که یکی از مهمترین کاربردهایش security است. view ساختارش مثل جدول است. view جدولی است که ذخیره نمی شود. تا جایی که ممکن است query را روی view می زنیم. نتیجه query ، view نیست(خروجی query ، External schema نیست). وقتی می گوییم view جدولی است که ذخیره نمی شود یعنی data ، ذخیره مجدد نمی شود. از جدول بر می داره و فقط نمایش می دهد. اگر view را تغییر دهیم روی جداول اصلی تغییرات اعمال می شود.