Bases de datos, diseño y administración de redes

Base de datos

Contenidos temáticos

  1. Introducción
  2. Concepto de bases de datos
  3. Definición de bases de datos
  4. Tipos de datos
  5. Concepto de campos
  6. Tipos de campos
  7. Longitudes de campos
  8. Importancia de los campos clave
  9. Concepto de Registros
  10. Concepto de tablas (archivos)
  11. Estructuras de tablas (archivos)
  12. Bases de datos relacionales

Desarrollo del tema

1. Introducción

La ciencia del tratamiento automático de la información representa una etapa decisiva en la historia del conocimiento; mediante la computadora el hombre puede guardar y conservar el pensamiento humano.

El conocimiento ya adquirido no hay que ir repensándolo cada vez que se presente un problema, basta hacerlo sólo una en forma simple y sistematizada. Cuando se vuelve a presentar aquél, una simple llamada a lo ya establecido evitará una elucubración mental. Con las computadoras, la comunicación adquiere maravillosas posibilidades, las máquinas pueden comunicarse entre sí, y éstas con el hombre, estableciéndose diferentes canales que no son sensibles a las distancias debido a las velocidades electrónicas que mueven la información.

La base de datos es una de las partes importantes de la informática, pues permite que su consulta pueda llegar a ser selectiva. Una de las tendencias actuales es que el tratamiento de la información sea hecho para las grandes masas de población existente, a un precio más cómodo, con mayor volumen y diversidad.

Todo ello nos lleva a la existencia de los datos y su agrupación en archivos, en donde se reúna toda la información que sea necesaria, y se vea la situación del ciudadano en sus aspectos administrativos, escolares, sanitarios, policiacos y financieros. Todo cambio de estas situaciones es registrado en las bases de datos y así, para conocer determinado aspecto de una persona, se recurrirá a una parte específica contenida en la base de datos con la supresión de toda la enorme inercia y papeleo actuales.

Otra tendencia de las bases de datos es que, en forma más selectiva, grandes volúmenes de información estén a la disposición de investigadores, científicos, técnicos y profesionistas. Así tenemos las posibles aplicaciones en medicina que cada vez son más frecuentemente utilizadas, llegándose al extremo de preconizar bancos de datos mundiales que pueden ser consultados por vía satélite.

Una tercer tendencia, muy interesante para los administradores de empresas, es que éstos logren tener mayor facilidad para la toma de decisiones con menores riesgos, mediante el empleo de información almacenada; e incluso se pretende que las decisiones estén prácticamente hechas por programas de computadora que utilizan la información contenida precisamente en las bases de datos. Como casos típicos de decisiones pre conformadas, se podría hablar de los programas en computadora para la producción, los inventarios y la distribución.

Según encuestas realizadas por compañías expertas en el manejo de bases de datos, se deduce que las aplicaciones más usuales en las empresas industriales, comerciales y bancarias, a lo que se dedican las computadoras es a controlar:

  • nóminas
  • cuentas por cobrar
  • control de inventarios
  • facturación
  • control y estadísticas de ventas
  • cuentas por pagar
    contabilidad general
  • control de presupuestos
  • contabilidad de costos
  • pronósticos de ventas
  • programación y control de producción
  • estados de cuentas
  • cheques
  • ahorros

Como podemos observar, todas esas aplicaciones necesitan que las computadoras empleen datos y archivos, voluminosos y delicados.

2. Concepto de bases de datos

Aunque administración de bases de datos es un término informático, también se puede aplicar a las distintas formas en que la información es clasificada, almacenada y usada. En el centro de todo sistema de administración de información existe una base de datos.

Cualquier colección de información interrelacionada que esta agrupada formando un único ente es una base de datos. Archivadores metálicos con registros de clientes, un lote de tarjetas con nombres y números de teléfono, o un cuaderno con un listado escrito a lápiz del inventario de un almacén, son todos bases de datos. Sin embargo, un archivador o un cuaderno no constituyen una base de datos; la forma en que la información está organizada es lo que los convierte en una base de datos. Objetos como los archivadores y los cuadernos solo ayudan a organizar la información.

