¿Qué es una base de datos relacional?

Una base de datos es una aplicación que puede almacenar y recuperar datos muy rápidamente. El bit relacional se refiere a cómo se almacenan los datos en la base de datos y cómo están organizados. Cuando hablamos de una base de datos, nos referimos a una base de datos relacional, de hecho, un RDBMS: Relational Database Management System.

 

En una base de datos relacional, todos los datos se almacenan en tablas. Tienen la misma estructura repetida en cada fila (como una hoja de cálculo) y son las relaciones entre las tablas las que la convierten en una tabla "relacional".

 

Antes de la invención de las bases de datos relacionales (en la década de 1970), se utilizaban otros tipos de bases de datos, como las bases de datos jerárquicas. Sin embargo, las bases de datos relacionales han sido muy exitosas para compañías como Oracle, IBM y Microsoft. El mundo del código abierto también tiene RDBMS.

  • Bases de datos comerciales
  • Oráculo
  • IBM DB 2
  • Servidor Microsoft SQL
  • El primer RDBMS comercial.
  • Bases de datos de código abierto/libre
  • MySQL
  • PostgresSQL
  • SQLite

 

Estrictamente no se trata de bases de datos relacionales, sino de RDBMS. Proporcionan seguridad, encriptación, acceso de usuarios y pueden procesar consultas SQL.

¿Quién era Ted Codd?

Codd era un informático que ideó las leyes de normalización en 1970. Esta era una forma matemática de describir las propiedades de una base de datos relacional utilizando tablas. Se le ocurrieron 12 leyes que describen lo que hacen una base de datos relacional y un RDBMS y varias leyes de normalización que describen las propiedades de los datos relacionales. Sólo los datos que habían sido normalizados podían considerarse relacionales.

¿Qué es la normalización?

Considere una hoja de cálculo de los registros del cliente que se va a poner en una base de datos relacional. Algunos clientes tienen la misma información, por ejemplo, diferentes sucursales de la misma empresa con la misma dirección de facturación. En una hoja de cálculo, esta dirección está en varias filas.

 

Al convertir la hoja de cálculo en una tabla, todas las direcciones de texto del cliente deben ser movidas a otra tabla y a cada una se le debe asignar un ID único - digamos los valores 0,1,2. Estos valores se almacenan en la tabla principal del cliente para que todas las líneas utilicen el ID, no el texto. Una instrucción SQL puede extraer el texto de un ID dado.

 

¿Qué es una tabla?

Piensa en ello como si fuera una hoja de cálculo rectangular compuesta de filas y columnas. Cada columna especifica el tipo de datos almacenados (números, cadenas o datos binarios, como imágenes).

A diferencia de una hoja de cálculo en la que el usuario es libre de tener diferentes datos en cada fila, en una tabla de base de datos, cada fila sólo puede contener los tipos de datos que se especificaron.

 

En C y C++, esto es como una matriz de estructuras, donde una estructura contiene los datos de una fila.

 

  • Para obtener más información, consulte Normalizar una base de datos en la parte Diseño de base de datos de databases.about.com.

 

¿Cuáles son las diferentes maneras de almacenar datos en una base de datos?

Hay dos maneras:

 

  • A través de un servidor de base de datos.
  • A través de un archivo de base de datos.

El uso de un archivo de base de datos es el método más antiguo, más adecuado para las aplicaciones de escritorio. Por ejemplo, Microsoft Access, aunque se está eliminando gradualmente en favor de Microsoft SQL Server. SQLite es una excelente base de datos de dominio público escrita en C que contiene datos en un solo archivo. Hay envoltorios para C, C++, C# y otros idiomas.

 

Un servidor de base de datos es una aplicación de servidor que se ejecuta localmente o en un PC conectado en red. La mayoría de las grandes bases de datos están basadas en servidores. Éstos requieren más administración, pero suelen ser más rápidos y robustos.

 

¿Cómo se comunica una aplicación con los servidores de base de datos?

