Análisis estructurado
El lenguaje de consulta estructurado (SQL) es un lenguaje estandarizado para la consulta de la información de una base de datos. SQL se introdujo por primera vez como un sistema de bases de datos comerciales en 1979 y desde entonces ha sido el lenguaje de consulta favorita para los sistemas de gestión de base de datos que se ejecutan en sistemas grandes y medianos. Cada vez más, sin embargo, SQL está siendo apoyado por los sistemas de bases de datos de PC, ya que soporta las bases de datos distribuidas (véase la definición de base de datos distribuida). Esto permite que varios usuarios en una red informática puedan acceder a la misma base de datos al mismo tiempo. Aunque hay diferentes dialectos de SQL, sin embargo es lo más parecido a un lenguaje de consulta estándar que existe en la actualidad.Algunos problemas asociados los diagramas de flujo de datos han sido:
Null (SQL)
Los valores lógicos ternarios de SQL se encuentran en el Lenguaje de Manipulación de Datos (LMD) en comparaciones predicadas de afirmaciones LMD y dudas frecuentes. La proposición WHERE (DONDE) propicia que la declaración LMD actúe sólo en aquellas filas para las cuales los cálculos de predicados evalúan la Verdad. Las filas para las cuales estos cálculos evalúan si son Falsas o Desconocidas no derivan de declaraciones DML como INSERT, UPDATE o DELETE, y son desechados a partir de preguntas SELECT. Interpretando Desconocido y Falso como el mismo resultado lógico es un error común encontrado cuando tratamos con Nulls. El siguiente ejemplo lo demuestra: SELECT *  FROM t  WHERE i = NULL; El ejemplo arriba planteado siempre devuelve lógicamente ceros a las filas debido a que la comparación entre la columna i con Null siempre devuelve un valor Desconocido, incluso para aquellas filas en las que i es Null. El resultado Desconocido causa la declaración SELECT para desechar todas y cada una de las filas (De todas formas, en la práctica, las herramientas SQL recuperarán las filas utilizando la comparación con Null).