Está en la página 1de 20

Traducido del inglés al español - www.onlinedoctranslator.

com

Introducción

yo n el antiguo texto clásico chinoTao Te Ching, Lao Tzu ("Viejo Maestro") dice,“El árbol que llena los
brazos creció del más pequeño brote; la torre de nueve pisos se levantó de un (pequeño) montón de
tierra; el viaje de mil [millas] comenzó con un solo paso”. escribíA partir de la base de datos Oracle 11
gramoAdministraciónpara ayudarlo a dar los primeros pasos de su recorrido con Oracle Database. Es
el libro que desearía haber tenido cuando comencé a usar Oracle Database hace tantos años. Es el
libro que me hubiera gustado regalar a los muchos colegas y amigos de TI que, a lo largo de los
años, me han pedido que les enseñe los conceptos básicos de Oracle Database.

Comencé mi propio viaje hace más de 10 años cuando mi gerente en ese momento, Bill
Schwimmer, me dio la oportunidad de convertirme en administrador de Oracle Database en los días
de Oracle 7. Los libros sobre Oracle Database eran menos en ese momento y confiaba en copias
impresas de los manuales, que tuve que compartir con el resto del equipo; esto fue en los días previos
a Google, cuando Netscape Navigator acababa de aparecer en escena.
Hoy en día, los manuales de Oracle Database se pueden descargar de forma gratuita desde el sitio web
de Oracle. Pero su tamaño ha crecido enormemente a lo largo de los años. El manual de referencia de Oracle
Database 7.3 SQL tenía alrededor de 750 páginas; el 11gramola versión es el doble de ese tamaño.
¡Definitivamente no querrás llevar una copia impresa de eso en tu mochila!
El libro que tiene en sus manos no es un manual de referencia exhaustivo en ningún sentido; es una
introducción más manejable a los temas clave de administración de la base de datos de Oracle, que incluyen la
planificación, la instalación, la supervisión, la resolución de problemas, el mantenimiento, las copias de seguridad
y el ajuste del rendimiento, por nombrar solo algunos. Obtendrá el beneficio de mi experiencia, no solo de la línea
del partido que se encuentra en los manuales. Por ejemplo, por las razones explicadas en el interior, enfatizo la
herramienta Statspack en lugar del Repositorio de carga de trabajo automático (AWR).

En este libro, encontrará información que no encontrará en otros libros sobre Oracle Database. Aquí
encontrará no solo información técnica, sino también orientación sobre las prácticas laborales que son tan
vitales para su éxito como las habilidades técnicas. El capítulo más importante del libro es “El panorama
general y los diez entregables”. Si toma en serio las lecciones de ese capítulo, puede convertirse rápidamente
en un administrador de base de datos Oracle mucho mejor de lo que nunca pensó posible.

xiv
xxi INTRODUCCIÓN

Para quien es este libro


Era programador de C antes de convertirme en administrador de bases de datos. A falta de un texto como este, me
tomó bastante tiempo adaptarme a mi nuevo rol. Si usted es un profesional de TI que se ha visto obligado a
desempeñar una función de administración de Oracle Database sin el beneficio de una capacitación formal, o
simplemente desea comprender cómo funciona Oracle Database, entonces escribí este libro para usted.

Cómo está estructurado este libro


Los capítulos de este libro están organizados lógicamente en cuatro partes que siguen de cerca la forma en
que su carrera de administración de bases de datos evolucionará naturalmente. La Parte I es un
antecedente necesario en la teoría de la base de datos relacional y los conceptos de la base de datos
Oracle, la Parte II le enseñará cómo implementar una base de datos Oracle correctamente, la Parte III lo
expondrá a la rutina diaria de un administrador de base de datos y la Parte IV le presentará la fino arte de
ajuste de rendimiento. Cada capítulo tiene una sección de ejercicios que están diseñados para ayudarlo a
aplicar las lecciones del capítulo. Cada capítulo también incluye una lista de obras de referencia que
contienen más información sobre el tema del capítulo.

Parte I: Conceptos de bases de datos

Puede que tenga prisa por aprender a crear una base de datos, pero espero que se tome el tiempo
para comprender primero la teoría subyacente. No te arrepentirás.

Capítulo 1: Sistemas de gestión de bases de datos relacionales

Leonardo da Vinci dijo,“Aquellos que están enamorados de la práctica sin conocimiento son como el
marinero que se sube a un barco sin timón ni brújula y que nunca puede estar seguro [adónde] va. La
práctica siempre debe basarse en una teoría sólida”.¿Cómo puede administrar de manera
competente un sistema de administración de bases de datos relacionales como Oracle si realmente
no sabe qué hace que una base de datos "relacional" sea relacional o qué administra un sistema de
administración de bases de datos por usted? Este capítulo lo ayudará a orientarse y lo preparará para
lo que vendrá en el resto del libro.

Capítulo 2: SQL y PL/SQL

Toda la actividad de los usuarios de la base de datos se lleva a cabo en lenguaje de consulta estructurado (SQL) y, por
lo tanto, los administradores de la base de datos deben estar íntimamente familiarizados con él. El mayor potencial
para mejorar el rendimiento generalmente se encuentra dentro de la aplicación de software, no dentro de la base de
datos donde la aplicación almacena sus datos o dentro de la infraestructura física donde se aloja la base de datos.
Una razón igualmente importante por la que los administradores de bases de datos necesitan
INTRODUCCIÓN xvii

estar íntimamente familiarizado con SQL es que todas las actividades de administración de la base de datos, como
el mantenimiento de la base de datos y la gestión de usuarios, también se llevan a cabo en SQL. Una tercera razón
es que SQL tiene deficiencias contra las que se debe proteger. Estas deficiencias incluyen redundancia, problemas
introducidos por elementos de datos anulables y la ausencia de prohibiciones sobre registros de datos duplicados.

