Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6884729
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T05:32:43+00:00 2026-05-27T05:32:43+00:00

According to Database Processing: Fundamentals, Design, and Implementation 11th ed., The problem for the

  • 0

According to “Database Processing: Fundamentals, Design, and Implementation” 11th ed.,

“The problem for the data models of N:M relationships between strong
entity is that they have no direct representation. An N:M
relationship must always be decomposed into two 1:N relationships
using an intersection table in the database design.”

OK, I get that. But what if your intersection table creates a many to many. I have come up with a simple example. Lets take a video store. The video store has many copies of each movie, and each movie has many actors. So, to show the database tables:

TITLE  (The movie title.)
TitleNumber   (unique pk)
Title

VIDEO 
VideoNumber   (each copy is unique even across titles, so unique  pk)
TitleNumber  (fk)

TITLE_ACTOR
TitleNumber  (pk)
ActorNumber  (pk)
CharactorPlayed

ACTOR
ActorNumber  (pk)
FirstName
LastName

So lets say you have three copies of Star Wars I. And a copy of Raiders of the lost arc. Star wars would have video numbers 1-3 and Raiders would have video number 4, and the next movie or copy would be 5.

So the issue I see is that VIDEO and TITLE_ACTOR both have the TitleNumber (I.e. movie title) in common. And both tables allow for many duplicates of the TitleNumber, many copies of a title and a title can have many actors. So VIDEO to TITLE_ACTOR is a many to many relationship. Is that correct so far? Or does the composite key change it? Or something else?

Normally you join these with a transition table, but they are already joined. I don’t see a way to move a attribute over to make a 1:M without anomolies.

I have spent many days researching this, books and online. Please be kind as I am here to learn.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T05:32:44+00:00Added an answer on May 27, 2026 at 5:32 am

    The relationships can be diagrammed as follows:

    VIDEO >-- TITLE --< TITLE_ACTOR >-- ACTOR
    

    Where “>--” is a many-to-one relationship and “--<” is one-to-many.

    You’re right that a query that joins VIDEO to TITLE_ACTOR, even indirectly via TITLE, is going to match N rows from VIDEO to M rows from TITLE_ACTOR, and the result set will have N*M rows for a given TITLE. That’s a Cartesian product between VIDEO and TITLE_ACTOR, if there are no direct join restrictions between those two tables.


    Re your comments:

    The diagram notation I show can illustrate the difference between a logical many-to-many relationship, and the physical implementation of that relationship, using an intersection table containing two many-to-one relationships. For example, the logical relationship we’re trying to represent is the following:

           TITLE >---< ACTOR
    

    You might draw your logical data model this way while you’re designing the relationships.

    But SQL does not support a way to store a many-to-many relationship. To store it physically in the database, we must use an intersection table:

    TITLE --< TITLE_ACTOR >-- ACTOR
    

    For any logical many-to-many relationship, your physical model adds an intersection table and reverses the direction of the arrows. This physical model achieves the same relationship as the logical many-to-many relationship.

    Does this mean that on a diagram, that I shouldn’t show a direct relationship from video to title_actor?

    Yes, I would consider there to be the following relationships:

    • VIDEO references TITLE (M:1)
    • TITLE_ACTOR references TITLE (M:1)
    • TITLE_ACTOR references ACTOR (M:1)

    But there is no direct relationship from VIDEO to TITLE_ACTOR. Only an indirect relationship via TITLE.

    The references correspond to foreign key constraints. For example, VIDEO contains a foreign key referencing TITLE, but VIDEO does not contain (and has no need for) a foreign key referencing TITLE_ACTOR.

    FWIW, the diagram above is my attempt to make a simple ASCII format of an Entity-Relationship Model.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm running the following code to update the database according to the data I
I have a dynamic text file that picks content from a database according to
i want to create tabs according to data from MySQL database using php for
I'm creating a stored procedure for searching some data in my database according to
I want to retrieve data from core data (sqlite database) according to primary key.
I'm trying to get data from database according to the item selected in the
I've got my model updating the database according to some information that comes in
I am designing a web application that retrieves records from a database according to
I had gridview which get data from database according to two event .The first
According to the PDO documentation , you can store database login details in php.ini,

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.