بایگانی برچسب‌ها : داده

پایگاه داده رابطه ای Relational Database

پایگاه داده رابطه ای یا Relational Database چیست؟

پایگاه داده رابطه ای (Relational Database) نوعی پایگاه داده براساس مدل رابطه ای (Relational Model) داده‌هاست. در این مدل، داده‌ها در قالب تعدادی جدول (Table) نگه‌داری می‌شوند. به این جداول، رابطه (Relation) نیز گفته می‌شود. هر جدول شامل تعدادی ستون (Column) و ردیف (Row) می‌باشد. به ستون‌ها، ویژگی (Attribute) و به ردیف‌ها رکورد (Record) یا چندتایی (تاپل یا Tuple) نیز گفته می‌شود.

نمونه جدول یک پایگاه داده رابطه ای relational database table
نمونه جدول اطلاعات دانشجویی از یک پایگاه داده رابطه‌ای

مهم‌ترین مفاهیم پایگاه‌داده‌های رابطه‌ای

معمولا هر جدول (یا رابطه)، مربوط به یک نوع موجودیت (نظیر محصول، کارمند، دانشجو و …) می‌باشد و هر ردیف از آن نمایانگر نمونه‌ای از این نوع موجودیت (نظیر محصولی با نام و مدل مشخص) و ستون‌ها هم مقادیر ویژگی‌ها (نظیر قیمت) را برای نمونه‌های مختلف موجودیت موردنظر نگه‌داری می‌کنند. مقادیر مجاز برای هر ویژگی می‌تواند توسط یک دامنه محدود شود. برای مثال ویژگی جنسیت می‌تواند به مجموعه دامنه {“مرد” و “زن”} محدود شود.

کلید اصلی (Primary Key) به ویژگی یا مجموعه‌ای از ویژگی‌ها در یک رابطه گفته می‌شود که می‌تواند یک رکورد را به صورت منحصربفرد مشخص کند. در واقع مقادیر کلیدهای اصلی هرگز در رکوردهای یک رابطه تکرار نمی‌شوند. برای مثال، کد دانشجویی برای رابطه‌ای که اطلاعات مربوط به دانشجویان را نگه‌داری می‌کند (تصویر فوق) گزینه مناسبی برای کلید اصلی به شمار می‌رود.

کلید خارجی (Foreign Key) فیلدی در یک جدول است که به طور یکتا ردیفی از یک جدول دیگر یا همان جدول را مشخص می‌کند. به عبارت بهتر کلید خارجی به عنوان یک ویژگی در جدولی ثانویه تعریف می‌شود و با کلید اصلی یا کلیدی یکتا (یک ویژگی با مقادیر غیرتکراری) از جدول اولیه منطبق می‌شود و به این ترتیب میان ردیف‌های دو جدول ارتباط ایجاد می‌کند. برای مثال تصور کنید در جدولی به نام People اطلاعات مشتریان یک شرکت با کلید اصلی PID و در جدولی دیگر به نام Order اطلاعات مربوط به کالاهای سفارش داده شده توسط تمام مشتریان با کلید اصلی OID نگه‌داری می‌شود. برای اینکه در جدول Order بتوانیم تشخیص دهیم هر کالا توسط چه فردی سفارش داده شده است کافی است PID فرد سفارش دهنده را نیز به این جدول اضافه کنیم. در این حالت ویژگی PID در جدول دوم یک کلید خارجی است.

رابطه‌هایی که در خود داده‌ها را نگه‌داری می‌کنند در قالب Table پیاده‌سازی می‌شوند و به رابطه‌های اصلی (یا Base Relations) موسوم هستند. در مقابل، رابطه‌هایی نیز وجود دارند که داده‌ای را نگه‌داری نمی‌کنند بلکه آن‌ها را با انجام اعمالی روی رابطه‌های اصلی ایجاد می‌کنند. به این نوع رابطه‌ها، رابطه‌های مشتق شده (یا Derived Relations) گفته می‌شود و در قالب دید (View) ها و پرس و جو (Query) ها پیاده‌سازی می‌شوند. ممکن است رابطه‌های مشتق شده اطلاعات خود را از یک یا چند رابطه دریافت کنند.

