Está en la página 1de 23

Diapositiva 3: Funciones de Oracle 9i

Funciones de Oracle9i
Oracle ofrece una infraestructura global de alto rendimiento para e-business. Se llama
Oracle9i e incluye todo lo necesario para desarrollar y gestionar aplicaciones de
Internet.
Las ventajas son:
• Escalabilidad de departamentos a ubicaciones e-business de empresa: Cuando un
sitio crece es necesario adaptarse para que los usuarios sigan teniendo un acceso
rapido y confiable a las aplicaciones y los datos. Para ello se pueden utilizar los
servicios de caching proporcionados por Oracle 9i Aplication Server. Oracle
Database Cache, para cachear solicitudes frecuentes de datos a la DB; Oracle
Web Cache para cachear y realizar balance de carga de solicitudes HTTP a
través de un agrupamiento web o cluster de maquinas corriendo Oracle 9i
Aplication Server.
• Arquitectura robusta, fiable, disponible y segura. Fiabilidad es la capacidad de
una persona o un sistema para funcionar y mantener sus funciones en
circunstancias ordinarias, así como las circunstancias hostiles o inesperadas.
• Un modelo único de desarrollo, opciones sencillas de desarrollo
• Aprovecha el juego de habilidades actual de una organización en toda la
plataforma Oracle (incluidos SQL, PL/SQL, Java y XML)
• Una interfaz de gestión para todas las aplicaciones. Interfaz de administración
para todas las aplicaciones
• Tecnologías del estándar de la industria, sin bloqueo por propiedad. Tecnología
estándar, no cerrada.
Oracle, la regla es "los lectores no bloquean los escritores y los escritores no bloquean a
los lectores." Esto es posible sin comprometer la integridad de los datos de forma
dinámica porque Oracle volverá a crear una imagen coherente de lectura para un lector
de cualquier dato solicitado que se haya cambiado, pero aún no comprometidos. En
otras palabras, el lector podrá ver los datos como lo era antes el escritor comenzó a
cambiar él (hasta que el escritor comete). esquema de bloqueo de SQL Server es mucho
más simple (menos maduros) y dará lugar a un montón de retrasos / espera en un
entorno OLTP pesados
La naturaleza multi-plataforma de Oracle hace que sea una verdadera solución
empresarial.

Diapositiva 4: ORACLE 9i
¿QUE ES ORACLE?
La Historia de Oracle: Innovación, Liderazgo y Resultados
Hace tres décadas, Larry Ellison vio una oportunidad que otras empresas no supieron
apreciar al descubrir la descripción de un prototipo de trabajo para una base de datos
relacional y enterarse de que ninguna empresa se había comprometido a comercializar la
tecnología. Ellison y sus cofundadores, Bob Miner y Ed Oates, se dieron cuenta del gran
potencial económico que ofrecía el modelo de base de datos relacional—pero no se
dieron cuenta de que ellos cambiarían la informática empresarial para siempre.
Con la agilidad de una empresa mucho más pequeña, Oracle ha demostrado, gracias a su
historial, que puede construir para el futuro sobre la base de años de innovación, el gran
conocimiento de los éxitos y desafíos de sus clientes, y los mejores talentos en el área
técnica y comercial alrededor del mundo. La empresa ha demostrado no solo su
capacidad de aprovechar al máximo su gran tamaño y sus virtudes para servir a sus
clientes, sino también su capacidad de tomar decisiones que eliminen las creencias
convencionales y lleven sus productos y servicios hacia una nueva dirección.
Después de 30 años, Oracle sigue siendo el estándar de oro para las aplicaciones y la
tecnología de base de datos de empresas de todo el mundo: La compañía es proveedora
líder mundial de software para la administración de la información, y la segunda
empresa de software independiente más grande del mundo. La tecnología de Oracle
puede encontrarse en casi todos los sectores, y en los centros de datos de 98 de las 100
empresas Fortune. Oracle es la primera empresa de software en desarrollar e
implementar software empresarial 100 por ciento activado por internet en toda su línea
de productos: base de datos, aplicaciones comerciales y herramientas para el soporte de
decisiones y el desarrollo de aplicaciones.
Es la innovación la que impulsa el éxito de Oracle. Oracle fue una de las primeras
empresas en lograr que sus aplicaciones comerciales estén disponibles en Internet—una
idea hoy en día dominante. Con el lanzamiento de Oracle Fusion Middleware, Oracle
comienza a lanzar nuevos productos y funcionalidades, los cuales reflejan el objetivo de
la empresa: conectar todos los niveles de tecnología empresarial para ayudar a los
clientes a acceder al conocimiento que necesitan para responder con velocidad y
agilidad ante los requisitos del mercado. Hoy, Oracle Real Application Clusters, Oracle
E-Business Suite, Oracle Grid Computing (inglés), soporte de Enterprise Linux, y
Oracle Fusion fomentan el compromiso hacia la innovación y los resultados, lo cual ha
perfilado a Oracle durante 30 años.
¿Qué planeamos para el futuro? Lucharemos por ser #1 en Middleware y #1 en
aplicaciones, del mismo modo que lo hicimos con la base de datos. Nuestro objetivo es
continuar innovando y liderando el sector —focalizándonos siempre en solucionar los
problemas de los clientes que confían en nuestro software.
Mas Historia
La corporacion Oracle es dirigida por Larry Ellison y sus amigos Bob Miner y Ed Oates
- quienes iniciaron una empresa llamada Software Development Laboratories (SDL) -
que termino creciendo hasta convertirse en el original Oracle DBMS software.
Oracle Corporation es probablemente la empresa de software mas grande del mundo
especializada en productos de bases de datos. Historicamente, oracle estaba dirigida a
computadores grandes y servidores aunque hoy en dia puede correr facilmente hasta en
en estaciones de trabajo. Esta base de datos fue la primera en soportar el lenguaje
estandar SQL , que se ha convertido en el estandar de la industria.
Se considera a Oracle como uno de los sistemas de bases de datos más completos,
destacando su:
Soporte de transacciones.
Estabilidad.
Escalabilidad.
Es multiplataforma.
Uno de sus defectos es su precio de varios miles de euros (según versiones y licencias).
Otro aspecto que ha sido criticado por algunos especialistas es la seguridad de la
plataforma, y las políticas de suministro de parches de seguridad, modificadas a
comienzos de 2005 y que incrementan el nivel de exposición de los usuarios. En los
parches de actualización provistos durante el primer semestre de 2005 fueron corregidas
22 vulnerabilidades públicamente conocidas, algunas de ellas con una antigüedad de
más de 2 años.
Aunque su dominio en el mercado de servidores empresariales ha sido casi total hasta
hace poco, recientemente sufre la competencia del Microsoft SQL Server de Microsoft
y de la oferta de otros RDBMS con licencia libre como PostgreSQL, MySql o Firebird.
Las últimas versiones de Oracle han sido certificadas para poder trabajar bajo Linux.
Oracle surge a finales de los 70 bajo el nombre de Relational Software a partir de un
estudio sobre SGBD (Sistemas Gestores de Base de Datos) de George Koch. Computer
World definió este estudio como uno de los más completos jamás escritos sobre bases
de datos. Este artículo incluía una comparativa de productos que erigía a Relational
Software como el más completo desde el punto de vista técnico. Esto se debía a que
usaba la filosofía de las bases de datos relacionales, algo que por aquella época era
todavía desconocido.
En la actualidad, Oracle (Nasdaq: ORCL) todavía encabeza la lista. La tecnología
Oracle se encuentra prácticamente en todas las industrias alrededor del mundo y en las
oficinas de 98 de las 100 empresas Fortune 100. Oracle es la primera compañía de
software que desarrolla e implementa software para empresas 100 por ciento activado
por Internet a través de toda su línea de productos: base de datos, aplicaciones
comerciales y herramientas de desarrollo de aplicaciones y soporte de decisiones.
Oracle es el proveedor mundial líder de software para administración de información, y
la segunda empresa de software.
Cuando hablamos de Oracle9i, necesitamos ser claros en cuanto al alcance del término
« Oracle9i » el cual representa una plataforma de tecnología completa e integrada . La
Plataforma 9i tiene dos componentes integrados y un conjunto de Herramientas de
desarrollo , Oracle9i Database y Oracle9iAS (Application Server) y la Suite de Internet
Developer (iDS o las Herramientas). Esta plataforma nos permite administrar todo la
informacion de las organizaciones ya sea esta estructurada o no, el acceso de
aplicaciones e-bussiness y desarrollar y poner en produccion las aplicaciones.

