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 929549
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T20:11:29+00:00 2026-05-15T20:11:29+00:00

I am currently building a small web application for publishing stories using PHP and

  • 0

I am currently building a small web application for publishing stories using PHP and MySQL. Each story may either be a article (with lots of fields and data), just a hyperlink/url, just an image, or a downloadable file with certain attributes (once again with lots of fields).

My problem is related to finding the optimal database layout for the system. I have thought about 3 different solutions that may or may not work (fields are just examples, don’t get caught of with whether the data should be stored in the database or not):

1) Making one table for each type and just UNION them. E.g:

articles
id | date | title | author | preview | last_edited | category | content

hyperlinks
id | date | title | author | url

pictures
id | date | title | author | thumbnail | fullimg

files
id | date | title | author | filetype | filename | filecontent

Is it possible to make a SQL statement that will concat these in such a way that every field is added to the rows from the individual tables and the individual row is “tagged” with its type depending on which table its from? Or do I have to settle for just the common fields (3-4 field WILL be identical for each table) and to individual lookups for each row?

2) Making some sort of index table that references the correct table and row depending on the type?

index
id | type | title | date | referenceid -> either articles, hyperlinks, pictures or files depending on the “type” field.

Is this possible in some way when using foreign keys? I suspect no, but not really sure what you can and can not do in MySQL.

3) Have ALL fields for ALL types in one and the same table and just make the specific field nullable (I dont really like this solution since it appears messy).

Any ideas?

I suspect I can not be the first person to have encountered the issue of references to different entity types/fields depending on some sort of type.

Ideas are highly appreciated.

  • 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-15T20:11:30+00:00Added an answer on May 15, 2026 at 8:11 pm

    If you name fields, you can union then quite easily, and throw in whatever constants you like. I do this all the time:

    Select id, 'articles' as tablename, title, author, 
        preview, last_edited, category, '' as url
    from articles
    UNION
    Select id, 'hyperlinks' as tablename, title, author, 
        '' as preview, '' as last_edited, '' as category, url
    From hyperlinks
    ...
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 456k
  • Answers 456k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer Eclipse indeed already ships with decent builtin refactoring and static… May 15, 2026 at 10:23 pm
  • Editorial Team
    Editorial Team added an answer Look it up in the spec, or better yet a… May 15, 2026 at 10:23 pm
  • Editorial Team
    Editorial Team added an answer Your code, will display the file to the user perfectly.… May 15, 2026 at 10:23 pm

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

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.