Bases de datos para principiantes
El componente básico de la base de datos es el registro. Un registro es un conjunto de datos relacionados que se tratan como una sola entidad. Por ejemplo, una tarjeta de fútbol sería un registro: contiene el nombre, la fotografía, el equipo y las estadísticas de un jugador. Empleando la terminología propia de las bases de datos, cada uno de esos elementos de información recibe el nombre de campo: cada registro de tarjeta de fútbol tiene un campo nombre, un campo fotografía, un campo equipo y varios campos de estadísticas de jugador. Al juego de registros que comparten los mismos campos se le llama tabla, porque este tipo de información puede presentarse fácilmente en formato de tabla: cada columna representa un campo y cada fila representa un registro. De hecho, la palabra columna es sinónimo de la palabra campo, y la palabra fila es sinónimo de la palabra.

Una base de datos puede contener más de una tabla, cada una de las cuales tiene un nombre exclusivo. Estas tablas pueden estar relacionadas o ser independientes entre sí.
Un subconjunto de datos extraídos de una o varias tablas se denomina juego de registros (o conjunto de datos, en ASP.NET yphp desde Dreamweaver). Un juego de registros también es una tabla porque es una colección de registros que comparte las mismas columnas. Por ejemplo, un alineamiento de un equipo de fútbol en el que se relacionan los nombres y las posiciones de los jugadores en el campo sería un juego de registros: consta de un subconjunto de toda la información posible sobre los jugadores, incluidos los goles, las asistencias, las faltas,etc.