Capítulo 3: Arquitectura de Oracle

Así como el motor de un automóvil tiene muchas partes interconectadas que deben funcionar bien juntas, y
así como un mecánico de automóviles debe entender las partes individuales y cómo se relacionan con el
todo, el motor de la base de datos de Oracle tiene muchas partes interconectadas y el El administrador de la
base de datos debe comprender las partes individuales y cómo se relacionan con el todo. Este capítulo
proporciona una breve descripción general del motor de Oracle.

Parte II: Implementación de la base de datos

Después de dedicar algún tiempo a la teoría de bases de datos, estará ansioso por crear su primera base de datos.
Espero que aproveche la oportunidad de instalar Oracle en su propia computadora portátil XP o Vista; la mejor
manera de aprender es haciendo.

Capítulo 4: Planificación

Su objetivo como administrador de Oracle no es simplemente crear una base de datos, sino llegar a tiempo,
dentro del presupuesto y cumplir con los objetivos de disponibilidad y rendimiento del negocio. Como con
cualquier objetivo, la planificación cuidadosa es la clave del éxito. Tiene poco control sobre una serie de
factores que afectan el éxito de su base de datos; por ejemplo, diseño y prueba de aplicaciones. Este
capítulo analiza tres cuestiones importantes que definitivamente están dentro de su círculo de influencia y
que no puede permitirse el lujo de ignorar: licencias, arquitectura y dimensionamiento.

Capítulo 5: Instalación del software

En este capítulo, repasaré algunos requisitos previos, como obtener el software, las guías de instalación y
los manuales de referencia. También hablaré sobre la instalación de software que precede a la creación de
una base de datos. Le mostraré cómo instalé el software de Oracle en mi computadora portátil con Windows
XP Professional.

Capítulo 6: Creación de base de datos

La creación de bases de datos es más fácil de lo que piensas; son las tareas que vienen antes y después las que
toman mucho tiempo. En este capítulo, primero discutiré el “Siguiente-Siguiente-Siguiente; haga clic en Finalizar”
para crear una base de datos. Luego discutiré brevemente algunas tareas que debe considerar
xviii INTRODUCCIÓN

realizar después de crear una base de datos; específicamente, instalar las herramientas RDA y Statspack y
deshabilitar las funciones de la base de datos que no tienen licencia. Finalmente, presentaré el método
manual de creación de bases de datos y algunas tareas administrativas básicas.

Capítulo 7: Diseño de base de datos física

Las consideraciones de rendimiento pueden pasar a primer plano en cualquier momento durante la vida útil de la
base de datos; se pueden introducir nuevas consultas en cualquier momento. Por lo tanto, los administradores de
bases de datos deben comprender los mecanismos que se pueden utilizar para mejorar el rendimiento, y este
capítulo analiza tres categorías amplias.Índicesse puede utilizar para encontrar rápidamente los datos. Particionesy
racimosse puede utilizar para organizar los datos. Finalmente,vistas materializadasy tablas desnormalizadasse puede
usar para realizar operaciones costosas como uniones con anticipación.

Capítulo 8: Gestión de usuarios y carga de datos

Su trabajo no termina cuando crea una base de datos; todavía tiene que ingresar los datos y asegurarse de que
aquellos que necesitan usarlos puedan hacerlo. Este capítulo analiza cómo controlar a los usuarios y cómo obtener
grandes cantidades de datos dentro y fuera de las bases de datos. La administración de usuarios y la carga de datos
son dos tareas comunes realizadas por los administradores de bases de datos.

Parte III: Soporte de base de datos

La parte fácil ha terminado. Ha creado una base de datos y la ha cargado con datos. Ahora tienes que
centrar tu atención en el cuidado y alimentación de la misma.

Capítulo 9: Tomando el control

Si va a ser responsable de una base de datos, necesita saber qué contiene y cómo se utiliza. ¿Cuáles son las
mesas más grandes? ¿Cómo se distribuyen los archivos de datos, los archivos de control y los archivos de
registro? ¿Cuántas personas tienen cuentas de base de datos? ¿Cuántas personas utilizan la base de datos
a la vez? Su primera acción cuando adquiere la responsabilidad de una base de datos debe ser explorarla a
fondo.
En este capítulo, aprenderá acerca de las herramientas basadas en formularios, como Enterprise
Manager, SQL Developer y Remote Diagnostic Agent, que facilitan la exploración de la base de datos y
simplifican la tarea de administración de la base de datos.

Capítulo 10: Monitoreo

Cuando era niño, a veces me despertaba por la noche el sonido de un bastón golpeando el
suelo: era el vigilante nocturno que patrullaba el vecindario. Habría tenido una mejor
oportunidad de sorprender a los ladrones si se hubiera acercado sigilosamente a ellos.
INTRODUCCIÓN xxix

en voz baja, pero nunca cuestioné por qué anunciaba su presencia tan fuerte. Armado
únicamente con un bastón, tendría que confiar en sus fuertes pulmones para despertar al
vecindario si veía a algún ladrón, por lo que quizás era mejor anunciar su presencia y esperar
que los ladrones huyeran cuando lo escucharan venir. Sin embargo, el sonido de su bastón era
reconfortante, era bueno saber que alguien de confianza vigilaba el vecindario mientras
dormíamos.
El administrador de la base de datos es responsable de vigilar la base de datos. Si algo sale mal con la base de
datos que podría haberse evitado, no hay nadie más a quien culpar. Como aprenderá en este capítulo, la
disponibilidad, los cambios, la seguridad, el crecimiento, las copias de seguridad, la carga de trabajo, el rendimiento
y la capacidad de la base de datos son algunas de las áreas que deben monitorearse.

