ওরাকলে কোনও ব্যবহারকারী এবং স্কিমার মধ্যে পার্থক্য কী?
ওরাকলে কোনও ব্যবহারকারী এবং স্কিমার মধ্যে পার্থক্য কী?
উত্তর:
জিজ্ঞাসা টম থেকে
আপনার সমস্ত পরিকল্পনা এবং উদ্দেশ্যগুলির জন্য একটি স্কিমা হিসাবে এটির জন্য সমস্ত অ্যাকাউন্টের ব্যবহারকারী অ্যাকাউন্ট এবং সংগ্রহ হিসাবে আপনি কোনও স্কিমা বিবেচনা করবেন।
এসসিটিটিটি একটি স্কিমা যা বিভিন্ন অনুদান সহ ইএমপি, ডিইপিটি এবং বোনাস টেবিলগুলি অন্তর্ভুক্ত করে।
এসওয়াইএস হ'ল একটি স্কিমা যার মধ্যে প্রচুর টেবিল, ভিউ, অনুদান ইত্যাদি includes
সিস্টেম একটি স্কিমা .....
প্রযুক্তিগতভাবে - একটি স্কিমা হল ডেটাবেস দ্বারা ব্যবহৃত মেটাডেটা (ডেটা ডিকশনারি) এর সেট যা সাধারণত ডিডিএল ব্যবহার করে উত্পন্ন হয়। একটি স্কিমা ডাটাবেসের বৈশিষ্ট্য যেমন টেবিল, কলাম এবং বৈশিষ্ট্যগুলি সংজ্ঞায়িত করে। একটি ডাটাবেস স্কিমা হ'ল ডেটাবেজে থাকা ডেটার বিবরণ।
আমি বিশ্বাস করি যে সমস্যাটি হ'ল ওরাকল স্কিমা শব্দটি সাধারণত যা বোঝায় তার থেকে কিছুটা আলাদাভাবে ব্যবহার করে ।
অর্থে স্কিমা ২. একইরকম, তবে বুদ্ধিমানের স্কিমা হিসাবে একই নয় 1. উদাহরণস্বরূপ, একটি অ্যাপ্লিকেশন যা বিভিন্ন ডিবি অ্যাকাউন্ট ব্যবহার করে, অর্থে স্কিমায় কয়েকটি বিভিন্ন ওরাকল স্কিমাস থাকতে পারে :-)।
প্লাস স্কিমা অর্থ অন্যান্য প্রসঙ্গে (যেমন গণিতে) মোটামুটি অপ্রাসঙ্গিক জিনিসগুলিও হতে পারে mean
ওরাকলকে ওভারলোডিন "স্কিমা" এর পরিবর্তে "ইউজারেরিয়া" বা "অ্যাকাউন্টোবজেক্টস" এর মতো একটি শব্দ ব্যবহার করা উচিত ...
উইকিঅ্যান্সবার্স থেকে :
তদ্ব্যতীত, কোনও ব্যবহারকারী তাদের নিজস্ব ছাড়াও স্কিমায় বস্তুগুলিতে অ্যাক্সেস করতে পারবেন, যদি তাদের যদি এটি করার অনুমতি থাকে।
আপনি সাধারণত কোনও ব্যবহারকারীর কথা ভাবেন (লগ ইন এবং সিস্টেমে কিছু জিনিস অ্যাক্সেসের সাথে ব্যবহারকারীর নাম / পাসওয়ার্ড) এবং ব্যবহারকারীর হোম ডিরেক্টরিতে ডাটাবেস সংস্করণ হিসাবে একটি স্কিমা। ব্যবহারকারী "foo" সাধারণত স্কিমা "foo" এর অধীনে জিনিসগুলি তৈরি করে উদাহরণস্বরূপ, যদি ব্যবহারকারী "foo" টেবিল "বার" তৈরি করে বা উল্লেখ করে তবে ওরাকল ধরে নেবে যে ব্যবহারকারীটির অর্থ "foo.bar"।
এই উত্তরটি কোনও মালিক এবং স্কিমা মধ্যে পার্থক্য সংজ্ঞায়িত করে না তবে আমি মনে করি এটি আলোচনায় যুক্ত করে।
আমার চিন্তাভাবনার সামান্য জগতে:
আমি এই ধারণার সাথে লড়াই করেছি যে আমি এন সংখ্যক ব্যবহারকারী তৈরি করি যেখানে আমি চাই যে এই ব্যবহারকারীরা প্রত্যেকে একটি একক স্কিমা "গ্রাস" করতে পারেন (ওরফে, ব্যবহার করুন)।
ওরাকল-বেজ ডট কম এ টিম দেখায় যে এটি কীভাবে করা হয় (ব্যবহারকারীদের এন সংখ্যা রয়েছে এবং এই ব্যবহারকারীর প্রত্যেককেই একটি একক স্কিমায় "পুনঃনির্দেশিত" করা হবে)।
তাঁর একটি দ্বিতীয় "প্রতিশব্দ" রয়েছে (এখানে তালিকাভুক্ত নয়)। আমি কেবল এখানে CURRENT_SCHEMA সংস্করণটি (তার একটি পদ্ধতির) উদ্ধৃত করছি:
CURRENT_SCHEMA
অভিগমন
CURRENT_SCHEMA
অ্যাপ্লিকেশন ব্যবহারকারীদের স্বয়ংক্রিয়ভাবে সঠিক স্কিমে নির্দেশ করতে এই পদ্ধতিটি সেশন বৈশিষ্ট্যটি ব্যবহার করে ।প্রথমত, আমরা স্কিমা মালিক এবং একটি অ্যাপ্লিকেশন ব্যবহারকারী তৈরি করি।
CONN sys/password AS SYSDBA -- Remove existing users and roles with the same names. DROP USER schema_owner CASCADE; DROP USER app_user CASCADE; DROP ROLE schema_rw_role; DROP ROLE schema_ro_role; -- Schema owner. CREATE USER schema_owner IDENTIFIED BY password DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp QUOTA UNLIMITED ON users; GRANT CONNECT, CREATE TABLE TO schema_owner; -- Application user. CREATE USER app_user IDENTIFIED BY password DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp; GRANT CONNECT TO app_user;
লক্ষ্য করুন যে অ্যাপ্লিকেশন ব্যবহারকারী সংযোগ করতে পারে তবে কোনও টেবিলস্পেস কোটা বা অবজেক্ট তৈরি করার সুযোগ নেই।
এরপরে, আমরা কেবল পঠন-লেখার এবং পঠনযোগ্য অ্যাক্সেসের অনুমতি দিতে কিছু ভূমিকা তৈরি করি।
CREATE ROLE schema_rw_role; CREATE ROLE schema_ro_role;
আমরা আমাদের অ্যাপ্লিকেশন ব্যবহারকারীকে স্কিমা অবজেক্টগুলিতে পঠন-লেখার অ্যাক্সেস দিতে চাই, তাই আমরা প্রাসঙ্গিক ভূমিকাটি মঞ্জুর করি।
GRANT schema_rw_role TO app_user;
আমাদের নিশ্চিত করতে হবে যে অ্যাপ্লিকেশন ব্যবহারকারীর স্কিমা মালিককে নির্দেশ করে তার ডিফল্ট স্কিমা রয়েছে, তাই আমাদের এটি করার জন্য আমরা একটি আফ্রিকার লগন ট্রিগার তৈরি করি।
CREATE OR REPLACE TRIGGER app_user.after_logon_trg AFTER LOGON ON app_user.SCHEMA BEGIN DBMS_APPLICATION_INFO.set_module(USER, 'Initialized'); EXECUTE IMMEDIATE 'ALTER SESSION SET current_schema=SCHEMA_OWNER'; END; /
এখন আমরা স্কিমা মালিকের মধ্যে একটি অবজেক্ট তৈরি করতে প্রস্তুত।
CONN schema_owner/password CREATE TABLE test_tab ( id NUMBER, description VARCHAR2(50), CONSTRAINT test_tab_pk PRIMARY KEY (id) ); GRANT SELECT ON test_tab TO schema_ro_role; GRANT SELECT, INSERT, UPDATE, DELETE ON test_tab TO schema_rw_role;
প্রাসঙ্গিক ভূমিকাতে কীভাবে সুযোগ-সুবিধা দেওয়া হয় তা লক্ষ্য করুন। এটি ছাড়া, অ্যাপ্লিকেশন ব্যবহারকারীর কাছে অবজেক্টগুলি দৃশ্যমান হবে না। আমাদের কাছে এখন একটি কার্যকরী স্কিমা মালিক এবং অ্যাপ্লিকেশন ব্যবহারকারী।
SQL> CONN app_user/password Connected. SQL> DESC test_tab Name Null? Type ----------------------------------------------------- -------- ------------------------------------ ID NOT NULL NUMBER DESCRIPTION VARCHAR2(50) SQL>
এই পদ্ধতিটি আদর্শ যেখানে অ্যাপ্লিকেশন ব্যবহারকারীটি মূল স্কিমায় একটি বিকল্প এন্ট্রি পয়েন্ট যেখানে নিজস্ব কোনও বস্তুর প্রয়োজন হয় না।
এটা খুবই সাধারণ.
If USER has OBJECTS
then call it SCHEMA
else
call it USER
end if;
কোনও ব্যবহারকারীকে বিভিন্ন ব্যবহারকারীর মালিকানাধীন স্কিমা অবজেক্টগুলিতে অ্যাক্সেস দেওয়া যেতে পারে।
স্কিমা হ'ল ডিবি.অবজেক্টসের একটি ধারণা / ডোমেন অফ ইন্টারস্টি সম্পর্কে একটি এনক্যাপসুলেশন এবং এক ব্যবহারকারীর মালিকানাধীন। এটি তখন অন্যান্য ব্যবহারকারী / অ্যাপ্লিকেশন দ্বারা দমন করা ভূমিকার সাথে ভাগ করে নেবে। সুতরাং ব্যবহারকারীদের কোনও স্কিমা মালিকানা প্রয়োজন না, তবে স্কিমার মালিক হওয়া দরকার।
ব্যবহারকারীর অ্যাকাউন্টটি আত্মীয়দের মতো যাঁরা আপনার বাড়ির চাবি রাখেন, তবে কোনও কিছুর মালিক হয় না ie যেমন কোনও ব্যবহারকারীর অ্যাকাউন্টে কোনও ডাটাবেস অবজেক্টের মালিকানা নেই ... কোনও ডেটা অভিধান নেই ...
যেখানে স্কিমা হ'ল ডাটাবেস অবজেক্টগুলির একটি এনপ্যাপুলেশন। এটি বাড়ির মালিকের মতো যিনি আপনার বাড়ির সমস্ত কিছুর মালিক হন এবং কোনও ব্যবহারকারী অ্যাকাউন্ট কেবল তখনই যখন মালিক অর্থাত্ স্কিমা এতে প্রয়োজনীয় অনুদান দেয় তখন বাড়ীতে পণ্য অ্যাক্সেস করতে সক্ষম হন।
- USER এবং SCHEMA
ব্যবহারকারী এবং স্কিমা উভয় শব্দই বিনিময়যোগ্য, কেন নীচে এই শব্দগুলিতে বেশিরভাগ লোক বিভ্রান্ত হয় আমি তাদের মধ্যে পার্থক্য বর্ণনা করেছি
- ব্যবহারকারী ব্যবহারকারী ডাটাবেস (সার্ভার) সংযুক্ত করার জন্য একটি অ্যাকাউন্ট। আমরা ব্যবহারকারীর তৈরি করা ব্যবহারকারীর নাম ব্যবহারকারীর নাম ব্যবহার করে পাসওয়ার্ড ব্যবহার করে তৈরি করতে পারি।
--Schema
প্রকৃতপক্ষে ওরাকল ডাটাবেসগুলিতে ডেটা প্রক্রিয়াকরণের জন্য লজিক্যাল এবং শারীরিক স্ট্রুকুটার থাকে Dat ডাটাবেস (মেমোরি কম্পোনেন্ট) ডেটা প্রক্রিয়া করার জন্য স্কিমা এছাড়াও লজিকাল স্ট্রাকচার। এটি ব্যবহারকারী তৈরি করার সময় ওরাকল দ্বারা স্বয়ংক্রিয়ভাবে তৈরি হয়েছিল t এতে স্কিমার সাথে সম্পর্কিত ব্যবহারকারী দ্বারা নির্মিত সমস্ত অবজেক্ট থাকে For উদাহরণস্বরূপ যদি আমি একটি নাম সান্থোষ নামে একটি ব্যবহারকারী তৈরি করি তবে ওরাকল সান্থোষ নামে একটি স্কিমা তৈরি করে, ওরাকল সান্থোষে ব্যবহারকারী দ্বারা নির্মিত সমস্ত বস্তু সংরক্ষণ করে স্কিমা।
আমরা স্ক্রিমা বিবৃতি তৈরি করে স্কিমা তৈরি করতে পারি, তবে ওরাকল স্বয়ংক্রিয়ভাবে সেই স্কিমার জন্য একটি ব্যবহারকারী তৈরি করতে পারে।
আমরা ড্রপ স্কেমা স্কামা_নামন রিস্ট্রাকশন স্টেটমেন্ট ব্যবহার করে স্কিমাটি ড্রপ করতে পারি তবে এটি সেন্সেমায় অবজেক্টসগুলি মুছে ফেলতে পারে না, তাই স্কিমাটি ড্রপ করতে হবে এটি খালি।
আমরা যদি কোনও ব্যবহারকারীকে তার স্কিমায় বস্তুগুলি ফেলে দেওয়ার চেষ্টা করি তবে আমাদের অবশ্যই CASCADE শব্দটি নির্দিষ্ট করতে হবে কারণ ওরাকল আপনাকে ব্যবহারকারীর অন্তর্ভুক্ত অবজেক্টগুলি মুছতে দেয় না। DROP ব্যবহারকারীর ব্যবহারকারী নাম CASCADE সুতরাং ওরাকল স্কিমায় অবজেক্টগুলি মুছে ফেলবে এবং তারপরে এটি ব্যবহারকারীকে স্বয়ংক্রিয়ভাবে নামিয়ে দেয়, অবজেক্টস যেমন অন্যান্য স্কিমা থেকে মতামত এবং ব্যক্তিগত প্রতিশব্দ হিসাবে এই স্কিমা অবজেক্টগুলিকে রেফার করে invalid
আমি আশা করি এখন আপনি তাদের মধ্যে পার্থক্য পেয়ে গেছেন, যদি এই বিষয়ে আপনার কোনও সন্দেহ থাকে তবে নির্দ্বিধায় জিজ্ঞাসা করুন।
ধন্যবাদ.
ওরাকল সম্পর্কে আমার সামান্য জ্ঞানের ভিত্তিতে ... একজন ব্যবহারকারী এবং একটি এসকেইএমএ কিছুটা মিল। তবে একটি বড় পার্থক্যও রয়েছে। যদি "ব্যবহারকারী" কোনও বস্তুর মালিক হয় তবে অন্যথায় ... এটি কেবলমাত্র "ব্যবহারকারী" হিসাবে থাকবে A একবার উপরের সমস্ত সংজ্ঞা অনুসারে USER কমপক্ষে একটি অবজেক্টের মালিকানাধীন .... ব্যবহারকারীকে এখন SCHEMA বলা যেতে পারে।
ব্যবহারকারী: ডাটাবেসের রিসোর্সে অ্যাক্সেস। কোনও ঘরে প্রবেশের চাবি পছন্দ Like
স্কিমা: ডাটাবেস অবজেক্ট সম্পর্কে তথ্য সংগ্রহ। আপনার বইয়ের সূচির মতো যা অধ্যায় সম্পর্কে সংক্ষিপ্ত তথ্য রয়েছে।
যারা মারিয়াডিবি বা মাইএসকিউএল সম্পর্কে বেশি পরিচিত তাদের বেশিরভাগের পক্ষে এটি কিছুটা বিভ্রান্তিকর বলে মনে হচ্ছে কারণ মারিয়াডিবি বা মাইএসকিউএলে তাদের বিভিন্ন স্কিমা রয়েছে (যার মধ্যে বিভিন্ন সারণী, ভিউ, পিএলএসকিউএল ব্লক এবং ডিবি বিষয়বস্তু ইত্যাদি রয়েছে) এবং ইউএসআরএস অ্যাকাউন্টগুলি যা অ্যাক্সেস করতে পারে স্কিমা। অতএব কোনও নির্দিষ্ট ব্যবহারকারীর কোনও বিশেষ স্কিমার অন্তর্ভুক্ত থাকতে পারে। অনুমতিটি সেই স্কিমায় দেওয়া হবে তখন ব্যবহারকারী এটি অ্যাক্সেস করতে পারবেন। ব্যবহারকারী এবং স্কিমা মাইএসকিউএল এবং মারিয়াডিবি এর মতো ডাটাবেসে পৃথক করা হয়েছে।
ওরাকল স্কিমায় এবং ব্যবহারকারীরা প্রায় একইরকম আচরণ করা হয়। এই স্কিমাটি নিয়ে কাজ করার জন্য আপনার অনুমতি থাকতে হবে যেখানে আপনি অনুভব করবেন যে স্কিমা নামটি ব্যবহারকারীর নাম ছাড়া আর কিছুই নয়। বিভিন্ন স্কিমা থেকে বিভিন্ন ডাটাবেস অবজেক্টগুলিকে অ্যাক্সেস করার জন্য স্কিমা জুড়ে অনুমতি দেওয়া যেতে পারে। ওরাকলে আমরা বলতে পারি যে কোনও ব্যবহারকারীর একটি স্কিমা রয়েছে কারণ আপনি যখন ব্যবহারকারী তৈরি করেন আপনি তার জন্য ডিবি অবজেক্ট তৈরি করেন এবং তদ্বিপরীত।
স্কিমা বস্তুর একটি ধারক of এটি একটি ব্যবহারকারীর মালিকানাধীন।
ঠিক আছে, আমি কোথাও পড়েছি যে যদি আপনার ডাটাবেস ব্যবহারকারীর ডিডিএল সুবিধা থাকে তবে এটি একটি স্কিমা, অন্যথায় এটি একজন ব্যবহারকারী it's