معماری پايگاه داده

معماری سه سطحی ANSI/SPARC استانداردی برای طراحی سيستم های پايگاه داده است. کاربران مختلف در سطوح مختلف توسط يک زبان با سيستم تعامل می کنند.

ANSI/SPARC
سطح خارجی
سطح ادراکی
سطح داخلی
استقلال داده
زبان میزبان و زبان فرعی داده
کاربران پایگاه داده
ديکشنری داده

ANSI/SPARC:

 

سيستم های مديريت پايگاه داده دارای معماری های يکسانی نيستند. معماری سه سطحی ANSI/SPARC يکی از استانداردهایی است که امروزه اساس اکثر سيستم های مديريت پايگاه داده را شکل می دهد. اين استاندارد توسط گروه مطالعاتی ANSI/SPARC اولين بار در سال 1975 برای طراحی سیستم های مدیریت پایگاه داده پیشنهاد شد.

ANSI/SPARC مخفف American National Standards Institute, Standards Planning And Requirements Committee است.

معماری ANSI/SPARC سه سطح مجزا را برای توصيف داده در يک پايگاه داده تعيين می کند:

• سطح خارجی(external level)
• سطح ادراکی (conceptual level)
• سطح داخلی(internal level)

هدف معماری سه سطحی اين است که امکاناتی را فراهم کند تا کاربران بتوانند با ديدگاه های شخصی خود به داده موردنياز دسترسی پيدا کنند. يعنی هر کاربری بتواند به داده مشترک دسترسی پيدا کند اما ديد خاص خود را داشته باشد.

از طرف ديگر فاصله بین سطح داخلی از سطح خارجی دلالت بر این دارد که کاربر نیازی به دانستن جزئیات فیزکی داده ذخیره شده در پایگاه داده ندارد. این تفکیک سطح اجازه تغییر ساختار ذخیره سازی پایگاه داده را بدون تاثیر روی دیدهای کاربران می دهد. لازمه اين استقلال سطوح از همديگر است به نحوی که تغييرات روی يک سطح روی بقيه تاثير نگذارد.

سطح خارجی

سطح خارجی دید کاربر از داده های ذخیره شده در پايگاه داده است. منظور از دید کاربر (user view) قسمتی از پایگاه داده است که کاربر با آن سروکار دارد. يعنی مجموعه ای از صفات خاصه موجوديت هائی است که در اختيار کاربر قرار داده می شود. هر کاربر دیدگاه های خاص خود را از پايگاه داده می تواند داشته باشد.

دید هر کاربر باید تعریف شود. به تعریف و شرح دید کاربر شمای خارجی (external schema) می گویند. برای تعريف شمای خارجی از یک مدل داده استفاده می شود که معمولا همان است که در سطح ادراکی بکار رفته است.

سطح ادراکی

سطح ادراکی کل داده های که در پایگاه داده ذخیره می شوند و ارتباط مابين آنها را شرح می دهد. یعنی داده هائی درباره انواع موجودیت ها و ارتباط آنها در محیط عملیاتی را توصيف می کند.

سطح ادراکی دید طراح پایگاه داده از داده های ذخیره شده در پايگاه داده است. داده های دنيای واقعی آنطور که واقعا هستند توسط طراح پايگاده داده مدل می شوندد.

برای تعریف سطح ادراکی از یک ساختار یا مدل داده استفاده می شود که شمای ادراکی (conceptual schema) ناميده می شود. شمای ادراکی کلیه داده ها و ارتباط بین آنها را توصیف می کند. علاوه بر اين رويه های شناسائی و قیدهای جامعیت را نيز دربر می گيرد.

برای کسب استقلال داده، شمای ادراکی تنها درگير معنی داده است و جنبه های نمایش داده، سازماندهی فیزیکی و استراتژی های دستيابی نديده گرفته می شود.

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

سطح داخلی

سطح داخلی درگیر چگونگی نمایش فیزیکی پایگاه داده روی سیستم کامپیوتری است و شرح می دهد چگونه داده واقعا در پایگاه داده و سخت افزار ذخیره می شود.

سطح داخلی دید طراح پايگاه داده از محیط فیزیکی ذخیره سازی و درواقع فایل های محیط فیزیکی است که توسط شمای داخلی (internal schema) توصيف می شود. شمای داخلی نحوه نمايش فيزيکی داده هایی را که در شمای ادراکی شرح داده شده را مشخص می کند. انواع مختلف رکوردها، فيلدهای داده، فایل ها، نحوه نمایش رکوردها در فایل، استراتژی دستیابی، شاخص ها و چگونگی ترتیب رکوردها در فایل توسط شمای داخلی تشریح می شوند.