Capítulo 11: Solución de problemas

En este capítulo, observará un problema de la vida real a medida que avanza desde la detección hasta la
resolución. Aprenderá un enfoque sistemático de cinco pasos para solucionar problemas y la diferencia
entreadministracion de incidentesygestión de problemas. Cubriré la variedad de recursos de Internet que
están disponibles para usted, presentaré una base de conocimiento de Oracle llamada MetaLink y explicaré
cómo obtener soporte técnico de Oracle Corporation. Finalmente, discutiré algunos problemas comunes de
la base de datos.

Capítulo 12: Copias de seguridad

El héroe nacional estadounidense Benjamin Franklin solía escribir cartas anónimas a losgaceta de
pensilvania,un destacado periódico que él mismo poseía y editaba. En una de esas cartas acuñó la
famosa frase“una onza de prevención vale una libra de cura” y, además de hacer varias sugerencias
para la prevención de incendios, sugirió que Filadelfia imitara a su Boston natal en el
establecimiento de estaciones de bomberos y el empleo de bomberos; no solo se deben hacer todos
los esfuerzos para prevenir incendios, sino que la ciudad debe estar adecuadamente preparada para
manejar el próximo incendio inevitable.
Las copias de seguridad son para una base de datos lo que las estaciones de bomberos y los bomberos son para

una ciudad; podemos proteger la base de datos contra daños lo mejor que podamos, pero debemos estar preparados

si la base de datos alguna vez se daña, debido a un error del usuario o del operador o falla del hardware, y necesita ser

reparada. En este capítulo, aprenderá sobre los diferentes tipos de copias de seguridad y las herramientas utilizadas

para crearlas.

Capítulo 13: Recuperación

En el capítulo anterior aprendiste a hacer copias de seguridad de la base de datos; ahora


centrará su atención en reparar la base de datos si se daña.
xxx INTRODUCCIÓN

Capítulo 14: Mantenimiento de la base de datos

EnEl Principitode Antoine de Saint-Exupéry, el protagonista conoce a un principito cuyo hogar


estaba en un asteroide. En una de sus discusiones, el principito habló sobre la importancia del
mantenimiento adecuado, diciendo“A veces, no hay nada de malo en posponer un trabajo para
otro día. Pero cuando se trata de baobabs, eso siempre significa una catástrofe. Conocí un
planeta que estaba habitado por un hombre perezoso. Descuidó tres pequeños arbustos…”
Puedes imaginarte lo que le sucedería a un asteroide si se permitiera que tres pequeños
arbustos se convirtieran en inmensos baobabs.
En este capítulo, repasaremos el mantenimiento que se necesita para mantener su base de datos en óptimas

condiciones de funcionamiento.

Capítulo 15: El panorama general y los diez entregables

Este es el capítulo más importante de este libro: discuto el panorama general de TI y ofrezco una
guía muy específica en forma de diez entregables del rol de administración de bases de datos. Pocos
libros, si es que hay alguno, abordan este tema. Si toma en serio las lecciones de este capítulo,
puede convertirse rápidamente en un mejor administrador de Oracle Database de lo que creía
posible.
La competencia en tecnología Oracle es solo la mitad del desafío de ser un administrador de
base de datos. Si tuviera muy poco conocimiento de la tecnología de Oracle pero supiera
exactamente quéhabía que hacerlo, siempre se podía averiguarcómopara hacerlo, está Google y hay
muchos manuales en línea. Demasiados administradores de bases de datos de Oracle no saben qué
hacer y lo que tienen cuando terminan es "simplemente un desastre sin idea".

Parte IV: Ajuste de la base de datos

No existe tal cosa como un automóvil completamente autoajustable y no existe tal cosa como una base de datos
completamente autoajustable. El ajuste del rendimiento a menudo puede ser un rompecabezas que requiere una
solución creativa.

Capítulo 16: Ajuste de instancias

El ajuste de la base de datos puede ser un ejercicio complejo, pero puede facilitarse mediante un enfoque
sistemático. Este capítulo describe un enfoque sistemático de cinco pasos para el ajuste del rendimiento.
También presenta las herramientas más importantes proporcionadas por Oracle para ayudar con el ajuste
del rendimiento; Se enfatiza Statspack porque las herramientas más nuevas, como AWR y ADDM, requieren
licencias costosas y no están disponibles en la mayoría de los sitios. En particular, aprenderá un poderoso
método de extracción del repositorio de Statspack para obtener datos sobre tendencias de rendimiento. Lo
más destacado de este capítulo es el ejercicio de ajuste de rendimiento muy detallado al final; reforzará las
lecciones del capítulo.
INTRODUCCIÓN xxi

Capítulo 17: Ajuste de SQL

Quizás el problema más complejo en la administración de bases de datos es el ajuste de SQL, y no es


coincidencia que lo deje para el final. La escasez de libros dedicados al ajuste de SQL es evidencia de la
dificultad del tema. Las únicas formas de interactuar con Oracle, recuperar datos, cambiar datos,
administrar la base de datos, son a través de SQL. Oracle mismo usa SQL para realizar todo el trabajo que
hace entre bastidores. Por lo tanto, el rendimiento de SQL es la clave para el rendimiento de la base de
datos; todos los problemas de rendimiento de la base de datos son realmente problemas de rendimiento
de SQL, incluso si se expresan como contienda por los recursos.
En este capítulo, presentaré algunas de las causas de SQL ineficiente y algunas de las técnicas
comunes para hacer que SQL sea más eficiente. La mayor parte del tiempo se dedicará a trabajar en
un estudio de caso; Le mostraré una sentencia SQL bastante típica y la mejoraré por etapas hasta que
alcance el máximo nivel teórico de rendimiento que es posible alcanzar.

