মাইএসকিউএলে স্কিমা / ডাটাবেসের মধ্যে পার্থক্য


289

মাইএসকিউএলে কোনও স্কিমা এবং একটি ডাটাবেসের মধ্যে পার্থক্য রয়েছে? এসকিউএল সার্ভারে স্কিমা সম্পর্কিত একটি ডাটাবেস একটি উচ্চ স্তরের ধারক।

আমি এটি পড়েছি Create Schemaএবং Create Databaseমাইএসকিউএলে মূলত একই জিনিসটি করি, যা আমাকে বিশ্বাস করতে পরিচালিত করে যে স্কিমাস এবং ডাটাবেসগুলি একই বস্তুর জন্য পৃথক শব্দ।


আসলে আমি বলতে হবে schemaবেশী ভালো database, যেমন MySQL ডেটাবেস এক ধরনের, এবং এটি বিভিন্ন রয়েছে database, এবং কখনও কখনও আপনি useএকটি database, যা মিস লক্ষ্য অনেক অনুসন্ধান করে তোলে।
theaws.blog

উত্তর:


334

মাইএসকিউএল গ্লোসারি সংজ্ঞায়িত হিসাবে :

মাইএসকিউএল-তে শারীরিকভাবে একটি স্কিমা ডাটাবেসের সমার্থক । আপনি মাইএসকিউএল এসকিউএল সিনট্যাক্সের SCHEMAপরিবর্তে কীওয়ার্ডটি প্রতিস্থাপন করতে পারেন DATABASE, উদাহরণস্বরূপ এর CREATE SCHEMAপরিবর্তে ব্যবহার করে CREATE DATABASE

কিছু অন্যান্য ডাটাবেস পণ্য একটি পার্থক্য আঁকা। উদাহরণস্বরূপ, ওরাকল ডেটাবেস প্রোডাক্টে স্কিমা একটি ডাটাবেসের কেবলমাত্র একটি অংশকে উপস্থাপন করে: একক ব্যবহারকারীর মালিকানাযুক্ত টেবিলগুলি এবং অন্যান্য অবজেক্ট।


73
আমি মনে করি "অন্যান্য কিছু ডাটাবেস পণ্য" হ'ল সত্যই প্রতিটি অন্যান্য ডাটাবেসের (সম্ভবত এসকিউএলাইট ব্যতীত, তবে এটি বোধগম্য) জন্য শ্রুতিমধুরতা।
স্টিফান স্টেইগার

5
ডাটাবেসের সাথে স্কিমা সমার্থক বানানো আকর্ষণীয় - আমি এটি সর্বদা ব্যবহারকারীর সাথে সম্পর্কিত ছিলাম .. এবং এসকিউএল সার্ভারের একটি বন্ধুত্বপূর্ণ উল্লেখ যা ব্যবহারকারীর / স্কিমা ধারণাটিকে পৃথক করে দিয়েছিল নমনীয়তার একটি নৌকা বোঝা এবং গতিশীল কোয়েরি করার কিছু আকর্ষণীয় উপায় separated
জেরার্ড ওনিল

"স্কিমা" সংজ্ঞাটি ডেটাবেস অবজেক্টগুলির গোষ্ঠীকরণের বিষয়ে বিরক্তিকর বিষয়টি হ'ল এটি শব্দের পুরানো অর্থকে বোঝায়, যেমন এন.ইউইকিপিডিয়া.আর / উইকি / ডেটাবেস_সেমিমা
মার্ক ই। হাজেস

1
@ মেমাহেস উভয়ই শব্দের পুরানো অর্থ। ওরাকল এর এমনকি এসকিউএল 3 (1999) এর আগেও স্কিমা ছিল, যদিও এটি তাদের সাথে অন্য ডেটাবেসগুলি পূর্ণ বদ্ধ ডেটাবেসগুলি ট্র্যাড হিসাবে বিবেচনা করবে। আসলে, ওরাকল অন্যদের একটি সার্ভার বা সার্ভার উদাহরণ হিসাবে "ডাটাবেস" বলে - বিভিন্ন বাইনারি, বিভিন্ন এক্সিকিউটেবল, বিভিন্ন পোর্ট।
পানাগিওটিস কানভোস

61

