30 repositorios
Designation of properties as unique identifiers for entities.
Distinct from Entity Modeling: Distinct from general entity modeling: focuses specifically on primary key definition.
Explore 30 awesome GitHub repositories matching data & databases · Primary Keys. Refine with filters or upvote what's useful.
This project is a comprehensive technical interview preparation resource and computer science interview guide. It serves as an educational reference for developers to study core software engineering fundamentals and common coding patterns required for employment screenings. The repository provides detailed guides and references covering data structures and algorithms, networking and security, operating systems, and web development. It specifically focuses on the implementation and complexity analysis of sorting, searching, and graph algorithms. The material encompasses a wide breadth of comp
Provides educational content on defining primary and candidate keys for unique tuple identification in databases.
Entity Framework Core is an object-relational mapper that enables developers to interact with database systems using strongly-typed code. It serves as a comprehensive data access framework, providing a unified interface for mapping application objects to relational and non-relational database schemas while managing the lifecycle of data operations through a central context. The project distinguishes itself through a provider-based architecture that decouples core data access logic from specific database engines, allowing for consistent interaction across diverse storage systems. It features a
Designates unique identifiers for entities to ensure records are distinct and referenceable.
Perspective is a columnar data analytics engine and high-performance visualization component powered by WebAssembly. It provides a system for analyzing and visualizing large or streaming datasets through interactive data grids and charts, utilizing a compiled binary to achieve near-native performance within the browser. The project distinguishes itself through a WebSocket-based data streaming interface and deep Apache Arrow integration, which minimize memory overhead when synchronizing tables between servers and clients. It acts as a remote query proxy capable of translating visualization con
Designates specific columns as unique identifiers to enable in-place updates and targeted row deletions.
Doctrine ORM is a PHP object-relational mapper that connects application objects to relational database tables. It uses the data mapper and identity map patterns to decouple the in-memory object model from the database schema, allowing developers to manage data persistence without writing manual SQL. The project features a dedicated object-oriented query language and programmatic builder for retrieving data based on entities rather than tables. It implements a unit-of-work system to track object changes during a request and synchronize them via atomic transactions. The capability surface inc
Ships a system to designate object properties as unique identifiers and configure generation strategies like auto-increment.
Jeesite is a full-stack low-code development framework designed for building enterprise administrative portals using Spring Boot, MyBatis, and Vue. It functions as a comprehensive platform for creating administrative dashboards with integrated role-based access control and organizational data permission systems. The framework distinguishes itself through a combination of automated CRUD code generation and an integrated RAG platform that connects large language models to enterprise data via vector stores. It further incorporates a BPMN-based workflow engine to automate complex business process
Supports the definition of unique identifiers using either single fields or composite primary keys.
Snowflake is a distributed unique ID generation service designed to produce non-colliding, time-ordered identification numbers at high scale. It functions as a scalable ID issuer that creates distinct entity identifiers across multiple server nodes to avoid coordination bottlenecks. The system utilizes stateless identifier coordination, calculating unique IDs through a deterministic mathematical formula rather than relying on a central database to track the last issued number. This approach allows it to generate identifiers for distributed database primary keys and high-scale transaction trac
Generates non-repeating, time-ordered identifiers to serve as primary keys for records in distributed databases.
Mapper is a MyBatis-specific library that provides annotation-driven object-relational mapping, enabling single-table CRUD operations without writing SQL or XML. It uses Java reflection and field-level annotations to map entity fields to database columns, configure primary key generation strategies, and generate mapper interfaces and model classes from database schemas. The library distinguishes itself through several practical capabilities. It includes a safe operation guard that blocks delete and update calls lacking query conditions, preventing accidental full-table modifications. Its exam
Provides annotation-based primary key generation strategy configuration on entity fields.
Objection.js is an object-relational mapper for Node.js that maps SQL database tables to classes and rows to model instances. It functions as a high-level abstraction layer built on top of the Knex.js query builder to provide structured model definitions and relational data mapping. The project distinguishes itself through its ability to manage complex object graphs, allowing for the persistence and eager-loading of deeply nested related data in single operations. It incorporates a data integrity layer that uses JSON schema validation to verify model instances before they are persisted to the
Identifies unique rows using either a single column or multiple columns to support various schema designs.
Ecto is an Elixir database toolkit that maps database rows to Elixir structs and validates data changes through changesets before persistence. It provides a language-integrated query syntax for composing database queries, building them incrementally and securely with compile-time expansion into safe SQL. The toolkit connects to multiple database backends including PostgreSQL, MySQL, MSSQL, SQLite3, ClickHouse, and ETS through a pluggable adapter interface. It supports eager and lazy preloading of associated records to eliminate N+1 query problems, and can store nested data structures as embed
Looks up single database rows using their unique identifier fields.
GreptimeDB is a distributed, open-source time-series database built for unified observability. It stores and queries metrics, logs, and traces together in a single columnar engine, supporting both SQL and PromQL for analysis. The database is designed as a Kubernetes-native operator with a decoupled compute and storage architecture, enabling horizontal scaling and multi-region deployment. What distinguishes GreptimeDB is its role as a multi-protocol ingestion gateway, accepting data through OpenTelemetry, Prometheus Remote Write, InfluxDB, Loki, Elasticsearch, Kafka, and MQTT protocols without
Selects columns that order data on disk and identify time series for deduplication and efficient scans.
CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web applications. It provides a lightweight toolkit with minimal configuration, organizing application logic into controllers, models, and views for clean separation of concerns. The framework includes a fluent query builder for constructing SQL statements programmatically, PSR-4 autoloading with namespace mapping, and a service-based dependency injection container for managing shared class instances. The framework distinguishes itself through its comprehensive set of built-in tools
Provides a model method to fetch rows by primary key, returning results in the configured format.
pg is a PostgreSQL object-relational mapper (ORM) for Go that maps Go structs to database tables and provides a fluent query builder for constructing SQL statements programmatically. At its core, it automatically generates CREATE TABLE statements from Go struct definitions using struct tags and naming conventions, and builds queries through method chaining with placeholder-based parameter binding to prevent SQL injection. The library distinguishes itself through relation-aware join generation that automatically constructs JOIN clauses for has-one, has-many, many-to-many, and polymorphic assoc
Retrieves single database rows by primary key value, populating Go structs.
shortid es una librería para crear cadenas compactas no secuenciales utilizadas como identificadores únicos para registros de bases de datos y URLs públicas. Funciona como una utilidad de identificadores amigables para URLs diseñada para producir cadenas alfanuméricas cortas. El proyecto permite el uso de un alfabeto personalizado para controlar la apariencia visual de los identificadores y evitar ambigüedades. Este mapeo de conjunto de caracteres personalizado asegura que las claves generadas cumplan con requisitos específicos de formato o marca. El sistema incluye capacidades para la generación de claves no secuenciales para prevenir la enumeración de recursos, así como herramientas para validar si una cadena dada se adhiere al formato de identificador y conjunto de caracteres esperado.
Generates short and unique keys for MongoDB or Redis records to replace predictable default identifiers.
Tortoise ORM is an asynchronous object-relational mapper for Python that mirrors Django's model and queryset API while running on asyncio. It defines database tables as Python classes with typed fields and supports foreign key, many-to-many, and one-to-one relations, providing a chainable query API for filtering, annotating, grouping, and prefetching related objects without blocking the event loop. The ORM includes a built-in migration engine that detects model changes, generates migration files, and applies or reverts schema changes through a command-line tool. It connects to PostgreSQL, MyS
Provides automatic primary key generation and configuration for ORM models.
Este proyecto es un generador de ID único distribuido diseñado para producir identificadores únicos y ordenables globalmente de 64 bits a través de múltiples nodos. Implementa un algoritmo compatible con Snowflake que evita colisiones combinando marcas de tiempo, identificadores de trabajador y números de secuencia en un solo entero. El sistema incluye un orquestador de ID de trabajador para asignar y mantener identidades de máquina únicas durante el inicio y la migración de instancias utilizando estrategias respaldadas por bases de datos. Para aumentar el rendimiento de las solicitudes y reducir la latencia, utiliza una capa de caché de búfer circular que pre-genera identificadores y emplea un mecanismo de recarga basado en umbrales. El software proporciona capacidades para gestionar claves de bases de datos distribuidas, coordinar nodos del sistema y configurar la distribución de bits para equilibrar las necesidades de concurrencia frente a la vida útil del sistema. También incluye utilidades para analizar los identificadores generados de vuelta a sus componentes originales.
Generates time-ordered unique identifiers specifically designed for use as primary keys in distributed databases.
MyBatis Generator es una herramienta que inspecciona tablas de bases de datos para producir automáticamente objetos de modelo, interfaces de mapper y archivos de configuración SQL. Funciona como un mapeador de esquemas de base de datos y generador de operaciones CRUD, traduciendo columnas de bases de datos relacionales en clases y registros específicos del lenguaje. El proyecto es un generador de código extensible que permite la personalización de archivos de salida a través de un mecanismo de plugins. Este framework permite la adición de lógica de negocio específica o la modificación del proceso de generación para producir archivos de salida adaptados. El generador cubre una amplia gama de capacidades, incluyendo la implementación de consultas dinámicas, la creación de modelos inmutables y la automatización de operaciones estándar de creación, lectura, actualización y eliminación. Admite el mapeo de esquemas de bases de datos con claves primarias virtuales y puede generar código para múltiples lenguajes, incluido Kotlin. El proceso de generación puede ejecutarse mediante herramientas de línea de comandos, llamadas directas a funciones o como un plugin de herramienta de construcción integrado en pipelines de integración continua.
Assigns primary key behavior to columns via configuration when the underlying database lacks formal primary key constraints.
ksuid es una implementación en Go de identificadores únicos k-sortable. Proporciona un sistema para generar identificadores globalmente únicos que mantienen un orden cronológico natural basado en su marca de tiempo de generación. El proyecto permite la creación de claves únicas en sistemas distribuidos sin un coordinador central. Estos identificadores están diseñados para su uso como claves primarias de bases de datos para mantener el rendimiento del índice y la eficiencia de inserción. La biblioteca incluye capacidades para la serialización y análisis de identificadores, permitiendo la conversión entre formatos binarios, de texto y SQL. También proporciona herramientas de línea de comandos para generar y decodificar identificadores sin requerir código de aplicación.
Optimizes SQL database performance by using time-ordered identifiers as primary keys.
Este proyecto es una implementación del estándar ULID en el lenguaje de programación Go. Proporciona herramientas para generar identificadores universalmente únicos y lexicográficamente ordenables que combinan marcas de tiempo en milisegundos con datos aleatorios. La biblioteca asegura que los identificadores mantengan un orden cronológico mediante ordenación alfabética. Incluye un generador monótono para garantizar que múltiples identificadores creados dentro del mismo milisegundo se produzcan en una secuencia estrictamente creciente. El proyecto cubre la generación de identificadores únicos y la optimización de claves primarias de bases de datos. También proporciona una interfaz de línea de comandos para generar nuevos identificadores y extraer información de marca de tiempo de cadenas de identidad existentes.
Provides time-ordered unique identifiers designed to optimize indexing and reduce fragmentation in database primary keys.
Bun es un mapeador objeto-relacional (ORM) con seguridad de tipos para Go que prioriza la construcción de consultas SQL primero y el mapeo de resultados. Funciona como un constructor de consultas SQL programable, un gestor de conexiones de base de datos y una herramienta para mapear tablas de bases de datos a structs de Go. El proyecto se distingue por un sistema de soporte SQL multi-dialecto, permitiendo que una única base de código interactúe con diferentes motores de base de datos a través de una interfaz consistente. Incluye una herramienta de observabilidad de base de datos incorporada para la interceptación de consultas, rastreo distribuido y registro, así como una herramienta de migración de esquemas para el versionado de cambios estructurales. La biblioteca cubre una amplia gama de operaciones de datos, incluyendo procesamiento por lotes, upserts, eliminaciones lógicas (soft deletes) y la gestión de datos relacionales como asociaciones polimórficas. Proporciona capacidades para análisis SQL avanzados utilizando expresiones de tabla comunes (CTE) y funciones de ventana, junto con la gestión de transacciones atómicas y agrupación de conexiones (connection pooling). La gestión de esquemas es compatible a través de una interfaz de línea de comandos para aplicar scripts de migración versionados.
Automatically generates WHERE clauses to retrieve rows based on model primary keys.
FreeSql es un mapeador objeto-relacional (ORM) y capa de acceso a datos para .NET que traduce código orientado a objetos a SQL para múltiples proveedores de bases de datos relacionales. Funciona como un constructor de consultas SQL fluido y sincronizador de esquemas de base de datos, permitiendo a los desarrolladores alinear las estructuras de tablas e índices de la base de datos con las definiciones de clases de entidad. El framework está optimizado específicamente para .NET Native AOT para garantizar huellas de memoria reducidas y tiempos de inicio más rápidos. Incluye un gestor de tráfico de base de datos para distribuir la carga a través de división de lectura-escritura, fragmentación de tablas dinámica y aislamiento de datos basado en inquilinos. Las capacidades amplias incluyen ingesta de datos de alto rendimiento utilizando mecanismos de copia masiva específicos del proveedor, consultas avanzadas con funciones de ventana y CTEs recursivos, y monitoreo basado en AOP para auditar cambios de datos. El sistema también proporciona herramientas de gestión de esquemas para migraciones automatizadas y utilidades de desarrollo para generar clases de entidad a partir de metadatos de base de datos.
Specifies unique identifiers for records, supporting composite keys and automatic ID generation.