db architecture

22
Base de Datos Oracle 10g: Taller de Administración I 1-1

Upload: rodwechegarayfernandez

Post on 15-Dec-2015

230 views

Category:

Documents


0 download

DESCRIPTION

DB Architecture

TRANSCRIPT

Page 1: DB Architecture

Base de Datos Oracle 10 g: Taller de Administración I 1-1

Page 2: DB Architecture

Base de Datos Oracle 10 g: Taller de Administración I 1-2

Productos Oracle• Bases de datos Oracle:La base de datos Oracle es la primera base de datos diseñada para

Enterprise Grid Computing (el modo más flexible y rentable de gestionar información y aplicaciones).

• Oracle Application Server: El servidor certificado para plataforma Java 2 Enterprise Edition (J2EE) de Oracle integra todo lo necesario para desarrollar y desplegar aplicaciones basadas en Web. El servidor de aplicaciones despliega portales de comercio electrónico, servicios Web y aplicaciones transaccionales que incluyen aplicaciones basadas en PL/SQL, en Oracle Forms y en J2EE.

• Aplicaciones Oracle:Oracle E-Business Suite es un juego completo de aplicaciones de negocio para gestionar y automatizar los procesos de la organización.

• Oracle Collaboration Suite:Oracle Collaboration Suite es un sistema integrado único para todos los datos de comunicaciones de la organización: voz, correo electrónico, fax, dispositivo móvil, información de agenda y archivos.

• Oracle Developer Suite:Oracle Development Suite es un completo entorno integrado que combina herramientas de desarrollo de aplicaciones y de análisis de negocios.

• Servicios Oracle:Los servicios como Oracle Consulting y Oracle University proporcionan los conocimientos necesarios para sus proyectos Oracle. Para obtener enlaces útiles a diferentes recursos, consulte el apéndice titulado “Siguientes Pasos para Continuar con la Formación”.

Page 3: DB Architecture

Base de Datos Oracle 10 g: Taller de Administración I 1-3

Base de Datos Oracle 10 g: “ g” Significa Grid

Global Grid Forum (GGF) es un organismo que desarrolla estándares para Grid Computing. Está compuesto por un juego de comités y grupos de trabajo que se centran en diversos aspectos de Grid Computing. Los comités y grupos de trabajo están compuestos por participantes procedentes del mundo académico, de la comunidad investigadora y (cada vez más) de compañías comerciales. Puede visitar el sitio Web de GGF en la dirección http://www.gridforum.org.

Oracle ha creado el software de infraestructura de Grid Computing que equilibra todos los tipos de cargas de trabajo en todos los servidores y permite que todos ellos se puedan gestionar como un sistema completo. Grid Computing puede lograr el mismo nivel elevado de fiabilidad que la computación de mainframe ya que todos sus componentes están en cluster. Aunque, a diferencia de los mainframes y los grandes servidores de multiproceso simétrico (SMP) de UNIX, los grid pueden incorporar tecnologías de sistemas abiertos, como los procesadores Intel y el sistema operativo Linux, con un costo muy bajo.

La tecnología de Grid Computing de Oracle incluye:• Automatic Storage Management (ASM)• Real Application Clusters (RAC)• Oracle Streams• Enterprise Manager Grid Control

Page 4: DB Architecture

Base de Datos Oracle 10 g: Taller de Administración I 1-4

Base de Datos Oracle 10 g: “ g” Significa Grid (continuación)

Automatic Storage Managementdistribuye los datos de bases de datos por todos los discos, crea y mantiene un grid de almacenamiento y proporciona el rendimiento de entrada/salida (E/S) más elevado con los mínimos costos de gestión. Conforme se agregan o borran discos, ASM vuelve a distribuir los datos de manera automática. (No es necesario disponer de un gestor de volúmenes lógicos para gestionar el sistema de archivos.) La duplicación opcional aumenta la disponibilidad de los datos y es posible agregar o borrar discos en línea. Para obtener más información, consulte la lección titulada “Gestión de Estructuras de Almacenamiento de Bases de Datos”.