عملگرهای رابطه‌ای

پرس و جوهایی که روی پایگاه‌داده‌های رابطه‌ای انجام می‌شود براساس جبر رابطه‌ای (Relational Algebra) شکل گرفته‌اند. در جبر رابطه‌ای هشت عملگر پرکاربرد وجود دارد که حاصل آن‌ها در قالب یک رابطه و به صورت زیر تعریف می‌شود. توجه داشته باشید برای عملگرهای اجتماع، اشتراک و تفاضل نکته قابل توجه در مورد رابطه‌هایی که به عنوان عملوند استفاده می‌شود اینست که این رابطه‌ها باید دارای مجموعه ویژگی‌های یکسانی باشند.

  • عملگر اجتماع (Union): این عملگر دوتایی (باینری یا دو عملوندی) بوده و شامل تمام تاپل‌های موجود در عملوندهایش خواهد بود. در رابطه حاصل، ردیف‌های تکراری حذف می‌شوند.
  • عملگر اشتراک (Intersection): حاصل این عملگر دوتایی شامل مجموعه تاپل‌هایی خواهد بود که در هر دو رابطه مشترک هستند.
  • عملگر تفاضل (Difference): حاصل این عملگر دوتایی شامل تاپل‌هایی از رابطه اول خواهد بود که در رابطه دوم وجود ندارند.
  • عملگر ضرب دکارتی (Cartesian Product): هر تاپل حاصل از این عملگر دوتایی با الحاق یک تاپل از رابطه اول و یک تاپل از رابطه دوم شکل می‌گیرد.
  • عملگر انتخاب (Selection): عملگری یکانی است که تنها تاپل‌هایی از رابطه خود را برمی‌گرداند که شرط یا معیار خاصی را برآورده می‌کنند.
  • عملگر تصویر (Projection): عملگری یکانی است که تنها ویژگی‌های مشخص شده را از تاپل‌های موجود استخراج می‌کند.
  • عملگر پیوند (Join): رایج‌ترین نوع این عملگر به پیوند طبیعی (Natural Join) مشهور است. رابطه حاصل از این عملگر دوتایی شامل تمام ویژگی‌های موجود در رابطه‌های دو عملوندش می‌باشد و با الحاق تاپل‌هایی از دو رابطه که روی ویژگی‌های مشترکشان مقادیر یکسان دارند شکل می‌گیرد.
  • عملگر تقسیم (Division): حاصل این عملگر دوتایی تنها شامل ویژگی‌هایی از رابطه اول خواهد بود که در رابطه دوم وجود ندارند. تاپل‌های رابطه حاصل نیز شامل مقادیر این ویژگی‌ها در تاپل‌هایی از رابطه اول خواهد بود که ترکیب آن‌ها با تمام تاپل‌های رابطه دوم در رابطه اول وجود داشته باشد.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

فشرده سازی داده Data Compression

فشرده سازی داده یا Data Compression چیست؟

فشرده سازی داده (Data Compression) به فرایندی گفته می‌شود که طی آن داده‌ها با استفاده از تعداد کمتری بیت کدگذاری می‌شوند.

روش‌های فشرده‌سازی به لحاظ از دست رفتن داده‌ها به دو نوع کلی تقسیم می‌شود: اتلافی (Lossy) و غیراتلافی (Lossless). در فشرده سازی اتلافی با حذف بخشی از داده‌ها (داده‌های با اهمیت کمتر) و تخمین‌های نسبی از محتوای اصلی، نمایی تقریبی از نسخه‌ی اصلی ارائه می‌شود. اما در فشرده سازی غیراتلافی هیچ چیز از دست نمی‌رود و می‌توان داده‌های اصلی را از روی داده‌های فشرده شده به صورت دقیق بازیابی نمود.