Para crear un juego de registros, se realiza una consulta de base de datos. Una consulta consta de criterios de búsqueda. Por ejemplo, la consulta puede especificar que sólo se incluyan algunas de las columnas en el juego de registros, o que sólo se incluyan determinados registros.
Aspectos básicos del diseño de bases de datos
El diseño de la base de datos es el primer paso para crear un sitio Web gestionado por una base de datos. Esta sección presenta un caso que se ha utilizado para explicar los principios básicos del diseño de bases de datos. En este caso se va a crear una aplicación Web que ha encargado una empresa ficticia llamada Arrow Aircraft Services, una compañía que gestiona una pequeña flota de aviones de negocios privados. El diseño de bases de datos consta de una serie de pasos habituales. Primero, estudie las normas y las políticas de la empresa que se reflejarán en la aplicación Web. Segundo, tenga en cuenta las preguntas que los usuarios harán a la base de datos. Tercero, defina la estructura de la base de datos. Finalmente, cree la base de datos.
Estudio de las normas y las políticas de la empresa Arrow Aircraft
Le han contratado para crear una aplicación Web para la empresa Arrow Aircraft Services. Antes de empezar a diseñar la base de datos, debe asegurarse de que conoce todas las normas y reglas comerciales de la organización que afectarán a la aplicación. En esta sección se describen las normas y reglas empresariales (simplificadas) de Arrow Aircraft Services.
Arrow Aircraft gestiona una flota de cinco aviones de negocios de distintos tamaños y modelos para sus propietarios. Cada avión tiene hasta ocho copropietarios, empresas o individuos que han comprado una participación del avión. Este tipo de arreglo resulta muy útil para las personas que no necesitan un avión de negocios todo el año.Los copropietarios o accionistas, abonan a Arrow Aircraft lo siguiente:•Un importe de administración mensual proporcional a la parte del propietario del avión para cubrir gastos de piloto, seguro y hangar.•Una tarifa por hora de “ocupación” que cubre todos los costes directos, como mantenimiento, combustible y catering.A cambio, los copropietarios indican a Arrow Aircraft cuándo y dónde desean viajar y la empresa se encarga del resto, incluido el personal de vuelo y de tierra y el servicio de catering. Arrow Aircraft debe recibir el aviso con una antelación mínima de 8 horas para preparar el avión para un vuelo.Arrow Aircraft garantiza 800 “horas de ocupación” al año, para cada avión. Se entiende por horas de ocupación, las horas en las que el avión está volando, con al menos un pasajero. Las horas de ocupación comienzan seis minutos (0,1 hora) antes de que el avión despegue con los pasajeros y terminan seis minutos después de que el avión haya aterrizado.Cada avión puede tener un máximo de ocho propietarios. Por ejemplo, un individuo o una empresa puede comprar un interés del 1/5 (o 1/5 de acción) de un avión. Arrow Aircraft garantiza 800 horas de ocupación al año, por lo tanto el propietario de la participación de 1/5 tiene derecho a 160 horas de ocupación (800 horas / 5 =160).
Estudio de las características del encargo de Arrow Aircraft
Arrow Aircraft le ha contratado para crear una aplicación Web con las siguientes características:
•Permitir que cualquier accionista del avión pueda solicitar una nave para realizar un vuelo.
•Proporcionar al Departamento de operaciones de vuelo de la empresa toda la información necesaria para empezar a preparar el avión, incluidos detalles de la solicitud del accionista (itinerario, fecha y hora de salida, necesidades de catering, etc.), las horas de ocupación que le quedan al copropietario y la disponibilidad del avión para el viaje propuesto.
•Permitir al Departamento de operaciones de vuelo reservar el avión para evitar conflictos de planificación.
¿Qué preguntas harán los usuarios a la base de datos?
Una vez que se haya familiarizado con las características que se han propuesto para la aplicación Web, puede plantear las siguientes preguntas a los usuarios de la base de datos: “¿Qué preguntas hará a la base de datos?” De la información obtenida de los copropietarios del avión extraerá lo siguiente:
•¿Cuántas horas de ocupación me quedan?
•¿Está disponible mi avión para determinada fecha o fechas?
Después de que un copropietario solicite un avión, los empleados del Departamento de operaciones de vuelo preguntarán lo siguiente a la base de datos:
•¿Dónde desea ir el copropietario?
•¿Cuál será el itinerario: sólo ida, ida y vuelta, varias escalas? El Departamento de operaciones de vuelo necesita esta información para empezar a planificar el vuelo (consultar la previsión atmosférica, entregar los planes de vuelo, etc.) y estimar el total de horas de ocupación.
•¿Le quedan al accionista suficientes horas de ocupación para el itinerario propuesto?
•¿Desde dónde desea salir el propietario?
•¿Cuál es el avión del propietario?
•¿Está disponible el avión para el itinerario propuesto?
•¿Cuántos pasajeros acompañarán al propietario?
•¿Cuánto equipaje llevarán; ligero (de mano), normal (una maleta por pasajero) o pesado (más de una maleta)?
•¿Cuáles son las necesidades de catering del propietario?
•¿Cuál es la tarifa por hora de ocupación del avión?
•¿Dónde puedo contactar con el accionista para confirmar el vuelo y el precio estimado?
Elección de las tablas de la base de datos
Tras conocer las preguntas que harán los usuarios a la base de datos, debe pensar en cómo estructurar la base de datos para responder convenientemente a estas preguntas.
El primer paso es elegir las tablas que la van a componer.
En una base de datos relacional, todos los datos se representan en filas y columnas de tablas. Cada tabla describe un conjunto de entidades relacionadas, como personas, objetos o eventos. Cada fila describe una aparición de la entidad y cada fila describe una propiedad de la entidad; por ejemplo, el apellido de una persona, el color de un objeto o la fecha de un evento.Para la base de datos de Arrow Aircraft, se eligen las siguientes tablas:
•Una tabla de aviones que describe todos los aviones de negocios que gestiona Arrow Aircraft.
•Una tabla de reservas que incluye todas las fechas en las que los aviones están reservados o disponibles para volar.
•Una tabla de accionistas que describe todas las empresas o individuos que poseen participaciones de los aviones
.•Una tabla de itinerarios que describe todos los itinerarios solicitados por los propietarios.
•Una tabla de vuelos que describe todas las etapas (“vuelos”) de los itinerarios.
Elección de las columnas en cada tabla
El paso siguiente es elegir las columnas de cada tabla. Las columnas describen las propiedades de cada entidad de la tabla. Una buena regla general al elegir columnas es evitar los datos duplicados. Por ejemplo, en la aplicación de Arrow Aircraft, sabe que para contestar a la siguiente pregunta del Departamento de operaciones de vuelo, deberán utilizarse nombres de propietarios asociados a datos de itinerarios: “¿Cuáles son las necesidades del propietario para un itinerario determinado?”
Una opción sería incluir las columnas de nombre y de apellidos del propietario en la tabla de propietarios y también en la tabla de itinerarios. Sin embargo, esto supondría no sólo duplicar los nombres en dos tablas, sino también varias veces en la tabla de itinerarios (tendría que introducir el nombre del propietario cada vez que éste solicitara un nuevo itinerario). Esta opción implica un mayor esfuerzo para introducir los datos, aumenta las posibilidades de error y pone en peligro la integridad de los datos.Una solución mucho más conveniente sería introducir el nombre y los apellidos del propietario una sola vez en una única tabla, la tabla de propietarios. Para contestar la pregunta formulada por el Departamento de operaciones de vuelo, pueden unirse las tablas de propietarios y de itinerarios mediante una expresión SQL. Compruebe que las tablas tienen una columna de clave principal. Las columnas de clave principal contienen valores que son exclusivos para cada fila. De esta forma, se puede localizar exactamente la fila que se busca en la base de datos. La mayoría de las columnas de clave principal constan de números ID, pero también se pueden utilizar claves principales reales, como números de formularios oficiales o números de serie de los aviones.Tras considerarlo detenidamente, decide elegir las siguientes propiedades y claves principales para las tablas de la base de datos de Arrow Aircraft:

