مترادف در مقابل نام مستعار (در پایگاههای داده ORACLE) | مترادف های خصوصی و مترادف های عمومی
در انگلیسی، مترادف و مستعار تقریباً معانی یکسانی دارند. اما در پایگاه های داده این دو چیز متفاوت هستند. به خصوص در پایگاه داده ORACLE، استفاده از هر دو آنها متفاوت است. مترادف ها برای ارجاع اشیاء یک طرحواره یا پایگاه داده از طرحواره دیگر استفاده می شوند. بنابراین مترادف یک نوع شی پایگاه داده است. اما نامهای مستعار به شیوهای متفاوت میآیند. یعنی؛ آنها اشیاء پایگاه داده نیستند. نام مستعار برای ارجاع جداول، نماها و ستونها در داخل کوئریها استفاده میشود.
مترادف
اینها نوعی از اشیاء پایگاه داده هستند. آنها به اشیاء دیگر در پایگاه داده اشاره می کنند.رایج ترین استفاده از مترادف، ارجاع یک شی از یک طرحواره جداگانه با استفاده از نام دیگری است. اما مترادف ها را می توان برای ارجاع اشیاء پایگاه داده دیگری نیز ایجاد کرد (در پایگاه های داده توزیع شده، با استفاده از پیوندهای پایگاه داده). جداول، نماها، توابع، رویهها، بستهها، توالیها، نماهای مادی شده، اشیاء کلاس جاوا و تریگرها میتوانند به عنوان مرجع برای مترادفها استفاده شوند. دو نوع مترادف وجود دارد.
- مترادف های خصوصی (فقط توسط کاربری که آنها را ایجاد کرده است قابل استفاده است.)
- مترادف های عمومی (برای همه کاربرانی که دارای امتیازات مناسب هستند قابل استفاده است)
در اینجا، یک نحو ساده برای ایجاد یک مترادف در یک پایگاه داده جداگانه،است.
ایجاد مترادف myschema.mytable1 برای [email protected]_link1
از آنجایی که ما مترادفی به نام mytable1 در myschema برای [email protected]_link1 (جدول پایگاه داده توزیع شده) داریم، می توانیم به راحتی جدول پایگاه داده توزیع شده را با استفاده از mytable1 ارجاع دهیم. ما نیازی به استفاده از نام شی طولانی با پیوند پایگاه داده در همه جا نداریم.
نام مستعار
اینها فقط نام دیگری برای یک نما، یک جدول یا یک ستون در داخل یک جستجو هستند. آنها اشیاء پایگاه داده نیستند. بنابراین، نام مستعار در همه جای طرحواره/پایگاه داده معتبر نیستند. آنها فقط در داخل پرس و جو معتبر هستند. اجازه دهید این مثال را ببینیم،
انتخاب tab1.col1 به عنوان c1، tab2.col2 به عنوان c2
از user1.tab1 tab1, user1.tab2 tab2
where tab1.col1=tab2.col2
در اینجا، c1 و c2 نام مستعار ستونی هستند که برای tab1.col1 و tab2.col2 استفاده می شود، و tab1 و tab2 نام مستعار جدول هستند که برای user1.table1 و user2.table2 استفاده می شود. همه این نامهای مستعار فقط در داخل این جستار معتبر هستند.
تفاوت بین Synonym و Alias (در پایگاه داده های ORACLE) چیست؟