La información en una base de datos normalmente se organiza y se almacena en una tabla con filas y columnas, por ejemplo, se muestra una lista de correos en forma de base de datos, cada fila conteniendo un nombre, una dirección, un número de teléfono y un número de cliente. Cada fila esta relacionada con las otras porque todas ellas contienen el mismo tipo de información. Y como la lista de correos es una colección de información establecida en un orden determinado – una columna de nombres, una columna de direcciones, una columna de números de cliente -, se trata de una base de datos.

Las filas en un archivo de base de datos se llaman registros y las columnas se llaman campos. Para ilustrar esto compare un archivo de base de datos con un sistema de archivo de direcciones mediante tarjetas contenidas en una caja. Cada tarjeta de la caja es un registro concreto y cada categoría de información en la tarjeta es un campo. Los campos pueden contener cualquier tipo de información que puede ser clasificada. En la caja de tarjetas cada registro contiene seis campos: nombre, dirección, ciudad, estado, código postal y número de teléfono. Como cada tarjeta de la caja contiene el mismo tipo de información, la caja de tarjetas es un archivo de base de datos.

En teoría, cualquier base de datos está dispuesta de tal forma que la información sea fácil de encontrar. En la siguiente lista por ejemplo, los nombres están dispuestos en orden alfabético. Si usted quiere encontrar el número de teléfono de un cliente, simplemente localiza el nombre y lee en la fila hasta encontrar el correspondiente número de teléfono.

Una lista telefónica, por ejemplo, está bien para encontrar números de teléfono; pero si todo lo que usted tiene es una dirección y no el nombre de la persona que vive en ella, el directorio telefónico se vuelve bastante incómodo para encontrar el número de teléfono de esa persona. Un problema similar es muy frecuente en los sistemas de archivo de las oficinas: si la información está organizada por nombres y usted quiere encontrar todos los clientes que viven en una determinada área, se encontrará con una tediosa búsqueda. Además, el organizar grandes cantidades de información en directorios escritos y archivadores puede necesitar mucho espacio. Además una base de datos manual puede ser difícil de modificar. Por ejemplo, el añadir un nuevo número de teléfono a la lista puede significar el tener que rehacer la lista. Si la compañía telefónica fuera a asignar un nuevo código de área antiguo y reemplazarlo por el nuevo.

Cuando la base de datos se lleva a cabo con una computadora, muchos de esos problemas se eliminan. Una base de datos informatizada proporciona velocidad: buscar un número de teléfono entre un millar de entradas lleva menos de dos segundos y ordenar una base de datos con cien elementos requiere menos de dos minutos. Una base de datos informatizada es compacta: una base de datos con 10,000 elementos puede ser almacenada en un pequeño disco. Una base de datos informatizada es flexible; tiene la capacidad de examinar la información bajo distintos ángulos, de forma que, por ejemplo, se puede buscar automáticamente un número de teléfono a partir de un nombre o una dirección.

Tareas que serían costosas en el tiempo realizándolas manualmente son más prácticas con la ayuda de la computadora. En principio, una base de datos en una computadora no es diferente de una base de datos registrada en papel y contenida en archivadores. Pero la computadora hace el trabajo tedioso de mantener y acceder a la base de datos, y lo hace rápido. Una base de datos informatizada que puede hacer todo esto es conocida como un sistema de administración de base de datos.

3. Definición de bases de datos

Durante la primera fase, definición de datos, se debe hacer una lista, en un papel, de todos los atributos importantes involucrados en la información necesaria de la base de datos. Para hacerlo, se debe examinar la aplicación en detalle para determinar exactamente que tipo de información debe ser almacenada en la base de datos.

La Inmobiliaria ABC mantiene 16 propiedades alquiladas localizadas en dos importantes áreas metropolitanas México, D.F. y Guadalajara, Jal., la Oficina de México, D.F. supervisa siete casas cuyos costos de alquiler varían entre $500.00 Y $ 1,200.00 al mes. La oficina de Guadalajara, supervisa una casa, cuatro chalets y tres apartamentos localizados en el estado de Jalisco. El rango de los costos de alquiler de esas propiedades es de $ 450.00 a $ 1,025.00 al mes.

