Category: SQL

  • Group Composition Assertions I: Literal Rules

    A series of posts exploring the use of assertions to enforce group composition rules. This first post uses literal rules to generate assertions, for example “a university department must have faculty members”. Several…

    read more

  • Temporal SQL Assertions III: Effective Periods

    In the previous post of this series (Temporal SQL Assertions II: Ignore Legacy Data) we took a typical enterprise approach to applying business rules only to current data in motion and considering older data…

    read more

  • Temporal SQL Assertions II: Ignore Legacy Data

    In the previous post (Temporal SQL Assertions I: Unconditional and Unvalidated) we explored a naive solution that used SQL assertions to validate customer discounts for a customer loyalty program. The basic idea was sound,…

    read more

  • Temporal SQL Assertions I: Unconditional and Unvalidated

    In this series of posts we will explore using assertions to enforce business rules in a changing data landscape. This first article explores the limitations of a simplistic approach to a problem that…

    read more

  • Sparse Vectors

    An exploration of support for sparse vectors in Oracle database 23ai. In this article I review the capabilities and limitations of working with sparse vectors in SQL and PL/SQL.

    read more

  • Binary Vectors: Semantic Searches

    After using a variety of models to generate float32 vectors, we can convert these vectors to binary dimension formats using a macro. This allows us to explore and compare various approaches to vector…

    read more

  • Binary Vectors: Quantization

    A step-by-step exploration into the details of creating a scalar sql macro function to quantize binary vectors from vectors in other dimension formats.

    read more

  • Vector Math: Semantic Arithmetic

    An exploration of some simple examples of vector arithmetic using vector embeddings generated within the Oracle database.

    read more

  • Sparse Vector Storage: Setting Compatible Parameter on OCI Autonomous Database

    You can’t always get what you want…. Sometimes new features that come with a release update require the compatible initialization parameter to be set to a specific release or greater. VirtualBox 23ai Setting…

    read more

  • Incremental Rounding: Numbers

    A look at using pl/sql to create user defined functions and sql macros for incremental rounding.

    read more