موضوع مقاله: جدول سایه | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # جدول سایه | مقدمه: پیکان قرمز حرکت داده‌ها به سمت جدول سایه را نشان می‌دهد و سبز، عکس این را نشان می‌دهد. | ## بخش 1: جدول سایه | جداول سایه اشیائی در علوم کامپیوتر هستند که برای بهبود نحوه مدیریت اطلاعات، ماشین‌آلات، شبکه‌ها و برنامه‌ها استفاده می‌شوند. به‌طور خاص، جدول سایه یک شئی است که توسط پردازنده خوانده و نوشته می‌شود و حاوی داده‌های مشابه(در همان قالب) جدول اصلی آن یعنی جدول «سایه‌انداز» است. جداول سایه معمولاً حاوی داده‌هایی هستند که مربوط به عملکرد و نگهداری جدول اصلی آن هستند، اما در زیر مجموعه داده‌های مورد نیاز برای وجود جدول اصلی نیستند. مسیرها بسیار شبیه جدول‌های سایه هستند اما آنها به جای ذخیره اطلاعات قالب‌بندی‌شده یکسان که متفاوت هستند (مانند جداول سایه)، تاریخچه ای از تغییرات و عملکردهای روی میز را ذخیره می‌کنند. تاریخ جداول سایه، به عنوان یک مفهوم انتزاعی، از ابتدای محاسبات مدرن استفاده می‌شود. با این حال، استفاده گسترده از عبارت خاص «جدول سایه» زمانی آغاز شد که سیستم‌های مدیریت پایگاه داده رابطه ای (RDBMS) به‌طور گسترده در دهه ۱۹۷۰ مورد استفاده قرار گرفتند. استفاده اولیه از DBMهای رابطه ای برای اهداف تجاری منجر به گسترده شدن اصطلاح «جداول سایه» شد. DBM رابطه ای از زمینه‌های داده مربوط (ستون‌ها) برای همبستگی اطلاعات بین جداول استفاده می‌کند. به عنوان مثال، دو جدول تراکنش_کاربر و معامله_معداد، هر دو دارای ستون «کلید» هستند و کلیدهای بین جداول با هم مطابقت دارند که در صورت مشخص بودن کلید، یافتن کاربر و مقدار معامله خاص را آسان می‌کند. این فناوری رابطه‌ای به افراد امکان می‌داد تا اطلاعات ذخیره شده در یک جدول اصلی و سایه آن را با یکدیگر مرتبط کنند. برنامه‌های کاربردی از آنجا که جداول سایه چنین مفهومی انتزاعی هستند، کاربردهای آنها در حوزه علوم کامپیوتر باقی مانده‌است. اگرچه ممکن است کاربرد آنها به‌طور خاص به عنوان «جدول (های) سایه» اعلام نشود، اما این مفهوم به همان شکل باقی مانده‌است. جداول سایه معمولاً به منظور بهبود عملکرد، ظرفیت و توانایی سیستم رایانه ای/شبکه ای موجود استفاده می‌شوند. | ## بخش 2: جدول سایه | در بیشتر برنامه‌ها، جدول‌های سایه معمولاً یک کپی کربنی از ساختار جداول اصلی خود اما با داده‌های منحصر به فرد هستند. کاربرد نظری از آنجا که جداول سایه نوع خاصی از اشیا در علوم کامپیوتر هستند، برنامه‌ها بسیار متفاوت هستند، زیرا کاربرد آنها بستگی به این دارد که چه داده‌ای در جدول سایه ذخیره می‌شود و چگونه از آن داده استفاده می‌شود. در زیر فهرستی از برنامه‌های کلی و انتزاعی برای جداول سایه وجود دارد که شامل همه برنامه‌های دنیای واقعی است. ذخیره‌سازی - ذخیره‌سازی ورودی داده در جدول سایه که به‌طور معمول حذف یا اصلاح می‌شد. برنامه‌های مهندسی وقتی از جدول‌های سایه برای حل مشکلات فعلی در سیستم‌های رایانه ای/شبکه ای امروزی استفاده می‌شود، معمولاً ترکیبی از بیش از یکی از کاربردهای نظری/انتزاعی یادشده از جداول سایه استفاده می‌شود. لیست زیر یک زیرمجموعه بسیار کوچک از همه کاربردهای جداول سایه در دنیای واقعی است و فقط نشان داده شده‌است که نمونه ای از برنامه‌های رایج جداول سایه را نشان می‌دهد. هر یک از این DBMها یک «محیط» مجازی ایجاد می‌کنند که جداول داده در آن نگهداری می‌شود و می‌توان از طریق نوع خاصی از زبان برنامه‌نویسی که به عنوان زبان پرس و جو شناخته می‌شود، برای آنها خواند و نوشت زبان‌های پرس‌وجو در اصلاح یا بازیابی مقدار زیاد و خاص داده تخصص دارند. با استفاده از SQL به راحتی می‌توان جداولی ایجاد کرد که از ساختار مشابه جداول موجود برخوردار باشند. SQL همچنین می‌تواند داده‌های نوشته شده در این جداول جدید را به دست آورد و یک جدول سایه ایجاد کند. جداول سایه اغلب با DBMها استفاده می‌شوند تا با جلوگیری از انجام عملیات زائد توسط DBM، کارایی را بهبود بخشند. جداول سایه نیز در اکثر DBMهای مدرن به راحتی قابل اجرا هستند زیرا بر داده‌های اصلی تأثیر نمی‌گذارند، بنابراین نحوه کار پایگاه داده‌ها و برنامه‌های دستیابی به آنها تحت تأثیر قرار نمی‌گیرد، مگر اینکه مورد نظر باشد. به عنوان مثال، جداول سایه می‌تواند در یک سیستم پشتیبان کارآمد مورد استفاده قرار گیرد که جداول داده بزرگ را پشتیبانی می‌کند و به ندرت تغییر می‌کنند. بدون جداول سایه، می‌توان برنامه ای ایجاد کرد که به سادگی نسخه ای از آن جدول را هر روز ذخیره کند. | ## بخش 3: جدول سایه | با استفاده از جداول سایه، می‌توان یک «جدول سایه» خالی از آن جدول ایجاد کرد و از برنامه ای استفاده کرد که هر بار که یک ردیف از جدول اصلی حذف می‌شود، یک کپی از یک ردیف را در جدول سایه قرار می‌دهد. رابط رابط کاربری فرایند استفاده از «لایه‌ها» برای ساده‌سازی ارتباطات بین فناوری‌ها و بین افراد و فناوری‌ها است. یک مثال از رابط لایه ای، دکمه‌ها و منوهایی است که توسط سیستم عامل‌های رایانه خانگی استفاده می‌شود. کنسول فرمان یک سطح زیر این اشیا graph گرافیکی قرار دارد زیرا پیوندی نزدیکتر به عملکردهای اساسی سیستم عامل به شما می‌دهد. جداول سایه اغلب به عنوان لایه‌هایی بین کاربر نهایی و پایگاه داده استفاده می‌شوند. به عنوان مثال، اگر کاربری به حساب بانکی خود وارد شود و سابقه کلیه معاملات گذشته خود را درخواست کند، پایگاه داده معمولاً تمام تراکنش‌های مربوط به همه کاربران را در یک جدول بزرگ ذخیره می‌کند و طرفین درگیر در هر معامله را در یک ستون مشخص تشخیص می‌دهد. از آن جدول در این مرحله سرور دو گزینه دارد: پایگاه داده می‌تواند کل جدول معاملات را ارسال کند. پایگاه داده می‌تواند یک جدول سایه ارسال کند که فقط شامل معاملات مربوط به کاربری است که تاریخ معاملات خود را درخواست کرده‌است. گزینه دوم معمولاً مطلوب‌تر است زیرا باعث پهنای باند و قدرت پردازش در انتهای کاربر می‌شود. مجازی سازی سیستم عامل مجازی سازی سیستم عامل فرایند شبیه‌سازی عملکرد رایانه در رایانه دیگری است. این تکنیک برای کسی مفید است که می‌خواهد همزمان بیش از یک نوع سیستم عامل روی رایانه شخصی خود اجرا کند. جداول صفحه سایه اغلب در شبیه‌سازی بیش از یک سیستم عامل در یک مجموعه واحد از حافظه و پردازنده استفاده می‌شوند. | ## جمع‌بندی | یک جدول صفحه توسط یک سیستم عامل برای نقشه‌برداری از حافظه مجازی، حافظه واقعی که توسط برنامه‌ها و سیستم عامل برای ذخیره اطلاعات استفاده می‌شود، به محل قرارگیری آن بر روی حافظه فیزیکی، حافظه اختصاصی سخت‌افزار ذخیره شده در بایت روی RAM (تصادفی حافظه دسترسی) یک جدول صفحه سایه یک جدول صفحه شبه در جدول صفحه اصلی رایانه است که به سیستم اجازه می‌دهد همزمان بیش از یک نوع سیستم عامل را اجرا کند.