CONCEPTOS INICIALES
La base de datos provee muchas características útiles y poderosas. Muchas de estas
características están incorporadas al nivel de SQL. SQL ha sido adoptado por la mayoría
de los sistemas de gestión de base de datos relacionales (RDBMS). ANSI (American
National Standards Institute) ha estado perfeccionando estándares del lenguaje SQL en
los últimos 20 años. Oracle, como muchas otras compañías, ha adoptado el estándar
ANSI de SQL y lo ha extendido para incluir un gran número de funcionalidades
adicionales.
 
El desarrollo de software para la gestión de información ha transitado por diferentes
etapas, desde implementaciones sobre un sistema de archivos hasta las bases de datos
relacionales y relacionales objeto. En la actualidad existen complejos sistemas de
gestión de base de datos (DBMS), como Server, los cuales proveen funcionalidades de
almacenamiento y acceso eficiente a datos, y diversas otras funcionalidades
relacionadas a la gestión integral de datos.
 
Con el advenimiento de la teoría de objetos y la proliferación del paradigma de
orientación a objetos como base para el desarrollo de aplicaciones de software, surge en
el campo de las bases de datos la necesidad de adaptar un modelo para mapear en forma
directa, en la base de datos, los objetos manipulados por la aplicación de software. En
este sentido, surgen las bases de datos objeto relacionales (ORDBMS) como una
adaptación de las bases de datos relacionales brindando, a través de una capa de objetos,
una interfase orientada a objetos que permite almacenar, acceder y recuperar datos
objeto. Server, además de continuar dando soporte a la tecnología relacional, también
soporta la tecnología objeto relacional brindando todas las funcionalidades necesarias
para la gestión de datos objeto.

Oracle9i
Existen dos productos: Oracle9i Application Server y la base de datos Oracle9i, que
proporcionan una infraestructura completa y sencilla para aplicaciones de Internet.

Diapositiva 5: Oracle 9i Aplication Server


Oracle 9i Application server permite acceso a toda la informacion y ejecucion de todas
sus aplicaciones desde un ambiente de web
¿que es un servidor de aplicacion?
Es un programa que instalado en un computador que forma parte de una red distribuida
provee la lógica de negocios para los programas de las aplicaciones
Frecuentemente visto como parte de la arquitectura de tres capas.
Se ubica al medio, entre el Web browser que utiliza el usuario final y el back-end (base
de datos o sistema de información empresarial – EIS)
En muchos casos combina o trabaja con un Web Server

En informática, se denomina servidor de aplicaciones a un servidor en una red de


computadores que ejecuta ciertas aplicaciones.
Usualmente se trata de un dispositivo de software que proporciona servicios de
aplicación a las computadoras cliente. Un servidor de aplicaciones generalmente
gestiona la mayor parte (o la totalidad) de las funciones de lógica de negocio y de
acceso a los datos de la aplicación.
Los servidores de aplicación típicamente incluyen también middleware (o software de
conectividad) que les permite intercomunicarse con variados servicios, para efectos de
confiabilidad, seguridad, no-repudio, etc. Los servidores de aplicación también brindan
a los desarrolladores una Interfaz para Programación de Aplicaciones (API), de tal
manera que no tengan que preocuparse por el sistema operativo o por la gran cantidad
de interfaces requeridas en una aplicación web moderna.
Los servidores de aplicación también brindan soporte a una gran variedad de estándares,
tales como HTML, XML, IIOP, JDBC, SSL, etc., que les permiten su funcionamiento
en ambientes web (como Internet) y la conexión a una gran variedad de fuentes de
datos, sistemas y dispositivos.
Un ejemplo común del uso de servidores de aplicación (y de sus componentes) son los
portales de Internet, que permiten a las empresas la gestión y divulgación de su
información, y un punto único de entrada a los usuarios internos y externos. Teniendo
como base un servidor de aplicación, dichos portales permiten tener acceso a
información y servicios (como servicios Web) de manera segura y transparente, desde
cualquier dispositivo.
Como consecuencia del éxito del lenguaje de programación Java, el término servidor de
aplicaciones usualmente hace referencia a un servidor de aplicaciones Java EE.
WebSphere (IBM) y WebLogic (Oracle, antes BEA Systems) están entre los servidores
de aplicación Java EE privativos más conocidos. EAServer (Sybase Inc.) es también
conocido por ofrecer soporte a otros lenguajes diferentes a Java, como PowerBuilder. El
servidor de aplicaciones JOnAS, desarrollado por el consorcio ObjectWeb, fue el primer
servidor de aplicaciones libre en lograr certificación oficial de compatibilidad con J2EE.
JBoss es otro servidor de aplicaciones libre y muy popular en la actualidad, así como
GlassFish de SUN.
El término servidor de aplicaciones también ha sido aplicado a otros productos no-
J2EE. Por ejemplo, con el aumento de la popularidad de .NET, Microsoft califica a su
producto Internet Information Server como un servidor de aplicaciones.
Adicionalmente, se pueden encontrar servidores de aplicación de código abierto y
comerciales de otros provedores; algunos ejemplos son Base4 Server y Zope.

La arquitectura de bases de datos tradicional cliente/servidor está basada en un modelo


de dos capas. Este modelo consiste de una capa cliente y un servidor de bases de datos .
El procesamiento de las tareas y la lógica de aplicación son compartidos entre el
servidor de bases de datos y el cliente.
Existen muchas desventajas para este modelo. Los clientes en un modelo de dos capas
son clientes gruesos, donde se encuentra la mayoría del procesamiento y lógica de
aplicación. Esto produce un alto costo de mantenimiento de los clientes. Además, los
clientes pueden ser de diferentes plataformas, para lo cual es necesario hacer el
deployment (despliegue) de la aplicación para cada plataforma específica.
 
El modelo de tres capas resuelve los problemas del modelo de dos capas. En un modelo
de tres capas, existe una capa entre los clientes y el servidor de base de datos . Esta
capa del medio es un servidor de aplicación que contiene el grueso de la lógica de
aplicación. Los clientes en este modelo son clientes delgados. Con esta arquitectura, la
lógica de aplicación está ubicada en una única capa lo cual facilita el mantenimiento de
la misma.
 
Application Server es un servidor de aplicaciones confiable, escalable, seguro ubicado
en la capa del medio (middle-tier).  Application Server brinda una infraestructura que
puede crecer en base a las necesidades de la empresa u organización.
Application Server posibilita a los usuarios implementar aplicaciones mediante una
arquitectura de múltiples capas (multitiered). La capa del medio (middle-tier) posee la
lógica de la aplicación enviando respuestas a las consultas realizadas por los clientes
(normalmente navegadores Web). Una tercera capa (tier) contiene a la base de datos, de
esta manera el procesamiento de transacciones en la misma puede ser optimizado.
 
Mediante los servicios que brinda Application Server se puede dar soporte a las
distintas etapas que implica construir un e-business .

Oracle9i Application Server


Oracle9i Application Server (Oracle9iAS) ejecuta todas las aplicaciones. La base de
datos Oracle9i almacena todos los datos.
Oracle9i Application Server es el único servidor de aplicaciones que incluye servicios
para todas las distintas aplicaciones de servidor que desee ejecutar. Oracle9iAS puede
ejecutar:
• Portales o direcciones Web
• Aplicaciones de transacción Java
• Aplicaciones de inteligencia de negocio
Proporciona también integración entre usuarios, aplicaciones y datos en toda la
organización.

Diapositiva 6: Base de datos Oracle 9i


