The semi-structured model is a database model where there is no separation between the data and the schema, and the amount of structure used depends on the purpose.
The advantages of this model are the following:
The primary trade-off being made in using a semi-structured database model is that queries cannot be made as efficiently as in a more constrained structure, such as in the relational model. Typically the records in a semi-structured database are stored with unique IDs that are referenced with pointers to their location on disk. This makes navigational or path-based queries quite efficient, but for doing searches over many records (as is typical in SQL), it is not as efficient because it has to seek around the disk following pointers.
The Object Exchange Model (OEM) is one standard to express semi-structured data, another way is XML.