فشرده سازی منجر می‌شود داده‌ها به فضای ذخیره‌سازی کمتر و هم‌چنین پهنای باند کمتری برای انتقال نیاز داشته باشند. با این وجود حین انجام فرایند فشرده سازی و یا فرایند معکوس آن (یعنی خارج کردن داده‌ها از حالت فشرده یا Decompression) منابع محاسباتی بیشتری استفاده می‌شوند. بنابراین باید نوعی تعادل میان میزان فضای ذخیره‌سازی و پیچیدگی زمانی الگوریتم‌های مورد نیاز برای Compression و Decompression قائل شد. به عبارت بهتر علاوه بر درجه‌ی فشرده سازی و میزان از دست رفتن داده‌ها (در شیوه‌های اتلافی)، لازم است میزان منابع محاسباتی لازم برای انجام دو فرایند فوق و نحوه انجام این کار نیز درنظر گرفته شود. به عنوان نمونه در مورد ویدیوها در صورتی که قرار باشد ابتدا کل ویدیوی فشرده شده از حالت فشرده خارج شود و سپس پخش ویدیو آغاز شود زمان و فضای بیشتری لازم خواهد بود در صورتی که پخش قطعه‌ای از ویدیو همزمان با خارج کردن آن از حالت فشرده می‌تواند کارامدتر باشد.

تصاویر، داده‌های صوتی و ویدیویی دیجیتال از رایج‌ترین انواع داده‌هایی هستند که فرایند فشرده‌سازی روی آن‌ها اعمال می‌شود. فرمت‌های JPEG و PNG و GIF برای فایل‌های تصویری، فرمت MP3 برای فایل‌های صوتی و … از شاخص‌ترین و مشهورترین فرمت‌های فایلی هستند که از فشرده‌سازی پشتیبانی می‌کنند. به جرأت می‌توان گفت یکی از متداول‌ترین موارد استفاده از چنین داده‌هایی (به خصوص تصاویر فشرده شده) در صفحات وب قابل مشاهده است به این ترتیب میزان پهنای باند مصرفی برای انتقال داده‌های فشرده شده از سرور به مرورگر کاربر کاهش پیدا کرده و سرعت بارگیری صفحات (و پخش فایل‌های چندرسانه‌ای موجود در صفحه) نیز افزایش می‌یابد.

در کنار فرمت‌های رایج فایل‌های تصویری، موسیقی و ویدیویی فشرده شده فرمت‌هایی از قبیل ZIP و RAR از جمله فرمت‌های رایج آرشیوی به شمار می‌روند که از فشرده‌سازی داده‌ها پشتیبانی می‌کنند.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

نوع داده شمارشی Enumerated Data Type

نوع داده شمارشی یا Enumerated Data Type چیست؟

نوع داده شمارشی (Enumerated Data Type)، نوع داده‌ای است متشکل از مجموعه‌ای از مقادیر نامگذاری شده (یا شناسه) که به آن‌ها شمارنده (Enumerator) می‌گویند.

نام شمارنده‌ها تقریبا مشابه با ثابت (Constant) هاست. متغیری که از یک نوع شمارشی تعریف شده است می‌تواند صرفا یکی از شمارنده‌های مربوط به آن نوع را به عنوان مقدار خود بپذیرد. در واقع شمارنده‌های تعیین شده برای یک نوع داده شمارشی، تنها مقادیر مجازی هستند که می‌توان به متغیرهای تعریف شده از آن نوع اختصاص داد. به شمارنده‌ها، المان (Element) یا عضو (Member) نیز گفته می‌شود.