Al discutir el diseño de la base de datos, los empleados de la inmobiliaria ABC determinaron que debían conocer ciertas cosas sobre cada propiedad; el nombre de cada inquilino; la dirección de la propiedad; una descripción de la propiedad; la fecha en que el contrato de alquiler expira; el número de habitaciones y de cuartos de baño; la superficie de la propiedad; el costo del alquiler, y comodidades tales como estacionamiento, chimenea, hornos de microondas, etc.

Un punto importante a recordar es que durante esta fase, el diseño de la base de datos, se deben listar todos los posibles atributos de su sistema de administración de base de datos. Se pueden listar más atributos de los que realmente se necesitan para su aplicación particular, pero eso no es problema, ya que los atributos innecesarios serán eliminados durante la fase de refinamiento de la base de datos.

Atributos

  • Nombre del inquilino
  • Dirección de la propiedad
  • Número de habitaciones
  • Número de cuartos de baño
  • Fecha de expiración del contrato de alquiler
  • Tipo de propiedad (casa, chalet o apartamento)
  • Costo del alquiler
  • Superficie de la propiedad (en metros cuadrados)
  • ¿ Estacionamiento disponible?
  • Comodidades

4. Tipos de datos

Refinamiento de datos.

Durante esta fase se refinarán los atributos de la lista inicial, de modo que los atributos conformen una descripción exacta de los tipos de datos que se necesitarán en la base de datos. En este punto del proceso es vital considerar sugerencias de tantos usuarios de la base de datos como sea posible. La gente que use la base de datos probablemente será la que mejor sepa que clase de información se necesitará obtener de la base de datos.

Cuando los empleados de la inmobiliaria ABC den un minucioso repaso a sus listas de atributos, se darán cuenta que la mayoría de los refinamientos son obvios. Por ejemplo, después de una minuciosa revisión a los atributos se modificaron quedando de la siguiente forma:

Atributos
Longitudes de campo
Apellido del inquilino15
Nombre del inquilino15
Dirección25
Ciudad15
Estado3
Código postal10
Número de habitaciones2
Número de cuartos de baño2
Fecha de expiración del contrato de alquiler8
¿Estacionamiento disponible?1
Tipo de propiedad (casa, chalet o apartamento)10
Costo del alquiler7
Superficie de la propiedad (en mts 2)5
Comodidades10

5. Concepto de campos

Las tablas se componen de campos (columnas) y registros (filas). Un campo es una categoría de información, como Nombre, Dirección, Ciudad. En una tabla, un campo corresponde a una columna.

Un campo es un dato constituido por una serie de caracteres. La cantidad de información que debe contener un campo se determina por las necesidades del problema.

Los campos comunes entre tablas son los que hacen posibles las bases de datos relacionales. Si mantiene los nombres y direcciones de los clientes en la misma tabla, tendrá que introducir la dirección de un cliente cada vez que el cliente realice un pedido. O cuando cambie un a dirección, deberá actualizar todos los pedidos realizados por ese cliente.

6. Tipos de campos

La mayoría de los campos en una base de datos son del tipo numérico o alfanuméricos, aunque habrá veces en que se necesiten todos los tipos de campos. a continuación se enlistan los tipos de campos más utilizados:

  • Campos de caracter o texto: se usan para almacenar algunos caracteres que incluyen las letras, números, algunos símbolos especiales o los espacios en blanco. Un campo caracter /texto puede tener un tamaño máximo de 254 caracteres.
  • Campos de fecha: se usan para almacenar fechas. El formato normal para introducir fechas es DD/MM/AA. Las líneas diagonales las inserta automáticamente Visual Fox-pro, a medida que se introduce la fecha en un campo tipo fecha.
  • Campos numéricos: se usan números con o sin dígitos decimales. Solo se pueden introducir números y el signo menos (el guión); no se utilizan comas para números mayores de 1000.
  • Campos lógicos: consisten en una sola letra que representa un valor verdadero o falso.
  • Campos memo: puede almacenar grandes bloques de texto por cada registro en forma de campo memo.

A continuación se definen los nombres y tipos de campos del diseño de la base de datos.

Nombre del campo
Tipo de campo
ApellidoCaracter
NombreCaracter
DirecciónCaracter
CiudadCaracter
EstadoCaracter
CódigoCaracter
CuartosNumérico
AseosNumérico
FechaexpFecha
GarajeLógico
TipopropCaracter
RentamesNumérico
SuperfNumérico
ExtrasMemo
VendedorCaracter

7. Longitudes de campos

Longitud fija de un campo. Cada campo debe tener el tamaño necesario para poder albergar la información del dato que lo caracteriza. Ahora bien, la longitud de la información puede ser variable. Por ejemplo, tenemos la lista de nombres:

La longitud fija en el tamaño de campo produce un desperdicio de lugar, pero en cambio facilita la localización y la extracción de la información de dicho campo, al no tener que preocuparse por su tamaño, por ejemplo:

A continuación definiremos las longitudes de cada uno de los campos de la lista de anterior:

Nombre del campo
Tipo de campo
Longitud
ApellidoCaracter15
NombreCaracter15
DirecciónCaracter25
CiudadCaracter15
EstadoCaracter3
CódigoCaracter10
CuartosNumérico
AseosNumérico
FechaexpFecha
GarajeLógico
TipopropCaracter10
RentamesNumérico
SuperfNumérico
ExtrasMemo
VendedorCaracter2

Nota: Los campos Numéricos no necesitan longitud.

8. Importancia de los campos clave

Comprender claves e índices.

Se enlazan tablas definiendo una relación entre el campo de una tabla y el campo de otra. Estos campos deben cumplir ciertos requisitos. Lo más importante es que uno de estos campos o los dos tengan índices. Un índice es un archivo que Visual Fox-Pro utiliza para realizar un seguimiento de la ubicación de los registros en una tabla. Esto hace que a Visual Fox-pro le resulte más fácil:

  • Mantener un orden de la tabla.
  • Agrupar valores semejantes.

Claves.

Una tabla de Visual Fox-Pro puede tener muchos índices definidos, pero normalmente se identifica uno de ellos como el índice primario. En Visual Fox-Pro, el índice primario se denomina clave. Una tabla que tenga una clave definida se denomina tabla con clave.

Cuando se crea una clave, Visual Fox-Pro fuerza las reglas que afectan a los datos contenidos en el/los campo(s) con clave. Cada valor del campo debe ser único. Esto asegura que no existan registros duplicados en la tabla.

Nota: Sólo puede dejarse en blanco una clave de un registro. Visual Fox-Pro considera como duplicados todos los valores en blanco situados a continuación, por lo que no acepta los registros que los contienen.

La clave establece el criterio de ordenación por defecto para la tabla. Visual Fox-Pro ordena los registros de la tabla basándose en los valores del(los) campo(s) definido(s) como clave de la tabla.

Si se define una clave en una tabla que ya contiene información, Visual Fox-Pro mueve los registros de la tabla para establecer el criterio de ordenación correcto. La localización física de los registros viene determinada por la ordenación de los valores del(los) campo(s) con clave en orden ascendente (de A a Z y de 0 a 9). Los nuevos registros que se añadan se situarán en la posición correcta en la tabla ordenada.

Por ejemplo, si crea una clave en el campo Apellidos de la tabla de ejemplo Contacto, está diciendo a Visual Fox-Pro que organice la tabla por los valores del campo Apellidos. Si prefiere organizar la tabla según los nombres, puede hacer que la clave sea el campo Nombre. A continuación, Visual Fox-Pro muestra los registros de acuerdo con el valor especificado en dicho campo.

Claves compuestas.

Es posible crear una clave a partir de un campo o grupo de campos. Cuando se especifica un grupo de campos, éste recibe el nombre de clave compuesta.

Visual Fox-Pro admite valores duplicados en un campo individual de una clave compuesta siempre que los valores no se encuentren duplicados en todos los campos de la clave. Los campos de la clave, considerados como un todo, deben identificar cada registro como único. Dado un archivo de base de datos (Tabla) formado por un conjunto de registros, en computación es necesario asociar a cada registro un campo clave que individualice al registro dentro de la base de datos, permitiendo su plena identificación.

