BigQuery Schema Explorer

BQBundle: Pack your BigQuery schema into AI-friendly formats

Seamlessly export your BigQuery schemas in formats optimized for Large Language Models.

Learn more

Powerful Features

Everything you need to make your BigQuery data accessible to AI models

AI-optimised

Export schemas in formats specifically designed for easy consumption by LLMs.

Multiple formats

Choose from JSON, YAML, or Markdown formats to best suit your AI workflow.

Customisable

Select specific datasets, tables, and columns to include in your exports.

Token Counting

Optimize your prompts with built-in token counting for efficient AI interactions.

Data Security

All processing happens in your browser. No data is stored on our servers except login credentials. OAuth authentication ensures you can only export data you have authorized access to through your Google permissions.

Easy to Use

BQBundle makes it simple to browse your BigQuery datasets, select tables, and export schemas in just a few clicks.

  • Browse and select datasets and tables
  • View sample data to understand your schema
  • Export in your preferred format
  • Use directly with your favorite LLM
schema-export.json
[
  {
    "table": "users",
    "columns": [
      {
        "name": "user_id",
        "type": "INTEGER",
        "mode": "REQUIRED",
        "description": "Unique identifier for the user"
      },
      {
        "name": "name",
        "type": "STRING",
        "mode": "REQUIRED",
        "description": "User's full name"
      },
      {
        "name": "email",
        "type": "STRING",
        "mode": "REQUIRED",
        "description": "User's email address"
      },
      {
        "name": "created_at",
        "type": "TIMESTAMP",
        "mode": "REQUIRED",
        "description": "When the user was created"
      }
    ],
    "sample": [
      {
        "user_id": 1,
        "name": "John Doe",
        "email": "[email protected]",
        "created_at": "2023-01-15T08:30:00Z"
      },
      {
        "user_id": 2,
        "name": "Jane Smith",
        "email": "[email protected]",
        "created_at": "2023-02-20T14:15:00Z"
      }
    ]
  }
]

Make Sense of Your Data

Export your BigQuery schemas in a format that helps AI models understand your data structure and relationships.

  • Clear, structured schema information
  • Sample data for context
  • Optimized for AI comprehension
  • Ask better questions about your data

Use Cases

Use your exported schemas with your favorite AI tools to get better insights

Understand your tables

Get AI explanations of your data structure

Easily model your data

Create comprehensive data models with AI assistance

Quickly find issues

Identify potential schema problems with AI help

Gemini 2.5 Pro
Gemini 2.5 Pro
AI Assistant
You

Hey Gemini, can you take a look at this schema and define the most important tables and their relationships?

Gemini 2.5 Pro
Gemini 2.5 Pro

Okay, I've reviewed the schema. Here are the most important tables and their relationships:

Key Tables and Relationships

The data schema describes a school information system, with students and courses as central entities. Attendance is then tracked against these, both at a lesson level and for general roll calls.


Core Entities:

  • students Table 🧑‍🎓

    • Purpose: This table is a cornerstone, holding detailed demographic and administrative information about each student. This includes personal details like names, date of birth, contact information, and various status indicators such as SEN (Special Educational Needs), FSM (Free School Meals), and current year group.
    • Key Identifier: STUDENT_UNIQUE_ID.
  • courses Table 📚

    • Purpose: This table defines the academic courses offered by the school. It includes details like course name, code, subject information (ID, code, name), department, academic year, and faculty. It also indicates if a course is a main assessable unit or a class.
    • Key Identifier: COURSE_UNIQUE_ID.
  • lessons Table 🕒

    • Purpose: This table details the specific instances or scheduled occurrences of courses, essentially the timetable slots. Each lesson has a name, start and end datetime, and is linked to a specific course.
    • Key Identifier: LESSON_UNIQUE_ID.

Attendance Tracking Tables:

  • lesson_attendance Table

    • Purpose: This table records student attendance for individual lessons. It links students to specific lessons and notes whether they were present, absent (authorized/unauthorized), or late, along with the raw attendance mark.
    • Key Relationships:
      • Connects to the students table via STUDENT_UNIQUE_ID.
      • Connects to the lessons table via LESSON_UNIQUE_ID.
      • Connects to the courses table via COURSE_UNIQUE_ID.
  • roll_call_attendance Table 📋

    • Purpose: This table records student attendance for general roll call periods (e.g., AM/PM sessions) rather than specific subject lessons. It includes the date, period, attendance mark, and status (present, absent, late).
    • Key Relationships:
      • Connects to the students table via STUDENT_UNIQUE_ID.

Summary of Relationships:

  1. Students to Attendance:

    • A student (students) can have multiple lesson_attendance records (one for each lesson they are scheduled for/attend).
    • A student (students) can have multiple roll_call_attendance records (one for each roll call instance).
  2. Courses and Lessons:

    • A course (courses) can have multiple lessons (lessons) scheduled for it.
  3. Lessons to Attendance:

    • A lesson (lessons) can have multiple lesson_attendance records (one for each student in that lesson).

Essentially, the students table holds who the students are, the courses table describes the subjects they take, the lessons table breaks down those courses into specific timed events, and the two attendance tables (lesson_attendance and roll_call_attendance) track student presence at these events and general school sessions.

Ready to optimize your BigQuery for AI?

Sign in with your Google account to start exploring and exporting your BigQuery schemas.