جزئيات تبديل به منبع ذخيره سازی در معماری سه سطحی بيان نمی شود و از این سطح به پائین در اختیار DBMS نیست و به عهده سیستم عامل و درایورهای دستگاه ذخیره سازی است.

تبديلات بين سطوح

در معماری سه سطحی روش هائی برای تبديل سطوح به يکديگر وجود دارد. دو سطح از تبديل موجود است:

• تبديل ادراکی/داخلی ارتباط ديد داخلی و ادراکی را تعريف می کند. تعيين می کند رکوردها و فيلدهای سطح ادراکی چگونه در سطح داخلی نمايش داده شوند. تغييرات در سطح داخلی باعث عوض شدن تبديل ادراکی/داخلی می شود. بنابراين شِمای ادراکی ممکن است ثابت بماند تا استقلال فيزيکی حاصل شود.
• تبديل خارجی/ادراکی ارتباط ديد ادراکی و يک ديد خاص خارجی را برقرار می کند. مثلا يک صفت خاصه از ديد کاربری ممکن است ترکيبی از چندين فيلد در سطح ادراکی باشد. تغيير در تعاريف ادراکی باعث تغيير نگاشت ادراکی/خارجی می شود. از اين رو شِمای خارجی ممکن است ثابت بماند تا استقلال داده منطقی بدست بيايد.

استقلال داده

سيستم های قديمی وابسته به داده بودند به اين معنی که روش سازماندهی داده در دستگاه جانبی و روش دسترسی به آن توسط برنامه و در منطق آن ساخته می شدند. در چنين سيستمی تغيير در ساختار دخيره سازی يا استراتژی دستيابی بدون تاثير روی برنامه غيرممکن است.

يکی از مزايای سيستم پايگاه داده استقلال داده است. استقلال داده به معنی مصونيت برنامه ها از تغييرات ساختار ذخيره سازی و استراتژی دستيابی است. ساختار ذخيره سازی بدون تاثير روی ديدهای کاربران است می تواند تغيير کند. پايگاه داده و برنامه های کاربری هم می توانند مستقل از يکديگر تغيير کنند.

دو نوع استقلال داده وجود دارد:

1. استقلال فیزیکی داده
   • استقلال فیزیکی داده نشان می دهد تا چه اندازه شمای داخلی می تواند بدون تاثیر روی برنامه های کاربردی تغییر کند.
2. استقلال منطقی داده
   • استقلال منطقی داده نشان می دهد تا چه اندازه شمای ادراکی می تواند بدون تاثیر روی برنامه کاربردی تغییر کند.

زبان ميزبان و زبان فرعي داده

برنامه نويسان، برنامه های کاربردی را با استفاده از يک زبان های سطح بالا نظير Visual basic، Java و Visial C پياده سازی می کنند. زبان سطح بالائی که علاوه بر داشتن امکانات گوناگون دارای دستوراتی برای تعريف و کار با داده هستند زبان ميزبان (host language) ناميده می شوند.

زيرمجموعه ای از زبان ميزبان که مختص عمليات ذخيره و بازيابی اطلاعات از پايگاه داده است زبان فرعی داده (Data Sub Language) نام دارد.

هر DSL ترکيبی از سه زبان ديگر است:

1. احکام تعريف داده (DDL)
2. احکام کارکردن با داده (DML)
3. احکام کنترلی (DCL)

زبان تعریف داده

DDL مخفف Data Definition Language امکان تعريف يا توصيف اشيای پايگاه داده را می دهد. ساختار ركوردها، تعریف فیلدها، محل فایل ها و شیوه ذخیره سازی داده ها در بانك به وسیله احكام DDL انجام می پذیرد.

مثال. نوع رکور زير را درنظر بگيريد.

create table account (
    account-number  char(10),
    balance    integer)

زبان دستکاری داده

DML مخفف Data Manipulation Language عمليات پردازشی و دستکاری اشيای پايگاه داده مانند insert، select، update را پشتيبانی می کند.

DML به عنوان زبان پرس و جو هم شناخته می شود واغلب دارای قابلیت انجام محاسبات ریاضی و آماری است كه عملیات گزارش گیری از پايگاه داده را آسان تر می کند.

زبان کنترل داده

DCL مخفف Data Control Language امکان تعيين نوع استراتژی های دستيابی، تعريف شاخص ها و مرتب سازی داده های پايگاه داده را می دهد.


دو دسته زبان DSL وجود دارد:

• رویه ای (Procedural). کاربر داده ای که نياز دارد و نحوه دريافت آن را تعيين می کند.
• غیررویه ای (nonprocedural) يا (Declarative). کاربر تعیین می کند چه داده ای مورد نیاز است ولی نحوه حصول آن را بيان نمی کند.