Michael Stonebraker, en el paper "Object-Relational DBMS: The Next Wave," clasifica
a las aplicaciones de bases de datos en cuatro tipos: datos simples sin consulta, datos
simples con consulta, datos complejos sin consulta, y datos complejos con consultas.
Estos cuatro tipos describen sistemas de archivos, DBMSs relacionales, DBMS
orientados a objeto, y DBMSs objeto relacionales, respectivamente .
Una base de datos relacional está compuesta de muchas relaciones en la forma de tablas
de dos dimensiones compuestas por filas y columnas conteniendo tuplas (o registros)
relacionadas. Los tipos de consultas que atienden un sistema de gestión de base de datos
relacional ( RDBMS ) varían desde simples consultas incluyendo una única tabla de
base a consultas complicadas de múltiples tablas incluyendo uniones, anidamiento,
diferencia o unión de conjuntos, y otras. Server es un RDBMS que implementa todas
las características relacionales más funcionalidades enriquecidas, como ser: commits
rápidos, backup y recuperación, conectividad escalable, bloque a nivel de filas,
consistencia de lectura, particionamiento de tablas, paralelización de consultas, bases de
datos en cluster, exportación e importación de datos, entre otras. La principal desventaja
de bases de datos relacionales ocurre debido a su inhabilidad de manejar áreas de
aplicación como bases de datos espaciales (ej.: CAD), aplicaciones que manipulan
imágenes, y otros tipos de aplicaciones que incluyen la interrelación compleja de datos.
La ambición de representar objetos complejos ha provocado el desarrollo de sistemas
orientados a objeto incluyendo características de orientación a objeto, tales como: tipos
de dato abstractos y encapsulamiento (la estructura internad de los datos es ocultada y
las operaciones externas pueden ser invocadas sobre el objeto especificado), herencia
(tendiendo a la reutilización de definiciones existentes para crear nuevos objetos), etc.
Una base de datos orientada a objetos emplea un modelo de datos que soporta
características de orientación a objeto y tipos de datos abstractos. Bases de datos
orientadas a objeto utilizan el poderío de los lenguajes de programación orientados a
objeto para proporcionar capacidades de programación de base de datos. Un sistema de
gestión de base datos orientado a objetos ( OODBMS ) implementa un modelo de
objeto, estandarizado por ODMG (Object Database Management Group), que consiste
de tipos de dato, constructores de tipo, etc., similar al modelo estándar para bases de
datos relacionales. La principal desventaja de ODBMS es la mala performance en la
manipulación y acceso a datos. No como en RDBMS, la optimización de consultas en
OODBMS es altamente compleja. OODBMS también sufren problemas de
escalabilidad, y no son capaces de soportar sistemas de gran escala.
El principal objetivo de un ORDBMS es brindar los beneficios tanto del modelo
relacional como del modelo de objetos, tales como: escalabilidad y soporte de tipos de
dato enriquecidos. ORDBMSs emplean un modelo de datos que incorpora
características de orientación a objeto en RDBMSs. Toda la información es almacenada
en tablas, pero algunas de las entradas tabulares en la base de datos pueden poseer
estructuras de datos enriquecidas o complejas (tipos de dato abstractos). Un ORDBMS
soporta una forma extendida de SQL. Las extensiones son necesarias debido a que
ORDBMS dan soporte a tipos de dato abstractos.
Server es un ORDBMS, el mismo implementa un sistema de tipos objeto como una
extensión al modelo relacional. La interfase tipo objeto brindada por Server continúa
dando soporte a la funcionalidad de base de datos relacional y, además, SQL y otras
varias interfases de programación, incluyendo PL/SQL, Java, OCI ( Oracle Call
Interface), etc., han sido enriquecidas con nuevas extensiones para dar soporte a objetos.
El resultado es un modelo objeto relacional, el cual es intuitivo y ofrece la riqueza de
una interfase objeto, al mismo tiempo que preserva la concurrencia y el rendimiento de
una base de datos relacional.
Caracteristicas principales del modelo objeto relacional ORALCE
• Herencia de tipo
• Evolución de tipo
• Tablas objeto
• Vistas objeto
• Extensión objeto de SQL
• Extensión de objeto PL/SQL
• Soporte Java para Objetos ORACLE
• Procedimientos externos
• Productor de tipo objeto
• Cache del lado cliente

La funcionalidad de Oracle 9i data base y Oracle 9i Application server estan


estrechamente relacionadas entre si
Las funciones de los dos productos son muy directas. Oracle9i Database administra toda
su informacion. No solamente los datos relacionales del objeto que usted espera que la
base de datos de una empresa administre. Sino También pueden ser datos no
estructurados, como planillas de cálculo, documentos en word o presentaciones de
powerpoint. Puede ser XML. O Pueden ser tipos de datos multimedia, como MP3,
gráficos, video, etc.
Y Ni siquiera todos estos datos deben estar almacenados en la base de datos. Oracle9i
Database tiene servicios que le permiten almacenar metadatos acerca de la informaición
almacenada en los sistemas de archivos del sistema operativo para poder administrarlo.
En sintesis podemos decir que la base de datos de Oracle 9i se puede usar para
almacenar cualquier tipo de informacion en cualquier lugar donde esta se encuentre y
por medio del servidor de aplicaciones podemos tener acceso a esta informacion desde
un navegador de internet o de un dispositivo movil ya sea palm pilot, celular, etc

Base de Datos Oracle9i


Los roles de los dos productos son muy sencillos. La base de datos Oracle9i gestiona
todos los datos. No sólo los datos relacionales de objetos que se espera que gestione una
base de datos de empresa, sino también los datos sin estructurar, como por ejemplo:
• Hojas de cálculo
• Documentos de Word
• Presentaciones de PowerPoint
• XML
• Tipos de dato multimedia como MP3, gráficos, vídeo y más
Los datos ni siquiera tienen que estar en la base de datos. La base de datos Oracle9i
tiene servicios a través de los que puede almacenar metadatos con la información
almacenada en sistemas de archivo. Puede utilizar el servidor de base de datos para
gestionar y servir información dondequiera que esté ubicada.

Diapositiva 7: Sistema de Gestión de Bases de Datos Relacionales y Relacionales


de Objetos

Oracle 9i Server gestiona todo tipo de datos, desde datos de empresa (datos que
modelan entidades del mundo real, o datos objeto) hasta datos semiestructurados y no
estructurados. Como datos no estructurados se clasifican a imágenes, videos, archivos
de sonido, etc. La categoría de datos semiestructurados abarca al mundo XML, donde se
utiliza marcación de datos para dar cierto grado de “estructura” o autodescribir a los
datos en sí mismos. Tanto los datos no estructurados como los semiestructurados
pueden ser almacenados dentro de la base de datos o fuera de la misma. Server provee
servicios de base de datos para gestionar y servir datos almacenados fuera de la base
datos, ya sea disponibles a través de la web, almacenados en el sistema de archivos local
o remoto, o en cualquier otro medio de almacenamiento secundario.
 
Por otro lado, Server soporta en su totalidad el modelado de datos de empresa, o datos
estructurados. Dentro de esta última clasificación se encuentra al conjunto de tipos de
dato predefinidos incluidos en la base de datos, y a los tipos objeto .
 
Cuando se crea una tabla para almacenar datos en la base de datos, es necesario
especificar un tipo de dato para cada una de las columnas definidas. Server posee
varios tipos de datos predefinidos para satisfacer los requerimientos de una aplicación.
Server también soporta tipos de dato ANSI y DB2. Los tipos de dato predefinidos en
Oracle pueden ser clasificados de manera genérica en caracteres, numéricos, long y raw,
fecha y hora, objetos largos, y row ID. Los tipos de dato predefinidos y su utilización
son tratados más adelante .
 
Tipos objeto Oracle son tipos de datos definidos por el usuario que hacen posible
modelar entidades complejas del mundo real, tales como clientes y órdenes de compra,
como entidades unitarias (“objetos”) en la base de datos. Un tipo objeto es una clase de
tipo de dato. Los mismos pueden utilizarse de la misma manera en que se trata a los
tipos de dato más familiares, como VARCHAR2 y NUMBER. Por ejemplo, es posible
definir un tipo objeto como el tipo de dato en una columna de una tabla relacional.
 
La tecnología de objetos que incluye Server es un nivel de abstracción construido
sobre tecnología relacional Oracle. Nuevos tipos objeto pueden ser creados desde
cualquier tipo de dato predefinido o tipo objeto previamente definido. Los metadatos de
los tipos definidos por el usuario son almacenados en un esquema que se encuentra
disponible para SQL, PL/SQL, Java, y otras interfases de publicación.

Tipos de datos que gestiona una BD Oracle


Oracle 9i Server gestiona todo tipo de datos, desde datos de empresa (datos que
modelan entidades del mundo real, o datos objeto) hasta datos semiestructurados y no
estructurados. Como datos no estructurados se clasifican a imágenes, videos, archivos
de sonido, etc. La categoría de datos semiestructurados abarca al mundo XML, donde se
utiliza marcación de datos para dar cierto grado de “estructura” o autodescribir a los
datos en sí mismos. Tanto los datos no estructurados como los semiestructurados
pueden ser almacenados dentro de la base de datos o fuera de la misma. Server provee
servicios de base de datos para gestionar y servir datos almacenados fuera de la base
datos, ya sea disponibles a través de la web, almacenados en el sistema de archivos local
o remoto, o en cualquier otro medio de almacenamiento secundario.
 
Por otro lado, Server soporta en su totalidad el modelado de datos de empresa, o datos
estructurados. Dentro de esta última clasificación se encuentra al conjunto de tipos de
dato predefinidos incluidos en la base de datos, y a los tipos objeto .
 