Esta información adicional es la clave de identificación. Existen diversas maneras de codificar la clave de identificación. Generalmente al diseñar una clave se procura que éste sea sencillo y práctico de usar. No deberá ser ambiguo, deberá ser preciso y tendrá que poder distinguir un caso de otro. Es decir, debe de singularizar un caso con respecto a los demás casos. La clave o Código tiene que facilitar la clasificación de los registros. El código presentará la suficiente flexibilidad como para permitir la expansión del archivo de datos. Si en el archivo hay categorías, es necesario prever la extensión en cada categoría, ya sea al final ya sea enmedio. O sea extensión o intercalación.

Codificación secuencial:

Todos los artículos están ordenados numéricamente en orden creciente.

Ejemplo:

  • 01 silla
  • 02 mesa
  • 03 pupitre
  • 04 armario
  • 05 sillón

Como vemos se han destinado dos posiciones para el código, así pues la lista de artículos no podrá sobrepasar de 99. La codificación secuencial es sencilla pero de aplicación limitada.

Codificación por bloques o rangos.

Consiste en que dentro de un ordenamiento secuencial se asignen bloques de números consecutivos que representen categorías de datos.

Ejemplo:

  • 01 Silla alta reclinable
  • Sillas 02 Silla alta extensible
  • (01-05) 03 Silla baja reclinable
  • 04 Silla baja plegable
  • 05 Silla fija

___________________________________________

  • 06 Mesa cuadrada chica
  • 07 Mesa cuadrada grande
  • 08 Mesa redonda chica
  • 09 Mesa redonda mediana
  • Mesas 10 Mesa redonda grande
  • (06-15) 11 Mesa ovalada sencilla
  • 12 Mesa ovalada extensible
  • 13
  • 14

Podemos darnos cuenta que este tipo de código es significativo ya que conociendo los límites de los bloques, podemos determinar para un número a qué categoría pertenece. Así pues, en el ejemplo anterior el artículo 09 pertenece a la categoría de mesas.

Codificación por grupos.

Se aplica en aquellos casos en que los artículos de un archivo admiten la subdivisión en clasificaciones mayores o menores que pueden ser representados por dígitos sucesivos.

Ejemplo:

111 Reclinable
Alta
(11X) 112 Extensible
Sillas

(1XX)Baja 121 Reclinable
(12X) 122 Plegable
________________________________________________

Cuadradas 211 Chica
(21X) 212 Grande
Mesas Redondas 221 Chica
(2XX) (22X) 222 Mediana
223 Grande
Ovaladas 231 Sencilla
(23X) 232 Extensible

Como se puede ver la selección y clasificación es fácil, pero se requiere de una clave de muchas posiciones. El ejemplo anterior consiste en una lista de once artículos y se ha empleado una clave de tres posiciones que permitirá formar hasta 999 números distintos. Además por mucho que se ampliará el archivo, los 110 primeros números no quedarían afectados a ningún artículo.

En la estructura de nuestra base de datos utilizaremos un campo clave para una rápida localización de datos.

Nombre del campo 
Tipo de campo
Longitud de Campo
Campo Clave
ApellidoCaracter15
*
NombreCaracter15
DirecciónCaracter25
CiudadCaracter15
EstadoCaracter3
CódigoCaracter10
CuartosNumérico
AseosNumérico
FechaexpFecha
GarajeLógico
TipopropCaracter10
RentamesNumérico
SuperfNumérico
ExtrasMemo
VendedorCaracter2

Nota: el campo Código se creó como un campo clave.

9. Concepto de Registros

La unidad elemental de información en un archivo se le denomina registro. El registro a su vez puede estar constituido por diversos campos interrelacionados o que se complementan entre sí para proporcionar la unidad elemental de información que es la base de datos.

Los registros de un archivo o tabla deben ser procesados en secuencia, es decir uno tras otro en la forma en la forma en que se van presentando. Para poder localizar cualquier registro, es necesario establecer un orden en el archivo, lo cual se logra clasificándolo por una clave determinada. En la organización secuencial los registros están almacenados unos a continuación de otros en el orden marcado por el número de la clave.