هر سیستم پایگاه داده DSL خاص خود را دارد به عبارت دیگر هر مدل داده زبان فرعی خاص دارد. يک DSL خاص که توسط اغلب سيستم های فعلی پستيبانی می شود SQL است. SQL يک زبان غير رويه ای است.

سطوح داخلی، ادراکی و خارجی هريک DSL خاص خود را دارند. شِمای هر سطح توسط DSL مربوطه نوشته می شود.


XML مخفف Extensible Markup Language که توسط کنسرسیم W3C معرفی شده است زبان نشانه گذاری مستندات است تا زبان پایگاه داده. اما توانائی آن در تعیین تگ های جدید و تولید ساختارهای تودرتو باعث شد روش مهمی برای تبادل داده بشود و اکنون XML اساس کلیه فرمت های تبادل داده نسل جدید شده است. ابزارهای گوناگونی برای تجزیه، مرور و پرس و جو داده/مستندات XML موجود است.


کاربران پایگاه داده

کاربران يک سيستم پايگاه داده توسط روش هائی که با سيستم تعامل می کنند از هم تفکيک می شوند.

تحلیل گران سیستم

تحليل گران سيستم (system analysts) با گروه کاربران پایگاه داده به منظور درک نیازهای اطلاعاتی و پردازشی آنها ارتباط دارند. نیاز های اطلاعاتی و پردازشی هر گروه را مجتمع می کنند و مستندسازی می کنند.

طراحان پایگاه داده

طراحان پايگاه داده (database designers) ساختار مناسبی را برای نمایش اطلاعات مشخص شده توسط تحلیل گر سیستم به طریق نرمالسازی شده به منظور تضمین جامعیت و سازگاری داده انتخاب می کنند و با استفاده از DDL داده های پايگاه داده را تعريف می کنند.

پیاده سازان برنامه های کاربردی

برنامه نويسان برنامه های کاربردی (Application Developers) برای برآوردن نيازهای کاربران و کار با پايگاه داده برنامه هایی را آماده می کنند. تست، اشکالزدائی و مستندسازی برنامه و پايگاه داده از وظايف برنامه نويسان است. برنامه نويسان با سيستم توسط احکام DML ارتباط برقرار می کنند.

مدیر پایگاه داده

مدير پايگاه داده (database administrator) يا بطور خلاصه DBA فردی است که مسئول کنترل عمليات کل سيستم پايگاه داده است. DBA کلیه فعالیت های سیستم پایگاه داده را هماهنگ می کنند. اين فرد بايد درک خوبی از منابع و نیازهای اطلاعاتی کل سازمان داشته باشد و برای حصول اطمينان از اينکه داده موردنياز قابل دسترس کاربران قرار می گيرد با آنها در ارتباط باشد.

بعضی از وظایف DBA شامل:

• تعريف شِماها توسط DDL
• تعريف ساختار ذخيره سازی و متدهای دسترسی توسط DDL
• اصلاح شِما و سازماندهی فيزيکی
• اعطای مجوز دسترسی پايگاه داده به کاربران
• تعيين قيدهای جامعيت
• عامل ارتباطی کاربران
• نظارت اجرا و واکنش برای تغییر درصورت نیاز
• برقراری ديکشنری داده

کاربران نهائی

کاربران نهائی (End Users) شامل:

• کاربران پارامتری : که توسط برنامه های کاربردی نوشته شده با سيستم سروکار دارند. مانند تحويلدار بانک و کارکنان دفتری.
• کاربران ماهر : که نیاز های پیچیده تری دارند و با قابلیت های DBMS آشنائی کامل دارند. درخواست های خود از پایگاه داده را توسط یک زبان پرس و جو می سازند.
• کاربران نهائی اتفاقی : کسانی که دسترسی گاه و بیگاه به پایگاه داده دارند اما ممکن است هر بار نیازهای متفاوتی داشته باشند. از زبان های پرس و جوی و مرورگرهای حرفه ای تر استفاده می کنند.


ديکشنری داده

دیكشنری داده ها (Data Catalog) یكی از امكاناتی است كه در سيستم پايگاه داده در اختيار DBA قرار می گیرد. دیكشنری داده ها كه به آن راهنمای سیستم نیز می گویند يک متا داده است يعنی اطلاعاتی درباره خود پايگاه داده و داده های ذخیره شده در آن را نگهداری می کند.

دیکشنری داده تعيين می کند چه داده ای موجود است و چه معنی دارد، داده چگونه ذخیره می شود و در کجا قرار دارد، مالک آن چه کسی است و چه کسانی اجازه دسترسی به داده را دارند، تاریخچه و آمار استفاده از داده را دربردارد.

 


منبع : اچ پی کا کلسس