به عنوان مثال می‌توان نوع داده‌ای به نام shape_t (به عنوان نوع داده‌ای برای اشکال مختلف هندسی) تعریف کرد که دارای شمارنده‌هایی به نام‌های square (مربع)، triangle (مثلث)، line (خط) و circle (دایره) می‌باشد. در قطعه کد زیر که به زبان C++ نوشته شده است نحوه‌ی تعریف این نوع داده، ایجاد متغیری به نام myshape از این نوع داده جدید و سپس انتساب مقدار به آن نمایش داده شده است. توجه داشته باشید مقادیر مجاز برای متغیرهایی که از نوع shape_t تعریف شده است به شمارنده‌های تعیین شده برای این نوع داده محدود می‌باشد:

enum shape_t {square, triangle, line, circle};
...
shape_t myshape;
myshape = line; 

به عنوان نمونه‌ای دیگر نیز می‌توان نوع داده‌ای به نام week_days تعریف نمود که دارای شمارنده‌هایی با عناوین ایام هفته می‌باشد.

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

البته نوع داده‌های شمارشی تنها به زبان‌های برنامه نویسی محدود نمی‌شوند. به عنوان مثال در برخی از سیستم‌های مدیریت پایگاه داده نظیر MySQL نیز امکان ایجاد جداولی در پایگاه داده مهیا شده است که دارای ستون‌هایی با مقادیر مجاز مشخص شده در هنگام ایجاد جدول هستند.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

بازیابی داده Data Recovery

بازیابی داده یا Data Recovery چیست؟

بازیابی داده (Data Recovery) به فرایندی اطلاق می‌شود که طی آن داده‌های از دست رفته، غیرقابل دسترسی، آسیب دیده یا فرمت شده‌ای که بر روی یک فضای ذخیره‌سازی ثانویه یا قابل جداسازی قرار داشته است و اکنون به صورت طبیعی قابل دسترس نیستند بازیابی یا نجات داده می‌شود.

این عدم دسترسی معمولی به داده‌ها ممکن است در اثر بروز آسیب‌های فیزیکی در رسانه ذخیره‌سازی و یا آسیب‌های منطقی در سیستم فایل (File System) رخ داده باشد. علاوه بر این‌ها مواردی نظیر حذف تصادفی و ناخواسته‌ی فایل‌ها نیز می‌تواند دلیلی برای انجام عملیات بازیابی باشد. معمولا در فرایند ریکاوری، داده‌ها از یک فضای ذخیره‌سازی نظیر دیسک‌های سخت، لوح‌های نوری، درایوهای فلش USB، درایوهای حالت جامد یا … بازیابی می‌شود.

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

معمولا در صورتی که آسیب به صورت فیزیکی باشد امکان بازیابی داده توسط کاربر نهایی وجود نخواهد داشت. اما در مواردی نظیر بروز مشکل در سیستم فایل و یا حذف تصادفی داده‌ها، کاربر می‌تواند با استفاده از نرم افزارهای مخصوص بازیابی فایل (نظیر Recuva و …) بدون نیاز به متخصص تا حدودی به فایل‌های از دست رفته دسترسی مجدد پیدا کند. در مواردی که داده‌ها از اهمیت بالایی برخوردار باشند یا داده‌ها با روش‌های معمول به طور کامل قابل بازیابی نباشند و یا رسانه ذخیره‌سازی دچار آسیب فیزیکی شده باشد مراجعه به متخصصین بازیابی و صرف هزینه ضروری خواهد بود. هرچند در صورتی که امکان بازیابی نرم‌افزاری مهیا باشد متخصص می‌تواند از راه دور نیز عملیات بازیابی را انجام دهد.

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

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

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

صف Queue

صف یا Queue چیست؟

صف (Queue) عنوان ساختمان داده‌ای است که مجموعه‌ای از المان‌ها (عناصر) را بر اساس اصل FIFO (خروج به ترتیب ورود) در خود نگه‌داری می‌کند.

