Database Migration, Part III
We're talking about extracting data from complex relational databases. This is -- in a way -- another case study for my Unlearning SQL book.
more ...We're talking about extracting data from complex relational databases. This is -- in a way -- another case study for my Unlearning SQL book.
more ...We're talking about extracting data from complex relational databases. This is -- in a way -- another case study for my Unlearning SQL book.
more ...Let's talk about extracting data from complex relational databases. This is -- in a way -- another case study for my Unlearning SQL book.
more ...Big Announcement: the 2024.8 version of Unlearning SQL, and the 2024.9 version of Pivot to Python are available from booksellers online. Both are revised and all the code tested with Python 3.12.
This book shows you how to translate essential SQL concepts into the Python …
Book (pre) Announcement:
Consider, for a moment, the shelve and dbm packages for storing things in a “database.” Built-in. Lightweight. The database is essentially a mapping from identifiers to objects. It can be quite nice.
The shelve module directly puts Python objects in a file. It’s an ideal database structure for Python …
more ...Fundamentally, we need to provide explicit version identification on a schema. This is technically easy, but organizationally nearly impossible.
Technically, we need to use some kind of version control software for our model and the resulting DDL. We need some meta-meta-data to track schema names and version numbers. If we …
more ...I've been asked about the proper location of Stored Procedures more than once. I've come down very strongly in opposition to triggers and stored procedures.
First, PL/SQL is slow . Anecdotally, people claim that introducing PL/SQL made an app faster. I submit that they restructured the application significantly to …
more ...I use the word denormalization heavily, to make a point to a certain class of developers. Other developers object to the term, since it doesn't have a precise meaning.
The point I often have to make this:
The comment was eaten by Haloscan, but here's the text...
You need to read Rozhenstein on characteristic functions.
select sum(case when a < .5 then 1 else 0 end) 'A' ,sum(case when a >= .5 and a < .75 then 1 else 0 end) 'B' ,sum(case when a >= .75 then …more ...