OO PHP backend application: efficient structuring of classes / tables

I am currently working on an application backend (business directory). The main "actor" is the "Record", which will have:

- main category
    - subcategory
        - tags (instead of unlimited sub-levels of division)

I am new to OOP, but I still want to use it here. The database is MySql and I will use PDO.

In an attempt to find out which database table structure I should use to support the above classification of records, I was thinking of a solution that Wordpress uses - it establishes a connection between a record and cats / pranks / tags through several tables (terms, taxonomies, relationships). In my opinion, this is now preventing each relationship of any kind from being represented by a line in the relationship table. Given the 50,000 entries that I would like to add to a specific entry: can the main cat, subtitle and up to 15 tags slow down the application (or am I mistaken)?

Then I learned a little about Table Data Gateway, which seemed like a great solution because I liked the idea of ​​having one table for one class, but then I read that there is practically no way to successfully deal with the error between OOP and relational mapping.

- , , , ? , :

  • tblentry
  • tblcategory
  • tblsubcategory
  • tbltag

. , , ? ( , , )?

+3
1

, , , .

( , ), ( ) :

  • id1 ( )
  • linkid ( , )
  • id2 ( )

.

" " . , , (child of, tag of, parent of) .

() :

id     nature     table1    table2
1      parent of  entry     tags
2      tag of     tags      entry

1 , , 2

id - . id . , .

+1

All Articles