Oracle Real Application Clustersejecuta y escala todas las cargas de trabajo de aplicación en un cluster de servidores y ofrece las siguientes funciones:

• Clusterware integrado: Incluye la funcionalidad para la conectividad de cluster, mensajes y bloqueo, control de cluster y recuperación. Está disponible en todas las plataformas que soporta la base de datos Oracle 10g.

• Gestión automática de cargas de trabajo:Se pueden definir reglas para asignar automáticamente recursos de procesamiento a cada servicio durante las operaciones normales y en respuesta a fallos. Estas reglas se pueden modificar de manera dinámica para satisfacer las cambiantes necesidades de negocio. Esta asignación dinámica de recursos dentro de un grid de base de datos es exclusiva de Oracle RAC.

• Notificación automática de eventos a la capa media:Cuando cambia una configuración de cluster, la capa media puede adaptarse inmediatamente a la operación de failover de instancias o a la disponibilidad de una instancia nueva. Esto permite a los usuarios finales seguir trabajando cuando se produce un failover de instancias sin los retrasos que normalmente provocan los timeouts de red. En caso de disponibilidad de instancia nueva, la capa media puede iniciar inmediatamente las conexiones de equilibrio de carga en esa instancia. Los controladores de Java Database Connectivity (JDBC) de la base de datos Oracle 10g disponen de la funcionalidad “Fast Connection Failover” que se puede activar automáticamente para manejar estos eventos.

Oracle Streamsproporciona un marco unificado para compartir información, combinar la cola de mensajes, replicar datos, notificar eventos, cargar el almacén de datos y publicar y suscribir la funcionalidad en una tecnología única. Oracle Streams puede mantener sincronizadas dos o más copias de origen de datos cuando se apliquen actualizaciones en cualquiera de los sitios. Puede, de manera automática, capturar los cambios en las bases de datos, propagar esos cambios a los nodos suscritos, aplicarlos y detectar y resolver los conflictos de actualización de datos. Las aplicaciones pueden utilizar directamente Oracle Streams como una función de cola de mensajes o flujo de trabajo, permitiendo la comunicación entre las aplicaciones del grid.

Enterprise Manager Grid Control gestiona las operaciones de todo el grid que incluyen la gestión de toda la pila de software, el provisionamiento de usuarios, la clonación de bases de datos y la gestión de parches. Puede controlar el rendimiento de todas las aplicaciones desde el punto de vista de sus usuarios finales. Grid Control considera la disponibilidad y el rendimiento de la infraestructura de grid como un todo unificado en lugar de como unidades de almacenamiento, bases de datos y servidores de aplicaciones aislados. Los nodos de hardware, bases de datos y servidores de aplicaciones se pueden agrupar en entidades lógicas únicas y se puede gestionar un grupo de destinos como una sola unidad.

Nota: En este curso, utilice la Consola de Base de Datos de Enterprise Manager para gestionar las bases de datos de una en una.

Page 5: DB Architecture

Base de Datos Oracle 10 g: Taller de Administración I 1-5

Arquitectura de la Base de Datos Oracle

El servidor de Oracle es la clave para la gestión de información. Normalmente, un servidor de Oracle tiene que gestionar de manera fiable una gran cantidad de datos en un entorno de varios usuarios para que numerosos usuarios puedan acceder de manera simultánea a los mismos datos. Todo esto se debe realizar al mismo tiempo que se ofrece un alto rendimiento. Asimismo, un servidor de Oracle tiene que impedir el acceso no autorizado y proporcionar soluciones eficaces para la recuperación ante fallos.

Page 6: DB Architecture

Base de Datos Oracle 10 g: Taller de Administración I 1-6

Estructuras de Bases de Datos