پایگاه داده یا دیتابیس چیست؟ تعریف و کاربرد پایگاه داده

پایگاه داده چیست؟

پایگاه داده‌ در مفهوم عام آن، به مجموعه‌ای از اطّلاعات با ساختار منظم و سازمان­‌یافته گفته می‌شود. در این مفهوم، ذخیره­‌سازی ساده اطلاعات در یک پرونده را نیز می­‌توان نوعی پایگاه داده دانست. اما در مفهوم خاص، منظور از پایگاه داده مجموعه­‌ای از این اطلاعات است که در قالبی ذخیره شده که توسط ابزارهای الکترونیکی قابل خواندن و دسترسی است. موارد ذیل از جمله تعاریف آکادمیک ارایه شده از این مفهوم هستند.

الف- تعریف پایگاه داده:

>پایگاه داده­‌ها به مجموعه­ای از داده­‌ها اطلاق می­‌شود که توسط یک سیستم مدیریت پایگاه داده‌­ها، مدیریت می­‌شود.

  • پایگاه داده­‌ها عبارت است از مجموعه­‌ای از داده­‌های به هم مرتبط.
  • پایگاه داده­‌ها عبارت است از مجموعه­‌ای از داده­‌های منطقا به هم­ مرتبط (و توصیف این داده­‌ها) که برای پاسخ­‌گویی به نیازهای اطلاعاتی یک سازمان طراحی شده­‌اند.
  •  
  • گاه به جای عبارت «پایگاه داده» از اصطلاح «بانک اطلاعات» استفاده می­‌شود. این اصطلاح قدیمی بوده و توسط مبتکران پایگاه‌­های داده اولیه به کار برده می­شده است.
  • لازم به ذکر است که چینش تصادفی داده­‌ها را نمی­‌توان یک پایگاه داده در معنای خاص آن تلقی نمود؛ چراکه پایگاه داده برای هدفی خاص ساخته و جمع­‌آوری شده، کاربران مشخصی را مخاطب قرار می­‌دهد و کاربردی ویژه از سوی طراحان برای آن مدنظر قرار داده می‌­شود.
پایگاه داده یا دیتابیس چیست؟ 
بازاریاب فضای مجازی

ب- حمایت قانونی از پایگاه­‌های داده:

در میان معاهدات بین­‌المللی موجود، کنوانسیون برن، موافقت­نامه تریپس و معاهده حقوق مالکیت ادبی و هنری سازمان جهانی مالکیت فکری (موسوم به معاهده WCT) به پایگاه داده در مفهوم عام آن اشاره دارند. کنوانسیون برن در این خصوص تنها به گردآوری آثار ادبی و هنری در یک مجموعه نظر داشته و در بند ۵ ماده ۲، چنین مجموعه­‌هایی را قابل حمایت می­‌داند. آن چه در موافقت­نامه تریپس و WCT مورد اشاره واقع شده، با مفهوم خاص پایگاه داده قرابت بیشتری دارد. تعریف ارایه شده در این معاهدات و حمایت مقرر در آن به شرح زیر است:

۱-    ماده ۱۰ معاهده تریپس با عنوان «برنامه­‌های رایانه‌­ای و مجموعه­ داده‌­ها»: به موجب بند ۲ این ماده، مجموعه‌­ای از داده­‌ها یا سایر عناصر که به دلیل گزینش یا سازمان­دهی محتویات از خلاقیت فکری برخوردار است، فارغ از این که توسط ماشین یا به گونه­‌ای دیگر قابل خواندن باشد، به عنوان اثری ادبی مورد حمایت خواهد بود. در این ماده تعریفی از پایگاه داده ارایه نشده است.

۲-   ماده ۵ معاهده WCT با عنوان «گردآوری داده‌­ها (پایگاه­‌های داده)»: در این ماده نیز  از رویکرد موافقت­نامه تریپس پیروی شده و بدون ارایه تعریف از پایگاه داده، بند ۲ ماده ۱۰ آن موافقت­نامه جهت حمایت از این پایگاه­‌ها تکرار شده است.

تنها سند بین­‌المللی که به طور خاص به موضوع پایگاه­‌های داده پرداخته و حاوی تعریفی از این پایگاه­‌ها است را باید دستورالعمل اروپایی مورخ ۱۹۹۶ راجع به حمایت حقوقی از پایگاه­‌های داده دانست. به موجب بند ۲ ماده ۱ این دستورالعمل، منظور از پایگاه داده مجموعه‌­ای از آثار، اطلاعات یا سایر عناصر مستقل است که به صورت سازمان­‌یافته یا روشمند تنظیم شده و اجزای آن توسط ابزارهای الکترونیکی یا به طرق دیگر قابل دسترسی هستند.