Cuando se crea una tabla para almacenar datos en la base de datos, es necesario
especificar un tipo de dato para cada una de las columnas definidas. Server posee
varios tipos de datos predefinidos para satisfacer los requerimientos de una aplicación.
Server también soporta tipos de dato ANSI y DB2. Los tipos de dato predefinidos en
Oracle pueden ser clasificados de manera genérica en caracteres, numéricos, long y raw,
fecha y hora, objetos largos, y row ID. Los tipos de dato predefinidos y su utilización
son tratados más adelante .
 
Tipos objeto Oracle son tipos de datos definidos por el usuario que hacen posible
modelar entidades complejas del mundo real, tales como clientes y órdenes de compra,
como entidades unitarias (“objetos”) en la base de datos. Un tipo objeto es una clase de
tipo de dato. Los mismos pueden utilizarse de la misma manera en que se trata a los
tipos de dato más familiares, como VARCHAR2 y NUMBER. Por ejemplo, es posible
definir un tipo objeto como el tipo de dato en una columna de una tabla relacional.
 
La tecnología de objetos que incluye Server es un nivel de abstracción construido
sobre tecnología relacional Oracle. Nuevos tipos objeto pueden ser creados desde
cualquier tipo de dato predefinido o tipo objeto previamente definido. Los metadatos de
los tipos definidos por el usuario son almacenados en un esquema que se encuentra
disponible para SQL, PL/SQL, Java, y otras interfases de publicación.
Acerca de Oracle Server
Oracle9i Server soporta tanto el modelo relacional como el relacional de objetos.
Oracle Server amplía las capacidades de modelado de datos para soportar un modelo de
base de datos relacional de objetos que ofrezca programación orientada a objetos, tipos
de dato complejos, objetos de negocios complejos y total compatibilidad con el mundo
relacional.
Incluye varias funciones para un rendimiento y funcionalidad mejorados de aplicaciones
de procesamiento de transacciones en línea (OLTP), como un mejor modo de compartir
estructuras de datos de tiempo de ejecución, un mayor caché de buffers y restricciones
diferibles. Las aplicaciones de almacenes de datos se beneficiarán de mejoras como la
ejecución en paralelo de operaciones de inserción, actualización y supresión; partición;
y optimización de consultas con capacidad paralela. Oracle9i opera dentro del marco de
Network Computing Architecture (NCA) y soporta aplicaciones cliente-servidor y
basadas en Web que se distribuyen y se disponen en varias capas.
Oracle9i puede escalar decenas de miles de usuarios simultáneos, soporta hasta 512
petabytes de datos (un petabyte equivale a 1.000 terabytes) y puede manejar cualquier
tipo de dato, incluyendo texto, datos espaciales, imagen, sonido, vídeo y de Time Series
así como datos estructurados tradicionales.
Para obtener más información, consulte Oracle9i Concepts.

Diapositiva 8: Plataforma de Internet de Oracle


Oracle ofrece una plataforma de Internet global e integrada de alto rendimiento para
comercio electrónico y almacenes de datos, que incluye todo lo necesario para
desarrollar y gestionar aplicaciones de Internet. La plataforma de Internet de Oracle
consta de tres partes principales:
• Clientes basados en explorador para procesar la presentación
• Servidores de aplicaciones para ejecutar la lógica de negocio y
servir la lógica de presentación a clientes basados en explorador
• Bases de datos para ejecutar lógica de negocio de uso intensivo
de base de datos y para servir datos
Oracle ofrece una amplia variedad de las más avanzadas herramientas de desarrollo
controladas por una interfaz gráfica de usuario (GUI) para crear aplicaciones de
negocios, así como una gran serie de aplicaciones de software para múltiples áreas de
negocio e industria. Los procedimientos almacenados, las funciones y los paquetes se
pueden escribir utilizando SQL, PL/SQL o Java.
Diapositiva 9: Ciclo de Vida del Desarrollo del Sistema
Desde el concepto hasta la producción, puede desarrollar una base de datos utilizando el
ciclo de vida del desarrollo del sistema, que contiene varias etapas de desarrollo. Este
enfoque de arriba hacia abajo y sistemático del desarrollo de base de datos transforma
los requisitos de información de negocios en una base de datos operativa
Estrategia y Análisis
• Estudie y analice los requisitos de negocio. Entreviste a usuarios y directores
para identificar los requisitos de información. Incorpore las declaraciones de
objetivos para la empresa y las aplicaciones, así como las especificaciones
futuras de sistema.
• Cree modelos del sistema. Transfiera la descripción de negocios a una
representación gráfica de necesidades y reglas de la información de negocios.
Confirme y refine el modelo con analistas y expertos.
Diseño
Diseñe la base de datos basándose en el modelo desarrollado en la fase de estrategia y
análisis.
Creación y Documentación
• Cree el sistema prototipo. Escriba y ejecute los comandos para crear las tablas y
objetos de soporte para la base de datos.
• Desarrolle la documentación de usuario, el texto de ayuda y los manuales de
operaciones de soporte para el uso y el funcionamiento del sistema.

Diapositiva 10: Ciclo de Vida del Desarrollo del Sistema (continuación)


Transición
Refine el prototipo. Mueva una aplicación a producción con prueba de aceptación del
usuario, conversión de datos existentes y operaciones paralelas. Realice las
modificaciones que sean necesarias.
Producción
Transfiera el sistema a los usuarios. Opere el sistema de producción. Controle su
rendimiento y mejore y refine el sistema.
Nota: Las diversas fases del ciclo de vida del desarrollo del sistema se pueden llevar a
cabo iterativamente. Este curso se centra en la fase de creación del ciclo de vida del
desarrollo del sistema.

Diapositiva 11: Almacenamiento de Datos en Diferentes Soportes


¿Para que sirve una base de datos?
En toda organización la tarea principal es la gestión de información, incluyendo el
resguardo, el almacenamiento y el acceso eficiente a la misma.
Una DB provee a la organización de dicha información de manera tal que la misma
sirva para fines de gestión empresarial y brinde apoyo a la toma de decisiones diarias de
la organización.
¿Qué es una DB?
Una base de datos es una colección de datos relacionados. Por dato se entiende a un
hecho conocido que puede ser almacenado y que posee un significado implícito.
Una base de datos posee las siguientes propiedades implícitas:
 
Una base de datos representa algún aspecto del mundo real, algunas veces denominado
universo de discurso o dominio de problema. Cambios en el dominio correspondiente
son reflejados en la base de datos.
Una base de datos es una colección de datos lógica y coherente con un significado
inherente. Una recolección de datos aleatoria no es una base de datos.
Una base de datos es diseñada, construida y cargada con datos para un propósito
específico.
Un Sistema de Gestión de Base de Datos (DBMS – Database Management System) es
una colección de programas de software que permite crear y mantener una base de
datos. De esta forma, el DBMS es un sistema de software de propósito general que
facilita el proceso de definir, construir y manipular bases de datos para diferentes
aplicaciones.
Un DBMS proporciona un entorno conveniente y eficiente para ser utilizado al extraer y
almacenar información en la base de datos. Un sistema de bases de datos proporciona a
los usuarios una vista abstracta de los datos ocultando ciertos detalles de cómo se
almacenan y mantienen los datos. Server es un software DBMS de propósito general.
Almacenamiento de la Información
Todas las organizaciones tienen alguna necesidad de información. Una biblioteca
mantiene una lista de miembros, libros, fechas de vencimiento y multas. Una compañía
necesita guardar información de sus empleados, departamentos y salarios. Estas
informaciones se denominan datos.
Las organizaciones pueden almacenar datos en diferentes soportes y en formatos
distintos, como un documento impreso en un archivador o datos almacenados en hojas
de cálculo electrónicas o en bases de datos.
Una base de datos es una recopilación organizada de información.
Para gestionar bases de datos, necesita sistemas de gestión de bases de datos (DBMS).
Un DBMS es un programa que almacena, recupera y modifica datos en la base de datos
a petición. Hay cuatro tipos principales de bases de datos: jerárquica, de red, relacional
y, más recientemente, relacional de objetos.

Diapositiva 12: Conceptos de DB relacional