Cada base de datos Oracle en ejecución está asociada a una instancia de Oracle. Cuando una base de datos se inicia en un servidor de bases de datos, el software de Oracle asigna un área de memoria compartida denominada Área Global del Sistema (SGA) e inicia varios procesos en segundo plano de Oracle. Esta combinación de SGA y los procesos de Oracle se denomina instancia de Oracle.

Después de iniciar una instancia, el software de Oracle la asocia a una base de datos concreta. Esto se denomina montaje de la base de datos. La base de datos está ahora lista para su apertura, lo que la hace accesible a los usuarios autorizados. Varias instancias se pueden ejecutar simultáneamente en la misma computadora, accediendo cada una de ellas a su propia base de datos física.

La arquitectura de la base de datos Oracle se puede ver como varios componentes estructurales interrelacionados.

Una base de datos Oracle utiliza procesos y estructuras de memoria para gestionar y acceder a la base de datos. Todas las estructuras de memoria existen en la memoria principal de las computadoras que constituyen el servidor de la base de datos. Los procesos son trabajos que funcionan en la memoria de estas computadoras. Un proceso se define como “thread de control” o mecanismo de un sistema operativo que puede realizar una serie de pasos.

Page 7: DB Architecture

Base de Datos Oracle 10 g: Taller de Administración I 1-7

Estructuras de Memoria de Oracle

Las estructuras de memoria básicas asociadas a una instancia de Oracle incluyen: • Área Global del Sistema (SGA):Compartida por todos los procesos de servidor y en

segundo plano.• Área Global de Programa (PGA):Privada para cada proceso de servidor y en segundo

plano. Existe una PGA por cada proceso.

SGA es un área de memoria que contiene datos e información de control para la instancia.

SGA incluye las siguientes estructuras de datos:• Caché de buffers de la base de datos:Almacena en caché los bloques de datos que se

recuperan de la base de datos.• Buffer de redo log:Almacena en caché la información de redo (utilizada para la

recuperación de instancias) hasta que se pueda escribir en los archivos redo log físicos almacenados en el disco.

• Pool compartido:Almacena en caché las distintas construcciones que se pueden compartir entre usuarios.

• Pool grande:Es un área opcional que proporciona grandes asignaciones de memoria para determinados procesos grandes, como operaciones de recuperación y copia de seguridad de Oracle y procesos de E/S del servidor.

Page 8: DB Architecture

Base de Datos Oracle 10 g: Taller de Administración I 1-8

Estructuras de Memoria de Oracle (continuación)

• Pool Java:Se utiliza para todos los códigos y datos Java específicos de la sesión dentro de Java Virtual Machine (JVM).

• Pool de Streams:Utilizado por Oracle Streams.

Al iniciar la instancia con Enterprise Manager o SQL*Plus, aparece la cantidad de memoria asignada a SGA.

Un Área Global de Programa (PGA) es una región de la memoria que contiene datos e información de control para cada proceso de servidor. Un proceso de servidor de Oracle se ocupa de las solicitudes de un cliente. Cada proceso de servidor tiene su propia PGA creada al iniciar el proceso de servidor. El acceso a PGA es exclusivo para dicho proceso de servidor y se lee y escribe sólo mediante código de Oracle que actúa en su nombre.

Con la infraestructura de SGA dinámica, el tamaño de la caché de buffers, el pool compartido, el pool grande, el pool Java y el pool de Streams de la base de datos cambian sin cerrar la instancia.

La base de datos Oracle utiliza los parámetros de inicialización para crear y configurar las estructuras de memoria. Por ejemplo, el parámetro SGA_TARGET especifica la cantidad total de espacio disponible en SGA. Si define SGA_TARGET en 0, se desactivará la gestión automática de memoria compartida.

Page 9: DB Architecture

Base de Datos Oracle 10 g: Taller de Administración I 1-9

Estructuras de Proceso