Código fuente y actualizaciones


A medida que trabaje con los ejemplos de este libro, puede decidir que prefiere escribir todo el
código a mano. Muchos lectores eligen hacer esto porque es una buena manera de
familiarizarse con las técnicas de codificación que se utilizan.
Tanto si desea escribir el código como si no, todo el código fuente de este libro está disponible
en la sección Código fuente del sitio web de Apress ( ) . Si te gusta
para escribir el código, puede usar los archivos de código fuente para verificar los resultados que
debería obtener; deberían ser su primera parada si cree que podría haber escrito un error. Si no le
gusta escribir, ¡debe descargar el código fuente del sitio web de Apress! De cualquier manera, los
archivos de código lo ayudarán con las actualizaciones y la depuración.

Fe de erratas

Apress hace todo lo posible para asegurarse de que no haya errores en el texto o el código. Sin embargo,
errar es humano y, como tal, reconocemos la necesidad de mantenerlo informado sobre cualquier error a
medida que se descubre y corrige. Las hojas de erratas están disponibles para todos nuestros libros en
. Si encuentra un error que aún no se ha informado, comuníquelo
sabemos.
El sitio web de Apress actúa como centro de otra información y soporte, incluido el código de todos
los libros de Apress, capítulos de muestra, vistas previas de los próximos títulos y artículos sobre temas
relacionados.

Ponerse en contacto con el autor

Por favor envíe sus comentarios y sugerencias a .


PARTE

Conceptos de bases de datos


CAPÍTULO 1

Base de datos relacional


Sistemas de gestión

Aquellos que están enamorados de la práctica sin conocimiento son como el marinero que
se sube a un barco sin timón ni brújula y que nunca puede estar seguro [adónde] va. La
práctica siempre debe basarse en una teoría sólida.

— El discurso sobre la pinturapor leonardo da vinci

W uando era un programador junior, bastante temprano en mi carrera, mis amigos y yo fuimos
asignados a trabajar en un gran proyecto de desarrollo de software para el cual tendríamos que usar
tecnologías desconocidas, aunque se nos prometió que se brindaría capacitación antes de que
comenzara el proyecto. . Todo lo que sabíamos de antemano era que el sistema operativo era algo
llamado VAX/VMS; no sabíamos qué lenguaje de programación o base de datos se utilizaría. Lo
primero que dijo el instructor fue (parafraseando) “Primero tienes que insertar tus definiciones en el
CDD”, y caminó hacia la pizarra y escribió los comandos que necesitábamos para ese propósito. No
hace falta decir que estábamos bastante nerviosos porque no teníamos idea de cuáles podrían ser
esas "definiciones" o qué era un "CDD" y cómo encajaba en el panorama general.
Me han dicho que lo primero que debo decirte es cómo crear un Oracle 11gramobase de datos.
Bueno, si realmente debes saberlo, el comando necesario es seguido
por su elección de nombre para la base de datos: cualquiera puede escribir ese comando y crear un Oracle
11gramobase de datos. Pero el mero conocimiento de unos pocos comandos de Oracle (o incluso muchos
comandos de Oracle) no convertirá a nadie en un administrador de base de datos de Oracle. Lo que dijo
Leonardo es tan importante que lo citaré de nuevo: “Aquellos que están enamorados de la práctica sin
conocimiento son como el marinero que se sube a un barco sin timón ni brújula y que nunca puede estar
seguro [adónde] va. La práctica siempre debe basarse en una teoría sólida.” ¿Cómo puede administrar de
manera competente un sistema de administración de bases de datos relacionales como Oracle si realmente
no sabe qué hace que una base de datos “relacional” sea relacional o qué administra un sistema de
administración de bases de datos por usted?

3
4 CAPÍTULO 1 SISTEMAS DE GESTIÓN DE BASES DE DATOS RELACIONADOS

¿Que es una base de datos?


Chris Date fue el orador principal en una de las conferencias educativas organizadas por el Grupo de
Usuarios de Oracle del Norte de California (NoCOUG), de cuya revista soy el editor. La estación de
noticias de televisión local envió un equipo para cubrir el evento porque Chris Date es un conocido
teórico de bases de datos y uno de los asociados del Dr. Edgar Codd, el inventor de la teoría de bases
de datos relacionales. El reportero me acorraló y me preguntó si
Estaba dispuesto a responder algunas preguntas para la cámara. Me sentí bastante halagado, pero cuando
el reportero me apuntó con la cámara y preguntó: “¿Por qué las bases de datos son importantes para la
sociedad?” todo lo que se me ocurrió decir fue (parafraseando) "Bueno, son importantes porque son, como,
De Verdadimportante, ya sabes. ¡Diez años de administración de bases de datos en mi haber y todavía
reprobé el examen final!
Por lo tanto, me gustaría que dediquemos unos minutos desde el principio a considerar cuál es la
palabrabase de datossignifica Una comprensión de las implicaciones de la palabra y las responsabilidades
que las acompañan le será de gran utilidad como buen administrador de bases de datos.
Podríamos comenzar diciendo que las bases de datos pueden contener datos que son confidenciales y
deben protegerse de miradas indiscretas. Solo los usuarios autorizados deben poder acceder a los datos,
sus privilegios deben estar adecuadamente restringidos y sus acciones deben registrarse. Incluso si los
datos en las bases de datos son para consumo público, es posible que debamos restringir quién puede
actualizar los datos, quién puede eliminarlos y quién puede agregarlos. Competentegestion de seguridades
por lo tanto parte de su trabajo.
También podríamos decir que las bases de datos pueden ser fundamentales para la capacidad de la
organización para funcionar correctamente. Organizaciones como bancos y sitios web de comercio electrónico
requieren que sus bases de datos estén disponibles las 24 horas. CompetenteAdministración de disponibilidadpor lo
tanto, es una parte importante de su trabajo. En el caso de un desastre como una inundación o un incendio, es
posible que las bases de datos deban reubicarse en una ubicación alternativa mediante copias de seguridad.
Competentegestión de la continuidades por lo tanto otra parte importante de su trabajo. También necesitamos
competentesgestión del cambio para proteger la base de datos de cambios no autorizados o mal probados,
administracion de incidentespara detectar problemas y restaurar el servicio rápidamente,gestión de problemaspara
proporcionar soluciones permanentes para problemas conocidos,gestión de la configuraciónpara documentar los
componentes de la infraestructura y sus dependencias, ygestión de la liberaciónpara traer disciplina a la tarea
interminable de aplicar parches y actualizaciones de software y hardware.
También podemos observar que las bases de datos pueden ser muy grandes. La primera base de datos con la que