Generalmente, estos requieren los siguientes detalles.

 

  • IP o nombre de dominio del servidor. Si está en la misma PC que usted, use 127.0.0.0.1 o localhost como nombre del dns.
  • Puerto de Servidor Para MySQL esto es usualmente 3306, 1433 para Microsoft SQL Server.
  • Nombre de usuario y contraseña
  • Nombre de la base de datos

Hay muchas aplicaciones cliente que pueden hablar con un servidor de base de datos. Microsoft SQL Server tiene Enterprise Manager para crear bases de datos, establecer la seguridad, ejecutar trabajos de mantenimiento, consultas y, por supuesto, diseñar y modificar tablas de bases de datos.

 

¿Qué es SQL?

SQL es la abreviatura de Structured Query Language y es un lenguaje sencillo que proporciona instrucciones para construir y modificar la estructura de las bases de datos y para modificar los datos almacenados en las tablas. Los principales comandos utilizados para modificar y recuperar datos son:

 

  • Select - Obtiene datos.
  • Insertar - Inserta una o más filas de datos.
  • Actualizar - Modifica la(s) fila(s) de datos existente(s)
  • Borrar - Borra filas de datos.

 

Existen varios estándares ANSI/ISO como ANSI 92, uno de los más populares. Esto define un subconjunto mínimo de sentencias soportadas. La mayoría de los proveedores de compiladores soportan estos estándares.

Conclusión

Cualquier aplicación no trivial puede utilizar una base de datos y una base de datos basada en SQL es un buen punto de partida. Una vez que haya dominado la configuración y administración de la base de datos, tendrá que aprender SQL para que funcione bien.

 

La velocidad a la que una base de datos puede recuperar datos es asombrosa y los modernos RDBMS son aplicaciones complejas y altamente optimizadas.

 

Las bases de datos de código abierto como MySQL se están acercando rápidamente a la potencia y usabilidad de los rivales comerciales y manejan muchas bases de datos en sitios web.

Cómo conectarse a una base de datos en Windows usando ADO

Programáticamente, existen varias APIs que proporcionan acceso a los servidores de bases de datos. Bajo Windows, estos incluyen ODBC y Microsoft ADO. h3[Uso de ADO Siempre y cuando exista un software de proveedor que conecte una base de datos con ADO, se podrá acceder a la base de datos. Windows del 2000 tiene esto incorporado.

 

Intente lo siguiente. Debería funcionar en Windows XP, y en Windows 2000 si alguna vez ha instalado MDAC. Si no lo ha hecho y desea probar esto, visite Microsoft.com, busque "MDAC Download" y descargue cualquier versión, 2.6 o superior.

 

Cree un archivo vacío llamado test.udl. Haga clic derecho en el Explorador de Windows en el archivo y haga "abrir con", debería ver Microsoft Data Access - OLE DB Core Services". Este diálogo le permite conectarse a cualquier base de datos con un proveedor instalado, ¡incluso a hojas de cálculo Excel!

Seleccione la primera pestaña (Proveedor) como se abre por defecto en la pestaña Conexión. Seleccione un proveedor y haga clic en Siguiente. El nombre de la fuente de datos muestra los diferentes tipos de dispositivos disponibles. Después de rellenar el nombre de usuario y la contraseña, haga clic en el botón "Probar conexión". Después de pulsar el botón OK, puede abrir el archivo test.udl con Wordpad. Debería contener un texto como este.

 

 [oledb]

; Everything after this line is an OLE DB initstring

Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=dhbtest;Data Source=127.0.0.1

 

La tercera línea es la importante, contiene los detalles de configuración. ¡Si su base de datos tiene una contraseña, se mostrará aquí, así que este no es un método seguro! Esta cadena puede ser incorporada en aplicaciones que usan ADO y les permitirá conectarse a la base de datos especificada.

 

Uso de ODBC

ODBC (Open Database Connectivity) proporciona una interfaz basada en API para bases de datos. Hay controladores ODBC disponibles para casi todas las bases de datos existentes. Sin embargo, ODBC proporciona otra capa de comunicación entre una aplicación y la base de datos y esto puede causar penalizaciones de rendimiento.

(0 votes)