Al llamar a un programa de aplicación o herramienta de Oracle, como Enterprise Manager, el servidor de Oracle crea un proceso de servidor para ejecutar los comandos que emita la aplicación. El servidor de Oracle también crea un juego de procesos en segundo plano para una instancia que interactúan entre sí y con el sistema operativo para gestionar las estructuras de memoria, realizar una E/S asíncrona para escribir datos en disco y llevar a cabo otras tareas necesarias. El que estén presentes unos procesos en segundo plano u otros depende de las funciones que se estén utilizando en la base de datos.

Page 10: DB Architecture

Base de Datos Oracle 10 g: Taller de Administración I 1-10

Gestión de Instancias de Oracle

Un servidor de bases de datos Oracle consta de una base de datos Oracle y una instancia de Oracle. Una instancia de Oracle está formada por estructuras de memoria conocidas como Área Global del Sistema (SGA) y por procesos en segundo plano que manejan gran parte del trabajo en segundo plano relacionado con la ejecución de una instancia. Los procesos en segundo plano más comunes son los siguientes:

• Monitor del sistema (SMON):Realiza la recuperación de fallos cuando la instancia se inicia después de un fallo.

• Control de procesos (PMON):Realiza la limpieza de procesos cuando falla un proceso de usuario.

• Escritor de la base de datos (DBWn): Escribe bloques modificados de la caché de buffers de la base de datos en los archivos de datos del disco.

• Punto de control (CKPT): Actualiza todos los archivos de datos y de control de la base de datos para indicar el punto de control más reciente.

• Escritor de log (LGWR): Escribe las entradas de redo log en el disco.• Proceso de archivado (ARCn): Copia los archivos redo log en un almacenamiento de

archivado cuando se produce un cambio de log.

Page 11: DB Architecture

Base de Datos Oracle 10 g: Taller de Administración I 1-11

Proceso de Servidor y Caché de Buffers de la Base d e Datos

Cuando se procesa una consulta, el proceso del servidor de Oracle busca en la caché de buffers de la base de datos cualquier bloque que necesita. Si no encuentra el bloque en la caché de buffers de la base de datos, el proceso de servidor lee el bloque del archivo de datos y coloca una copia en esa caché. Puesto que es posible que solicitudes posteriores del mismo bloque encuentren el bloque en memoria, las solicitudes no requerirán lecturas físicas. El servidor de Oracle utiliza el algoritmo de uso menos reciente para dejar obsoletos los buffers a los que no se ha accedido últimamente y crear espacio para los nuevos bloques en la caché de buffers de la base de datos.

Los buffers de la caché de buffers pueden tener uno de los siguientes cuatro estados:• Asignado:Se evita que varias sesiones escriban en el mismo bloque al mismo tiempo.

Las demás sesiones esperan para acceder al bloque.• Limpio: El buffer ahora no está asignado y es candidato para quedarse obsoleto

inmediatamente si no se vuelve a hacer referencia al contenido actual (bloque de datos). El contenido está sincronizado con el contenido de los bloques almacenado en el disco o el buffer contiene una instantánea de lectura consistente (CR) de un bloque.

• Libre o no utilizado: El buffer está vacío porque la instancia se acaba de iniciar. Este estado es muy parecido al estado limpio, salvo que el buffer no se ha utilizado.

• Sucio:El buffer ya no está asignado pero el contenido (bloque de datos) ha cambiado y se debe vaciar en el disco con DBWn antes de que se quede obsoleto.

Page 12: DB Architecture

Base de Datos Oracle 10 g: Taller de Administración I 1-12

Estructura de Base de Datos Física

Los archivos que constituyen una base de datos Oracle están organizados del siguiente modo:• Archivos de control: Contienen datos sobre la propia base de datos (es decir, información

sobre la estructura de la base de datos física). Estos archivos son críticos para la base de datos. Sin ellos, no se pueden abrir los archivos de datos para acceder a los datos que contiene la base de datos.

