SQLite User Forum

Awkward data for your toy music database
Login

Awkward data for your toy music database

(1) By Simon Slavin (slavin) on 2022-04-05 13:21:03 [link] [source]

We occasionally come across cases where well-intentioned schema constraints block genuine data from being entered into a long-standing database. But it usually happens in huge business-oriented databases run by big companies. Two common examples are the bank customer with the surname 'To', and anything involving the town named Scunthorpe in England.

However, a common toy teaching example is an Artist/Album/Single database which is seen as too simple to have such problems. I enjoyed this article

https://dustri.org/b/horrible-edge-cases-to-consider-when-dealing-with-music.html

which gives numerous examples of how small-scale non-bureaucratic real-world data can make life difficult for someone who likes CHECK and UNIQUE keywords.

It ends with a link to the documentation for the MusicBrainz database schema, which, of course, has to cope with all this silliness.

(2) By SeverKetor on 2022-04-05 14:19:19 in reply to 1 [source]

One thing it got close to but didn't quite cover was when you don't even have a name for something. I've got one song where I don't know what it's called, what album (if any) it's from, or who exactly created it. I guess I'd just fill in NULLs for names for it, though displaying the track somewhere would then still have to differentiate artists/albums/songs named Unknown (or similar) and properly unknown info.

Also kind of funny to see ░█░█░░█░█░█░ get mentioned given that that album is where I got my username here from.

(3.1) By Simon Slavin (slavin) on 2022-04-06 02:06:52 edited from 3.0 in reply to 2 [link] [source]

You could try playing that unknown song to Shazam, and services like that. It has a web-facing interface. You don't need to download or install anything.

Frankly, I think any artist who doesn't give their work a name which can be easily typed is just giving up any money they could make from it. But that's just me.