Una característica fundamental de una base de datos es que la misma provee un nivel de
abstracción de datos ocultando detalles acerca del almacenamiento de datos que no son
necesarios para la mayoría de los usuarios de base de datos. Dicha abstracción es
provista a través de un modelo de datos .
Un modelo de datos es una colección de conceptos que pueden ser utilizados para
describir la estructura de una base de datos. La estructura de una base de datos está
conformada por los tipos de datos, las relaciones entre los datos, y las restricciones que
existen sobre los datos. La mayoría de los modelos de datos también incluyen un
conjunto de operaciones básicas para especificar recuperaciones y actualizaciones
realizadas sobre la base de datos.
Los modelos de datos existentes pueden ser categorizados de acuerdo a los tipos de
conceptos que utilizan para describir la estructura de la base de datos.
Modelos de datos conceptuales o de alto nivel: Proveen conceptos cercanos a la forma
en que la mayoría de los usuarios perciben los datos.
Modelos de datos físicos o de bajo nivel: Proveen conceptos que describen cómo se
almacenan los datos en el medio de almacenamiento. Dichos conceptos generalmente
son comprendidos y manejados por usuarios administradores de base de datos, y no por
usuarios finales.
Modelos de datos representacionales o de implementación: Proveen conceptos que
pueden ser entendidos por usuarios finales pero y que a la vez son cercanos a la forma
en que los datos están organizados en la computadora. Dichos modelos ocultan algunos
detalles acerca del almacenamiento de datos pero pueden ser implementados en un
sistema de computación de forma directa.
Modelos de datos conceptuales utilizan conceptos tales como: entidades, atributos y
relaciones. Modelos de datos físicos representan información en la forma de formatos
de registros, ordenamiento de registros, y caminos de acceso. Un camino de acceso es
una estructura que hace eficiente la búsqueda de registros particulares en una base de
datos.
Modelos de datos representacionales o de implementación son los modelos utilizados
frecuentemente por los DBMSs comerciales tradicionales, tales como: Server . Esta
categoría incluye a los modelos de datos relacionales, ampliamente utilizados en la
actualidad, y a los modelos de datos legados o heredados utilizados en el pasado
(modelo de datos de red y modelo de datos jerárquico) . Este tipo de modelo representa
datos utilizando estructuras de registros y, de esta forma, generalmente son
denominados modelos de datos basados en registros.

Modelo Relacional
Dr. E. F. Codd perfiló por primera vez los principios del modelo relacional en un
artículo de junio de 1970 titulado “A Relational Model of Data for Large Shared Data
Banks” (Un modelo relacional de datos para grandes bancos de datos compartidos). En
este documento, Dr. Codd propuso el modelo relacional para sistemas de bases de datos.
Los modelos más populares en aquellos tiempos eran el jerárquico y el de red, o incluso
sencillas estructuras de datos de archivo plano. Los sistemas de gestión de bases de
datos relacionales (RDBMS) se generalizaron rápidamente, en especial por su facilidad
de uso y la flexibilidad de su estructura. Además, muchos proveedores innovadores,
como Oracle, agregaron a RDBMS una serie de potentes productos de usuario y de
desarrollo de aplicaciones, lo que ofrecía una solución completa.
Componentes del Modelo Relacional
• Recopilaciones de objetos o relaciones que almacenan los datos
• Un juego de operadores que pueden actuar en las relaciones para producir otras
relaciones
• Integridad de datos para obtener precisión y consistencia
Para obtener más información, consulte E. F. Codd, The Relational Model for Database
Management Version 2 (Reading, Mass.: Addison-Wesley, 1990).

Diapositiva 13: Definición de una Base de Datos Relacional


El modelo entidad relación (ER) es un modelo de datos conceptual de alto nivel. Este
modelo, y sus extensiones, frecuentemente es utilizado para el diseño conceptual de
aplicaciones de base de datos, y muchas herramientas de diseño de base de datos
emplean sus conceptos.
 
El modelo ER datos como entidades, son relaciones entre entidades y atributos. El
objeto básico que el modelo ER representa es una entidad, la cual es una “cosa” del
mundo real con existencia independiente. Una entidad puede ser un objeto con
existencia física (una persona determinada, un auto, una casa, un empleado), o puede ser
un objeto con una existencia conceptual (una compañía, un trabajo, un curso
universitario). Cada entidad posee atributos; propiedades de interés que describen a la
entidad. Por ejemplo, una entidad empleado puede ser descrita por su apellido y
nombre, edad, dirección, salario y tarea realizada. Una entidad particular poseerá un
valor para cada uno de sus atributos . Los valores de los atributos que describen cada
entidad se tornan la mayor parte de los datos que son almacenados en una base de datos.
 
Una base de datos normalmente contiene grupos de entidades que son similares. Por
ejemplo, una compañía que posee cientos de empleados puede desear almacenar
información similar para cada uno de sus empleados. Estas entidades “empleado”
comparten el mismo conjunto de atributos, pero cada entidad posee sus propios valores
para cada atributo. Un tipo entidad define una colección (o conjunto) de entidades que
poseen los mismos atributos. Cada tipo entidad en la base de datos es descrita por su
nombre y atributos. La colección de todas las entidades de un tipo entidad particular en
la base de datos en un momento determinado es denominado conjunto de entidades,
usualmente citado por el mismo nombre del tipo entidad correspondiente . Por ejemplo,
EMPLEADO se refiere tanto a un tipo de entidad como al conjunto de todos los
empleados almacenados en la base de datos.
 
Una relación entre dos o más entidades representa una interacción entre las entidades.
Existen varias relaciones implícitas entre tipos entidad. Una relación existe cuando un
atributo de un tipo entidad hace referencia a otro tipo entidad. Por ejemplo, el atributo
MANAGER del tipo entidad DEPARTMENT hace referencia al empleado que gerencia
el departamento en cuestión. Un tipo relación entre tipos entidad define un conjunto de
asociaciones (conjunto de relaciones) entre entidades de esos tipos . Como ocurre con
tipos entidad y conjuntos de entidades, un tipo relación y su correspondiente conjunto
de relaciones son citados por el mismo nombre. Informalmente, cada relación
perteneciente al conjunto de relaciones es una asociación de entidades, donde la
asociación incluye una entidad de cada uno de los tipos entidad participantes. Dichas
relaciones instancias representan el hecho que las entidades participantes están
relacionadas en alguna forma en el dominio de problema correspondiente. Por ejemplo,
la relación WORKS_FOR entre los tipo entidad EMPLOYEE y DEPARTMENT asocia
cada empleado con el departamento en el cual el mismo trabaja.
El modelo relacional representa la base de datos como una colección de relaciones,
donde cada relación se asemeja a una tabla de valores o archivo plano de registros.
Cuando una relación es pensada como una tabla de valores, cada fila en la tabla
representa una colección de valores de datos relacionados. En el modelo de datos
relacional, cada fila en la tabla representa un hecho que corresponde a una entidad o
relación en el mundo real. El nombre de la tabla y el nombre de las columnas son
utilizados para facilitar la interpretación del significado de los valores en cada fila de la
tabla. Por ejemplo, la tabla EMPLOYEE es denominada de esta manera ya que cada fila
representa hechos acerca de una entidad empleado en particular. Los nombres de
columnas especifican cómo interpretar los valores de datos en cada fila de acuerdo a la
columna a la cual cada valor pertenece. Todos los valores en una columna son del
mismo tipo de dato.
 
En la terminología formal del modelo relacional, una fila es denominada una tupla, un
encabezado de columna es denominado un atributo, y una tabla es denominada una
relación. El tipo de dato describiendo los tipos de valores que pueden aparecer en cada
columna es denominado dominio.

Elementos que componen una Tabla


Tabla: La tabla es la estructura de almacenamiento básica en un Sistema de
Administración de Base de Datos Relacional (RDBMS).
Los datos de las tablas se almacenan en filas y columnas. Cada tabla se define con un
nombre de tabla que la identifica unívocamente y un conjunto de columnas. Una vez
que se crea una tabla, se le pueden insertar filas de datos válidos. Las filas de las tablas
pueden ser consultadas, borradas o actualizadas.
 
Columna: Una columna representa un tipo de datos en una tabla (por ejemplo, el
nombre del cliente en la tabla Clientes). Una columna también puede ser referenciada
como “atributo”. Cada columna tiene un nombre de columna, un tipo de dato (tal
como CHAR, DATE o NUMBER), y un ancho (que puede ser predeterminado por el
tipo de dato, como en el caso de DATE) o una escala y precisión (sólo para el tipo de
dato NUMBER).Todos los valores de una columna determinada tienen el mismo tipo de
datos, y éstos están extraídos de un conjunto de valores legales llamado el dominio de la
columna. Las columnas de una tabla están dispuestas en un orden específico de
izquierda a derecha. Sin embargo, el orden de éstas cuando se almacenan datos no es
significativo, pero puede ser especificado cuando se los recupera.
 
Fila: Una fila es una combinación de valores de columnas de una tabla (por ejemplo, la
información acerca de un cliente en la tabla Clientes). Una fila a menudo se denomina
“tupla” o “registro”. Cada tabla tiene cero o más filas, conteniendo cada una un único
valor en cada columna. Las filas están desordenadas; por defecto, los datos están
dispuestos de acuerdo a cómo se insertaron.
 