• Archivos de datos:Contienen los datos de aplicación o de usuario de la base de datos.• Archivos redo log en línea:Permiten la recuperación de instancias de la base de datos. Si

la base de datos falla y no pierde archivos de datos, la instancia puede recuperar la base de datos con la información de dichos archivos.

Los siguientes archivos adicionales son importantes para la correcta ejecución de la base de datos:

• Archivo de parámetros: Se utiliza para definir el modo de configurar la instancia cuando se inicie.

• Archivo de contraseñas:Permite a los usuarios conectarse a la base de datos de forma remota y realizar tareas administrativas.

• Archivos de copia de seguridad:Se utilizan para la recuperación de la base de datos. Normalmente restaura un archivo de copia de seguridad cuando un fallo del medio físico o un error del usuario ha dañado o suprimido el archivo original.

Page 13: DB Architecture

Base de Datos Oracle 10 g: Taller de Administración I 1-13

Estructura de Base de Datos Física (continuación)

• Archivos archive log: Contienen un historial en curso de los cambios de datos (redo) generados por la instancia. Mediante estos archivos y una copia de seguridad de la base de datos, se puede recuperar un archivo de datos perdido. Es decir, los archive logs permiten la recuperación de archivos de datos restaurados.

• Archivos de rastreo:Cada proceso de servidor y en segundo plano puede escribir en un archivo de rastreo asociado. Cuando un proceso detecta un error interno, vuelca información sobre el error en su archivo de rastreo. Parte de la información escrita en un archivo de rastreo va destinada al administrador de la base de datos, mientras que otra información es para los Servicios de Soporte Oracle.

• Archivos log de alertas:Son archivos de rastreo especiales. También se conocen como logs de alertas. El log de alertas de una base de datos es un log cronológico de mensajes y errores. Oracle recomienda revisar estos archivos.

Page 14: DB Architecture

Base de Datos Oracle 10 g: Taller de Administración I 1-14

Tablespaces y Archivos de Datos

Una base de datos se divide en unidades lógicas de almacenamiento denominadas tablespaces, que se pueden utilizar para agrupar estructuras lógicas relacionadas. Cada base de datos está dividida lógicamente en uno o más tablespaces. Se crean explícitamente uno o más archivos de datos para cada tablespace con el fin de almacenar físicamente los datos de todas las estructuras lógicas de un tablespace.

Nota: También pueden crear tablespaces de archivo grande, que son tablespaces con un único archivo de datos aunque de gran tamaño (hasta 4 mil millones de bloques de datos). Los tablespaces de archivo pequeño tradicionales (utilizados por defecto) pueden contener varios archivos de datos, pero los archivos no pueden ser tan grandes. Para obtener más información sobre los tablespaces de archivo grande, consulte Database Administrator’s Guide.

Page 15: DB Architecture

Base de Datos Oracle 10 g: Taller de Administración I 1-15

Tablespaces SYSTEM y SYSAUX

Cada base de datos Oracle contiene un tablespace SYSTEM y un tablespace SYSAUX. Se crean automáticamente al mismo tiempo que la base de datos. El valor por defecto del sistema es crear un tablespace de archivo pequeño. También se pueden crear tablespaces de archivo grande, lo que permite a la base de datos Oracle gestionar archivos de enorme tamaño (de hasta 8 exabytes).

Un tablespace puede estar en línea (accesible) o fuera de línea (no accesible). El tablespace SYSTEM siempre está en línea cuando la base de datos está abierta. Almacena tablas que soportan la funcionalidad principal de la base de datos como, por ejemplo, las tablas del diccionario de datos.

El tablespace SYSAUX es un tablespace auxiliar del tablespace SYSTEM. El tablespace SYSAUXalmacena componentes de base de datos y debe estar en línea para el correcto funcionamiento de todos los componentes de base de datos.

Page 16: DB Architecture

Base de Datos Oracle 10 g: Taller de Administración I 1-16

