The database of classical music recordings used in this chapter is available for your own exercises.
(Table Cant Copy)
Some standard queries of the form report [name] are predefined. Here, for example, is the code that produced the report:
report[ allrecords ] :=
Module $[\{$ rel $\}$,
rel $=$ records;
rel $=$ Join $[$ rel, recordings $]$;
rel $=\operatorname{Join}[\mathrm{rel}$, works ];
rel = Join [ rel, composers ];
rel = Projection $[$ rel,
\{recordTitle, label, recordNumber,
composerName, workTitle\} ];
Report [rel, 3, 1]
]
The data entry command DataEntry is defined also in Music.m. After entering new data, you can write the modified database to the file music.db using save. A backup copy of the old file is first put into music.db.bak.