برای Queue دو عمل اصلی تعریف می‌شود. عمل Enqueue که عنصر جدیدی را به انتهای آن (که rear نامیده می‌شود) اضافه می‌کند و عمل Dequeue که عنصری را از ابتدای آن (که front نامیده می‌شود) حذف می‌کند. به این ترتیب اولین عنصری که به یک Queue افزوده می‌شود اولین عنصری خواهد بود که از آن حذف خواهد شد. از این رو، صف‌ها را نوعی ساختمان داده‌ی FIFO به شمار می‌آورند. در برخی از پیاده‌سازی‌ها، عملی به نام Front یا Peek نیز تعریف می‌شود که مقدار المان اول را بدون حذف آن برمی‌گرداند.

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

پیاده‌سازی صف

هرچند از نظر تئوری می‌توان صف‌ها را به صورت نامتناهی و بدون محدودیت در ظرفیت تجسم نمود اما در صورتی که صف را توسط آرایه‌ای با طول ثابت پیاده سازی کنیم ظرفیت آن ثابت خواهد بود. با درنظر گرفتن این آرایه به صورت یک دایره می‌توان یک صف حلقوی ایجاد نمود. در این نوع Queue لزوما انتهای آرایه، انتهای صف نیست بلکه می‌توان از فضای خالی به وجود آمده در ابتدای آرایه (به دلیل اعمال Dequeue)، برای افزودن عناصر جدید استفاده نمود. در صورتی که Queue پر باشد و بخواهیم عنصر جدیدی به آن اضافه کنیم حالتی به نام سرریز (Overflow) رخ می‌دهد. به طور مشابه در صورتی که بخواهیم روی یک Queue خالی، عمل Dequeue را انجام دهیم حالت زیرریز (Underflow) رخ خواهد داد.

استفاده از لیست‌های پیوندی (Linked List) برای پیاده‌سازی صف می‌تواند محدودیت تعداد عناصر قابل نگه‌داری در این ساختمان داده را از میان بردارد. به عبارت بهتر در این نوع پیاده سازی برخلاف حالتی که از آرایه برای انجام این کار استفاده می‌شود نیازی به مشخص نمودن ظرفیت صف هنگام ایجاد آن وجود ندارد.

اعمال حذف و اضافه روی یک صف
اعمال حذف و اضافه روی یک Queue

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

سیستم مدیریت پایگاه داده Database Management System – DBMS

سیستم مدیریت پایگاه داده یا Database Management System-DBMS چیست؟

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

اکثر سیستم‌های پایگاه داده‌ای از مدل رابطه‌ای (Relational) پشتیبانی می‌کنند. از معروف‌ترین DBMS های موجود می‌توان به موارد زیر اشاره نمود:

پایگاه داده Database

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

پایگاه داده (Database یا به اختصار DB)، به مجموعه‌ای سازمان‌یافته از داده‌ها گفته می‌شود که عناصری نظیر شِماها (Schema)، جداول (Table)، پرس و جوها (Query)، دیدها (View) و … را شامل می‌شود.

امروزه همراه با رشد انفجارگونه داده‌های تولید شده توسط سازمان‌ها، رسانه‌ها، افراد و حتی ابزارهای ساخت بشر (نظیر حسگرها) و …، ردپای حضور پایگاه داده‌ها در زندگی بشر از سیستم‌های کتابخانه‌ای گرفته تا سامانه‌های بانکی و سلامت، حمل و نقل عمومی و … قابل مشاهده است. حتی سیستم‌های مدیریت محتوا (CMS) نظیر وردپرس نیز وبسایت‌ها را در قالب مجموعه‌ای از صفحات در یک دیتابیس ذخیره می‌کنند.

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