در این دستورالعمل نیز، به موجب ماده ۳، پایگاه­‌های داده در صورت برخورداری از خلاقیت فکری، مشمول حمایت حقوق مالکیت ادبی، هنری هستند. بسیاری از کشورهای اروپایی ازجمله فرانسه، آلمان و بلژیک، تعاریف مشابهی را در قوانین داخلی خود گنجانده­‌‌اند.

در ایران، قوانین موجود به حمایت از پایگاه داده اشاره‌­ای ندارند. با وجود این می­‌توان حمایت از این پایگاه­‌ها را از ماده ۲ قانون حمایت حقوق مولفان، مصنفان و هنرمندان برداشت نمود. ماده مذکور پس از ذکر انواع آثار مورد حمایت، مقرر می‌­دارد که “هرگونه اثر مبتکرانه دیگر که از ترکیب چند اثر از آثار نامبرده در این فصل پدید آمده باشد، مورد حمایت قرار خواهد گرفت”. بنابراین چنانچه پایگاه‌داده مورد نظر حاوی مجموعه‌ای از آثار مستقل از پیش موجود باشد و عنصر ابتکار نیز آن‌گونه که قانون بیان داشته در آن مشاهده شود، می‌توان آن را از آثار مورد حمایت قانون دانست.

لایحه جامع حمایت از حقوق مالکیت ادبی، هنری و حقوق مرتبط (در دست تصویب)، پایگاه داده را به این صورت تعریف می‌­کند: «مجموعه‌­ای از آثار، داده­‌ها یا دیگر عناصر مستقل که به طور روشمند تنظیم شده و به طور مجزی از طریق الکترونیکی، کاغذی یا هر وسیله دیگر قابل دسترسی باشد.» در این لایحه، پایگاه داده‌­ای که از حیث چیدمان و گزینش داده­‌ها دارای اصالت است، مورد حمایت دانسته شده است.

هم­چنین به موجب ماده ۳ پیش نویس لایحه «قانون حمایت از سازندگان پایگاه­‌های داده»، تنظیم­‌شده توسط دبیرخانه شورای عالی انفورماتیک کشور، «پایگاه داده مجموعه‌­ای از مطالب مستقل، داده یا اطلاعاتی است که به طور منظم یا روشمند ترتیب یافته – که در این قانون به آن اثر نیز اطلاق می‌شود- و توسط ابزارهای الکترونیکی یا هر واسط دیگر قابل دستیابی است.» به موجب ماده ۱ این پیش­نویس، از پایگاه‌های داده‌ای که در ساخت آن‌ها از روشهای ابداعی تجمع و آرایش و یا سرمایه گذاری صرف اقتصادی استفاده شده باشد، حمایت به عمل می‌آید. همانند اغلب اسناد حقوقی مرتبط در این زمینه، حمایت‌های قانونی شامل برنامه و نرم افزار‌های رایانه‌ای که برای ساخت یا عملیات پایگاه داده مورد استفاده قرار گرفته نخواهد شد. سازنده پایگاه داده ممکن است شخصی حقیقی یا حقوقی باشد که از حقوق انحصاری تکثیر، ترجمه، تغییر، توزیع، نمایش و اجرای عمومی پایگاه داده برخوردار خواهد بود.

تالیف: دفتر حقوقی شرکت همکاران سیستم

https://www.systemgroup.net

 

پایگاه داده یا دیتابیس چیست؟
بازاریاب فضای مجازی

 

اگر چه کلمه‌ی دیتابیس (Database) از دهه‌ی شصت میلادی وارد ادبیات تکنولوژی شده است، اما معنا و کاربردی که امروزه برای دیتابیس یا پایگاه داده در ذهن تداعی می‌شود، در ده‌های هفتاد و هشتاد میلادی شکل گرفته و طی سی سال اخیر، گسترده و فراگیر شده است.

کامپیوتر همانگونه که از نامش پیداست، در ابتدا قرار بود تنها مسئولیت محاسبه (Computation) را بر عهده داشته باشد و از همین رو، دغدغه‌ی جمع آوری اطلاعات و ثبت اطلاعات و نگهداری اطلاعات و استفاده از اطلاعات، چندان مهم و جدی نبود.

برنامه نویسان قدیمی، به خاطر دارند که واژه‌ی Data در میان نخستین نسل برنامه‌نویسان، تفاوت چندانی با متغیرهای محاسباتی (Variable) نداشت و وقتی از دیتا یا داده حرفی گفته می‌شد، عموماً منظور، نتایج میانی یا نهایی محاسبات کامپیوتری بود.

