Structured, as you named it, data in WordPress is combination of following features:
- [custom] post type – more accurately described as content type, you can register custom instead of bending generic “post” post type;
- taxonomies – for organizing posts into groups (native “category” and “tag” are taxonomies);
- custom fields – for storing bits of data with posts.
After you determine how you requirements are best mapped to these you will need to:
- Register CPTs / Taxonomies.
- Come up with appropriate interface for them in admin (scale is wide from basic native bits to very elaborate and specialized interfaces there).
- Implement display of these in theme.