trabajé, para el gigante de fabricación de semiconductores Intel, tenía menos de 100 megabytes de tamaño y solo tenía unas

pocas docenas de tablas de datos. Hoy en día, las bases de datos utilizadas por conjuntos de aplicaciones empresariales

como Peoplesoft, Siebel y Oracle Applications tienen un tamaño de decenas o cientos de gigabytes y pueden tener diez mil

tablas o más. Una de las razones por las que las bases de datos son ahora tan grandes es que los avances en la tecnología de

almacenamiento en discos magnéticos han hecho factible almacenar y recuperar de manera eficiente grandes cantidades de

datos no textuales, como imágenes y sonido.


CAPÍTULO 1 SISTEMAS DE GESTIÓN DE BASES DE DATOS RELACIONADOS 5

También podemos señalar que las bases de datos pueden crecer rápidamente y que debemos planificar el
crecimiento. También podemos ver que las aplicaciones de bases de datos pueden consumir grandes cantidades
de recursos informáticos.Gestión de capacidadpor lo tanto, es otra parte importante de su trabajo, y necesita un
plan de capacidad que se adapte tanto al crecimiento continuo de los datos como a las crecientes necesidades de
recursos informáticos.
Cuando dejamos de pensar en términos de comandos de Oracle como y
empecemos a pensar en términos como gestión de seguridad, gestión de disponibilidad, gestión de
continuidad, gestión de cambios, gestión de incidentes, gestión de problemas, gestión de configuración,
gestión de versiones y gestión de capacidad, el negocio de la administración de bases de datos comienza a
tener un sentido coherente y nos convertimos en una base de datos más efectiva administradores Estos
términos forman parte de la jerga estándar de la Biblioteca de infraestructura de TI (ITIL), un conjunto de
prácticas recomendadas que utilizan las organizaciones de TI de todo el mundo.
Ahora, ¿le gustaría intentar responder la pregunta que me dejó anonadado en la entrevista
televisiva:¿Por qué las bases de datos son importantes para la sociedad?

que es unRelacional¿Base de datos?


La teoría de la base de datos relacional fue inventada por el Dr. Edgar Codd en 1970 en un artículo titulado
"Un modelo relacional para datos para grandes bancos de datos compartidos".1Basó su teoría en principios
matemáticos rigurosos y usó el término matemático correcto relación para describir lo que vagamente
llamamos unmesa. La palabramesano es un término matemático, perorelaciónes un término matemático
definido con precisión, y se pueden construir muchas buenas matemáticas en torno a su definición.

Definición del TérminoRelación


En términos simples, una relación es una asociación de los miembros de dos o más conjuntos. Aquí está la
definición precisa que se encuentra en el artículo del Dr. Codd:

Dados los conjuntos S1, S2,..., Sn (no necesariamente distintos), R es una relación sobre estos n conjuntos
si es un conjunto de n-tuplas, cada una de las cuales tiene su primer elemento de S1, su segundo
elemento de S2, y así.

1. Codd, Edgar. “Un modelo relacional de datos para grandes bancos de datos compartidos”,Comunicaciones de la ACM,
Volumen 13, número 6 (junio de 1970).
6 CAPÍTULO 1 SISTEMAS DE GESTIÓN DE BASES DE DATOS RELACIONADOS

Bueno, esto parece ser una forma matemática aburrida de complicar un concepto simple
como una tabla y no explica por qué el enfoque relacional barrió todo lo que venía antes. Para
entender por qué el enfoque relacional fue revolucionario, primero tenemos que entender las
tecnologías que lo precedieron y cómo eran deficientes. Luego debemos estudiar los
“operadores relacionales” que producen nuevas relaciones a partir de las antiguas.

Bases de datos de red

Un ejemplo de una tecnología de base de datos pre-relacional fue la tecnología de “base de datos en
red”, uno de los mejores ejemplos fue DEC/DBMS, creado por Digital Equipment Corporation para las
plataformas VAX/VMS y OpenVMS; todavía sobrevive hoy como Oracle/ SGBD. Sí, es extraño, pero es
cierto: Oracle Corporation, el fabricante de la tecnología de base de datos relacional dominante en el
mundo, también vende una tecnología de base de datos prerelacional. Según Oracle Corporation,
Oracle/DBMS es una tecnología de base de datos muy poderosa, confiable y sofisticada que tiene una
relevancia continua y que Oracle se compromete a respaldar. Aquí hay algunas citas del sitio web de
Oracle Corporation.

CODASYL DBMS es un sistema de gestión de base de datos multiusuario compatible con CODASYL
para sistemas operativos OpenVMS. CODASYL DBMS está diseñado para bases de datos de todos
los niveles de complejidad, desde jerarquías simples hasta redes sofisticadas con relaciones de
varios niveles. CODASYL DBMS proporciona una plataforma operativa confiable para entornos de
aplicaciones donde la estabilidad, la alta disponibilidad y el rendimiento son esenciales. … La
estrategia de Oracle para CODASYL DBMS más allá de la versión 7 es un énfasis continuo en la
disponibilidad, las capacidades de VLDB y el rendimiento. … Nuestro objetivo general es brindar
soporte y mejoras continuas para garantizar que DBMS mantenga su reputación de estabilidad y
calidad.2

En una base de datos de red, los registros de datos están vinculados en cadenas. Considere un ejemplo
que involucre tres tipos de registros: PROVEEDOR, PARTE y COTIZACIÓN; cada registro de PROVEEDOR
almacena información sobre un proveedor, cada registro de PARTE almacena información sobre una parte y
cada registro de COTIZACIÓN almacena el precio cotizado por un proveedor para una parte. La figura 1-1
muestra cómo se pueden vincular los registros. Vemos que los martillos son suministrados por tres
proveedores diferentes y que New Yankee Workshop, Inc. ha cotizado el precio más bajo.

2. CODASYL es la Conferencia sobre lenguajes de sistemas de datos, un consorcio de la industria que escribió las
especificaciones para el lenguaje de programación COBOL.
CAPÍTULO 1 SISTEMAS DE GESTIÓN DE BASES DE DATOS RELACIONADOS 7

PARTE

UÑA MARTILLO

PROVEEDOR

NUEVO YANQUI

$0.19 $1.89 TALLER,


CÍA.

$0.20 $1.99 TIEMPO DE HERRAMIENTAS, INC.

COTIZAR VIEJO YANQUI


$2.09 TALLER,
CÍA.

Figura 1-1.Relación entre proveedores y repuestos

Suponiendo que las cadenas de cotizaciones están ordenadas en orden ascendente y que los registros de
PARTES individuales y los registros de PROVEEDORES se pueden ubicar rápidamente usando elpicadillotécnica,3
la organización de la base de datos que se muestra en la Figura 1-1 nos permite realizar las siguientes
tareas.

1.Enumere toda la información disponible para una parte específica: el método de indexación hash
nos permite recuperar el registro PART requerido rápidamente.

2.Enumere toda la información disponible para un proveedor específico: el método de indexación


hash también nos permite recuperar el registro de PROVEEDOR requerido rápidamente.

3.Enumere todas las partes: esto se puede responder recorriendo la cadena de registros PART desde
el principio hasta el final.

4.Haga una lista de todos los proveedores: esto se puede responder recorriendo la cadena de registros
PROVEEDOR desde el principio hasta el final.

5.Enumere todos los proveedores de una pieza específica; esto se puede responder recorriendo la cadena de
registros COTIZACIÓN vinculados al registro PARTE específico.

3.PicadilloLas técnicas se utilizan para calcular un valor numérico a partir de un valor no numérico, como un código de pieza. Entonces
se puede almacenar un registro de datos en la dirección correspondiente a este valor numérico y se puede encontrar en esta
dirección en un momento futuro. Por lo tanto, las técnicas hash tienen el mismo propósito que un índice.
8 CAPÍTULO 1 SISTEMAS DE GESTIÓN DE BASES DE DATOS RELACIONADOS

6.Haga una lista de todas las piezas suministradas por un proveedor específico; esto se puede responder recorriendo

la cadena de registros de COTIZACIÓN vinculados al registro de PROVEEDOR específico.

7.Enumere el proveedor que ha cotizado el precio más bajo para una pieza específica; esto se puede
responder buscando el primer registro de COTIZACIÓN vinculado al registro de PARTE específico.

Pero otras tareas como "enumerar los proveedores que suministran todas las piezas", "enumerar las piezas
que suministran todos los proveedores" y "enumerar los proveedores que suministran todas las piezas
proporcionadas por un proveedor específico a precios más baratos" no se pueden realizar fácilmente. usando la
estructura de la base de datos de la red diagramada en la Figura 1-1. Pero se logran fácilmente con una base de
datos relacional, como veremos pronto.

Definición de unRelacionalBase de datos

La tecnología de bases de datos relacionales hizo a un lado a las tecnologías más antiguas precisamente porque demostró

ser lo suficientemente flexible como para responder a todo tipo de preguntas; no sólo un pequeño conjunto de preguntas.

Esto se debe a que las bases de datos relacionales vienen conoperadores relacionalesque producen nuevas relaciones a partir

de las antiguas. Aquí, entonces, hay una definición "aproximada y lista" (ligeramente parafraseada) de una base de datos

relacional de CJ Date'sIntroducción a los sistemas de bases de datos, octava edición (Addison-Wesley, 2003):

Una base de datos relacional es una base de datos en la que: El usuario percibe los datos como
tablas (y nada más que tablas)4y los operadores disponibles para el usuario para (por ejemplo) la
recuperación son operadores que derivan tablas "nuevas" de las "antiguas".

Operadores relacionales

Examinemos algunos operadores relacionales y usémoslos para responder la pregunta:¿Qué proveedores


suministran todas las piezas?Pero primero, necesitamos organizar nuestros datos en tablas. Las tablas 1-1 a 1-3
enumeran el contenido de una base de datos de muestra que usaremos para explorar el funcionamiento de los
operadores relacionales.

Tabla 1-1.La tabla de piezas

Nombre de la pieza

MARTILLO
UÑA

4. Habiendo explicado el origen de la palabrarelación, podemos empezar a usar el término más comúnmesa siempre
que nos estemos refiriendo a una relación.
CAPÍTULO 1 SISTEMAS DE GESTIÓN DE BASES DE DATOS RELACIONADOS 9

Tabla 1-2.La tabla de proveedores

Nombre del proveedor

TALLER NEW YANKEE, INC. TALLER


OLD YANKEE, INC.
TIEMPO DE HERRAMIENTAS, INC.

Tabla 1-3.La tabla de cotizaciones

Nombre del proveedor Nombre de la pieza Cotizar

TALLER NEW YANKEE, INC. TALLER MARTILLO $1.89


NEW YANKEE, INC. TALLER OLD UÑA $0.19
YANKEE, INC. TIME TIME, INC. MARTILLO $2.09
MARTILLO $1.99
TIEMPO DE HERRAMIENTAS, INC. UÑA $0.20

La tabla 1-4 enumera las definiciones de cinco operadores relacionales, cuatro de los cuales necesitaremos para

responder la pregunta:¿Qué proveedores suministran todas las piezas?

Tabla 1-4.Cinco operadores relacionales5

Operador Definición
Selección Forme otra tabla extrayendo un subconjunto de las filas de una tabla de interés utilizando algunos
criterios.

Proyección Forme otra tabla extrayendo un subconjunto de las columnas de una tabla de interés. Cualquier
fila duplicada que se forme como resultado de la operación de proyección se elimina.

Unión Forme otra tabla seleccionando todas las filas de dos tablas de interés. Si la primera tabla
tiene 10 filas y la segunda tabla tiene 20 filas, la tabla resultante tendrá como máximo 30
filas, porque los duplicados se eliminarán del resultado.
Diferencia Forme otra tabla extrayendo solo aquellas filas de una tabla de interés que no aparecen
en una segunda tabla.
Unirse Forme otra tabla concatenando registros de dos tablas de interés. Por ejemplo, si la
primera tabla tiene 10 filas y la segunda tabla tiene 20 filas, la tabla resultante tendrá
200 filas, y si la primera tabla tiene 10 columnas y la segunda tabla tiene 20 columnas,
entonces la tabla resultante tendrá 30 filas. columnas

Podemos calcular la respuesta a la pregunta “¿Qué proveedores suministran todas las piezas?” en una
secuencia de cinco pasos. En cada paso, usamos uno de los operadores relacionales recién enumerados y
creamos una tabla de resultados intermedia.

5. Es posible crear nuevas operaciones combinando las operaciones enumeradas. Por ejemplo, "Combinación natural" es el
resultado producido por una operación de combinación en dos tablas seguida de una operación de selección en la tabla
intermedia resultante.
10 CAPÍTULO 1 SISTEMAS DE GESTIÓN DE BASES DE DATOS RELACIONADOS

1.En el primer paso, usamos la operación Unir y formamos una tabla de resultados intermedia
concatenando registros de la tabla Proveedores y la tabla Partes. Todas las combinaciones de
Nombre del proveedor y Nombre de la pieza aparecen en esta tabla. La tabla 1-5 muestra el
resultado.

Tabla 1-5.Todas las combinaciones de nombre de proveedor y nombre de pieza

Nombre del proveedor Nombre de la pieza

NEW YANKEE WORKSHOP, INC. MARTILLO


NEW YANKEE WORKSHOP, INC. UÑA
OLD YANKEE WORKSHOP, INC. MARTILLO
OLD YANKEE WORKSHOP, INC. UÑA
TOOL TIME, INC. MARTILLO
TIEMPO DE HERRAMIENTAS, INC. UÑA

2.En el segundo paso, usamos la operación Proyección y formamos otra tabla de resultados
intermedia extrayendo las columnas Nombre del proveedor y Nombre de la pieza de la tabla
Cotizaciones. El resultado de la Tabla 1-6 es la lista de combinaciones válidas de nombre de
proveedor y nombre de pieza.

Tabla 1-6.Combinaciones válidas de nombre de proveedor y nombre de pieza

Nombre del proveedor Nombre de la pieza

TALLER NEW YANKEE, INC. TALLER MARTILLO


NEW YANKEE, INC. TALLER OLD UÑA
YANKEE, INC. TIME TIME, INC. MARTILLO
MARTILLO
TIEMPO DE HERRAMIENTAS, INC. UÑA

3.En el tercer paso, utilizamos la operación Diferencia y formamos una tercera tabla de
resultados intermedios, que se muestra en la Tabla 1-7, extrayendo solo aquellas filas de la
tabla de resultados intermedios creada en el primer paso que no se encuentran en el
resultado intermedio. tabla creada en el segundo paso. La aparición de una cierta
combinación de NombreProveedor y NombrePieza en esta nueva tabla intermedia indica que
el proveedor en cuestión no suministra la pieza indicada.

Tabla 1-7.Combinaciones de nombre de proveedor y nombre de pieza no válidas

Nombre del proveedor Nombre de la pieza

ANTIGUO TALLER YANKEE, INC. UÑA


CAPÍTULO 1 SISTEMAS DE GESTIÓN DE BASES DE DATOS RELACIONADOS 11

4.En el cuarto paso, utilizamos la operación Proyección y formamos otra tabla de resultados
intermedia extrayendo solo la primera columna de la tabla de resultados intermedia creada
en el tercer paso. El resultado, que se muestra en la Tabla 1-8, es la lista de proveedores que
no suministran al menos una parte.

Tabla 1-8.Proveedores que no suministran todas las piezas

Nombre del proveedor

ANTIGUO TALLER YANKEE, INC.

