I am new to database management/design but am fascinated by the subject and the possibilities it provides. I have had some experience with the following:
- tables
- attributes
- fields and data types
- defining foreign and primary keys
- establishing one to many, one to one and many to many relationships using junction tables
- developing queries using SQL
I have encountered one data structure that I have not been able to model properly in SQL for instance. Namely, the case where a field contains itself another table. This is frequently encountered in procedural and object oriented programming where data structures (such as derived types in fortran) can contain subtypes which hold only one value at a time but also subtypes which hold arrays... etc. In python for example it is possible that a "field" in a dict
can hold a list which itself can hold fields of any given datatype including another list, dict or class. As you can see this allows for considerable complexity which I am not sure how to represent in a classical "database" schema in SQL where a table can have relationships with other tables but where they key: value schema is strictly enforced.
Anyone else know what I'm talking about? Is it possible/necessary to have tables within tables? If not, what SQL functionality renders this obsolete?
THanks