تست مهندسی کامپیوتر۷۴ - نسخهی قابل چاپ |
تست مهندسی کامپیوتر۷۴ - *Najmeh* - 17 اردیبهشت ۱۳۹۱ ۰۹:۲۱ ق.ظ
جواب این سوال تو کتاب مقسمی گزینه ۴ اما نصیر گفته گزینه ۲ چرا اخه؟ |
تست مهندسی کامپیوتر۷۴ - yaser_ilam_com - 17 اردیبهشت ۱۳۹۱ ۱۲:۵۴ ب.ظ
به نظر من هم گزینه دو درست است دقت کن DDL برای کار با داده تعریف شده حال داده های موجود در کاتالوگ نیز نیاز به تغییر دارند که با تمام دستورات DDL نمیتوان این تغییرات را ایجاد کرد و فقط توسط دستوراتی که برای این کار تعریف شده می توان این کار را انجام داد یعنی با تمام دستورات DDL نمیتوان داده های موجود در کاتالوگ را تغییر داد فقط بخشی از دستورات که برای این کار تعریف شده است |
تست مهندسی کامپیوتر۷۴ - - rasool - - 17 اردیبهشت ۱۳۹۱ ۰۱:۰۹ ب.ظ
به نظر من گزینه های ۲ و ۴ درست هستند. گزینه ۲ : آقای یاسر فرمودند. گزینه ۴ : گفته کاتالوگ فقط با احکام DDL قابل تغییره. (دقت کنید نگفته است که کاتالوگ با تمامی احکام DDL قابل تغییره که ما بیایم ردش کنیم) می خواد بگه اگه احکامی باشه که با آنها بشه کانالوگ رو تغییر داد ، این احکام فقط جزو DDL هستند. داره می گه کاتالوگ فقط با احکام DDL قابل تغییره ( احکامی که در حیطه ی DDL هستند ) ، و کاتالوگ با سایر احکام ( نظیر DML ) قابل تغییر نیست. پس گزینه ۴ هم درسته. |
RE: تست مهندسی کامپیوتر۷۴ - Aurora - 17 اردیبهشت ۱۳۹۱ ۰۱:۱۵ ب.ظ
(۱۷ اردیبهشت ۱۳۹۱ ۱۲:۵۴ ب.ظ)yaser_ilam_com نوشته شده توسط: به نظر من هم گزینه دو درست است دقت کن DDL برای کار با داده تعریف شده حال داده های موجود در کاتالوگ نیز نیاز به تغییر دارند که با تمام دستورات DDL نمیتوان این تغییرات را ایجاد کرد و فقط توسط دستوراتی که برای این کار تعریف شده می توان این کار را انجام داد یعنی با تمام دستورات DDL نمیتوان داده های موجود در کاتالوگ را تغییر داد فقط بخشی از دستورات که برای این کار تعریف شده است یه سوال؟ اینکه شما نوشتید با تمام دستورات DDL نمیتوان این تغییرات را ایجاد کرد و فقط توسط دستوراتی که برای این کار تعریف شده می توان این کار را انجام داد یعنی برخی دستوراتی که برای کار با کاتالوگ هستند خارج از ddl و dml هستند؟ |
RE: تست مهندسی کامپیوتر۷۴ - yaser_ilam_com - 17 اردیبهشت ۱۳۹۱ ۰۱:۲۴ ب.ظ
(۱۷ اردیبهشت ۱۳۹۱ ۰۱:۱۵ ب.ظ)Aurora نوشته شده توسط:نه شاید منظورم رو خوب بیان نکردم یعنی تمام دستورات در ddl نمی تونن در کاتالوگ تغییر ایجاد کنن فقط برخی از دستورات که تعیین شدن برای این منظور که البته خارج از ddl نیستند من فقط می خوام همون مطلب کتاب مقسمی رو تایید کنم امیدوارم ومنظورم رو اشتباه بیان نکرده باشم اگه اشتباهه شما تصحیح کنید(17 اردیبهشت ۱۳۹۱ ۱۲:۵۴ ب.ظ)yaser_ilam_com نوشته شده توسط: به نظر من هم گزینه دو درست است دقت کن DDL برای کار با داده تعریف شده حال داده های موجود در کاتالوگ نیز نیاز به تغییر دارند که با تمام دستورات DDL نمیتوان این تغییرات را ایجاد کرد و فقط توسط دستوراتی که برای این کار تعریف شده می توان این کار را انجام داد یعنی با تمام دستورات DDL نمیتوان داده های موجود در کاتالوگ را تغییر داد فقط بخشی از دستورات که برای این کار تعریف شده استیه سوال؟ |
تست مهندسی کامپیوتر۷۴ - Aurora - 17 اردیبهشت ۱۳۹۱ ۰۱:۳۱ ب.ظ
خیلی ممنون نه شما درست بیان کردید. اولش متوجه نشدم. الان فهمیدم منظور شما اینه که فقط با دستورات ddl قابل تغییرند ولی نه با همه ی دستوراتش . فقط با تعدادی از آنها قابل تغییرند. |
RE: تست مهندسی کامپیوتر۷۴ - ahmadi_development - 30 اردیبهشت ۱۳۹۱ ۰۸:۴۳ ب.ظ
به نظر من قطعا گزینه ۴ درست ۱-غلط است زیرا: DML محتوای داده را تغییر می دهد وربطی به کاتالوگ ندارد ۲-غلط است DDL روی ساختار تاثیر می گذاره ساختار تعریفش درکجا نگه داری می شود؟ خوب در کاتالوگ ،پس تمام احکام DDL بر روی کاتالوگ اثر می گذارد نه برخی از ان ۳-غلط است چون مجموع گزینه ۱و ۲ است ۴-جواب گزینه ۴ |
تست مهندسی کامپیوتر۷۴ - Avicenna - 31 اردیبهشت ۱۳۹۱ ۰۹:۲۳ ب.ظ
سلام، من نظر متفاوتی نسبت به پاسخ این تست دارم. خودم قبل از کنکور به پاسخ آقای مقسمی شک داشتم. چکیده پاسخ های بالای دوستان به این اشاره داره که کاتالوگ فقط با احکام DDL (بخشی از اون یا...) قابل تغییر هست که این تقریبا همون دیدگاه آقای مقسمی در پاسخنامه این تست هست. ایشون در پاسخ این تست نقش دستورات DML رو تنها به جستجو در محتوای کاتالوگ محدود کردند در صورتیکه این احکام قابلیت ایجاد تغییرات رو هم دارند. بهتره قبل از هر چیز به تعریف دقیق این دو بپردازیم: احکام تعریف داده ها یا DDL : این دستورات برای تعریف ساختار یا Schema بانک اطلاعاتی و همچنین تعریف رابطه کاربرد دارند. تعریف شمای رابطه، حذف رابطه، اصلاح شمای رابطه، متد ذخیره سازی داده ها، تعریف محل فایل ها، تعریف ساختار رکوردها، فیلدها و... / نمونه ای از این دستورات: Create : ایجاد اشیاء یا شمای بانک Drop : حذف اشیاء یا شمای بانک Rename : تغییر نام اشیاء یا شمای بانک Alter : تغییر ساختار اشیاء یا شمای بانک و... احکام کار با داده ها یا DML : این دستورات برای مدیریت داده های اشیای Schema (مثل تغییرات و...) کاربرد دارند، بصورت کلی منظور دستکاری یا Edit داده هاست. به علاوه امکان پرس و جو و... / نمونه ای از این دستورات: Insert : درج داده Updete : به روز آوری داده Delete : حذف داده و... این تست روی این قضیه متمرکز شده که اگه قرار باشه تغییراتی روی کاتالوگ سیستم انجام بشه، این تغییر توسط کدوم یک از این احکام اتفاق میفته؟ به نظرم این تغییرات میتونه در دو نوع اتفاق بیفته، تغییرات "داده ای یا محتوایی" و تغییرات "غیر داده ای یا ساختاری" که اولی مربوط به DML هست، چون مستقیما با خود داده سر و کار داریم و دومی هم مربوط به DDL هست چون در این نوع دستورات ما کاری با داده ها نداریم، منظور فراداده یا Metadata هست. حالا که در خود سوال مشخصا به چنین چیزی اشاره نشده، باید "تغییرات" رو در نظر گرفت، تغییراتی که یک کلیت رو در بر خواهد گرفت که با توجه به این قضیه من گزینه "سوم" رو صحیح میدونم، چون استفاده از واژه "تغییر" به تنهایی، دستورات هر دوی این احکام رو پوشش خواهد داد. دلیل رسیدن به این استدلال رو باید در تعریف کاتالوگ سیستم که موضوع اصلی این تست هست پیدا کرد. زمانی میتونیم بگیم که اعمال تغییرات در کاتالوگ سیستم فقط توسط بعضی احکام DDL قابل انجام هست که مطمئن باشیم این تغییرات تنها در حوزه ساختاری و شماتیک بانک اتفاق میفته، چون همونطور که میدونیم کاتالوگ هم نوعی بانک هست. البته این مورد به عنوان یک گزاره مستقل کاملا صحیح هست و داده های مختلف در مورد شما، ساختار و... داخل کاتالوگ ذخیره خواهند شد و به نقل از کتاب آقای مقسمی "خروجی دستورات DDL در دیکشتری داده ها قرار می گیرند" و تغییرات این ساختارها هم تنها توسط احکام DDL قابل تغییر هست. ولی اگه بخوایم بصورت دقیق محتویات ذخیره شده در کاتالوگ رو بررسی کنیم به مفهوم داده می رسیم. همونطور که میدونیم داده های مختلفی در مورد کاربران، حق دست یابی، صفات و... هم داخل کاتالوگ ذخیره خواهند شد که بعضی از این بخش ها دیگه از DDL جدا و به DML مربوط هست، چون همونطور که در بالا گفته شد وظیفه کار با داده ها اعم از تغییرات و... بر عهده دستورات DML هست. / تا اینجا، مطالب مربوط به دو پست قبلی بود که به دلیل کاهش تعداد پست ها حذف و به این بخش منتقلش کردم. (۳۰ اردیبهشت ۱۳۹۱ ۰۸:۴۳ ب.ظ)ahmadi_development نوشته شده توسط: DML محتوای داده را تغییر می دهد وربطی به کاتالوگ ندارد برای توضیحات من مثال نقضی ذکر نشد، از نظر من گزاره مورد نظر شما به تنهایی صحیح هست ولی من اون رو طبق یکسری دلایل کامل نمیدونم. شما به درستی داخل مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید. از تاپیک "کاتالوگ در پایگاه داده توزیع شده" اشاره کردید که کاتالوگ داده همون دیشکنری داده نیست، (حالا کاری به این نداریم که بعضی مواقع و در سیستم های مختلف پیاده سازی این دو از هم تفکیک خواهند شد)، ضمنا فراموش نکنیم که کاتالوگ با هر محتوایی یک بانک بحساب میاد. من اختلاف دیدگاهم با جمله بالا اینجاست که شما محتوای کاتالوگ رو فقط شامل Metadata میدونید و چون معتقد به وجود Data داخل این بانک نیستید، استفاده از احکام DML رو در کاتالوگ داده بی معنا فرض می کنید. این کاملا درسته که احکام DDL امکان تغییر کاتالوگ رو فراهم می کنند، اما چه محتوایی؟ محتوای غیرداده ای، خب پس این گزاره (جواب مورد اشاره شما) زمانی به تنهایی صحیح هست که ما کلا کاتالوگ رو تهی از Data بدونیم و کل محتوای این بانک رو Metadata فرض کنیم، همون چیزی که شما اشاره کردید، یعنی مجموعه ای از تعاریف ساختاری مثل شمای رابطه، رکوردها، مکان فایل ها، اندازه جداول و... داخل کاتالوگ قرار دارند. ما در تعری فکاتالوگ داریم که طراح بانک شخصا عناوین، نام ها، صفات، فرمت ها، مشخصات کاربران و... رو در مرحله طراحی داخل بانک وارد میکنه (Insert) و در ادامه داریم که عملیاتی مثل "جستجو"، "حذف" و "درج" هم داخل دیکشنری قابل انجام هست. خب ابهام من هم مربوط به همین چند بند هست و طبق همین موارد من تغییرات در کاتالوگ رو محدود به DDL نمیدونم. خب بر اساس این سطور وقتی گفته میشه داخل کاتالوگ امکان استفاده از این دستورات وجود داره پس میتونیم به این موضوع فکر کنیم که حتما داده ای هست که قراره با این اعمال مورد دستکاری (DML) قرار بگیره! حتی همون پرس و جو که تو اون تاپیک بهش رسیدیم، Insert و Delete و... . وگرنه در احکام DDL که چیزی به نام داده تعریف شده نیست که فرضا بشه اون رو پردازش و به اصطلاح مورد دستکاری قرار داد! حالا مثلا اگه بگیم این موارد فقط در مورد دیکشنری صادقه که اینم نمیشه گفت! چون قبلا اشاره شد که ما دیکشنری رو زیرمجموعه ای از کاتالوگ فرض می کنیم! اگه شما قبول دارید که چنین دستوراتی مربوط به دستکاری داده ها یا همون احکام DML هستند و اصلا انجام چنین پردازش هایی در کاتالوگ امکانپذیر هست، پس چطور میتونیم تغییر کاتالوگ رو فقط به محتوای ساختاری یا DDL محدود کنیم؟ نقل قول از آینده (در راستای بهینه سازی پیمایش صفحه!): (۰۱ خرداد ۱۳۹۱ ۰۱:۰۷ ق.ظ)ahmadi_development نوشته شده توسط: اولا درسته که طراح نام ها رو تعیین می کنه ولی در غالب تعریف ساختار اینکه insert نیست منظور از insert همون دستور insert در مورد اول، بله اون تعریف و اضافه کردن ساختار جدید که قضیه اش جداست، من این رو در راستای دستورات DML مثال زدم. اما در مورد دوم من این قضیه رو که دیکشنری داده ها فقط توسط خود سیستم بروزآوری میشه رو جاهای مختلفی از جمله کتب کنکوری خوندم، اما در کنارش هم بعضی از منابع برای کاربران در این زمینه نقش هایی قائل شدند. یک نکته ای که وجود داره اینه که کلا بهتره داده های دیکشنری تغییر نکنه چون در دراز مدت به فساد داده ها منجر خواهد شد. اینکه امکان کار با داده ها داخل دیکشنری داده ها هست رو داخل یک کتاب فارسی و چند منبع انگلیسی دیدم و اتفاقا از همونجا بود که من به پاسخنامه این سوال شک کردم. برای مثال این مجوزهای کاربری و دستورات قابل استفاده رو برای تغییر در دیکشنری داده ها در نظر بگیرید، توجه کنید که دستورات سه بند اول تقریبا معادل دستورات سه بند دوم هست، با این تفاوت که از دیدگاه نظری سری اول در DML و سری دوم در DDL جای می گیرند.
Data Dictionary User Permissions - Users and User Groups
ADS_PERMISSION_INSERT | Allows users to insert records into the specified table ADS_PERMISSION_UPDATE | Allows users to update records in the specified table ADS_PERMISSION_DELETE | Allows users to delete records from the specified table ADS_PERMISSION_CREATE | Allows users to create objects of the specified type ADS_PERMISSION_ALTER | Allows users to alter the specified database object ADS_PERMISSION_DROP | Allows users to drop or remove the specified database object تکمیلی: من یه سری پرسش هایی رو مطرح کردم و علاوه بر اون ایمیل هایی در این مورد به پشتیبانی فنی شرکت های مدیرت پایگاه داده مثل Oracle فرستادم، جوابی که تا الان بهم دادن یکمی مبهمه، اونها روی نقش DDL در تغییر دیکشنری داده ها تاکید دارند ولی در عین حال نقش DML رو هم در این فرآیند نادیده نمی گیرند، اما برای بعضی از دیکشنری های خاص استثنا قائل می شوند. |
RE: تست مهندسی کامپیوتر۷۴ - ahmadi_development - 01 خرداد ۱۳۹۱ ۰۱:۰۷ ق.ظ
اول اینو بگم که توی تاپیک دیگه که گفتم dd زیرمجموعه catalog اونجا هم اشاره کردم منظور از زیرمجموعه بودن این نیست که dd جزئی از کاتالوگ منظورم این است که اطلاعاتی که توی dd هست توی کاتالوگ هم به شکل دیگه قابل دسترسی وگرنه این دو دارای کارایی متفاوتی هستند وگرنه دیگه لازم نبود که چیزی به عنوان dd مطرح بشه ------------------------------------------------------------------------------------------------- نگاه کنید دوست عزیز وقتی ما برای هر چیزی نامی تعیین می کنیم همین نامی که تعیین می کنیم خودش می شه متا دیتا چرا که این نام جزئی از تعریف ماست برای یک ساختارحالا میخواهد جدول باشه یا هر چیز دیگه ودستورات dml هیچ نامی رو که ما در دیتابیس تعریف می کنیم را نمی تواند تغییر دهد ---------------------------------------------------------------------------------------------------------------------------------- برای اطمینان در این مورد ایمیلی به استاد اول واخر db زدم ایشون هم همین نظر رو داشتن جواب این تست همونی بود که گفتم --------------------------------------------------------------------------------------------------------------------------------------- انگاراین قضیه ی مفاهیم ابتدایی خیلی داره کش دار می شه البته جای بحث داره چون اساتید این درس توی بکسری از این دست مفاهیم دائم در حال بحث هستند البته نه در مورد این مسائلی که ما بحث می کنیم بازم میگم ممکنه درک من اشتباه باشه نظرات دیگر دوستان می تونه به من کمک کنه چون به هر حال ماروی این موضوعات تسلط کامل ندریم به تعریف dml در زیر دقت کنید ------------------------------------------------------------------------------------------------------------------------------------------
۱/۴/۱ Data-Manipulation Language A data-manipulation language (DML) is a language that enables users to access or manipulate data as organized by the appropriate data model. The types of access are: • Retrieval of information stored in the database • Insertion of new information into the database • Deletion of information from the database • Modification of information stored in the database (۳۱ اردیبهشت ۱۳۹۱ ۰۹:۲۳ ب.ظ)Complement نوشته شده توسط:اولا درسته که طراح نام ها رو تعیین می کنه ولی در غالب تعریف ساختار اینکه insert نیست منظور از insert همون دستور insert(30 اردیبهشت ۱۳۹۱ ۰۸:۴۳ ب.ظ)ahmadi_development نوشته شده توسط: DML محتوای داده را تغییر می دهد وربطی به کاتالوگ ندارد است که یک رکورد به جدول اضافه می کنه ثانیا کی گفته که شما می تونید توی دیکشنری حذف ودرج کنید
The data dictionary is considered to be a special type of table that can only be
accessed and updated by the database system itself (not a regular user). |