30 repository-uri
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 is a library for creating compact, non-sequential strings used as unique identifiers for database records and public URLs. It functions as a URL-friendly identifier utility designed to produce short alphanumeric strings. The project allows for the use of a custom alphabet to control the visual appearance of identifiers and avoid ambiguity. This custom character set mapping ensures that generated keys meet specific formatting or branding requirements. The system includes capabilities for non-sequential key generation to prevent resource enumeration, as well as tools to validate whethe
Generates short and unique keys for MongoDB or Redis records to replace predictable default identifiers.
Acest proiect este un generator de ID-uri unice distribuit, conceput pentru a produce identificatori unici globali și sortabili pe 64 de biți pe mai multe noduri. Implementează un algoritm compatibil cu Snowflake care previne coliziunile prin combinarea timestamp-urilor, identificatorilor de worker și numerelor de secvență într-un singur întreg. Sistemul include un orchestrator de ID-uri de worker pentru a aloca și menține identități unice de mașină în timpul pornirii și migrării instanței folosind strategii bazate pe baze de date. Pentru a crește throughput-ul cererilor și a reduce latența, utilizează un strat de caching de tip ring-buffer care pre-generează identificatori și folosește un mecanism de reumplere bazat pe praguri. Software-ul oferă capabilități pentru gestionarea cheilor de baze de date distribuite, coordonarea nodurilor de sistem și configurarea distribuției biților pentru a echilibra nevoile de concurență față de durata de viață a sistemului. Include, de asemenea, utilitare pentru parsarea identificatorilor generați înapoi în componentele lor originale.
Generates time-ordered unique identifiers specifically designed for use as primary keys in distributed databases.
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.
MyBatis Generator este un instrument care inspectează tabelele bazei de date pentru a produce automat obiecte model, interfețe mapper și fișiere de configurare SQL. Funcționează ca un mapper de schemă de bază de date și generator de operațiuni CRUD, traducând coloanele bazei de date relaționale în clase și înregistrări specifice limbajului. Proiectul este un generator de cod extensibil care permite personalizarea fișierelor de ieșire printr-un mecanism de plugin-uri. Acest framework permite adăugarea unei logici de business specifice sau modificarea procesului de generare pentru a produce fișiere de ieșire adaptate. Generatorul acoperă o gamă largă de capabilități, inclusiv implementarea interogărilor dinamice, crearea de modele imuabile și automatizarea operațiunilor standard de creare, citire, actualizare și ștergere. Suportă maparea schemei bazei de date cu chei primare virtuale și poate genera cod pentru mai multe limbaje, inclusiv Kotlin. Procesul de generare poate fi executat prin instrumente CLI, apeluri directe de funcții sau ca un plugin de build tool integrat în pipeline-urile de integrare continuă.
Assigns primary key behavior to columns via configuration when the underlying database lacks formal primary key constraints.
ksuid este o implementare în Go a identificatorilor unici k-sortabili. Oferă un sistem pentru generarea de identificatori unici globali care mențin o ordine cronologică naturală bazată pe timestamp-ul lor de generare. Proiectul permite crearea de chei unice în sisteme distribuite fără un coordonator central. Acești identificatori sunt concepuți pentru a fi utilizați ca chei primare în baze de date pentru a menține performanța indexului și eficiența inserării. Biblioteca include capabilități pentru serializarea și parsarea identificatorilor, permițând conversia între formatele binar, text și SQL. Oferă, de asemenea, instrumente de linie de comandă pentru generarea și decodarea identificatorilor fără a necesita cod de aplicație.
Optimizes SQL database performance by using time-ordered identifiers as primary keys.
Acest proiect este o implementare a standardului ULID în limbajul de programare Go. Oferă instrumente pentru generarea de identificatori unici universal, sortabili lexicografic, care combină timestamp-uri în milisecunde cu date aleatorii. Biblioteca asigură că identificatorii mențin ordinea cronologică prin sortare alfabetică. Include un generator monoton pentru a garanta că mai mulți identificatori creați în aceeași milisecundă sunt produși într-o secvență strict crescătoare. Proiectul acoperă generarea de identificatori unici și optimizarea cheilor primare în baze de date. De asemenea, oferă o interfață de linie de comandă pentru generarea de noi identificatori și extragerea informațiilor de timestamp din șirurile de identitate existente.
Provides time-ordered unique identifiers designed to optimize indexing and reduce fragmentation in database primary keys.
Bun este un ORM (Object Relational Mapper) type-safe pentru Go care prioritizează construcția interogărilor SQL-first și maparea rezultatelor. Funcționează ca un constructor de interogări SQL programabil, un manager de conexiuni la baza de date și un instrument pentru maparea tabelelor bazei de date la structuri Go. Proiectul se distinge printr-un sistem de suport SQL multi-dialect, permițând unui singur codebase să interacționeze cu diferite motoare de baze de date printr-o interfață consistentă. Include un instrument încorporat de observabilitate a bazei de date pentru interceptarea interogărilor, tracing distribuit și logare, precum și un instrument de migrare a schemei pentru versionarea modificărilor structurale. Biblioteca acoperă o gamă largă de operațiuni cu date, inclusiv procesarea în masă, upsert-uri, soft deletes și gestionarea datelor relaționale, cum ar fi asocierile polimorfice. Oferă capabilități pentru analize SQL avansate folosind expresii de tabel comune (CTE) și funcții de fereastră, alături de gestionarea tranzacțiilor atomice și pooling-ul conexiunilor. Gestionarea schemei este suportată printr-o interfață de linie de comandă pentru aplicarea scripturilor de migrare versionate.
Automatically generates WHERE clauses to retrieve rows based on model primary keys.
FreeSql este un mapper obiect-relațional (ORM) .NET și un strat de acces la date care traduce codul orientat pe obiecte în SQL pentru mai mulți furnizori de baze de date relaționale. Funcționează ca un builder fluent de query-uri SQL și sincronizator de schemă de bază de date, permițând dezvoltatorilor să alinieze structurile tabelelor și indicilor bazei de date cu definițiile claselor de entități. Framework-ul este optimizat special pentru .NET Native AOT pentru a asigura amprente de memorie reduse și timpi de pornire mai rapizi. Include un manager de trafic al bazei de date pentru a distribui load-ul prin read-write splitting, sharding dinamic al tabelelor și izolare a datelor bazată pe chiriași (tenant). Capabilitățile largi includ ingestia de date de înaltă performanță folosind mecanisme de bulk copy specifice furnizorului, interogare avansată cu funcții de fereastră și CTE-uri recursive, și monitorizare bazată pe AOP pentru auditarea modificărilor de date. Sistemul oferă, de asemenea, instrumente de gestionare a schemei pentru migrări automate și utilitare de dezvoltare pentru generarea claselor de entități din metadatele bazei de date.
Specifies unique identifiers for records, supporting composite keys and automatic ID generation.