Definición de relaciones entre las tablas
Tras definir las columnas y las claves principales básicas de las tablas, ya puede comenzar a definir las relaciones. Una vez definidas las relaciones, puede escribir declaraciones SQL para combinar datos procedentes de dos tablas
Por ejemplo, cada avión gestionado por Arrow Aircraft tiene varios propietarios. Desea establecer una relación “uno a varios” entre los aviones de la tabla de aviones y los propietarios de la tabla de propietarios. Esto le evitaría tener que introducir y controlar datos de aviones redundantes en la tabla de propietarios.En las relaciones de bases de datos “uno a varios”, cada fila de una tabla está relacionada con varias filas de la otra tabla. Para definir esta clase de relación, se incluye una clave externa en la tabla que incluya todas las filas de la tabla propietarios, como en el ejemplo anterior. Una clave externa es una columna que contiene valores que corresponden a los de la columna de clave principal de otra tabla. La clave principal de la tabla de aviones de este caso se llama ac_serial. Por lo tanto, si incluimos una clave externa denominada ac_serial en la tabla de propietarios, definiríamos una “relación de un avión con varios propietarios”.Con lo que sabe sobre las características que demanda el cliente y las normas y política comercial de la empresa, decide definir la siguiente relación uno a varios en la base de datos:
•Cada avión puede tener varios propietarios
•Cada avión tiene varias reservas•Cada avión tiene varios itinerarios
•Cada propietario tiene varios itinerarios
•Cada itinerario tiene varios vuelos (o etapas)
A continuación se muestran los diagramas de las tablas revisados tras haber añadido las claves externas que definen estas relaciones:

Creación de la base de datos
El último paso del diseño es la creación de la base de datos utilizando un sistema como Microsoft Access, SQL Server, Oracle9i o MySQL. Consulte la documentación de su sistema de base de datos, para obtener más infomación.
Aspectos básicos de las conexiones de bases de datos
Si tiene previsto utilizar una base de datos con su aplicación Web, tiene que crear por lo menos una conexión de base de datos. Sin esa conexión, la aplicación no sabrá dónde encontrar la base de datos ni cómo conectar con ella. En