I'm a bit new to database design and wondering what I should store in tables and what should stored with a markup-language in a text field that could then later be processed by the server. My tendency is to make a table for essentially everything but I've noticed many applications like say mediaWiki use markup to store their data in a large text field. Does this save time by limiting the amount of Database Queries and the size of Tables? Or does the server side processing take up more time?

My page structure is as follows:

Code:
Page contains:
id
page_image_id
user_id
title
path
deleted

Page has many Sections

Code:
Section contains:
id
page_id
position

Section has many Paragraphs
Section has many Images
Section has many Page_Links

Code:
Paragraph contains:
id
section_id
body_text
position
Code:
Image contains:
id
section_id
user_id
image_path
description
position
Code:
Page_link contains:
id
page_id
section_id
description
position


I like to design the database in mind of the possibility of reaching 100 000+ pages. Noting that, the last 3 tables could get very large very quickly. Would it be more efficient to store all that information in markup in the section table then processing the information using server-side code? Or am I underestimating the speed of database queries and this is more efficient as the data there ready to be manipulated? At which point should I stop making tables and use markup instead?