با توسعه فن آوری اطلاعات (IT)، محاسبه به نقش فرعی کامپیوترها تبدیل شد و مدیریت داده‌ها و اطلاعات اهمیت بیشتری پیدا کرد. اگر چه مدیریت اطلاعات هم نیازمند زیرساخت‌های محاسباتی است، اما در لایه‌های بیرونی سیستم‌های کامپیوتری، آنچه عموم کاربران به آن توجه دارند را می‌توان به مدیریت اطلاعات نزدیک‌تر دانست.

نگهداری اطلاعات کارکنان یک سازمان، نگهداری شماره تلفن‌های دوستان، نگهداری ایمیل‌ها، آرشیو کردن فایل‌ها و اسلایدها، نگهداری اطلاعات مشتریان، ذخیره و گزارش دهی فروش سازمان، بیش از اینکه از جنس محاسبه باشند، از جنس دریافت، ذخیره، جستجو و گزارش‌دهی اطلاعات محسوب می‌شوند.

طبیعتاً اکوسیستمی از راهکارهای مدیریت پایگاه داده شکل گرفت و گونه‌های مختلفی از راهکارها رواج یافتند.

اگر بخواهیم برخی از نمونه‌ راهکارهایی را که در رقابت با دیگران موفق‌تر بوده‌اند فهرست کنیم می‌توان به موارد زیر اشاره کرد:

  • شرکت اوراکل سیستمی را ارائه کرده و توسعه می‌دهد که به Oracle RDBMS یا Oracle مشهور است.
  • شرکت مایکروسافت، SQL Server را ارائه کرده است.
  • شرکت IBM سیستم DB2 را توسعه داده و عرضه می‌کند.
  • شرکت SAP، سیستم Sybase ASE را عرضه می‌کند.
  • MySQL هم سیستم دیگری است که به صورت نسخه باز عرضه شده و البته عرضه و مدیریت نسخه تجاری آن (با قابلیت‌های بیشتر) از سال ۲۰۰۸ در اختیار شرکت Oracle است.

می‌توان گفت امروزه بحث مدیریت پایگاه داده‌ها یک تخصص مستقل جداگانه شده که در سطوح مختلف وجود دارد:

  • برنامه نویسانی هستند که می‌توانند ساختار پایگاه‌های داده را طراحی کنند.
  • کسانی هستند که ممکن است در حد طراحی تخصص نداشته باشند، اما می‌توانند از طریق زبان‌های مختلف (که شاید SQL مشهورترین آنها باشد) با پایگاه داده تعامل (Interaction) داشته باشند.
  • افراد دیگری هستند که تخصص آنها، دانش مدیریت اطلاعات است و در شرکت‌های مانند مایکروسافت و اوراکل نشسته‌اند و این زیرساخت‌ها را طراحی می‌کنند.

البته، امروزه شاخه‌ی تخصصی دیگری هم شکل گرفته که در مرز بین دانش‌های آمار، داده کاوی و فن آوری اطلاعات است که به آن Big Data Analysis می‌گویند.

برخی این تخصص را از مدیریت پایگاه داده‌ها جدا می‌بینند و برخی دیگر، به علت ارتباط تنگاتنگ بحث DBMS و Big Data، دانش Big Data را نه به عنوان یک علم مستقل، بلکه به عنوان سطح تحلیلی در تخصص مدیریت پایگاه داده‌ها می‌دانند.

https://motamem.org

 

پایگاه داده یا Database چیست؟ همه چیز درباره‌ی دیتابیس (صفر تا صد)

حتما شما هم واژه‌ی دیتابیس (Database) یا پایگاه داده به گوشتان خورده است. شاید این واژه در ابتدا خیلی عجیب و بسیار فنی به نظر برسد. اما اگر بگوییم که شما با مفهوم این علم، هرروز سر و کار دارید، باورتان میشود؟ در این مقاله و فایل آموزشی بصورت کامل میخواهیم به این سوال پاسخ دهیم که پایگاه داده یا Database چیست؟ هر آن چیزی که درباره‌ی پایگاه داده یا دیتابیس نیاز است بدانید را با مثال هایی بسیار جذاب و روزمره عنوان میکنیم.

پایگاه داده یا Database چیست؟

پایگاه داده یا Database چیست؟
بازاریاب فضای مجازی

اگر بخواهیم این مفهوم را تعریف کنیم، به ۲ صورت میتوانیم اینکار را انجام دهیم. هم میتوانیم از تعریف های خیلی تخصصی و عجیب غریب و بسیار فنی صحبت کنیم که افراد متخصص فقط آ‌ن‌را متوجه شوند، و هم میتوانیم خیلی ساده این مفهوم را توضیح دهیم.

