Plugins are strongly discouraged from dealing with database issues themselves, which makes for a more stable system that also has visible benefits for the end user. Content created by different plugins can be mixed together in consistent ways, which are programmed using generic principles - in other words, plugins are faster to develop, and are at the same time much more powerful.
Every entity in the system inherits the ElggEntity class. This class controls access permissions, ownership and so on.
You can extend entities with extra information in two ways: