Sunteți pe pagina 1din 6

6 Parte Uno Introducción a los ambientes de base de datos

FIGURA 1.3
Ilustración de la base
de datos simplificada Tratamiento Monitoreo de
Entidades:
los síntomas
de un hospital pacientes, proveedores,
tratamientos, diagnósticos, síntomas

Relaciones:
síntomas de los pacientes,
Diagnóstico proveedores que prescriben Atención
tratamientos, proveedores del paciente
que hacen diagnósticos, etc.

Base de datos del hospital

son responsables de monitorear los síntomas y administrar los medicamentos. El personal del
comedor prepara las comidas de acuerdo con el plan de dietas. Los médicos prescriben nuevos
tratamientos basándose en los resultados de tratamientos previos y de los síntomas de los pa-
cientes. Las relaciones en la base de datos sirven para responder a preguntas como
• ¿Cuáles son los síntomas más recientes de un paciente?
• ¿Quién prescribió cierto tratamiento a un paciente?
• ¿Qué diagnóstico hizo el médico a un paciente?
Estas bases de datos simples carecen de muchos tipos de datos que se encuentran en las
bases de datos reales. Por ejemplo, la base de datos simplificada de la universidad no contiene
datos acerca de los prerrequisitos de los cursos o de la capacidad de los salones de clases y sus
ubicaciones. Las versiones reales de estas bases de datos deben contener muchas más entidades,
relaciones y usos adicionales. Sin embargo, estas bases de datos simples tienen las característi-
cas esenciales de las bases de datos empresariales: datos persistentes, múltiples usos y usuarios,
y múltiples entidades conectadas por relaciones.

1.2 Características de los sistemas de administración


de bases de datos
sistema de Un sistema de administración de base de datos (DBMS, por sus siglas en inglés) es un con-
administración junto de componentes que soportan la creación, el uso y el mantenimiento de bases de datos.
de bases de datos Inicialmente, los DBMS proporcionaban un eficiente almacenamiento y recuperación de datos.
(DBMS) Gracias a la demanda del mercado y a la innovación de productos, los DBMS han evolucionado
un conjunto de compo-
nentes que soportan la
para proporcionar un amplio rango de características para incorporar, almacenar, diseminar,
adquisición de datos, mantener, recuperar y formatear datos. La evolución de estas funciones ha hecho que los DBMS
diseminación, mante- sean más complejos. Puede tomar años de estudio y uso conocer por completo un DBMS en par-
nimiento, consultas y ticular. Ya que los DBMS continúan evolucionando, usted debe actualizarse de forma continua
formateo. en su conocimiento.
Para mostrar el alcance sobre las funciones que encontrará en los DBMS comerciales, la
tabla 1.1 resume un conjunto común de funciones. El resto de esta sección presenta ejemplos
de dichas funciones. Algunos ejemplos se extraen de Microsoft Access, un popular DBMS de
escritorio. En capítulos posteriores se detallará más la introducción que aquí se presenta.

1.2.1 Definición de base de datos


tabla Para definir una base de datos deben especificarse las entidades y sus relaciones. En la mayoría
se denomina a un arre- de los DBMS comerciales, las tablas almacenan conjuntos de entidades. Una tabla (figura 1.4)
glo de datos en dos
tiene un renglón de encabezado (el primer renglón) que muestra los nombres de las columnas,
dimensiones. Una tabla
está formada por un en- y un cuerpo (los otros renglones) que muestra el contenido de la tabla. Las relaciones indican
cabezado y un cuerpo. las conexiones entre tablas. Por ejemplo, la relación que conecta la tabla estudiante con la tabla
inscripción muestra la oferta de cursos tomada por cada estudiante.

www.detodoprogramacion.com

www.FreeLibros.me
Capítulo 1 Introducción a la administración de base de datos 7

TABLA 1.1 Función Descripción