ما راه دوم را انتخاب میکنیم و میخواهیم خیلی ساده و با مثال‌هایی جذاب، این مفهوم را توضیح دهیم که برای همیشه در ذهن‌تان نقش ببندد و متوجه شوید که واقعا پایگاه داده یا Database چیست؟ با دو مثال زیر، توضیحاتمان را شروع میکنیم.

 

لیستی از رستوران ها!

فرض کنید که با دوستان‌ یا اقوام هستید و میخواهید از یک فست فود، غذا سفارش دهید؟ معمولا چه کاری انجام میدهید؟‌ یا به سراغ اپلیکیشن های سفارش آنلاین غذا میروید، و یا بروشورهای تبلیغاتی فست فود ها می آورید و از حاضران میخواهید که غذای مورد نظرشان را انتخاب کنند.

در واقع در این مثال، شما لیستی از فست فود هایی دارید که اطلاعاتی مثل اسم غذاها، قیمت آن‌ها و… در آن لیست درج شده است.

در این حالت میتوانیم به مجموعه بروشورهای تبلیغاتی شما، یک پایگاه داده یا Database از فست فود های اطرافتان بگوییم.

 

یا مثلا دفترچه تلفن

در مثال دوم، میخواهیم درباره‌ی یکی از نوستالژی هایی صحبت کنیم که در گذشته بیشتر در خانه‌هایمان وجود داشت. دفترچه تلفن هایی که حاوی شماره تماس تمامی اقوام و دوستانی بود که میخواستیم به آن‌ها تماس بگیریم.

هر زمان میخواستیم با شخصی تماس بگیریم، به سراغ آن دفترچه تلفن میرفتیم، به دنبال اسم شخص مورد نظرمان میگشتیم و شماره او را پیدا میکردیم و با او تماس میگرفتیم.

در این مثال هم میتوانیم بگوییم که آن دفترچه تلفن، یک پایگاه داده یا Database از شماره تلفن ها بود.

حالا با استفاده از این دو مثالی که گفتیم، میخواهیم به این سوال پاسخ دهیم: پایگاه داده یا Database چیست؟

 

یک تعریف بسیار ساده

اگر بخواهیم یک تعریف بسیار ساده از دیتابیس یا پایگاه داده داشته باشیم، میتوانیم بگوییم:

سیستمی که برای ما مجموعه اطلاعاتی را بصورت سازماندهی شده، منظم و مرتب نگه داری میکند. برای مثال دیتابیسی از شماره تلفن ها، دیتابیسی از رستوران های اطرافمان، دیتابیسی از مشتریان کسب و کارمان، دیتابیسی از دانش آموزان یک مدرسه و… . پس پایگاه داده یا Database اطلاعاتی که ما نیاز داریم را برایمان نگهداری میکند و دسترسی به آن ‌ها را برایمان ساده و راحت میکند.

ممکن است برایتان سوال پیش بیاید که پایگاه داده یا Database چطور دسترسی به اطلاعات را برای ما ساده و راحت میکند.

یک دیتابیس یا پایگاه داده، میتواند حاوی یک یا چند جدول باشد. هر جدول هم میتواند حاوی ستون ها و سطر های مختلفی باشد که اطلاعات را در جدول بصورت سازماندهی شده برایمان نگه داری میکند. در ادامه بیشتر به این مفاهیم میپردازیم و دقیق تر به سوال پایگاه داده یا Database چیست؟ پاسخ میدهیم.

 

چرا باید از پایگاه داده یا دیتابیس استفاده کنیم؟

ممکن است برایتان سوال پیش بیاید که اصلا چرا باید از پایگاه داده یا Database استفاده کنیم؟ سوال بسیار خوبی است.

ممکن است شما بتوانید مجموعه رستوارن های اطرافتان، شاگردان یک مدرسه و… بدون استفاده از پایگاه داده و جدول ها، نگه داری کنید. ولی هنگامی که تعداد آیتم های شما (رستوران یا دانش آموزان) زیاد میشود، دسترسی و جست و جو در این داده ها و اطلاعات بسیار سخت و گاهی غیرممکن میشود.

 

پس پایگاه داده یا Database با استفاده از ساختاربندی منظمی که به داده ها و اطلاعات ما میدهد، باعث میشود که اطلاعات ما در بلند مدت، بسیار منظم و یکپارچه باشند و دسترسی به آن‌ها نیز بسیار ساده باشد.

پس در پاسخ به سوال «چرا باید از دیتابیس استفاده کنیم؟» میتوانیم بگوییم که:

پایگاه داده یا Database اطلاعات و داده‌های ما را درون جدول ها قرار میدهد. این جداول، نگهداری اطلاعات را برای ما بسیار ساده و منظم میکنند و یکپارچگی بسیار خوبی به آن‌ها میدهند. برای مثال میتوان به یک دفترچه تلفن که با نظم خاصی نوشته شده است و دارای سطر و ستون هایی یکپارچه می باشد، یک دیتابیس گفت.

 