Campo: Un campo se encuentra en la intersección de una fila y una columna. El campo
puede contener datos. Si no hay datos en el campo, se dice que contiene un valor nulo.
Los valores de los campos no se pueden descomponer en componentes más pequeños.
 
Clave primaria: Una clave primaria es una columna o conjunto de columnas que
identifican unívocamente cada fila de una tabla (por ejemplo, un número de cliente).
Una tabla tiene una única clave primaria y debe contener un valor.
 
Clave foránea: Una clave foránea es una columna o conjunto de columnas que se
refieren a una clave primaria de la misma tabla o de otra. Se crean estas claves para
reforzar las reglas de diseño de la base de datos relacional. Una tabla puede contener
más de una clave foránea. Una combinación clave primaria/clave foránea crea una
relación padre/hijo entre las tablas que las contienen.

Definición de una Base de Datos Relacional


Una base de datos relacional utiliza relaciones o tablas de dos dimensiones para
almacenar información.
Por ejemplo, si desea almacenar información acerca de todos los empleados de la
compañía, en una base de datos relacional puede crear varias tablas para almacenar
diferentes informaciones acerca de los empleados, como por ejemplo, una tabla de
empleados, una de departamentos y otra de salarios.

Diapositiva 14: Modelo de datos


un modelo de datos permite describir los elementos de la realidad que intervienen en un
problema dado y la forma en que se relacionan esos elementos entre sí.
Típicamente un modelo de datos permite describir:
Las estructuras de datos de la base: El tipo de los datos que hay en la base y la forma en
que se relacionan.
Las restricciones de integridad: Un conjunto de condiciones que deben cumplir los datos
para reflejar correctamente la realidad deseada.
Operaciones de manipulación de los datos: típicamente, operaciones de agregado,
borrado, modificación y recuperación de los datos de la base.
Un modelo de datos es un lenguaje que, típicamente, tiene dos sublenguajes:
Un Lenguaje de Definición de Datos o DDL (Data definition Language), orientado a
describir de una forma abstracta las estructuras de datos y las restricciones de
integridad.
Un Lenguaje de Manipulación de Datos o DML (Data Manipulation Language),
orientado a describir las operaciones de manipulación de los datos.
A la parte del DML orientada a la recuperación de datos, usualmente se le llama
Lenguaje de Consulta o QL (Query Language).
Una opción bastante usada a la hora de clasificar los modelos de datos es hacerlo de
acuerdo al nivel de abstracción que presentan:
Modelos de Datos Conceptuales
Son los orientados a la descripción de estructuras de datos y restricciones de integridad.
Se usan fundamentalmente durante la etapa de Análisis de un problema dado y están
orientados a representar los elementos que intervienen en ese problema y sus relaciones.
El ejemplo más típico es el Modelo Entidad-Relación.
Modelos de Datos Lógicos
Son orientados a las operaciones más que a la descripción de una realidad. Usualmente
están implementados en algún Manejador de Base de Datos. El ejemplo más típico es el
Modelo Relacional, que cuenta con la particularidad de contar también con buenas
características conceptuales (Normalización de bases de datos).
Modelos de Datos Físicos
Son estructuras de datos a bajo nivel implementadas dentro del propio manejador.
Ejemplos típicos de estas estructuras son los Árboles B+, las estructuras de Hash, etc.

Modelos de Datos
Los modelos son una piedra angular del diseño. Los ingenieros crean un modelo de un
automóvil para trabajar en los detalles antes de enviarlo a producción. Del mismo modo,
los diseñadores del sistema desarrollan modelos para estudiar ideas y mejorar la
comprensión del diseño de base de datos.
Objetivo de los Modelos
Los modelos ayudan a comunicar los conceptos que las personas tienen en su mente. Se
pueden utilizar para:
• Comunicar
• Clasificar
• Describir
• Especificar
• Investigar
• Evolucionar
• Analizar
• Imitar
El objetivo es producir un modelo que se ajuste a una multitud de estos usos, que pueda
entenderlo un usuario final y que contenga suficientes detalles para que un desarrollador
pueda crear un sistema de bases de datos.

Diapositiva 15: Modelo de Relación entre Entidades


El modelo entidad relación (ER Entity relationship) es un modelo de datos conceptual
de alto nivel. Este modelo, y sus extensiones, frecuentemente es utilizado para el diseño
conceptual de aplicaciones de base de datos, y muchas herramientas de diseño de base
de datos emplean sus conceptos.
 
El objeto básico que el modelo ER representa es una entidad, la cual es una “cosa” del
mundo real con existencia independiente. Una entidad puede ser un objeto con
existencia física (una persona determinada, un auto, una casa, un empleado), o puede ser
un objeto con una existencia conceptual (una compañía, un trabajo, un curso
universitario). Cada entidad posee atributos; propiedades de interés que describen a la
entidad. Por ejemplo, una entidad empleado puede ser descrita por su apellido y
nombre, edad, dirección, salario y tarea realizada. Una entidad particular poseerá un
valor para cada uno de sus atributos. Los valores de los atributos que describen cada
entidad se tornan la mayor parte de los datos que son almacenados en una base de datos.
 
Una base de datos normalmente contiene grupos de entidades que son similares. Por
ejemplo, una compañía que posee cientos de empleados puede desear almacenar
información similar para cada uno de sus empleados. Estas entidades “empleado”
comparten el mismo conjunto de atributos, pero cada entidad posee sus propios valores
para cada atributo. Un tipo entidad define una colección (o conjunto) de entidades que
poseen los mismos atributos. Cada tipo entidad en la base de datos es descrita por su
nombre y atributos. La colección de todas las entidades de un tipo entidad particular en
la base de datos en un momento determinado es denominado conjunto de entidades,
usualmente citado por el mismo nombre del tipo entidad correspondiente. Por ejemplo,
EMPLEADO se refiere tanto a un tipo de entidad como al conjunto de todos los
empleados almacenados en la base de datos.
 
Una relación entre dos o más entidades representa una interacción entre las entidades.
Existen varias relaciones implícitas entre tipos entidad. Una relación existe cuando un
atributo de un tipo entidad hace referencia a otro tipo entidad. Por ejemplo, el atributo
MANAGER del tipo entidad DEPARTMENT hace referencia al empleado que gerencia
el departamento en cuestión. Un tipo relación entre tipos entidad define un conjunto de
asociaciones (conjunto de relaciones) entre entidades de esos tipos . Como ocurre con
tipos entidad y conjuntos de entidades, un tipo relación y su correspondiente conjunto
de relaciones son citados por el mismo nombre. Informalmente, cada relación
perteneciente al conjunto de relaciones es una asociación de entidades, donde la
asociación incluye una entidad de cada uno de los tipos entidad participantes. Dichas
relaciones instancias representan el hecho que las entidades participantes están
relacionadas en alguna forma en el dominio de problema correspondiente. Por ejemplo,
la relación WORKS_FOR entre los tipo entidad EMPLOYEE y DEPARTMENT asocia
cada empleado con el departamento en el cual el mismo trabaja.

Modelo ER
En un sistema efectivo, los datos se dividen en categorías o entidades discretas. Un
modelo de relación entre entidades (ER) es una ilustración de diversas entidades en un
negocio y la relación entre ellas. Un modelo ER se deriva de las descripciones o
especificaciones de negocios y se crean durante la fase de análisis del ciclo de vida del
desarrollo del sistema. Los modelos ER separan la información requerida por un
negocio de las actividades realizadas dentro de un negocio. Aunque los negocios pueden
cambiar sus actividades, el tipo de información tiende a mantenerse constante. Por lo
tanto, las estructuras de datos también tienden a ser constantes.
Ventajas del Modelo ER
• Documenta información para la organización en un formato claro
y preciso.
• Proporciona una imagen clara del ámbito del requisito de
información.
• Proporciona un mapa gráfico de fácil comprensión para el diseño
de la base de datos.
• Ofrece un marco efectivo para integrar múltiples aplicaciones.

Modelo ER (continuación)
Componentes Clave
• Entidad: Una cosa significativa acerca de la cual se debe tener
información, por ejemplo, departamentos, empleados y órdenes.

Representa una “cosa” u "objeto" del mundo real con existencia independiente, es decir,
se diferencia unívocamente de cualquier otro objeto o cosa, incluso siendo del mismo
tipo, o una misma entidad.

Algunos Ejemplos:

 Una persona. (Se diferencia de cualquier otra persona, incluso siendo gemelos).
 Un automóvil. (Aunque sean de la misma marca, el mismo modelo,..., tendrán
atributos diferentes, por ejemplo, el número de bastidor).
 Una casa (Aunque sea exactamente igual a otra, aún se diferenciará en su
dirección).

