For photo albums I see many people use 3 tables: Albums Photos PhtoAlbums.
If however i consider a site like facebook this schema wont work (basically understand correct) because I could have a photo during my profile album and also the general albums however i can provide exactly the same picture different explanations, different tags, etc. The photo ID differs. So my prediction is whenever a user produces a duplicate of the photo it's treated a a completely new photo and therefore we want only two tables: Albums and Photos (that has FK to album)
Other available choices is have photo table with only one column (photo_id) and set all of the photo particulars within the PhotoAlbum table in order to give each unique qualities per Album. Shall We Be Held valid within this design?
Album. May be the relationship, so place the various payload (description, tags etc) around the
Photo_Album table (along with the photo itself) so while a photograph is incorporated in the database, each demonstration of the photo within an album can also be labeled/referred to.
After that you can be clever about how exactly you merge/display this data towards the user.
Also, remember Facebook is not a relational model. It is a "NoSQL"-style database for scaling reasons, and works very in a different way. You are able to research "NOSQL" on the internet for additional info on that train of thought.
Inside a relational database the Photo/Photo_Album/Album may be the normal method to keep data. The key since you store a photograph (or single entity) only one time but use other other systems to supply the consumer functionality you need.
You do not really need to produce a "copy" within the database from the photo to possess different meta-data affect it. You might have the meta-data (different tags, explanations ect) inside a table associated with the Photo_Album table that consists of this meta-data rather than keeping it within the Photo table. By doing this you'd have different meta-data for every mixture of a photograph as well as an Album.
Applying this three (well technically four) table related approach you could have meta-data about just a photograph or just an album or a mix of the 2.
Everything comes lower for your finish condition &lifier potential future needs, obviously but the purpose of this design pattern would be to treat your database like a separate, economical &lifier optimized data storage system. After this you use SQL/TSQL and several other "intermediate" systems to supply the interface for your GUI.