Resumen de las fun-
ciones generales de Definición de la base de datos Lenguaje y herramientas gráficas para definir entidades, relaciones,
restricciones de integridad y autorización de privilegios
los DBMS
Acceso no procedural Lenguaje y herramientas gráficas para acceder a los datos sin
necesidad de código complicado
Desarrollo de aplicaciones Herramienta gráfica para desarrollar menús, formularios de
captura de datos y reportes; los requerimientos de datos para
los formularios y reportes se especifican utilizando un acceso no
procedural
Interfase del lenguaje procedural Lenguaje que combina el acceso no procedural con las capacidades
totales de un lenguaje de programación
Procesamiento de transacciones Mecanismos de control para prevenir la interferencia de usuarios
simultáneos y recuperar datos perdidos en caso de una falla
Ajuste de la base de datos Herramientas para monitorear y mejorar el desempeño de la base
de datos

FIGURA 1.4 Visualización de la Tabla Estudiante desde Microsoft Access


StdFirstName StdLastName StdCity StdState StdZip StdMajor StdClass StdGPA
HOMER WELLS SEATTLE WA 98121-1111 IS FR 3.00
BOB NORBERT BOTHELL WA 98011-2121 FIN JR 2.70
CANDY KENDALL TACOMA WA 99042-3321 ACCT JR 3.50
WALLY KENDALL SEATTLE WA 98123-1141 IS SR 2.80
JOE ESTRADA SEATTLE WA 98121-2333 FIN SR 3.20
MARIAH DODGE SEATTLE WA 98114-0021 IS JR 3.60
TESS DODGE REDMOND WA 98116-2344 ACCT SO 3.30

FIGURA 1.5 Estudiante : Tabla


Nombre del campo Tipo de dato Descripción
Ventana Definición Texto
Texto
de Tabla en Microsoft Texto
Access Texto
Texto
Texto
Texto
Numérico
Texto

Propiedades del campo

General Vistazo
Tamaño del campo Un nombre de
Formato campo puede
Máscara de entrada ser de hasta
Leyenda 64 caracteres
Valor por omisión
Propiedades de la de longitud,
Regla de validación columna StdSSN incluyendo los
Texto de validación espacios. Presione
Requerido F1 para obtener
Permitir la longitud 0 ayuda en los
Indizado nombres de
Compresión Unicode campos.

La mayoría de los DBMS proporcionan diversas herramientas para definir bases de datos.
SQL
lenguaje estándar de
El Lenguaje de Consulta Estructurada (SQL, por sus siglas en inglés) es un lenguaje estándar
base de datos que in- de la industria soportado por la mayoría de los DBMS. SQL se puede usar para definir tablas,
cluye sentencias para la relaciones entre ellas, restricciones de integridad (reglas que definen datos permitidos) y auto-
definición, la manipu- rización de privilegios (reglas que restringen el acceso a los datos). El capítulo 3 describe las
lación y el control de la sentencias SQL para definir tablas y relaciones.
base de datos.
Además de SQL, muchos DBMS proporcionan herramientas gráficas orientadas a venta-
nas. Las figuras 1.5 y 1.6 ilustran herramientas gráficas para definir las tablas y sus relaciones.
Si se usa la ventana Definición de Tabla de la figura 1.5, el usuario puede determinar las propie-
dades de las columnas, como los tipos de datos y el tamaño de los campos. Si se usa la ventana
www.detodoprogramacion.com

www.FreeLibros.me
8 Parte Uno Introducción a los ambientes de base de datos

FIGURA 1.6 Relaciones


Ventana de definición
Entidad Relación de
Microsoft Access

Relaciones

Tablas

de definición Entidad-Relación de la figura 1.6, se pueden definir las relaciones entre tablas. Una
vez definida la estructura, la base de datos puede comenzar a poblarse. Los datos de la figura 1.4
deben agregarse cuando se han completado la ventana de Definición de Tablas y la ventana de
Definición de Relaciones.

1.2.2 Acceso no procedural


La función más importante de un DBMS es la habilidad de responder a las consultas. Una con-
sulta es una solicitud de datos que responde a una pregunta. Por ejemplo, el usuario podría co-
nocer a los clientes que tienen grandes estados de cuenta o productos con ventas fuertes en una
lenguaje de base de región en particular. El acceso no procedural permite que los usuarios con habilidades compu-
datos no procedural tacionales limitadas realicen consultas. El usuario especifica las partes que desea extraer de una
un lenguaje tal como base de datos y no los detalles de implementación que ocurren con dicha extracción. Los detalles
SQL que permite espe-
de la implementación involucran procedimientos de código complejo con bucles. Los lengua-
cificar las partes a las
cuales se tiene acceso jes no procedurales no tienen sentencias de bucles (for, while, etc.), ya que sólo se especifican las
en una base de datos sin partes a extraer de una base de datos.
tener que codificar un Los accesos no procedurales pueden reducir el número de líneas de código por un factor de
procedimiento complejo. 100 cuando se comparan con un acceso procedural. Debido a que una gran parte del software
Los lenguajes no pro-
de negocios involucra el acceso a datos, el acceso no procedural puede proporcionar una mejora
cedurales no incluyen
sentencias anidadas. dramática en la productividad del software. Para apreciar el significado del acceso no procedural
consideremos su analogía con la planeación de unas vacaciones. Usted especifica el destino, el
presupuesto de viaje, la duración y la fecha de salida. Estos hechos indican el “que” de su viaje.
Para especificar el “cómo” de su viaje necesita indicar muchos detalles más, como la mejor ruta
hacia su destino, su hotel preferido, la transportación terrestre, etc. El proceso de planeación es
mucho más sencillo si tiene un profesional que le ayude con estos detalles adicionales. Como
un profesional de la planeación, un DBMS lleva a cabo el proceso de planeación detallado para
responder a las consultas expresadas en un lenguaje no procedural.
La mayoría de los DBMS proporcionan más de una herramienta para el acceso no procedu-
ral. La sentencia SELECT de SQL, descrita en el capítulo 4, constituye una forma no procedural
para acceder a una base de datos. La mayoría de los DBMS también proporcionan herramientas
gráficas para acceder a las bases de datos. La figura 1.7 ilustra una herramienta gráfica disponi-
ble en Microsoft Access. Para enviar una consulta a la base de datos el usuario únicamente tiene
que indicar las tablas, las relaciones y las columnas requeridas. Access es responsable de generar
el plan para obtener los datos solicitados. La figura 1.8 muestra el resultado de la ejecución de
la consulta de la figura 1.7.
www.detodoprogramacion.com

www.FreeLibros.me
Capítulo 1 Introducción a la administración de base de datos 9

FIGURA 1.7 Cap1-Figura7: Consulta Seleccionada


Ventana de diseño de
consultas de Micro-
soft Access
Tabla

Columna

Relación

Campo (Field):
Tabla (Table):
Orden (Sort):
Mostrar (Show):
Criterios (Criteria):
o (or):

FIGURA 1.8 StdFirstName StdLastName StdCity OfferNo EnrGrade


Resultado de ejecutar MARIAH DODGE SEATTLE 1234 3.8
la consulta de la
BOB NORBERT BOTHELL 5679 3.7
figura 1.7
ROBERTO MORALES SEATTLE 5679 3.8
MARIAH DODGE SEATTLE 6666 3.6
LUKE BRAZZI SEATTLE 7777 3.7
WILLIAM PILGRIM BOTHELL 9876 4

1.2.3 Desarrollo de aplicaciones e interfase