ডাটাবেস সার্ভারের উপর নির্ভর করে। MySQLযত্ন নেই, মূলত এটি একই জিনিস।

Oracle, DB2এবং অন্যান্য এন্টারপ্রাইজ স্তরের ডাটাবেস সমাধানগুলি আলাদা করে। সাধারণত স্কিমা হ'ল টেবিলের সংগ্রহ এবং একটি ডেটাবেস স্কিমার সংকলন।


6
এমনকি মাইক্রোসফট SQL সার্ভার হিসাবে অনুরূপ পার্থক্য রয়েছে Oracleএবং DB2এই ক্ষেত্রে জন্য।
আরবিটি

2
মাইএসকিউএলে "ডাটাবেস" এবং "স্কিমা" মূলত একই জিনিস নয়; এটি ঠিক একই জিনিস (উদাহরণস্বরূপ, create databaseএবং create schemaপ্রতিশব্দ)। ওরাকল-এ স্কিমা ব্যবহারকারীর সমার্থক (সম্ভবত আরও সঠিকভাবে, স্কিমা ব্যবহারকারীর অধীনে তৈরি সমস্ত বস্তুর একটি তালিকা)। database1.dbo.table2
এমএসএসকিউএল তিনটিকেই আলাদা করে তোলে

17

মাইএসকিউএল ডকুমেন্টেশনের প্রতি উল্লেখ করা ,

ক্রিয়েট ডেটাবেস প্রদত্ত নামের সাথে একটি ডাটাবেস তৈরি করে। এই বিবৃতিটি ব্যবহার করতে আপনার ডাটাবেসের জন্য ক্রিয়েট সুবিধাগুলি প্রয়োজন। ক্রিয়েট স্কেমা মাইএসকিউএল 5.0.2 অনুযায়ী ক্রিয়েট ডেটাবেসের প্রতিশব্দ।


7

পোস্টগ্রিএসকিউএল স্কিমাগুলি সমর্থন করে, যা একটি ডাটাবেসের একটি উপসেট: https://www.postgresql.org/docs/current/static/ddl-schemas.html

একটি ডাটাবেসে এক বা একাধিক নামযুক্ত স্কিমা থাকে, যার ফলস্বরূপ সারণী থাকে। স্কিমাসে ডেটা টাইপ, ফাংশন এবং অপারেটর সহ অন্যান্য ধরণের নামযুক্ত বস্তুও থাকে। বিবাদ ছাড়াই একই স্কিমের নাম বিভিন্ন স্কিমে ব্যবহার করা যেতে পারে; উদাহরণস্বরূপ, স্কিমা 1 এবং মাইচেমিমা উভয়তেই Mytable নামের সারণী থাকতে পারে। ডাটাবেসগুলির বিপরীতে, স্কিমাগুলি কঠোরভাবে পৃথক করা হয় না: কোনও ব্যবহারকারী তাদের সাথে সংযুক্ত থাকা ডেটাবেজে যে কোনও স্কিমার মধ্যে অবজেক্টগুলি অ্যাক্সেস করতে পারে, যদি তাদের এটি করার সুযোগ থাকে।

স্কিমাসগুলি অপারেটিং সিস্টেম স্তরের ডিরেক্টরিগুলির সাথে সমান, স্কিমাসগুলি বাসা বাঁধে না except

আমার বিনীত মতে, মাইএসকিউএল কোনও রেফারেন্স ডাটাবেস নয়। আপনার ব্যাখ্যার জন্য মাইএসকিউএলকে কখনই উদ্ধৃত করা উচিত নয়। মাইএসকিউএল অ-মানক এসকিউএল প্রয়োগ করে এবং কখনও কখনও এমন বৈশিষ্ট্যগুলির দাবি করে যা এটি সমর্থন করে না। উদাহরণস্বরূপ, মাইএসকিউএল-এ ক্রেডিট স্কিমা কেবল একটি ডেটাবেস তৈরি করবে। এটি সত্যই ব্যবহারকারীদের বিভ্রান্ত করছে।

এই ধরণের শব্দভাণ্ডারকে ডিবিএ দ্বারা "মাই এসকিউএলিজম" বলে।


2
এবং তারপরে নতুনদের জন্য বিভ্রান্তি যোগ করার জন্য "স্কিমেটা" রয়েছে :)
জেনি

