სინონიმი vs Alias (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-ისთვის. ყველა ეს მეტსახელი მოქმედებს მხოლოდ ამ მოთხოვნის შიგნით.
რა განსხვავებაა სინონიმსა და ალიასს შორის (ORACLE მონაცემთა ბაზაში)?