Well, lets take the example of having to create a "website builder"
So people can create a website and each person can have a different number of pages. So lets say a user wants to create a website with 7 pages.
If you were doing this in the structure of the database itself to have 7 pages, your table might look like this:
User Table Name | Page 1 | Page 2 | Page 3 | Page 4 | Page 5 | Page 6 | Page 7|
This presents two basic problems, 1, to add a page you have to change the sturcture of the database which can break your SQL statements among other things. and 2, your table will only have 1 row which defeats having a database.
So instead, break the User Table, and Table contents into different tables.
Example:
User's and Tables
Table ID [Unique to each row ] | User ID [ Assigns ownership ] | Title
okay so now I have a table that creates "Tables" for each user. So now creating a table simply add's a row to the "User's and TAbles' table rather then an additional item in the database itself.
So now I want to Add pages to my table, so I have a master "Pages" Table
Page ID [ Unique to reach row] | Table Id [Relates page to specific table ] | Page Title | Page Content
So now adding pages to a table really means I'm just adding rows to the "Pages" table, so I can have as many as I want, add or delete pages and it wont effect my database.