@ জেনি মাইএসকিউএল এর স্কিমেটা ঠিক কী? আমি যে সমস্ত তথ্য খুঁজে পেলাম তা হ'ল
তথ্য_স্কেমা স্কিমিট

@ আলফ 47 "স্কিমাটা" হ'ল "স্কিমা" শব্দের বহুবচন রূপ। "স্কিমা" এছাড়াও গ্রহণযোগ্য, তবে অভিনব হিসাবে নয় :)
jobo3208

6

মাইএসকিউএল স্কিমা ডাটাবেসের প্রতিশব্দ । এটি মাইএসকিউএলে ঝাঁপিয়ে পড়া এবং খুব প্রথম দিনেই স্কিমা শব্দটি খুঁজে পাওয়া প্রথম শ্রেণীর লোকদের জন্য এটি বেশ বিভ্রান্তিকর , তাই বলছি উভয়ই সমান হওয়ায় চিন্তার কিছু নেই।

আপনি প্রথমবার মাইএসকিউএল শুরু হয়, তখন আপনার সাথে যাতে আপনি করতে পারেন কাজ করার জন্য একটি ডেটাবেস (অন্য কোন ডাটাবেস সিস্টেম মত) তৈরি করতে হবে স্কিমা তৈরি যা কিছুই নয় কিন্তু ডেটাবেস তৈরি করে

অন্য কয়েকটি ডাটাবেসে সিস্টেম স্কিমা ডাটাবেসের একটি অংশ বা টেবিলের সংগ্রহকে উপস্থাপন করে এবং স্কিমা সংগ্রহ একটি ডাটাবেস।


3

হ্যাঁ, মাইএসকিউএল সম্পর্কিত ক্ষেত্রে লোকেরা এই পদগুলি আন্তঃআযোগযোগ্যভাবে ব্যবহার করে। যদিও প্রায়শই আপনি শুনতে পাবেন যে লোকেরা অনুপযুক্তভাবে পুরো ডাটাবেস সার্ভারকে ডাটাবেস হিসাবে উল্লেখ করে।


0

মাইক্রোসফ্ট এসকিউএল সার্ভার উদাহরণস্বরূপ, স্কিমাস একটি একক ব্যবহারকারীর উল্লেখ করে এবং সার্ভার, ডাটাবেস, স্কিমা, টেবিলগুলি এবং অবজেক্টগুলি নির্দেশ করার ক্রমে একটি ধারকটির অন্য স্তর।

উদাহরণস্বরূপ, আপনি যখন dbo.table_a আপডেট করার পরিকল্পনা করছেন এবং সিনট্যাক্সগুলি যেমন UPDATE টেবিলের মতো সম্পূর্ণ যোগ্য নয় তবে DBMS উদ্দেশ্যযুক্ত সারণীটি ব্যবহার করার সিদ্ধান্ত নিতে পারে না। মূলত ডিফল্টরূপে ডিবিএমএস myuser.table_a ব্যবহার করবে


স্কিমার মালিকানা একক ব্যবহারকারীর দ্বারা। ডিফল্টরূপে, ডেটাবেজে তৈরি কোনও ব্যবহারকারী তাদের ডিফল্ট স্কিমা হিসাবে ডিবিও স্কিমা ব্যবহার করে। একটি সম্পূর্ণরূপে যোগ্যতাসম্পন্ন টেবিল রেফারেন্সের জন্য ব্যবহৃত ডিফল্ট স্কিমাটি সেই ব্যবহারকারীর জন্য সেট করা থাকে।
জেরার্ড ওনিল

এসকিউএল সার্ভারের পুরানো সংস্করণগুলিতে, কোনও ব্যবহারকারী মুছে ফেলা স্কিমার সাথে এটি সম্পর্কিত ছিল যা ব্যবহারযোগ্য নয়। এই দিন ব্যবহারকারী এবং স্কিমা মধ্যে ম্যাপিং কম কঠোর হয়। এছাড়াও, এটি ডেটাবেসের মালিকানা এবং সমস্ত স্কিমার একক নকল অ্যাকাউন্ট করা সেরা অনুশীলন হিসাবে বিবেচিত হয়।
জনাথন অ্যালেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.