del lenguaje procedural
La mayoría de los DBMS van más allá del simple acceso a los datos, pues proporcionan herra-
mientas gráficas para construir aplicaciones completas usando formularios y reportes. Los for-
mularios para captura de datos proporcionan una herramienta adecuada para introducir y editar
la información, mientras que los reportes mejoran la apariencia de los datos desplegados y su
impresión. El formulario de la figura 1.9 puede usarse para agregar asignaciones de un curso
nuevo para un profesor, o bien, para modificar las asignaciones existentes. El reporte de la figura
1.10 usa la sangría (la indentación) para mostrar los cursos impartidos en cada facultad y por
departamento. El estilo de sangría puede ser más sencillo a la vista que el estilo tabular mostrado
en la figura 1.8. Se pueden desarrollar muchas formas y reportes con una herramienta gráfica sin
codificar de forma detallada. Por ejemplo, las figuras 1.9 y 1.10 se desarrollaron sin código. El
capítulo 10 describe los conceptos implícitos en el desarrollo de formularios y reportes.
El acceso no procedural hace posible la creación de formularios y reportes sin un código ex-
tenso. Como parte de la creación de un formulario o reporte, el usuario indica los requerimientos
de datos utilizando lenguaje carente de procedimientos (SQL) o una herramienta gráfica. Para
completar la definición de un formulario o reporte, el usuario indica el formato de los datos, la
interacción del usuario y todos los detalles.
interfase de Además de las herramientas para el desarrollo de aplicaciones, una interfase de lenguaje
lenguaje procedural procedural agrega todas las capacidades de un lenguaje de programación. El acceso sin pro-
un método para combi- cedimientos y las herramientas de desarrollo de aplicaciones, aunque adecuadas y potentes,
nar un lenguaje no pro- algunas veces no son lo suficientemente eficientes o no proporcionan el nivel de control ne-
cedural, como SQL, con
un lenguaje de progra- cesario para el desarrollo de aplicaciones. Cuando estas herramientas no son adecuadas, los
mación, como COBOL DBMS proporcionan todas las capacidades de un lenguaje de programación. Por ejemplo,
o Visual Basic. Visual Basic for Applications (VBA) es un lenguaje de programación integrado a Microsoft

www.detodoprogramacion.com

www.FreeLibros.me
10 Parte Uno Introducción a los ambientes de base de datos

FIGURA 1.9 Formulario de asignación de profesores


Forma de Microsoft
Número de
Access para asignar seguridad social
cursos a un profesor
Nombre Apellido::

Departamento

Asignaciones

FIGURA 1.10 Reporte de la carga de trabajo para el profesor para el año académico 2005-2006
Reporte de Microsoft
Access de la carga de Nombre del departamento Periodo Número Unidades Límite Inscritos Porcentaje Baja
trabajo de un pro- ofrecido completado matrícula

fesor FIN
JULIA MILLS

INVIERNO 5678 4 20 1 5.00%


Resumen del ‘periodo’ = INVIERNO (1 registro detallado)
Suma 4 1
Promedio 5.00%
Resumen de JULIA MILLS
Suma 4 1
Promedio 5.00%
Resumen del ‘departamento’ = FIN (1 registro detallado)

Access. VBA permite la personalización completa del acceso a la base de datos, procesamiento
de formularios y generación de reportes. La mayoría de los DBMS comerciales tienen una inter-
fase de lenguaje procedural comparable a VBA. Por ejemplo, Oracle tiene el lenguaje PL/SQL y
Microsoft SQL Server tiene el lenguaje Transact-SQL. El capítulo 11 describe las interfases del
lenguaje procedural y del lenguaje PL/SQL.

1.2.4 Funciones de soporte para las operaciones