Segmentos, Extensiones y BloquesLos objetos de base de datos, como tablas e índices, se almacenan en los tablespaces como segmentos. Cada segmento contiene una o más extensiones. Una extensión consta de bloques de datos contiguos, lo que significa que cada extensión sólo puede existir en un archivo de datos. Los bloques de datos son la unidad más pequeña de E/S de la base de datos.

Cuando la base de datos solicita un juego de bloques de datos del sistema operativo, éste lo asigna a un sistema de archivos real o bloque de disco en el dispositivo de almacenamiento. Por este motivo, no es necesario conocer la dirección física de los datos de la base de datos. Esto también indica que un archivo de datos se puede segmentar o duplicar en varios discos.

El tamaño del bloque de datos se puede definir en el momento de la creación de la base de datos. El tamaño por defecto de 8 KB es adecuado para la mayoría de las bases de datos. Si la base de datos da soporte a una aplicación de almacén de datos con tablas e índices grandes, un tamaño de bloque mayor puede ser útil.

Si la base de datos da soporte a una aplicación transaccional en la que la lectura y escritura se realizan aleatoriamente, puede ser útil especificar un tamaño de bloque menor. El tamaño de bloque máximo depende del sistema operativo. El tamaño de bloque mínimo de Oracle es de 2 KB y se utiliza pocas veces (si se llega a usar).

Puede tener tablespaces con distintos tamaños de bloque. Sin embargo, se deben utilizar sólo para tablespaces transportables. Para más información, consulte Database Administrator’s

Page 17: DB Architecture

Base de Datos Oracle 10 g: Taller de Administración I 1-‹Nº›

Guide.

Page 18: DB Architecture

Base de Datos Oracle 10 g: Taller de Administración I 1-17

Estructuras de Bases de Datos Físicas y Lógicas

Una base de datos Oracle es una recopilación de datos que se trata como una unidad. El objetivo general de una base de datos es almacenar y recuperar la información relacionada. La base de datos tiene estructuras lógicas y físicas.

Tablespaces

Una base de datos se divide en unidades lógicas de almacenamiento denominadas tablespaces, que agrupan estructuras lógicas relacionadas. Por ejemplo, los tablespaces suelen agrupar todos los objetos de una aplicación para simplificar algunas operaciones administrativas. Puede tener un tablespace para los datos de la aplicación y otro adicional para los índices de la aplicación.

Bases de Datos, Tablespaces y Archivos de Datos

La relación entre las bases de datos, los tablespaces y los archivos de datos se ilustra en la diapositiva. Cada base de datos está dividida de manera lógica en uno o más tablespaces. Se crean explícitamente uno o más archivos de datos para cada tablespace con el fin de almacenar físicamente los datos de todas las estructuras lógicas de un tablespace. Si se trata de un tablespace TEMPORARY, en lugar de un archivo de datos, el tablespace tendrá un archivo temporal.

Page 19: DB Architecture

Base de Datos Oracle 10 g: Taller de Administración I 1-18

Estructuras de Bases de Datos Físicas y Lógicas (co ntinuación)

Esquemas

Un esquema es una recopilación de objetos de base de datos propiedad de un usuario de la base de datos. Los objetos de esquema son estructuras lógicas que hacen referencia directa a datos de la base de datos. Los objetos de esquema incluyen estructuras como, por ejemplo, tablas, vistas, secuencias, procedimientos almacenados, sinónimos, índices, clusters y enlaces de base de datos. En general, los objetos de esquema incluyen todo lo que la aplicación cree en la base de datos.

Bloques de Datos

Al nivel más detallado de granularidad, los datos de una base de datos Oracle se almacenan en bloques de datos. Un bloque de datos corresponde a un número concreto de bytes de espacio de la base de datos física en el disco. Se especifica un tamaño del bloque de datos para cada tablespace cuando se crea. Una base de datos utiliza y asigna espacio libre de la base de datos en bloques de datos Oracle.