Ejemplo de registros en una tabla

No. de Reg. 
Clave
Nombre
Dirección
Código P.
Ciudad
Estado
11001Manuel GarcíaAllende No. 30438040CelayaGto.
21002Felipe EstradaHidalgo No. 63438022CelayaGto.
31003Jorge GarcíaManuel D. No.30435630CelayaGto.
41004Ignacio LópezBrillante No. 34038030CelayaGto.
51005María ZúñigaBenito J. No. 23437022CelayaGto.

10. Concepto de tablas (archivos)

Una tabla es un conjunto de registros almacenados en forma secuencial. Antes de que pueda introducir y almacenar datos en una tabla, debe crear el diseño de la tabla, lo cual ya fue explicado en los capítulos anteriores. Antes de agregar datos en la tabla debemos crear su estructura tomando como base los datos anteriores de atributos, tipos y longitudes de cada campo.

Las necesidades de los usuarios de bases de datos se incrementan día a día. Al principio lo importante es crear una tabla de forma rápida y fácil, introducir datos en ella, analizarlos y generar un informe. Estas tareas siempre son fundamentales en el manejo de bases de datos, pero, al aumentar las necesidades de cada usuario, también debe incrementarse la capacidad del sistema de base de datos que utiliza.

El volumen de datos con los que se trabaja a diario es cada vez mayor, de ahí la necesidad de incluirlos en tablas de tamaño reducido y fácil utilización y establecer enlaces entre éstas a fin de consultar sus datos y crear informes y fichas multitabla. Visual Fox-Pro permite realizar estas tareas de forma rápida y sencilla.

Asimismo, cuanto más utilice el sistema, mayor será la necesidad de personalizarlo. Al principio es probable que sólo desee mejorar el aspecto visual de un informe o crear una ficha personalizada para facilitar la introducción de datos. Más adelante, quizá quiera realizar determinadas operaciones de forma automática o enlazar varias tareas.

La amplia gama de funciones de diseño de Visual Fox-Pro permite crear fichas e informes perfectamente adaptados a las necesidades personales de cada usuario. Es posible utilizar datos de varias tablas y añadir campos resumen y calculados para obtener conclusiones sobre los mismos, incluir gráficos y tablas cartesianas para obtener un mayor impacto visual a los objetos de fichas para crear funciones e incluso crear botones que al pulsarse ejecuten comandos definidos por el usuario. Una vez definido lo anterior se puede crear la estructura de la tabla.

11. Estructuras de tablas (archivos)

Cuando se define una tabla, sus nombres de campo, tipos y anchos ya se han especificado. Naturalmente para crear su propia tabla, primero debe especificar su estructura. Usted debe introducir toda la información relacionada con la estructura de la tabla.

No. de Reg. 
Clave
Nombre
Dirección
Código P.
Ciudad
Estado
11001Manuel GarcíaAllende No. 30438040CelayaGto.
21002Felipe EstradaHidalgo No. 63438022CelayaGto.
31003Jorge GarcíaManuel D. No.30435630CelayaGto.
41004Ignacio LópezBrillante No. 34038030CelayaGto.
51005María ZúñigaBenito J. No. 23437022CelayaGto.

12. Bases de datos relacionales

Los datos de una base de datos relacional están organizados en tablas que contiene las mismas categorías de datos para cada elemento.

Por ejemplo, si una agenda de direcciones se distribuye a modo de tabla, los nombres se pueden incluir en una columna, las direcciones en otra, los números de teléfono en otra, y así sucesivamente.

A cada persona incluida en la agenda (cada elemento de la tabla) le corresponden las mismas categorías de datos (nombre, dirección, número de teléfono). Imagine también que tiene una agenda de cumpleaños que contiene las fechas de cumpleaños de todos sus familiares y amigos, junto con sus tallas de ropa y sus colores favoritos.

También podría almacenar la información de este libro en una tabla. Si fueran dos los libros, tendría dos tablas.

Recurso didáctico de apoyo