← Back to context

Comment by kasey_junk

2 months ago

The article describes why. 2 different db engines (or even instances) can use different file layouts for the same schema.

In many was sql is all about divorcing the schema from the files.

But on the other hand, in all database systems the schema is used to determine how the files are laid out. Although I suppose the same thing could be argued for any data that is stored in a file, excepting that a schema is metadata that determines the organisation of data so it's a bit of a special case.

  • In a Microsoft Word document, the section headings also tell Word how to lay out the Word document file.

    • Do you mean that section headings aren't a file layout? That's their entire purpose.

      Edit: If you're talking about the byte representation only, I don't think section headings indicate the placement of the body's bytes.

      4 replies →

    • Arguably, all requests for files could be returned with all of the letters in the document but scrambled in a random order soas to obfuscate the file layout.

There's a solid chance that the schema gives away what DBMS is being used. But even if it didn't, I'd still call it a file layout in this context.

Another way to think about it is that if a SQL schema is a file, so is an Excel spreadsheet template.

  • It's interesting that the opening analogy in the post uses an Excel spreadsheet as a great way to explain a database. It's such an easy next step to say the way an xls/ods file is saved is a file format but the column layout in the tabs/tables are the schemas. The court (and the city) playing these games is so scary since it is so biased toward all modern government data being covered by FOIA exemptions.

  • File or file layout? Cause both of these are probably stored as files, .sql and .xltx respectively.