2010-09-20 9 views
8

Para la mayoría de las tareas de programación, tiene bastante selección de idiomas para elegir, y buenas comunidades fuertes detrás de muchos de ellos. Pero cuando necesitas trabajar con una base de datos, en realidad solo hay una opción viable en estos días: SQL. Claro, hay diferentes empresas con diferentes implementaciones y dialectos, pero todavía está buscando las cosas con¿Cómo se convirtió SQL en el lenguaje de base de datos dominante?

SELECT columns 
FROM table 
JOIN other_table ON criteria 
WHERE other_criteria 

No siempre fue así, sin embargo. Todavía a principios de los años 90, no había una única forma obvia de interactuar con una base de datos. Pero hoy, hay. Y con la forma en que los lenguajes de computadora tienden a proliferar en lugar de converger, me parece un poco extraño. ¿Qué factores históricos y técnicos llevaron al dominio casi completo de SQL del dominio de acceso a la base de datos?

Respuesta

6

Es como esta cita de Winston Churchill:

De hecho, se ha dicho que la democracia es la peor forma de gobierno, excepto todas las demás formas que han sido probadas de vez en cuando.

Hubo tecnologías de bases de datos alternativas antes de 1970 cuando se propuso por primera vez el modelo relacional. Ha habido alternativas todo el tiempo desde entonces, y hay new alternatives today.

Pero de todas las alternativas, no hay solución, además de SQL proporciona un buen equilibrio para:

  • estandarización generalizada
  • productos populares y de larga vida, tales como Oracle
  • juegos agradable con muchas de programación de aplicaciones idiomas
  • Soporte para el modelado formal de datos, fuerte integridad de los datos, las transacciones ACID
1

Codd y Churchill aparte, SQL no es un lenguaje horriblemente malo para definir y consultar conjuntos de datos basados ​​en tablas. Como dijo otro general: "Llegó allí el primero con el mejor".

0

Un factor es que los datos persisten. Es mucho más difícil reemplazar/migrar los datos de una compañía que sus aplicaciones. Las aplicaciones pueden ir y venir, codificadas con el último lenguaje del "sabor del mes", pero la plataforma de la base de datos sigue viva. Esto es un poco como un efecto QWERTY. Si bien se sabe que el diseño del teclado QWERTY es ineficiente, persiste porque habría un costo enorme al cambiar a cualquier otra cosa.

En segundo lugar, existe una dominación masiva del mercado por parte de Oracle e IBM (y más recientemente Microsoft). Si bien es posible que no estén de acuerdo con todos los detalles, tampoco se ha visto un beneficio para una interfaz que no sea SQL para sus bases de datos. Utilicé Ingres a principios de los 90 cuando SQL lanzó su QUEL.

En tercer lugar, los desarrolladores de aplicaciones (especialmente los gustos de SAP y Oracle) tienen la ventaja de contar con una plataforma estándar (ish) para sentarse.

Supongo que la otra cara de la pregunta es por qué necesitamos/queremos tantos lenguajes de programación diferentes.

Cuestiones relacionadas