এক থেকে একের মধ্যে এবং বহু-এক সম্পর্কের মধ্যে পার্থক্য


117

এক থেকে বহু এবং একের মধ্যে সম্পর্কের মধ্যে আসল পার্থক্য কী? এটি কেবল বিপরীত হয়, ধরনের?

আমি এই বিষয়টি ব্যতীত অন্য কোনও বিষয় সম্পর্কে 'ভাল-এবং-সহজেই বোঝার' টিউটোরিয়ালটি পাই না: প্রারম্ভিকদের জন্য এসকিউএল: পার্ট 3 - ডাটাবেস সম্পর্ক


1
এটি নিখুঁত ব্যাখ্যা:
en.wikedia.org/wiki/Many-to-many_(data_model

@ রবার্টপিট কীভাবে বহু থেকে বহু নিবন্ধের প্রাসঙ্গিক? আপনি সম্ভবত বোঝাতে চেয়েছিলেন en.wikedia.org/wiki/One-to-many_(data_model)
টিএমজি

উত্তর:


111

হ্যাঁ, এটি তদ্বিপরীত। সত্তাটি সম্পর্কের কোন দিকে রয়েছে তা নির্ভর করে।

উদাহরণস্বরূপ, যদি একটি বিভাগ তত্কালীন বেশ কয়েকটি কর্মচারীর জন্য নিয়োগ করতে পারে তবে বিভাগ থেকে কর্মচারী হ'ল একের সাথে একাধিক সম্পর্কের (1 বিভাগে অনেক কর্মচারী নিয়োগ করা হয়), অন্যদিকে কর্মচারী থেকে বিভাগের সম্পর্ক অনেকের মধ্যে এক থেকে একাধিক কর্মচারী এক বিভাগেই কাজ করেন work

সম্পর্কের ধরণের উপর আরও তথ্য :

ডাটাবেস সম্পর্ক - আইবিএম ডিবি 2 ডকুমেন্টেশন


2
আমি ভয় পাই যে দৃশ্যগুলি তৈরি করে না! ( নিশ্চিত না তবে ) আমি মনে করি ক্রমটি নির্ভরতা উপস্থাপন করে! তাই না ?? EG, A ব্যবহারকারীর ভূমিকা একের বেশি হতে পারে তবে একের বেশি নয় কারও ভূমিকা ব্যবহারকারী ব্যবহারকারীর উল্লেখ পেতে পারে না! যে জানার জন্য?
আমানুয়েল নেগা


29

ডাটাবেস টার্মিনোলজি সম্পর্কে এই পৃষ্ঠা থেকে

সারণীর মধ্যে সর্বাধিক সম্পর্ক এক থেকে অনেকের।

উদাহরণ:

  • একটি অঞ্চল অনেক পাঠকের আবাস হতে পারে।
  • এক পাঠকের অনেক সাবস্ক্রিপশন থাকতে পারে।
  • একটি পত্রিকায় অনেক সাবস্ক্রিপশন থাকতে পারে।

অনেকের সাথে এক সম্পর্কের ক্ষেত্রে এক থেকে অনেকের মতোই, তবে ভিন্ন দৃষ্টিকোণ থেকে।

  • অনেক পাঠক এক জায়গায় থাকেন।
  • অনেক সাবস্ক্রিপশন এক এবং একই পাঠকের হতে পারে।
  • অনেক সাবস্ক্রিপশন এক এবং একই সংবাদপত্রের জন্য।

20

এক থেকে বহু এবং একের মধ্যে সম্পর্কের মধ্যে আসল পার্থক্য কী?

এই শর্তাদিগুলির মধ্যে ধারণাগত পার্থক্য রয়েছে যা আপনাকে ডেটা ভিজ্যুয়ালাইজ করতে এবং জেনারেটেড স্কিমায় সম্ভাব্য পার্থক্য যা সম্পূর্ণ বোঝা উচিত। বেশিরভাগ ক্ষেত্রে পার্থক্য যদিও দৃষ্টিভঙ্গির একটি।

একটি একের সাথে অধিকের সম্পর্ক, স্থানীয় টেবিল এক সারি যে অন্য টেবিলে অনেক সারি সঙ্গে যুক্ত করা হতে পারে। প্রারম্ভিকদের জন্য এসকিউএল থেকে উদাহরণে , এক Customerঅনেকগুলি Orderএস এর সাথে যুক্ত হতে পারে ।

বিপরীতে বহু-টু-ওয়ান সম্পর্কের ক্ষেত্রে, স্থানীয় টেবিলটিতে অনেকগুলি সারি থাকতে পারে যা অন্য সারণীতে এক সারির সাথে যুক্ত। আমাদের উদাহরণে, অনেকগুলি Orderএকটির সাথে যুক্ত হতে পারে Customer। মানসিক উপস্থাপনের জন্য এই ধারণাগত পার্থক্য গুরুত্বপূর্ণ।

তদ্ব্যতীত, সম্পর্কের পক্ষে সহায়তা করে এমন স্কিমাটি টেবিলে Customerএবং Orderসারণীতে আলাদাভাবে উপস্থাপিত হতে পারে । উদাহরণস্বরূপ, যদি গ্রাহকের কলাম থাকে idএবং name:

id,name
1,Bill Smith
2,Jim Kenshaw

তারপর একটি Orderএকটি সঙ্গে যুক্ত করা হবে Customer, অনেক SQL এর বাস্তবায়নের যোগ Orderটেবিল একটি কলামে সঞ্চয় করে idযুক্ত এর Customer(এই স্কিমা মধ্যে customer_id:

id,date,amount,customer_id
10,20160620,12.34,1
11,20160620,7.58,1
12,20160621,158.01,2

উপরের ডাটা সারিগুলিতে, আমরা যদি customer_idআইডি কলামটি দেখি, আমরা দেখতে পাই যে Bill Smith(গ্রাহক-আইডি # 1) এর সাথে 2 টি অর্ডার যুক্ত রয়েছে: একটি 12.34 ডলার এবং একটি $ 7.58 এর জন্য। Jim Kenshaw(গ্রাহক-আইডি # 2) এর 158.01 ডলারে কেবল 1 টি অর্ডার রয়েছে।

যেটি উপলব্ধি করা গুরুত্বপূর্ণ তা হ'ল সাধারণত এক-একাধিক সম্পর্কের টেবিলটিতে আসলে কোনও কলাম যুক্ত হয় না যা "এক"। এর Customerসাথে কোনও অতিরিক্ত কলাম নেই যা সম্পর্কের বর্ণনা দেয় Order। বস্তুত Customerশক্তি এছাড়াও সঙ্গে একটি একের সাথে অধিকের সম্পর্ক আছে ShippingAddressএবং SalesCallটেবিল এবং এখনো কোন অতিরিক্ত কলাম যোগ করা আছে Customerটেবিল।

তবে, বহু-এক-সম্পর্কের বর্ণনা দেওয়ার জন্য, প্রায়শই id"অনেকগুলি" টেবিলের সাথে একটি কলাম যুক্ত করা হয় যা "এক" টেবিলের জন্য একটি বিদেশী-কী - এই ক্ষেত্রে একটি customer_idকলাম যুক্ত করা হয় Order। সম্পর্কিত অর্ডার # 10 থেকে for 12.34 ডলারে Bill Smith, আমরা customer_idকলামটির Bill Smithআইডি 1 তে নির্ধারণ করি ।

যাইহোক, সেখানে আরও একটি সারণী থাকা Customerএবং Orderসম্পর্কের বর্ণনা দেওয়াও সম্ভব , যাতে সারণীতে কোনও অতিরিক্ত ক্ষেত্র যুক্ত করার প্রয়োজন হয় না Order। সারণীতে একটি customer_idক্ষেত্র যুক্ত করার পরিবর্তে Order, এমন Customer_Orderটেবিল থাকতে পারে যা উভয় Customerএবং এর জন্য কী যুক্ত করে Order

customer_id,order_id
1,10
1,11
2,12

এই ক্ষেত্রে, ওয়ান-টু-ওয়ান--এক-এক সমস্ত ধারণাগত, কারণ তাদের মধ্যে কোনও স্কিমার পরিবর্তন নেই। আপনার স্কিমা এবং এসকিউএল বাস্তবায়নের উপর কোন প্রক্রিয়া নির্ভর করে।

আশাকরি এটা সাহায্য করবে.


3
সাধারণ কেসকে অন্তর্ভুক্তি নির্ভরতা বলে। একটি বিদেশী কী সীমাবদ্ধতা অন্তর্ভুক্তি নির্ভরতা সবচেয়ে সাধারণ ধরণের তবে সমস্ত অন্তর্ভুক্তি নির্ভরতা বিদেশী কী জড়িত না। উভয় টেবিলে সর্বদা সাধারণ বৈশিষ্ট্য বা বৈশিষ্ট্য ("রেফারেন্স") বিদ্যমান থাকে । "এক" দিকে সেই বৈশিষ্ট্যগুলিকে প্রার্থী কী বলা হয়। "অনেকগুলি" পক্ষে তারা একটি বিদেশী কী হতে পারে। "এক-এক-বহু" বা "বহু-এক-" শর্তাবলী অন্তর্ভুক্ত হওয়া কোনও প্রার্থীর কী জড়িত তা অন্তর্ভুক্ত না করে কোনও দিকটি beচ্ছিক হতে পারে তা অন্তর্ভুক্ত না করে কোনও অন্তর্ভুক্তি নির্ভরতাতে প্রয়োগ করা যেতে পারে।
nvogel

আকর্ষণীয় জাভাতে javax.persistence.OneToManyআলাদা আলাদাভাবে ManyToOne। আপনি কি বলছেন যে তারা সমার্থক বা ঠিক এটি বাস্তবায়নের উপর নির্ভর করে? আমার উত্তর কি ভুল?
ধূসর

2
প্রশ্নটি জাভা নয়, রিলেশনাল ডাটাবেস এবং এসকিউএল সম্পর্কে। সম্ভবত আপনি জাভা সম্পর্কে ঠিক আছে।
nvogel

আমি @sqlvogel এর উদাহরণ হিসাবে এটি ব্যবহার করছিলাম। আপনি কি বলছেন যে "ওয়ান-টু-বহু" এবং "বহু-থেকে-এক" সমার্থক?
ধূসর

2
আমি বলছি যে সেগুলি হ'ল একই সম্পর্কের বর্ণনা দেওয়ার দুটি উপায় তবে ভিন্ন দৃষ্টিকোণ থেকে। "এ বি এর উপসেট যেভাবে" এর অর্থ "বি এ এর ​​সুপারস্টেট" এর মতই।
এনভিজেল

4

এখানে কোন পার্থক্য নেই. আপনি যেভাবে সম্পর্কটিকে বলছেন তা কেবল ভাষা এবং পছন্দ বিষয় মাত্র।


1
অবশ্যই একটি পার্থক্য রয়েছে, উভয় ধারণাগতভাবে এবং উত্পন্ন স্কিমা হিসাবে। আমার উত্তর দেখুন: stackoverflow.com/a/37954280/179850
ধূসর

4
@Gray। কোন নেই. আপনার উত্তরটি কেবল ভুল নয়, এটি প্রাথমিকভাবে বিভ্রান্ত করে (যারা এই প্রশ্নটি জিজ্ঞাসা করছেন)।
পারফরম্যান্সডিবিএ

4

আপনার প্রথম প্রশ্নের উত্তর হ'ল: উভয়ই একই রকম,

আপনার দ্বিতীয় প্রশ্নের উত্তরটি হ'ল: এক থেকে বহু -> একজন পুরুষ (পুরুষ টেবিল) এর একাধিক স্ত্রী থাকতে পারে (মহিলা টেবিল) একাধিক থেকে এক -> একাধিক মহিলা এক পুরুষকে বিবাহ করেছিলেন have

এখন আপনি যদি এই সম্পর্কটি দুটি টেবিল MAN এবং WOMEN এর সাথে সম্পর্কিত করতে চান তবে একটি পুরুষ টেবিল সারিতে WOMEN টেবিলের সারিগুলির সাথে অনেকগুলি সম্পর্ক থাকতে পারে। আশা করি এটা পরিষ্কার হয়ে যাবে


3

উদাহরণ

একটি সম্পর্কযুক্ত দুটি টেবিল

এসকিউএল

এসকিউএল-তে কেবল এক ধরণের সম্পর্ক থাকে, একে রেফারেন্স বলা হয়। (আপনার সামনের প্রান্তটি সহায়ক বা বিভ্রান্তিকর কাজগুলি করতে পারে [যেমন উত্তরগুলির কয়েকটি হিসাবে] তবে এটি একটি ভিন্ন গল্প))

  • একজন বিদেশী কী এক টেবিলে ( referenc ing টেবিল)
    তথ্যসূত্র
    একটি প্রাথমিক কী অন্য সারণিতে ( referenc ইডি টেবিল)
  • এসকিউএল পদে, বারের উল্লেখ রেফারেন্স
    অন্যভাবে নয় oo

    CREATE TABLE Foo (
        Foo   CHAR(10)  NOT NULL, -- primary key
        Name  CHAR(30)  NOT NULL
        CONSTRAINT PK             -- constraint name
            PRIMARY KEY (Foo)     -- pk
        )  
    CREATE TABLE Bar (
        Bar   CHAR(10)  NOT NULL, -- primary key
        Foo   CHAR(10)  NOT NULL, -- foreign key to Foo
        Name  CHAR(30)  NOT NULL
        CONSTRAINT PK                -- constraint name
            PRIMARY KEY (Bar),       -- pk
        CONSTRAINT Foo_HasMany_Bars  -- constraint name
            FOREIGN KEY   (Foo)      -- fk in (this) referencing table
            REFERENCES Foo(Foo)      -- pk in referenced table
        )
  • যেহেতু Foo.Fooএকটি প্রাথমিক কী, এটি অনন্য, যে কোনও প্রদত্ত মানের জন্য কেবল একটি সারি রয়েছেFoo

  • যেহেতু Bar.Fooএকটি রেফারেন্স, একটি বিদেশী কী এবং এটিতে কোনও অনন্য সূচক নেই, যে কোনও প্রদত্ত মানের জন্য অনেকগুলি সারি থাকতে পারেFoo
  • অতএব সম্পর্কটি Foo::Barএক-থেকে-বহু
  • এখন আপনি অন্যদিকে সম্পর্কটি বুঝতে পারবেন (দেখুন) Bar::Fooবহু-এক-এক
    • তবে এটি আপনাকে বিভ্রান্ত করতে দেবেন না: যে কোনও একটি Barসারির জন্য, কেবলমাত্র একটি Fooসারি রয়েছে যা এটি উল্লেখ করে
  • এসকিউএল এ, আমাদের কাছে এটিই রয়েছে। এটিই প্রয়োজনীয়।

একের মধ্যে অনেকের সাথে অনেকের মধ্যে একটি সম্পর্কের মধ্যে আসল পার্থক্য কী?

কেবল একটি সম্পর্ক আছে, তাই কোনও পার্থক্য নেই। উপলব্ধি (একটি "প্রান্ত" বা অন্য "প্রান্ত" থেকে) বা পিছনের দিকে পড়া, সম্পর্ক পরিবর্তন করে না।

Cardinality

কার্ডিনালিটি ডেটা মডেলটিতে প্রথমে ঘোষণা করা হয় যার অর্থ লজিকাল এবং ফিজিক্যাল (অভিপ্রায়) এবং তারপরে বাস্তবায়নে (উদ্দেশ্যটি উপলব্ধি করা)।

Cardinality

এক থেকে অনেকগুলি
এসকিউএল -তে (উপরের) সমস্ত প্রয়োজনীয়।

এক থেকে একের মধ্যে অনেককে রেফারেন্সিং সারণীতে এটি প্রয়োগ করতে আপনার
একটি লেনদেনের প্রয়োজন ।

এক থেকে শূন্য থেকে
আপনার প্রয়োজন Bar:

CONSTRAINT AK    -- constraint name
    UNIQUE (Foo) -- unique column, which makes it an Alternate Key

একের পর এক আপনার রেফারেন্সিং সারণীতে এটি প্রয়োগ করতে
একটি লেনদেনের প্রয়োজন ।

অনেকের কাছে অনেকগুলি
শারীরিক স্তরে এ জাতীয় কোনও জিনিস নেই (প্রত্যাহার করুন, এসকিউএলে কেবল এক ধরণের সম্পর্ক রয়েছে)।

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

বহু থেকে বহু সমাধান হয়েছে


1
@ মার্তিজন পিটারস আমি আচরণের কোডটি মেনে চলার জন্য এটি সম্পাদনা করতে পারি। তবে আপনি (ক) ব্যাখ্যাও সরিয়ে দিয়েছেন এবং (খ) বাস্তবে প্রমাণিত সত্যগুলিও। আমি তাদের সম্পর্কে কি করব?
পারফরম্যান্সডিবিএ

3
কারও বুদ্ধি বা পেশাগত আচরণের বিষয়ে রেটিং, নাম কল করা এবং persালাই ছাড়াই এই বিষয়গুলি প্রকাশ করার জন্য একটি আলাদা উপায় সন্ধান করুন। প্রযুক্তিতে মনোনিবেশ করুন, এমন লোকের প্রতি নয় যা ভুল হতে পারে বা নাও পারে।
মার্টিজন পিটারস

2

এক-থেকে-একাধিক এবং একাধিক টু-ওয়ান বহুগুণে সমান তবে দিক (যেমন দিকনির্দেশ) নয়।

সত্তা শ্রেণি এবং সারণীর মধ্যে সম্পর্কের মধ্যে অ্যাসোসিয়েশনগুলির ম্যাপিং । সম্পর্কের দুটি বিভাগ রয়েছে:

  1. বহুগুণ (ইআর শব্দ: কার্ডিনালিটি)
    • এক-একের সম্পর্ক : স্বামী এবং স্ত্রী উদাহরণ
    • একের সাথে একাধিক সম্পর্ক : মা ও শিশুদের উদাহরণ
    • বহু থেকে বহু সম্পর্ক : উদাহরণ শিক্ষার্থী এবং বিষয়
  2. দিকনির্দেশনা : ম্যাপিংয়ের উপর প্রভাব ফেলবে না তবে কীভাবে আমরা ডেটা অ্যাক্সেস করতে পারি তার মধ্যে পার্থক্য রয়েছে।
    • ইউনি-দিকনির্দেশক সম্পর্ক : একটি সম্পর্কের ক্ষেত্র বা সম্পত্তি যা অন্য সত্তাকে বোঝায়।
    • দ্বি-দিকীয় সম্পর্ক : প্রতিটি সত্তার একটি সম্পর্ক ক্ষেত্র বা সম্পত্তি থাকে যা অন্য সত্তাকে বোঝায়।

রিলেশনাল ডেটাবেজে কোনও "দিকনির্দেশ" নেই। প্রতিটি সম্পর্কের দুটি "শেষ" থাকে: রেফারেন্স (টেবিলটি রেফারেন্স করা হচ্ছে) এবং রেফারেন্সিং (রেফারেন্সিংয়ের টেবিল)। এসকিউএল / ডিএমএল যে কোনও টেবিলটিকে রেফারেন্স করার অনুমতি দেয়, আপনি যেভাবেই চান… একপাশে… অন্যপাশ… উভয় পক্ষ… কোনও পক্ষ নেই।
পারফরম্যান্সডিবিএ

0

ব্যবহারিক পার্থক্য নেই। কেবল সেই সম্পর্কটি ব্যবহার করুন যা দেবেন্দ্রর চিত্রিত হিসাবে আপনার সমস্যাটিকে দেখার উপযোগী করে তুলেছে।


অবশ্যই একটি পার্থক্য রয়েছে, উভয় ধারণাগতভাবে এবং উত্পন্ন স্কিমা হিসাবে। আমার উত্তর দেখুন: stackoverflow.com/a/37954280/179850
ধূসর

3
@Gray। কোন নেই. আপনার উত্তরটি কেবল ভুল নয়, এটি প্রাথমিকভাবে বিভ্রান্ত করে (যারা এই প্রশ্নটি জিজ্ঞাসা করছেন)।
পারফরম্যান্সডিবিএ

0
  • --- এক থেকে অনেক --- একজন পিতামাতার দুটি বা ততোধিক বাচ্চা থাকতে পারে।
  • --- অনেকের কাছে --- এই 3 সন্তানের একক পিতা-মাতা থাকতে পারে।

    দুটোই একই রকম। এটি প্রয়োজন হতে পারে ব্যবহার করা যেতে পারে। যদি আপনি কোনও নির্দিষ্ট পিতামাতার জন্য বাচ্চাদের সন্ধান করতে চান তবে আপনি ওয়ান-টু-ম্যানের সাথে যেতে পারেন। অন্যথায়, যমজ সন্তানের জন্য বাবা-মাকে খুঁজে পেতে চান, আপনি একাধিক-ও-ও-তে যেতে পারেন। অনুরূপভাবে ....,


-6

এক-একের মধ্যে অনেকের প্যারেন্ট ক্লাসে এন সংখ্যক শিশু থাকে তাই এটি সংগ্রহের ম্যাপিং।

একাধিক-টু-ও- এর মধ্যে একাধিক শিশু রয়েছে যার মধ্যে একটি প্যারেন্ট থাকে তাই এটি একটি অবজেক্ট ম্যাপিং


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

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