Una entidad puede ser un objeto con existencia física como: una persona, un animal,
una casa, etc. (entidad concreta), o un objeto con existencia conceptual como: un puesto
de trabajo, una asignatura de clases, un nombre,etc. (entidad abstracta).

Una entidad está descrita y se representa por sus características o atributos. Por ejemplo,
la entidad Persona puede llevar consigo las características: Nombre, Apellido, Género,
Estatura, Peso, Fecha de nacimiento, etc...

• Atributo: Algo que describe o cualifica una entidad. Por ejemplo,


para la entidad de empleado, los atributos serían el número de
empleado. así como el nombre, el cargo, la fecha de contratación,
el número de departamento, etc. Cada uno de los atributos es
necesario u opcional. Este estado se denomina opcionalidad.

Los atributos son las propiedades que describen a cada entidad en un conjunto de
entidades.

Un conjunto de entidades dentro de una entidad, tiene valores específicos asignados


para cada uno de sus atributos, de esta forma, es posible su identificación unívoca.

Ejemplos:
A la colección de entidades Alumnos, con el siguiente conjunto de atributos en común,
(id, nombre, edad, semestre), pertenecen las entidades:

 (1, Sofia, 18 años, 2)


 (2, Josefa, 19 años, 5)
 (3, Gabriela, 20 años, 2)
 ...

Cada una de las entidades pertenecientes a este conjunto se diferencia de las demás por
el valor de sus atributos. Nótese que dos o más entidades diferentes pueden tener los
mismos valores para algunos de sus atributos, pero nunca para todos.

En particular, los atributos identificativos son aquellos que permiten diferenciar a una
instancia de la entidad de otra distinta. Por ejemplo, el atributo identificativo que
distingue a un alumno de otro es su número de id.

Para cada atributo, existe un dominio del mismo, este hace referencia al tipo de datos
que será almacenado o a restricciones en los valores que el atributo puede tomar
(Cadenas de caracteres, números, solo dos letras, solo números mayores que cero, solo
números enteros...).

Cuando una entidad no tiene un valor para un atributo dado, este toma el valor nulo,
bien sea que no se conoce, que no existe o que no se sabe nada al respecto del mismo.

• Relación: Asociación especificada entre entidades que muestra la


opcionalidad y el grado, por ejemplo, empleados y
departamentos, y órdenes y artículos.
Describe cierta dependencia entre entidades o permite la asociación
de las mismas

Diapositiva 17: Convenciones del Modelo de Relaciones entre Entidades


Modelo ER (continuación)
Entidades
Para representar una entidad en un modelo, utilice las siguientes convenciones:
• Recuadro flexible de cualquier dimensión
• Nombre de entidad singular y único
• Nombre de entidad en mayúsculas
• Nombres sinónimos opcionales en mayúsculas y entre paréntesis:
()
Atributos
Para representar un atributo en un modelo, utilice las siguientes convenciones:
• Utilice nombres en singular y en minúsculas
• Etiquete los atributos obligatorios, o valores que se deben
conocer, con un asterisco: *.
• Etiquete los atributos opcionales, o valores que se pueden
conocer, con la letra o.
Relaciones
Cada dirección de la relación contiene:
• Una etiqueta, por ejemplo, enseñado o asignado a
• Una opcionalidad, ya sea debe o puede ser
• Un grado, ya sea uno y sólo uno o uno o más
Note: El término cardinalidad es sinónimo del término grado.

Dado un conjunto de relaciones en el que participan dos o más conjuntos de entidades,


la correspondencia de cardinalidad indica el número de entidades con las que puede
estar relacionada una entidad dada.

Dado un conjunto de relaciones binarias y los conjuntos de entidades A y B, la


correspondencia de cardinalidades puede ser:

 Uno a Uno: Una entidad de A se relaciona únicamente con una entidad en B y


viceversa.

 Uno a varios: Una entidad en A se relaciona con cero o muchas entidades en B.


Pero una entidad en B se relaciona con una única entidad en A.

 Varios a Uno: Una entidad en A se relaciona exclusivamente con una entidad


en B. Pero una entidad en B se puede relacionar con 0 o muchas entidades en A.

 Varios a Varios: Una entidad en A se puede relacionar con 0 o muchas


entidades en B y viceversa