کاربرد Database در نرم افزارها

تا اینجا سعی کردیم که به سوال پایگاه داده یا Database چیست؟ پاسخ دهیم. اما مثال هایمان همه در دنیای واقعی بود. حالا میخواهیم درباره‌ی دنیای نرم افزارها و کاربرد دیتابیس در آن‌ها صحبت کنیم.

یکی از اصلی ترین جاهایی که پایگاه داده یا Database ها به کار میروند، نرم افزارها هستند.

میتوانیم بگوییم تقریبا تمام نرم افزارها، بوسیله‌ی پایگاه داده یا Database قدرت واقعی خود را پیدا میکنند و بدون آن هیچ کار خاصی نمیتوانند انجام دهند. برای مثال:

  • نرم افزار اسنپ، حاوی یک دیتابیس از راننده ها می‌باشد.
  • سایت دیجی کالا، حاوی دیتابیس عظیمی از کالاها میباشد.
  • سایت یادیفای، حاوی  پایگاه داده بزرگی از آموزش های فوق العاده میباشد.
  • آپارات، یک دیتابیس عظیم از فایل های ویدئویی دارد.
  • یک سیستم مدیریت یک باشگاه ورزشی، نیاز به دیتابیس و پایگاه داده‌ای از افرادی که در آن ثبت نام کرده‌اند دارد.
  • و همینطور یک نرم افزار مدیریت دبیرستان، نیاز به پایگاه داده‌ای از دانش آموزان آن دبیرستان دارد.

تمام سایت ها، سرویس ها و نرم افزارهایی که در بالا مثال زدیم، قدرت اصلی خود را از پایگاه‌های داده میگیرند و اگر پایگاه داده‌ای در کار نبود، این سایت ها و سرویس ها هم معنایی نداشتند. مثلا شما میتوانید دیجی کالا را بدون محصولات تصور کنید؟ یا اسنپ را بدون راننده؟ غیر ممکن است!

پس کار پایگاه داده یا Database در نرم افزارها، سایت ها و سرویس‌ها، این است که مجموعه از اطلاعات مورد نیاز را در خود ذخیره میکنند، سپس آن اطلاعات را به نرم افزار تحویل میدهند و آن نرم افزار، مجموعه عملیات و پردازش هایی با آن داده ها و اطلاعات انجام میدهد (مثلا آن اطلاعات را به کاربران نشان میدهد)

در ادامه‌ی پاسخ به سوال پایگاه داده یا Database چیست؟ ، باید بگوییم که در دنیای نرم افزارها، هر پایگاه داده یا Database شامل یک سری اصطلاحات است که در زیر میخواهیم درباره‌ی آن‌ها صحبت کنیم:

مفهوم جدول (Table) در کار با دیتابیس

هر پایگاه داده یا Database میتواند شامل چندین جدول مختلف باشد. برای مثال فرض کنید که میخواهید یک وبسایت برای خودتان برنامه نویسی کنید. این وبسایت یک پایگاه داده باید داشته باشد که اسم آ‌ن‌را myDatabase میگذاریم.

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

  • جدولی برای کاربران سایت
  • جدولی برای مطالب ارسالی در سایت
  • جدولی برای محصولات سایت
  • جدولی برای نظرات کاربران
  • جدولی برای ثبت سفارشات
  • و…

تمام این جدول ها، در دیتابیس و پایگاه داده اصلی شما که آن‌را MyDatabase نامگذاری کردیم، قرار میگیرد. و اینگونه یک دیتابیس، میتواند حاوی چندین جدول یا Table مختلف باشد.

 

مفهوم ستون (Column) در کار با دیتابیس

هر جدول در دیتایس، دارای ستون های مختلفی است. بیایید با هم همان مثال بالا را بررسی کنیم. یکی از جداول، مثل جدول محصولات سایت را انتخاب میکنیم. این جدول میواند حاوی ستون های زیر باشد:

  • ستون نام محصولات
  • ستون تاریخ انتشار محصولات
  • ستون تعداد خریداران محصولات
  • ستون قیمت محصولات
  • ستون دسته بندی محصولات
  • و…

پس هر جدول، برای نگه داری اطلاعات مختلف محتویات آن، نیاز به ستون های مختلفی دارد.

 

مفهوم سطر (Row) در کار با دیتابیس

در یک دیتابیس یا پایگاه داده، به هر عنوانی که وارد یک جدول میشود. یک سطر میگوییم.

اگر بخواهیم مفاهیم بالا را بسیار عالی و در یک عکس توضیح دهیم، عکس زیر بهترین توضیح میباشد:

 

https://yadify.com