Make DB tables customizable from an Admin I want to build an commercial product promotional mobile application in which the administrator of the app will be able to customize some texts / pictures or whatever from the database that dynamically populates the application. 


  For example:
  
  
    Lets assume that the database has a description and a picture for the
    product XYZ. The administrator of the specific instance of the app
    decides to change the description of the product through the provided
    CMS for ONLY this instance of the app.
  


The application will run on tablets that the users will be able to use inside a store, so the administrator of each instance of the app will be the store owner or someone that works there. All the texts / pictures that appear to the application will be fetched from the database.

The application will support both customers login and administrator login. I mean that if the admin of a specific store changes the content of a customizable DB table, all the users that login from this instance of the app will see the customized content.

How is this possible? I first thought to COPY the table that i want to be customizable every time a ADMIN is registed and have a foreign key pointing to the administrator from admin table. Is this an acceptable solution?

PS. I use mysql.
You don't want to be in the business of constantly dynamically creating a separate table for each store's admin to store their own data in. Instead, use a single table and designate a column to differentiate the admin's customization, organized by store.

You haven't given enough details to get into the minutiae of the implementation, but this approach can facilitate having users only see/edit data from their store with a view, stored procedures, etc. once you associate each employee and inventory item to a specific store.

  Inventory
  ---------
  Image
  Description
  Price
  Store

  Employee
  ---------
  Name
  Store
  Title
  StartDate