Cada entidad de origen {puede ser | debe ser} nombre de relación {uno y sólo uno | uno
o más} entidad de destino.
Nota: La convención se debe leer en el sentido de las agujas del reloj.
Identificadores Únicos
Un identificador único (UID) es cualquier combinación de atributos o relaciones, o de
ambos elementos, que sirva para distinguir incidencias de una entidad. Cada incidencia
de entidad debe ser identificable de forma única.
• Etiquete cada atributo que sea parte del UID con una almohadilla:
#.
• Etiquete los UID secundarios con una almohadilla entre
paréntesis: (#).

Diapositiva 19: Relación de Varias Tablas


Relación de Varias Tablas
Cada tabla contiene datos que describen exactamente una entidad. Por ejemplo, la tabla
EMPLOYEES contiene información acerca de los empleados. Las categorías de datos
se enumeran horizontalmente en la parte superior de cada tabla, y los casos individuales
se enumeran debajo verticalmente. Utilizando un formato de tabla, se puede visualizar,
entender y utilizar fácilmente la información.
Como los datos de entidades diferentes se almacenan en tablas distintas, es posible que
necesite combinar dos o más tablas para responder a una pregunta concreta. Por
ejemplo, puede que desee conocer la ubicación del departamento en el que trabaja un
empleado. En este supuesto, necesita información de la tabla EMPLOYEES (que
contiene datos de los empleados) y de la tabla DEPARTMENTS (que contiene
información de los departamentos). Con un RDBMS, puede relacionar los datos de una
tabla con los de otra utilizando las claves ajenas. Una clave ajena es una columna o un
juego de columnas que hacen referencia a la clave primaria de la misma tabla o de otra.
Puede utilizar la capacidad para relacionar los datos de una tabla con los de otra para
organizar la información en unidades separadas y manejables. Los datos de los
empleados se pueden mantener separados de forma lógica de los datos de los
departamentos almacenándolos en una tabla distinta.
Instrucciones para Claves Primarias y Claves Secundarias
• No se pueden duplicar valores en una clave primaria.
• Las claves primarias, por lo general, no se pueden cambiar.
• Las claves ajenas se basan en valores de datos y son punteros
meramente lógicos, no físicos.
• El valor de una clave ajena debe coincidir con el valor de una
clave primaria o única existente, de lo contrario debe ser nulo.
• Una clave ajena debe hacer referencia a una columna de clave
primaria o única.

Diapositiva 20: Terminología de Bases de Datos Relacionales


Una base de datos relacional puede contener una o más tablas. Una tabla es la estructura
básica de almacenamiento de un RDBMS. Una tabla incluye todos los datos necesarios
acerca de algo del mundo real, como empleados, facturas o clientes.
La transparencia muestra los contenidos de la tabla o relación EMPLOYEES. Los
números indican:
1. Una fila o tabla sencilla que representa todos los datos necesarios para un
empleado concreto. Cada fila de la tabla debe identificarse con una clave primaria, lo
que no permite que existan filas duplicadas. El orden de las filas no es significativo; se
especifica al recuperar los datos.
2. Una columna o un atributo que contiene el número de empleado. Este número
identifica a un empleado único de la tabla EMPLOYEES. En este ejemplo, la columna
de número de empleado se ha designado como la clave primaria. Una clave primaria
debe contener un valor y ese valor debe ser único.
Una clave primaria es aquella columna (pueden ser también dos columnas o más) que
identifica únicamente a esa fila. La clave primaria es un identificador que va a ser único
para cada fila. Se acostumbra a poner la clave primaria como la primera columna de la
tabla pero esto no tiene que ser necesario, si no es más una conveniencia. Muchas veces
la clave primaria es autonumérica.
En una tabla puede que tengamos más de una clave, en tal caso se puede escoger una
para ser la clave primaria, las demás claves son las claves candidatas. Además es la
posible clave primaria.

Una clave alternativa es aquella clave candidata que no ha sido seleccionada como
clave primaria, pero que también puede identificar de forma única a una fila dentro de
una tabla. Ejemplo: Si en una tabla clientes definimos el número de documento
(id_cliente) como clave primaria, el número de seguro social de ese cliente podría ser
una clave alternativa. En este caso no se usó como clave primaria porque es posible que
no se conozca ese dato en todos los clientes.

Una clave compuesta es una clave que está compuesta por más de una columna.
3. Una columna que no es un valor clave. Una columna representa un tipo de dato
de la tabla: en el ejemplo, el salario de todos los empleados. El orden de las columnas
no es significativo al almacenar los datos, se especifica al recuperarlos.
4. Una columna que contiene el número de departamento, que también es una
clave ajena. Una clave ajena es una columna que define cómo se relacionan las tablas
entre sí. Una clave ajena hace referencia a una clave primaria o única de la misma tabla
o de otra. En el ejemplo, DEPARTMENT_ID identifica de forma única un
departamento de la tabla DEPARTMENTS.
Una clave ajena (foreign key o clave foránea) es aquella columna que existiendo
como dependiente en una tabla, es a su vez clave primaria en otra tabla
5. Un campo puede no contener ningún valor. Esto se conoce como valor nulo. En
la tabla EMPLOYEES, sólo los empleados con un rol de representante de ventas tienen
un valor en el campo COMMISSION_PCT (comisión).
6. Un campo se puede encontrar en la intersección de una fila y una columna. Sólo
puede contener un valor.

Diapositiva 21: Propiedades de una Base de Datos Relacional


En una base de datos relacional, no se especifica la ruta de acceso a las tablas y no es
necesario conocer la organización física de los datos.
Para acceder a la base de datos, se ejecuta una sentencia de lenguaje estructurado de
consulta (SQL), que es el lenguaje estándar ANSI para bases de datos relacionales
operativas. El lenguaje contiene un amplio juego de operadores para particionar y
combinar relaciones. La base de datos se puede modificar utilizando las sentencias SQL.

Diapositiva 22: Lenguaje Estructurado de Consulta


Diseñado e implementado originariamente por IBM, SQL (Structured Query Language)
es actualmente el lenguaje estándar para bases de datos relacionales comerciales.
Esfuerzos de estandarización llevados a cabo por ANSI (American National Standard
Institute) e ISO (International Standards Organization) han producido diferentes
versiones estándar de SQL .
SQL es un lenguaje de base de datos integral ; el mismo posee sentencias para la
definición, consulta y actualización de datos. Adicionalmente, el mismo posee
facilidades para definir vistas de base de datos, especificar restricciones de seguridad y
definir el acceso a datos, definir restricciones de integridad, y para especificar el control
de transacciones.
SQL utiliza los términos tabla, fila y columna para relación, tupla y atributo,
respectivamente.
SQL es flexible y eficiente, con características que han sido diseñadas para la
manipulación de datos facilitando el acceso y la actualización de bases de datos
relacionales. Por ejemplo, la siguiente sentencia SQL borra de la base de datos todos los
empleados que pertenecen al departamento numero 90:
DELETE FROM employees
WHERE department_id = 90;
SQL es un lenguaje de cuarta generación (declarativo), lo cual significa que una
sentencia del lenguaje describe lo que quiere realizarse, pero no en la manera en que
debe llevarse a cabo. En la sentencia DELETE mostrada anteriormente, por ejemplo, no
es posible dilucidar de qué modo determinará la base de datos cuáles son los empleados
que pertenecen al departamento número 90 (empleados que se eliminarán de la base de
datos). Probablemente, el servidor Oracle recorrerá el conjunto de todos los empleados
en un cierto orden para determinar los elementos que deben borrarse, pero en ningún
momento se explicita cómo realizar dicha operación.
Todas las operaciones realizadas sobre la información en una base de datos Oracle son
ejecutadas utilizando sentencias SQL. Una sentencia SQL es una cadena de caracteres
SQL. Sólo una sentencia SQL completa puede ser ejecutada satisfactoriamente. Al
ejecutarse un fragmento de sentencia se genera un error indicando que se requiere más
texto .

Lenguaje Estructurado de Consulta


Al utilizar SQL, se puede comunicar con Oracle Server. SQL tiene las siguientes
ventajas:
• Es eficiente.
• Es fácil de aprender y de usar.
• Es funcionalmente completo (con SQL, puede definir, recuperar
y manipular datos en las tablas).

Diapositiva 23: Sistema de Gestión de Bases de


Datos Relacionales
Diferencias con PL/SQL
Teniendo en cuenta que SQL es un lenguaje de cuarta generación (4GL) y que los
lenguajes de tercera generación, como C y COBOL, son de naturaleza más
procedimental. Un programa escrito en un lenguaje de tercera generación (3GL)
implementa un algoritmo paso a paso para resolver el problema.
Tanto los lenguajes 3GL como los 4GL tienen sus ventajas y desventajas. Los lenguajes
4GL como SQL son, por regla general, bastante simples (comparados con los de 3GL) y
tienen menos sentencias. Asimismo, aíslan al usuario de los algoritmos y estructuras de
datos subyacentes. En algunos casos, sin embargo, las estructuras procedimentales
disponibles en los lenguajes 3GL resultan útiles para expresar un determinado
programa. Y aquí es donde entra el PL/SQL, que combina la potencia y flexibilidad de
un lenguaje de SQL (un 4GL) con las estructuras procedimentales de un 3GL.
PL/SQL significa Procedural Language/SQL (Lenguaje Procedimental/SQL). Como
su propio nombre indica, PL/SQL amplía la funcionalidad de SQL añadiendo
estructuras de las que pueden encontrarse en otros lenguajes procedimentales, como:
Variables y tipos (tanto predefinidos como definidos por el usuario)
Estructuras de control, como bucles y órdenes IF-THEN-ELSE
Procedimientos y funciones
Tipos de objetos y métodos (en PL/SQL versión 8 o superior)
Las construcciones procedimentales están perfectamente integradas con Oracle SQL, lo
que da como resultado un lenguaje potente y estructurado, combinando la flexibilidad
de SQL con la potencia y configurabilidad de un 3GL. Por ejemplo si se quiere
actualizar el salario del empleado número 250 y de no existirse lo insertará como un
nuevo empleado.
Trabajando con Server, es posible extender la funcionalidad del lenguaje SQL a través
de funciones PL/SQL definidas por el usuario. Utilizando funciones PL/SQL en
sentencias SQL es posible:
Incrementar la productividad brindada al usuario extendiendo el lenguaje SQL. Mejora
la expresividad del lenguaje SQL para tareas complejas o no posibles en SQL.
Mejorar la eficiencia de consultas. Funciones utilizadas en la cláusula WHERE de una
consulta pueden filtrar datos utilizando criterios que, de otra forma, deberían ser
evaluados por la aplicación.
Manipular cadenas de caracteres para representar tipos de datos especiales.
Por ejemplo: latitud, longitud, temperatura, etc.
Proveer ejecución de consultas en paralelo.
Si la consulta es paralelizada, sentencias SQL en la función PL/SQL pueden también ser
ejecutadas en paralelo (utilizando la opción de consulta en paralelo).
 

Sistema de Gestión de Bases de Datos Relacionales


Oracle Server ofrece un RDBMS flexible llamado Oracle9i. Al utilizar sus funciones,
puede almacenar y gestionar datos con todas las ventajas de la estructura relacional, más
PL/SQL, un motor que le proporciona la capacidad de almacenar y ejecutar unidades de
programa. Oracle9i también soporta Java y XML. Oracle Server ofrece las opciones de
recuperar datos basándose en técnicas de optimización. Incluye funciones de seguridad
que controlan la forma de acceso y de utilización de una base de datos. Entre otras
funciones se encuentran la consistencia y la protección de los datos mediante
mecanismos de bloqueo.
Oracle9i Server proporciona un enfoque abierto, global e integrado a la gestión de
información. Oracle Server consta de instancia de Oracle Server y una base de datos
Oracle. Cada vez que se inicia una base de datos, se asigna un área global del sistema
(SGA) y se inician los procesos en segundo plano de Oracle. El área global del sistema
es un área de memoria utilizada para la información de base de datos compartida por los
usuarios de la base de datos. La combinación de los procesos en segundo plano y los
buffers de memoria se conoce como instancia Oracle.

Diapositiva 24: Sentencias SQL


Oracle SQL cumple con los estándares aceptados por la industria. Oracle Corporation
asegura el cumplimiento futuro con los estándares en desarrollo implicando a personal
clave en los comités de estándares SQL. Los comités aceptados por la industria son el
Instituto Nacional Americano de Normalización (ANSI) y la Organización Internacional
de Normalización (ISO). Tanto ANSI como ISO han aceptado SQL como lenguaje
estándar para bases de datos relacionales.

El Lenguaje de manipulación de datos (LMD) se utiliza para recuperar, insertar y


modificar la información de base de datos

El lenguaje de definición de datos (en inglés Data Definition Language, o DDL), es el


que se encarga de la modificación de la estructura de los objetos de la base de datos.
Existen cuatro operaciones básicas: CREATE, ALTER, DROP y TRUNCATE

También podría gustarte