de base de datos
El procesamiento de transacciones le permite a un DBMS procesar grandes volúmenes de tra-
procesamiento de bajo repetitivo. Una transacción es una unidad de trabajo que se debe procesar de forma segura
transacciones sin la interferencia de otros usuarios y sin perder los datos debido a fallas. Ejemplos de transac-
procesamiento confiable ciones son el retiro de efectivo de un cajero automático, hacer una reservación en una aerolínea
y eficiente de un gran
e inscribirse a un curso. Un DBMS se asegura de que las transacciones se encuentren libres de
volumen de trabajo re-
petitivo. Los DBMS ase- interferencia con otros usuarios, que las partes de una transacción no se pierdan cuando hay
guran que los usuarios alguna falla, y que las transacciones no hagan que la base de datos se vuelva inconsistente. El
simultáneos no interfie- procesamiento de transacciones es la mayoría de las veces un asunto “tras bambalinas”. El usua-
ran entre ellos y que las rio no conoce los detalles acerca del procesamiento de las transacciones que no sea la seguridad
fallas no ocasionen la
en su realización.
pérdida del trabajo.
La puesta a punto del rendimiento de una base de datos incluye cierto número de monitoreos
y programas de utilerías que mejoran el desempeño. Algunos DBMS pueden monitorear el uso de
una base de datos, la distribución de las múltiples partes de una base de datos y su crecimiento.

www.detodoprogramacion.com

www.FreeLibros.me
Capítulo 1 Introducción a la administración de base de datos 11

FIGURA 1.11
Diagrama entidad-
relación (ERD) para Estudiante Oferta Profesores
la base de datos uni-
StdSSN OfferNo FacSSN
versitaria StdClass OffLocation Enseña FacSalary
StdMajor OffTime FacRank
StdGPA Tiene FacHireDate

Supervisa
Acepta

Registra

Inscripción Curso
EnrGrade CourseNo
CrsDesc
CrsUnits

Los programas de utilerías se pueden proporcionar para reorganizar una base de datos, seleccio-
nar las estructuras físicas para mejorar su desempeño y reparar sus partes dañadas.
El procesamiento de transacciones y las mejoras al rendimiento de una base de datos están
presentes principalmente en los DBMS que soportan grandes bases de datos con muchos usua-
rios simultáneos. A estos DBMS se les conoce como corporativos, ya que las bases de datos que
soportan, por lo general, son críticas para el funcionamiento de una organización. Los DBMS
corporativos comúnmente se ejecutan en poderosos servidores de alto costo. En contraste, los
DBMS de escritorio se ejecutan en computadoras personales y servidores pequeños que sopor-
tan un procesamiento limitado de transacciones, pero a un costo mucho menor. Los DBMS de
escritorio soportan bases de datos utilizadas por equipos de trabajo y negocios pequeños. Los
DBMS embebidos son una categoría emergente del software de bases de datos. Como su nom-
bre lo especifica, un DBMS embebido reside en un sistema más grande, ya sea una aplicación o
un dispositivo, tal como un asistente digital personal (PDA, por sus siglas en inglés) o una tarjeta
inteligente. Los DBMS embebidos proporcionan un procesamiento transaccional limitado, pero
tienen pocos requerimientos de memoria, procesamiento y almacenamiento.

1.2.5 Funciones de terceros


Además de las funciones proporcionadas de forma directa por los fabricantes de los DBMS,
disponemos también de software de terceros para muchos de ellos. En la mayoría de los casos
el software de terceros amplía las funciones disponibles en el software de bases de datos. Por
ejemplo, muchos fabricantes ofrecen herramientas avanzadas de diseño de bases de datos que
extienden sus capacidades de definición y rendimiento proporcionadas por un DBMS. La fi-
gura 1.11 muestra un diagrama de base de datos (un diagrama entidad-relación) creado con
Visio Professional, una herramienta para el diseño de bases de datos. El ERD de la figura 1.11
se puede convertir en tablas soportadas por la mayoría de los DBMS comerciales. En algunos
casos, el software de terceros compite de forma directa con el producto de la base de datos. Por
ejemplo, los fabricantes proporcionan herramientas para el desarrollo de aplicaciones que pue-
den reemplazar a las provistas con la base de datos.

1.3 Desarrollo de la tecnología de base de datos


y la estructura de mercado
La sección anterior mostró un breve recorrido por las funciones que se encuentran típicamente
en un DBMS. Las funciones de los productos de hoy son una mejora significativa en relación
con las de hace algunos años. La administración de base de datos, como muchas otras áreas de
www.detodoprogramacion.com

www.FreeLibros.me

S-ar putea să vă placă și