Skip to content

SQL Queries - Documentation

Overview

This section contains SQL queries for data extraction and analysis in the Procesar system.

Available Query Categories

Data Validation Queries

  • CURP Validation: Verify CURP format and existence
  • Email Validation: Check email format and domain
  • Phone Number Validation: Validate phone number formats
  • Date Range Validation: Ensure dates are within allowed ranges

Data Extraction Queries

  • User Information: Extract user profile data
  • Transaction History: Retrieve transaction records
  • Account Balance: Query account balances and status
  • Audit Logs: Extract system access logs

Reporting Queries

  • Daily Reports: Generate daily operational reports
  • Monthly Summaries: Create monthly activity summaries
  • Performance Metrics: Calculate system performance indicators
  • Error Analysis: Identify and categorize system errors

Query Examples

CURP Validation

sql
-- Validate CURP format
SELECT 
  CASE 
    WHEN LENGTH(curp) = 18 
      AND curp REGEXP '^[A-Z]{4}[0-9]{6}[HM][A-Z]{5}[0-2][A-Z][0-9]$'
    THEN 1
    WHEN LENGTH(curp) != 18 
      THEN 0
  END AS is_valid_curp;

-- Check if CURP exists in database
SELECT COUNT(*) AS curp_count
FROM usuarios
WHERE curp = :curp_value;

User Information

sql
-- Get complete user profile
SELECT 
  u.id,
  u.nombre,
  u.apellido_paterno,
  u.apellido_materno,
  u.curp,
  u.email,
  u.telefono,
  u.fecha_registro
FROM usuarios u
WHERE u.id = :user_id;

Transaction History

sql
-- Get last 10 transactions
SELECT 
  t.id,
  t.tipo_transaccion,
  t.monto,
  t.fecha,
  t.descripcion
FROM transacciones t
WHERE t.id_usuario = :user_id
ORDER BY t.fecha DESC
LIMIT 10;

Best Practices

Query Optimization

  • Use Indexes: Create appropriate indexes for frequently queried columns
  • Limit Results: Use LIMIT clauses to prevent excessive data retrieval
  • Parameterized Queries: Use prepared statements to prevent SQL injection
  • Explain Plans: Use EXPLAIN to analyze query execution plans

Security Considerations

  • Input Validation: Always validate and sanitize input parameters
  • Least Privilege: Use accounts with minimum required permissions
  • Audit Logging: Log all query executions for security monitoring
  • Connection Security: Use encrypted connections for all database access

Support

For SQL script issues:

  • Database Team: Contact database administrators
  • Development Team: Consult with application developers
  • Documentation: Review specific query examples and procedures

Documentación de Procesos