معمولا بازیابی، تعریف، بروزرسانی و مدیریت (حجم معمولا عظیم) داده‌های موجود در یک دیتابیس از طریق سامانه‌ای موسوم به سیستم مدیریت پایگاه داده (DBMS) صورت می‌گیرد. اغلب این سیستم‌ها از مدل رابطه‌ای (Relational Model) پشتیبانی می‌کنند. در این مدل، داده‌ها در قالب چندتایی‌ها (یا رکوردهایی با تعداد مشخصی مولفه) نمایش داده می‌شوند و مجموعه‌ای از این چندتایی‌ها در کنار یکدیگر یک رابطه (یا جدول) را تشکیل می‌دهند. برخی از این سیستم‌ها اصطلاحا همه منظوره (یا General Purpose) هستند و از کاربردهای متنوعی پشتیبانی می‌کنند. در مقابل، برخی دیگر خاص منظوره (یا Special Purpose) هستند و با کاهش پیچیدگی‌ها برای یک حوزه‌ی معین (نظیر مدیریت داده‌های ایمیل) مورد استفاده قرار می‌گیرند.

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

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

نوع داده Data Type

نوع داده یا Data Type چیست؟

نوع داده (Data Type) در برنامه‌نویسی، یک دسته‌بندی برای داده‌هاست که به کامپایلر یا مفسر اعلام می‌کند داده موردنظر به چه شکلی مورد استفاده قرار خواهد گرفت. در واقع این دسته‌بندی مشخص‌کننده‌ی گونه داده‌ها از قبیل اعداد صحیح (Integer)، اعداد ممیز شناور (Floating Point)، بولی (Boolean)، کاراکترها (Character)، رشته‌ها (String) و … است و برای هریک مقادیر ممکن، اعمالی که روی مقادیر داده‌های آن قابل انجام است و حتی نحوه‌ی نگه‌داری مقادیر آن نوع را معین می‌کند.

در زبان‌های برنامه‌نویسی، هنگام تعریف هر متغیر (Variable) می‌توان نوع داده‌ی آن را نیز مشخص نمود. انواع داده‌ای که پیشتر به تعدادی از آن‌ها اشاره شد از رایج‌ترین انواع داده‌ای هستند که در اغلب زبان‌ها با عناوین مختلف و البته شبیه به یکدیگر شناخته شده هستند. هر داده بسته به نوع خود و بازه‌ی مقادیر قابل استفاده، فضای متفاوتی را روی حافظه اشغال می‌کند. بنابراین یکی از وظایف برنامه نویس، تشخیص مناسب نوع داده‌ای است که باید برای یک متغیر تعریف کند تا ضمن عملکرد صحیح برنامه، بیش از اندازه‌ی مورد نیاز فضا اشغال نکند. به عنوان مثال، نوع int در زبان برنامه نویسی جاوا (Java)، بیانگر اعداد صحیح 32 بیتی با بازه‌ی منفی 2,147,483,648 تا مثبت 2,147,483,647 است و اعمال قابل انجام روی مقادیر متغیرهای تعریف شده از این نوع داده شامل جمع، تفریق، ضرب و … می‌باشد.

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

در کنار نوع داده‌های اصلی (از قبیل اعداد صحیح، ممیز شناور و بولی)، برخی از انواع داده‌ها از ترکیب انواع اصلی به وجود می‌آیند. آرایه‌ها و مجموعه‌ها از انواع ترکیبی به شمار می‌روند. از جمله دیتا تایپ‌های رایج دیگری که در بسیاری از زبان‌های برنامه نویسی قابل استفاده و ایجاد می‌باشد می‌توان به نوع داده‌های شمارشی (Enumerated) اشاره نمود. مقادیری نظیر سِمَت شغلی که می‌تواند تنها مقادیر مشخصی از قبیل مدیریت، معاونت، کارمند و … را داشته باشد معمولا از همین نوع هستند. ارجاعات (اشاره‌گرها) نیز نوع داده دیگری هستند که مقدار آن در واقع یک آدرس است و این آدرس به مقدار دیگری اشاره می‌کند که در مکانی روی حافظه قرار دارد.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا