بایگانی برچسب‌ها : ویژگی

پایگاه داده رابطه ای 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): حاصل این عملگر دوتایی تنها شامل ویژگی‌هایی از رابطه اول خواهد بود که در رابطه دوم وجود ندارند. تاپل‌های رابطه حاصل نیز شامل مقادیر این ویژگی‌ها در تاپل‌هایی از رابطه اول خواهد بود که ترکیب آن‌ها با تمام تاپل‌های رابطه دوم در رابطه اول وجود داشته باشد.

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

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

کاغذ الکترونیک Electronic paper

کاغذ الکترونیک یا Electronic paper چیست؟

کاغذ الکترونیک (Electronic paper) یا E-paper نوعی دستگاه نمایشگر است که به لحاظ تشابه ظاهری، محتوای تصویری در آن به گونه‌ای نمایش داده می‌شود که گویا با جوهر معمولی روی صفحه کاغذ نوشته یا ترسیم شده است.

ویژگی‌ها، مزایا و معایب کاغذهای الکترونیک

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

در اغلب فناوری‌های مورد استفاده در کاغذهای الکترونیک، نمایش محتوای ثابت نیازی به الکتریسیته ندارد بلکه تنها تغییر محتوای صفحه است که نیازمند مصرف انرژی است. همین ویژگی کافیست تا دستگاه‌هایی که در آن‌ها از کاغذهای الکترونیک استفاده شده است از نظر صفحه نمایش مصرف الکتریسیته‌ی بسیار پایینی داشته و گاها تا هفته‌ها بدون نیاز به شارژ باتری به فعالیت خود ادامه دهند. به علاوه e-paper ها دارای زاویه دید بسیار گسترده‌ای هستند و برخی از انواع آن‌ها همانند یک کاغذ معمولی انعطاف‌پذیر می‌باشند.

در کنار این ویژگی‌های شگفت‌انگیز، کاغذهای الکترونیک با معایبی هم دست و پنجه نرم می‌کنند. این صفحه‌نمایش‌ها دارای نرخ تازه‌سازی (Refresh rate) بسیار پایین‌تری در مقایسه با صفحه‌نمایش‌های معمولی هستند. بنابراین کاربر نمی‌تواند انتظار داشته باشد در تعاملات سریع با e-paper ها، همان تجربه‌ای را به دست آورد که حین کار با صفحه نمایش یک گوشی هوشمند معمولی داشته است. به علاوه در برخی از این صفحه‌نمایش‌ها هنگام تازه‌سازی صفحه، ممکن است بخش‌های شبح‌مانندی از محتوای قبلی نیز مشاهده شود. این معایب باعث می‌شود کاربرد کاغذهای الکترونیک اغلب به موارد خاصی محدود شود که در آن‌ها نیازی به واکنش‌دهی سریع صفحه نمایش وجود ندارد.

کاربردهای کاغذ الکترونیک

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

کاغذ الکترونیک e-paper
نمونه‌ای از کاغذهای الکترونیک انعطاف‌پذیر

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

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

رایانش ابری Cloud Computing

رایانش ابری یا Cloud Computing چیست؟

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

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

مدل‌های متداول سرویس‌های ابری که توسط یک فراهم‌کننده‌ی خدمات ابری ارائه می‌شود می‌تواند در قالب زیرساخت (Infrastructure as a Service – IaaS)، پلتفرم (Platform as a Service – PaaS) و یا نرم‌افزار (Software as a Service – SaaS) باشد.

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

علاوه براین‌ها، خدمات ابری می‌تواند برای یک سازمان یا فرد به صورت خصوصی (Private) ارائه شود و یا میان چندین سازمان و نهاد به صورت اشتراکی و عمومی (Public) یا به صورت ترکیبی از آن‌ها (Hybrid) عرضه گردد.

از مشهورترین سرویس‌های رایانش ابری می‌توان به Microsoft Azure و Amazon Web Services و هم‌چنین Google Cloud Platform اشاره نمود.

ویژگی‌های رایانش ابری

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

رایانش ابری
مدل مفهومی و ساده از رایانش ابری Cloud Computing