Extensiones

Al nivel siguiente del espacio de la base de datos lógica se denomina extensión. Una extensión es un número específico de bloques de datos contiguos (obtenidos en una única asignación) que se utilizan para almacenar un tipo determinado de información.

Segmentos

Al nivel de almacenamiento de la base de datos lógica por encima de una extensión se denomina segmento. Un segmento es un juego de extensiones asignadas para una determinada estructura lógica. Por ejemplo, los diferentes tipos de segmentos incluyen:

• Segmentos de datos:Cada tabla no de cluster y no organizada por índices tiene un segmento de datos. Todos los datos de la tabla se almacenan en las extensiones de su segmento de datos. Para una tabla particionada, cada partición tiene un segmento de datos. Cada cluster tiene un segmento de datos. Los datos de cada tabla del cluster se almacenan en el segmento de datos del cluster.

• Segmentos de índice:Cada índice tiene un segmento de índice que almacena todos sus datos. Para un índice particionado, cada partición tiene un segmento de índice.

• Segmentos de deshacer:El administrador de la base de datos crea un tablespace UNDOpara almacenar temporalmente información de deshacer. La información de un segmento de deshacer se utiliza para generar información de base de datos de lectura consistente y, durante la recuperación de la base de datos, para realizar una operación de rollback de las transacciones sin confirmar para los usuarios.

• Segmentos temporales:La base de datos Oracle crea segmentos temporales cuando una sentencia SQL necesita un área de trabajo temporal para terminar la ejecución. Cuando la sentencia termina la ejecución, las extensiones del segmento temporal vuelven a la instancia para un uso futuro. Especifique un tablespace temporal por defecto para cada usuario o un tablespace temporal por defecto que se utilice en toda la base de datos.

La base de datos Oracle asigna el espacio dinámicamente. Cuando las extensiones existentes de un segmento están completas, se agregan extensiones adicionales. Debido a que las extensiones se asignan según sea necesario, las extensiones de un segmento pueden o no ser contiguas en el disco.

Page 20: DB Architecture

Base de Datos Oracle 10 g: Taller de Administración I 1-19

Ejemplos del Curso: Esquema HR

Los ejemplos utilizados en este curso pertenecen una aplicación de recursos humanos (HR), que se puede crear como parte de la base de datos inicial.

A continuación, se muestran algunas reglas principales de negocio de la aplicación HR: • Cada departamento puede ser el empleador de uno o más empleados. Cada empleado se

puede asignar a un único departamento.• Cada puesto debe ser para uno o más empleados. Cada empleado debe estar asignado a un

único puesto simultáneamente. • Cuando un empleado cambia su departamento o puesto, un registro de la tabla

JOB_HISTORY registra las fechas de inicio y de finalización de las asignaciones pasadas.• Los registros de JOB_HISTORY se identifican mediante una clave primaria compuesta

(PK): las columnas EMPLOYEE_ID y START_DATE.

Notación: PK = Clave primaria, FK = Clave ajena

Las líneas sólidas representan las restricciones obligatorias de clave ajena y las líneas discontinuas las opcionales.

La tabla EMPLOYEES también tiene una restricción de clave ajena consigo misma. Ésta es una implementación de la regla de negocio: Cada empleado informa directamente a un único superior. La clave ajena es opcional porque el empleado de nivel superior no informa a otro empleado.

Page 21: DB Architecture

Base de Datos Oracle 10 g: Taller de Administración I 1-20

Arquitectura de Base de Datos: Resumen de Component es Estructurales

En esta lección, ha aprendido, a un alto nivel, sobre los componentes estructurales de la base de datos Oracle: estructuras de memoria, de proceso y de almacenamiento. En las siguientes lecciones encontrará información más detallada.

Page 22: DB Architecture

Base de Datos Oracle 10 g: Taller de Administración I 1-21