5.En el quinto y último paso, usamos la operación Diferencia una vez más y obtenemos el
resultado final que buscábamos al extraer solo aquellas filas de la tabla Proveedores que no
aparecen en la tabla de resultados intermedios del cuarto paso. La tabla 1-9 muestra el
resultado final, que es la lista requerida de proveedores que sí suministran todas las piezas.

Tabla 1-9.Proveedores que suministran todas las piezas

Nombre del proveedor

NUEVO TALLER YANKEE, INC.


TIEMPO DE HERRAMIENTAS, INC.

EXPRESIONES DE ÁLGEBRA RELACIONAL

Así como los números y los símbolos aritméticos, como la suma y la multiplicación, se pueden combinar en una

expresión aritmética, las tablas y los operadores de tablas también se pueden combinar en una expresión de álgebra

relacional. Podemos especificar la secuencia anterior de pasos en una sola expresión como se muestra aquí.

lenguaje de consulta estructurado

La especificación de expresiones de álgebra relacional se ve facilitada por un lenguaje similar al inglés


llamado lenguaje de consulta estructurado o SQL. Como ejemplo, veamos la formulación SQL de la consulta
¿Qué proveedores suministran todas las piezas?Son posibles múltiples formulaciones, y la que se muestra en
el Listado 1-1 utiliza una técnica llamadafactorización de subconsultaspara producir el resultado deseado
usando la misma serie de pasos cortos que se usó en la sección anterior.
12 CAPÍTULO 1 SISTEMAS DE GESTIÓN DE BASES DE DATOS RELACIONADOS

Listado 1-1.Proveedores que suministran todas las piezas

La declaración de SQL que se muestra en el Listado 1-1 es bastante parecida a la inglesa y se explica
por sí misma, y retomaremos la discusión de SQL en el próximo capítulo. Por ahora, observe cómo el
formato mejora la legibilidad: la versión elegantemente formateada con "ríos" verticales y
CAPÍTULO 1 SISTEMAS DE GESTIÓN DE BASES DE DATOS RELACIONADOS 13

"palabras reservadas" en mayúsculas6que se muestra en el Listado 1-1 se produjo usando una herramienta llamada
Toad y es completamente equivalente a la versión ilegible que se muestra en el Listado 1-2.

Listado 1-2.Consulta SQL ilegible

Eficiencia de los Operadores Relacionales

Es posible que haya notado que la discusión en la sección anterior no mencionó la eficiencia. Las definiciones de las
operaciones de la tabla no explican cómo se pueden obtener los resultados de manera eficiente. Esto es, de hecho,
intencional y es una de las mayores fortalezas de la tecnología de bases de datos relacionales:se deja al sistema de
gestión de la base de datos proporcionar implementaciones eficientes de las operaciones de la tabla. En particular, la
operación de selección depende en gran medida de los esquemas de indexación y Oracle Database proporciona una
gran cantidad de tales esquemas, incluidos los índices de árbol B, las tablas organizadas por índices, las tablas
particionadas, los índices particionados, los índices de funciones, los índices de clave inversa, los índices de mapas de
bits, los índices de tablas. clústeres y clústeres hash. Discutiremos las posibilidades de indexación como parte del
diseño de una base de datos física en el Capítulo 7.

Optimización de consultas

Quizás el aspecto más importante de las expresiones del álgebra relacional es que, excepto en casos
muy simples, se pueden reorganizar de diferentes maneras para obtener una ventaja de rendimiento
sin cambiar su significado o hacer que cambien los resultados. Las siguientes dos expresiones son
equivalentes, excepto quizás en el orden en que aparecen las columnas de datos en el resultado: un
detalle de presentación menor, no uno que cambie el significado del resultado.

Listado 1-3.Uniendo Dos Mesas

6. Palabras que tienen un significado especial en SQL.


14 CAPÍTULO 1 SISTEMAS DE GESTIÓN DE BASES DE DATOS RELACIONADOS

El número de formas en que se puede reorganizar una expresión de álgebra relacional aumenta drásticamente
a medida que las expresiones se hacen más largas. Incluso la expresión relativamente simple
puede organizarse de las siguientes 12 formas equivalentes que
duce resultados que difieren solo en el orden en que se presentan las columnas, un detalle cosmético que se
puede remediar fácilmente antes de que los resultados se muestren al usuario.

Listado 1-4.Uniendo Tres Mesas

No es obvio en esta etapa qué ventaja de rendimiento, si es que se obtiene alguna, se obtiene
reorganizando las expresiones del álgebra relacional. Tampoco es obvio qué criterios deben usarse al
reorganizar las expresiones. Baste decir que una expresión de álgebra relacional pretende ser unano
procedimentalespecificación de un resultado esperado y laoptimizador de consultaspuede tomar cualquier
acción destinada a mejorar la eficiencia del procesamiento de consultas siempre que el resultado no cambie.
La optimización de consultas relacionales es objeto de mucha investigación teórica, y el optimizador de
consultas de Oracle continúa mejorando en cada versión de Oracle Database. Volveremos al tema del ajuste
de consultas SQL en el Capítulo 17.

¿Qué es un sistema de gestión de base de datos?


Los sistemas de gestión de bases de datos como Oracle son la interfaz entre los usuarios y las bases de
datos. Los sistemas de gestión de bases de datos difieren en la gama de funciones que ofrecen, pero todos
ellos ofrecen ciertas funciones básicas, comoGestión de transacciones,integridad de los datos, y seguridad.
Y, por supuesto, ofrecen la posibilidad de crear bases de datos y definir su estructura, así como almacenar,
recuperar, actualizar y eliminar los datos de la base de datos.

También podría gustarte