The categories for each page are held in pn8_content_pagecategory with links to the page_id (I presume in pn8_content_page) and category_id (presume in pn8_categories_category). I think that must be correct.
The page tree structure seems to be held in pn8_content_page in four field depth, order, left and right. I guess that is a historical phenomenon.
SELECT DISTINCT
page_id AS "id",page_ppid AS "parentPageId",page_title AS "title",page_urlname AS "urlname",page_layout AS "layout",page_categoryid AS "categoryId",page_active AS "active",page_activefrom AS "activeFrom",page_activeto AS "activeTo",CASE WHEN page_active = 1 AND (page_activeFrom <= NOW() OR page_activeFrom IS NULL) AND (page_activeTo > NOW() OR page_activeTo IS NULL) THEN 1 ELSE 0 END AS "isActive",page_inmenu AS "inMenu",CASE WHEN page_inmenu = 1 AND page_active = 1 AND (page_activeFrom <= NOW() OR page_activeFrom IS NULL) AND (page_activeTo > NOW() OR page_activeTo IS NULL) THEN 1 ELSE 0 END AS "isInMenu",page_pos AS "position",page_level AS "level",page_setleft AS "setLeft",page_setright AS "setRight",page_obj_status AS "obj_status",page_cr_date AS "cr_date",page_cr_uid AS "cr_uid",page_lu_date AS "lu_date",page_lu_uid AS "lu_uid",
transp_title,
pn_uname
FROM pn8_content_page
LEFT JOIN pn8_content_translatedpage t
ON t.transp_pid = page_id
AND t.transp_lang = 'eng'
LEFT JOIN pn8_users usr
ON usr.pn_uid = page_lu_uid
ORDER BY setLeft DESCTemplate courtesy of Designs By Darren.