SlideShare una empresa de Scribd logo
1 de 60
 Las bases de datos relacionales incorporan sólo estructuras
estáticas de datos, las llamadas tablas. Es suficiente para
modelizar problemas de datos muy grandes, pero no permite
aplicar técnicas de programación orientada a objetos.
 Hay una serie de bases de datos llamadas orientadas a
objetos, donde el elemento de trabajo en lugar de la tabla es
el objeto, que incorpora datos y procedimientos. Pero este
enfoque todavía está en estudio y no parece clara su ventaja
sobre el enfoque relacional.
 Oracle aprovecha un nuevo enfoque, el objeto-relacional. Es
un punto medio entre los dos anteriores, permite a los
usuarios utilizar la base de datos de forma relacional, pero
incorpora extensiones de las bases de datos orientadas a
objetos.
 1978 Primera versión del sistema Oracle para el sistema PDP-
11 de Digital Equipment. Se basaba en las tesis de E. F. Codd
y se convierte en el primer RDBMS comercial.
 1980 Se crea Oracle Systems, empresa propietaria del DBMS
Oracle
 1981 Versión 3 de Oracle, escrita en C (2,5 millones de
dólares en ventas)
 1984 Versión 4, conexión cliente / servidor en sistema
VAX/VMS. 13 millones de Ventas
 1986 Versión 5 de Oracle, posibilidad de capacidades
distribuidas. 55 millones en ventas
 1988 Versión 6, incluye herramienta CASE, 188 millones de
ventas
 1991 Se alcanzan los mil millones de dólares
 1993 Versión 7 de Oracle para el sistema Unix. Se convierte
en el mejor gestor de bases de datos enormes.
 1994 2000 millones de ventas, versión de Oracle para PC
 1997 Versión 8, se lanza hacia Internet y adopta Java. 5000
millones en ventas
 1998 Versión de Oracle para Linux
 1999 Versión 8i, mayor integración de Java e Internet. 8000
millones en ventas
 2000 Más de 10.000 millones en ventas, primera solución de
bases de datos del mercado.
 2001 Aparece la versión 9i con grandes mejoras en la
distribución
 2003 Aparece la versión 10g, con grandes mejoras en cuanto
al tamaño de almacenamiento y velocidad.
 2007 Oracle Database 11g proporciona nuevas
funcionalidades, mediante el uso de plataformas grid.
 2013, Oracle Database 12c, la primera base de datos del
mundo diseñada para la nube.
 2018, Oracle Database 18c
 2019, Oracle Database 19c
 Los rivales de Oracle fundamentales hoy en día
son:
◦ PostgreSQL (Software libre)
◦ MySQL (Software libre) comprado por Oracle
◦ MariaDB (Software libre) fork de MySQL
◦ Firebird (Software libre)
◦ Ingres de Computer Associates
◦ DB/2 de IBM
◦ SQL Server de Microsoft
◦ Informix (actualmente de IBM)
 RDBMS: Relational DataBase Management System.
Sistema Gestor de Bases de Datos Relacionales.
 El RDBMS Oracle, como cualquier SISTEMA DE
INFORMACIÓN, está formado por 2 elementos:
◦ DATOS
◦ TRATAMIENTOS DE ESOS DATOS Conjunto de
aplicaciones que permiten el manejo de datos
 El software del sistema de bases de datos Oracle incorpora herramientas
para realizar la mayoría de tareas comunes en una base de datos:
 Oracle Universal Installer. gestor de instalaciones, controla cada nueva
instalación de software Oracle a fin de que se integren de la mejor
manera posible.
 SQL*plus. Programa cliente que permite conexión con el servidor Oracle
para enviarle secuencias SQL y PL/SQL.
 iSQL*plus. Permite conexiones al servidor Oracle con la misma finalidad
que elanterior pero utilizando una navegador de Internet, lo que facilita
el trabajo.
 SQL*plus WorkSheet. Permite conexiones al servidor de Oracle,
utilizando un entorno más potente (procede del Oracle Enterprise
Manager)
 Oracle Enterprise Manager. Entorno que permite la administración y
configuración completa del servidor Oracle.
 Oracle Forms. Permite crear aplicaciones visuales sobre bases de
datos de Oracle
 Oracle Reports. Asistente para la producción de informes.
 Oracle Designer. Herramienta CASE de Oracle, para crear esquemas
en el ordenador y que el software produzca los resultados del
mismo.
 Oracle JDeveloper. Crea aplicaciones Java pensadas para desarrollar
formularios sobre datos de Oracle.
 Oracle Developer Suite. Integra todos los componentes anteriores.
 Oracle AS (Application Server). Servidor de aplicaciones de Oracle.
Permite compilar aplicaciones J2EE
 Pro C/C++ Precompilador de C/C++ para Oracle.
 SQL*Loader. Permite cargar en bases de datos de Oracle
información que procedede un archivo de texto. Necesaria
para utilizar en las bases de datos de Oracle, información que
procede de otro software.
 Import/Export. Para importar y exportar datos entre
instancias de Oracle. De un servidor a otro por ejemplo.
también se utiliza como herramienta de copia de seguridad.
 Servidor http de Oracle. Basado en el servidor Apache,
permite opciones de documentación y sobre todo la
comunicación directa a través de SQL*Plus con el servidor
Oracle sin tener necesidad de instalar software adicional.
 Net Manager. Permite la administración de los servicios de
red a fin de configurar las conexiones hacia instancias de
Oracle.
 Una base de datos tiene una estructura lógica
(que se manipula mediante comandos)
 Y una estructura física (la que realmente se
almacena en disco).
 Tablespaces. Pertenecen sólo a una base de datos y sirven para
agrupar los datos de la base de datos. Cada tablespace está
formado físicamente por uno o más archivos de datos. Están
divididos en 0 o más segmentos. Se pueden visualizar en línea o
fuera de línea y pueden ser activados en sólo lectura o en lectura /
escritura.
 Segmento. Sirven para almacenar las estructuras lógicas de la base
de datos(tablas, índices,...). Un tablespace se compone de uno o
más segmentos. Pero el mismo segmento no puede estar en más de
un tablespace.
 Extensiones. División que se hace a cada segmento. El DBA puede
añadir o quitar extensiones a los segmentos a fin de hacer que
ganen o pierdan espacio.
 Bloque Oracle o bloque de datos. Es la unidad mínima de datos para
Oracle y se corresponde a una o más unidades de datos mínimas del
sistema operativo en el que nos encontremos.
 Archivos de datos. Son archivos en disco que sirven
para almacenar los datos físicamente (en una
unidad de disco). Cada archivo de datos pertenece
sólo a un tablespace. Su tamaño se puede
gestionar.
 Bloques de sistema. La división mínima de los
datos que hace el sistema operativo.
 Una BD se divide en unidades lógicas de almacenamiento llamadas
tablespaces.
 Cada BD tiene uno ó más tablespaces, de forma que cada uno está
compuesto de uno o más archivos (datafiles). Un tablespace puede
contener varias tablas e índices, no pudiendo éstos extenderse a
otro tablespace.
 El tamaño de un tablespace es, por tanto, la suma de los tamaños de
los ficheros que lo forman. Y el tamaño de la BD es la suma de los
tamaños de los tablespaces que la integran.
 Un tablespace puede estar ONLINE (accesible) u OFFLINE
(inaccesible); normalmente está online, de forma que los usuarios
pueden acceder a los datos que contiene.
 En los tablespaces se almacenan los objetos del esquema de la BD
(tablas, índices…) pudiéndose repartir entre varios ficheros.
 El tablespace original de Oracle se llama SYSTEM, creándose
automáticamente al crear la BD (CREATE DATABASE), de tal
forma que una BD pequeña podría tener este sólo tablespace.
Debe estar siempre en línea.
 No se recomienda usar este tablespace para almacenar datos,
únicamente para uso del sistema. Mejor para nuestras tablas
crear un tablespace adicional.
 Este tablespace no puede ser suprimido, tampoco pueden
suprimirse los archivos que lo constituyen. La única forma de
reconstruir el tablespace SYSTEM consiste en volver a crear la
BD.
CREATE TABLESPACE nombre_ts
DATAFILE espec_fich [,espec_fich …]
[ DEFAULT STORAGE
( [INITIAL valor] [NEXT valor]
[MINEXTENTS número]
[MAXEXTENTS número]
[PCTINCREASE porcentaje] ) ]
[ONLINE | OFFLINE]
espec_fich: ‘path/fichero’ [SIZE número [K|M] [REUSE]
valor: bytes K | M
INITIAL: tamaño de la 1ª extensión asignada. Tienen:
valor mínimo: 4.096 bytes
valor máximo: 4.095 Mb
por defecto: 10.240 bytes
NEXT: tamaño de la próxima extensión a asignar. Tienen:
valor mínimo: 2.048 bytes
valor máximo: 4.095 Mb
por defecto: 10.240 bytes
MAXEXTENTS: número máximo de extensiones permitidas. Por defecto:
9.999
MINEXTENTS: número de extensiones a reservar cuando se crea el
segmento. Por defecto: 1
PCTINCREASE: porcentaje de incremento que se aplicará para calcular el
tamaño de la siguiente extensión respecto de la anterior. Por defecto:
50%
CREATE TABLESPACE NOMINA
DATAFILE ‘NOMINA1’ SIZE 5M
DEFAULT STORAGE
(INITIAL 4M NEXT 1M
PCTINCREASE 0);
CREATE TABLESPACE tabspace_1
DATAFILE ‘diska:tabspace_file1.dat’ SIZE 20M
DEFAULT STORAGE
(INITIAL 10K NEXT 50K
MINEXTENTS 1 MAXEXTENTS 999
PCTINCREASE 10);
Para renombrar los ficheros del tablespace:
 Hay que poner el tablespace OFFLINE, cambiar el
nombre del fichero a nivel del Sistema Operativo,
hacer:
ALTER TABLESPACE nombre_ts
RENAME DATAFILE fichero [,fichero…] TO fich [,fich…] y por
último, volver a poner el tablespace ONLINE.
Para establecer cuotas de espacio:
GRANT RESOURCE [ (valor K | M) ] ON nombre_ts
TO nombre_usuario [,nombre_usuario…] | PUBLIC
 Para dejar un tablespace ONLINE u OFFLINE:
ALTER TABLESPACE nombre_ts
ONLINE | OFFLINE | [NORMAL | IMMEDIATE]
NORMAL espera a que no haya usuarios usando dicho tablespace
 Para borrar un tablespace:
DROP TABLESPACE nombre_ts
[INCLUDING CONTENTS]
Después habrá que usar el comando propio del Sistema Operativo
para borrar físicamente los ficheros asociados al tablespace. La
cláusula INCLUDING CONTENTS, borrará el tablespace aunque
contenga datos.
 Todos los datos de un TABLESPACE están
organizados en zonas llamadas SEGMENTOS. Un
segmento es un conjunto de bloques reservados
para almacenamiento de datos, formándose a
partir de una extensión inicial y opcionalmente de
extensiones adicionales.
 Segmento. Sirven para almacenar las estructuras
lógicas de la base de datos.
 Un tablespace se compone de uno o más
segmentos. Pero el mismo segmento no puede
estar en más de un tablespace.
 Segmentos de DATOS:
◦ 1 de ellos contiene todos los datos de una tabla (si es necesario,
ocupando varias extensiones).
◦ Una tabla siempre ocupa un único segmento de datos.
 Segmentos de ÍNDICES:
◦ 1 de ellos contiene todos los datos correspondientes a un índice
de una tabla. Una tabla puede tener de 0 a varios segmentos de
índices.
◦ Se recomienda tener los índices en un tablespace separado de las
tablas, incluso en otro disco físico.
 Segmentos de ROLLBACK
◦ Contienen la imagen de los datos antes de ser modificados
(imagen previa).
◦ Se usan para deshacer transacciones, ofrecer lecturas consistentes
y recuperar datos.
 Segmentos TEMPORALES:
◦ Al procesar sentencias (create index, order by, distinct,
group by, union, join sin índices y algunas subconsultas),
ORACLE requiere a menudo zonas de trabajo temporales en
los pasos intermedios de tratamiento. Estos segmentos son
creados conforme son necesarios y desaparecen cuando
termina la operación que los generó.
 Segmentos de BOOTSTRAP
◦ Se crea en el tablespace SYSTEM al crear la BD. Contiene
definiciones de las tablas del diccionario, cargándose al
arrancar la BD.
◦ Es pequeño, menos de 50 bloques.
 Es el siguiente nivel en la asignación del
espacio lógico de la BD.
 Una EXTENSIÓN se compone de un número
específico de bloques de datos contiguos
usados para almacenar una información
concreta. Es decir, son un conjunto de
páginas contiguas, con un tipo de
información específica.
 Un BLOQUE DE DATOS (datablocks) se
corresponde con un número específico de
bytes de espacio físico de la BD en el disco.
 El tamaño del bloque de datos se especifica
para cada BD en el momento de su creación.
 Una BD reserva espacio libre en los bloques
de Datos.
 Es la menor unidad de E/S que puede utilizar
la BD (independientemente de que el tamaño
del bloque del Sistema Operativo sea menor)
 Los usuarios son las personas que acceden de una forma o de
otra a la base de datos. Cada usuario tiene una vista
determinada de la base de datos.
 Hay varios conceptos sobre los usuarios a tener en cuenta.
 Privilegios
◦ Controlan el permiso que posee un usuario de ejecutar una
determinada instrucción SQL.
◦ Un usuario que quiera crear una tabla, deberá tener el privilegio (o
permiso) adecuado para ello.
◦ Además se pueden colocar privilegios en los objetos, es decir, un
usuario propietario de una tabla puede otorgar privilegios a esa
tabla (se trataría de un privilegio a nivel de objeto) para que haya
otros usuarios que la puedan usar.
 Rol
◦ Son agrupaciones de privilegios que facilitan la tarea de gestionar
a los usuarios. Así cuando una serie de usuarios van a tener los
mismos privilegios, se crea un rol que contenga esos privilegios y
a esos usuarios se les asigna el rol.
◦ Oracle proporciona varios roles ya preparados, por ejemplo el rol
DBA da privilegio absoluto a un usuario.
 Esquemas
◦ Los esquemas están asociados a los usuarios. Agrupan los objetos
lógicos que pertenecen al usuario. Es decir es el conjunto de
tablas, vistas, sinónimos, instantáneas, enlaces de base de datos,
procedimientos y funciones, paquetes,...
◦ Cada usuario tiene su propio esquema y, en principio, un usuario
no tiene acceso a los elementos de otro usuario, salvo que sea un
administrador o que otro usuario ceda el privilegio de utilización
de uno o más de sus objetos al resto de usuarios.
 Un esquema es una colección de objetos. Los objetos son
tablas, vistas, secuencias, procedimientos almacenados,
sinónimos, índices, clusters y database links.
 No hay relación entre esquema y tablespace, es decir: los
objetos de un Esquema pueden contener objetos de
diferentes esquemas.
 El concepto de esquema de BD está ligado al concepto de
usuario de BD, correspondiéndose unívocamente cada
esquema con una cuenta de usuario, de forma que el usuario
y el esquema asociado tienen el mismo nombre.
 Scott: soportado en todas las versiones de Oracle (contraseña: tiger)
 Human Resources (HR): tiene 6 tablas: employees, departments,
locations, countries, jobs, job_history.
 Order Entry (OE) contiene funciones relacionadas con el objeto y
orientadas al mismo. Tiene 7 tablas: customers,
product_descriptions, product_information, order_items, orders,
inventories y warehouses. Tiene enlaces al esquema deHR y al de
PM. También tiene sinónimos definidos en objetos de HR.
 Product Media (PM): tiene 2 tablas: online_media y print_media, un
tipo de objeto, adheader_typ y una tabla anidada textdoc_type.
Incluye los tipos de columna interMedia y LOB.
 Historial de ventas (SH) tiene la tabla SALES particionada por rango y
5 tablas de dimensiones: times, promotions, channels, products y
consumers. Tiene una tabla adicional: countries
 Una tabla es la unidad básica de almacenamiento de datos en
una BD.
 Cada tabla está definida por su nombre y por un conjunto de
columnas.
 Cada columna tiene un nombre y un tipo (char, varchar2,
date, number…) y una longitud, que puede venir determinada
por el tipo (en el tipo date), o una escala y una precisión (en
el tipo number).
 Una vez creada la tabla, se pueden insertar filas válidas en
ella y entonces las filas podrán ser consultadas, borradas o
modificadas.
 Para asegurar que se cumplan determinadas reglas
establecidas sobre los datos de la tabla se pueden definir
reglas de integridad y triggers.
 Son tablas virtuales, creadas a partir de
otra(s) tabla(s), de forma dinámica y que se
manipulan como las tablas normales.
 Finalidad:
◦ Simplificar el acceso a la BDD, pues muestran al
usuario los datos útiles debidamente
manipulados, escondiendo la complejidad de los
datos (sobre todo con JOINS)
◦ Restringir los derechos de acceso a la BDD,
mostrando sólo los datos permitidos al usuario,
limitando las columnas y/o filas.
 Una secuencia genera una serie de números únicos,
independientemente de cualquier tabla que la use, según una
progresión aritmética.
 Puede ser usada por varias tablas (para llenar alguna de sus
columnas) y ser accedida por varios usuarios.
 CACHE integer: permite guardar en memoria un conjunto
preasignado de números de secuencia
 ORDER: asigna los números de secuencia en orden de peticiones
DROP SEQUENCE CONTADOR_SEQ;
CREATE SEQUENCE CONTADOR_SEQ
START WITH 10 INCREMENT BY 2
MAXVALUE 10000
MINVALUE 0
CYCLE;
 Procedimientos (almacenados)
 Funciones (almacenados)
 Paquetes (packages) (almacenados)
 Un PROCEDIMIENTO ó FUNCIÓN es un conjunto de sentencias
SQL y PL/SQL agrupadas como una unidad ejecutable para
realizar una tarea específica. Usando PL/SQL, pueden
almacenarse en la BD.
◦ La diferencia entre procedimiento y función es que la función
devuelve un valor y los procedimientos no.
 Los PAQUETES son un modo de encapsular y almacenar
procedimientos y funciones relacionados, así como otras
construcciones, juntos como una unidad.
◦ Proporcionan, tanto al administrador de la Base de Datos como a
los desarrolladores de aplicaciones, grandes beneficios a nivel
organizativo; además de incrementar el rendimiento de la BD.
 Los SINÓNIMOS son alias para tablas, vistas, secuencias o unidades de
programa. Un sinónimo no es, por tanto, un objeto en sí mismo, sino una
referencia directa a un objeto.
 Finalidad:
◦ Ocultar el nombre real y el propietario de un objeto.
◦ Dar acceso público a un objeto.
◦ Hacer transparentes la localización de tablas, vistas o unidades de
programa de una BD remota.
◦ Simplificar las sentencias SQL a los usuarios de la BD.
 Un sinónimo puede ser PÚBLICO o PRIVADO.
◦ Un determinado usuario puede crear un sinónimo privado, pero sólo él
podrá usarlo
 El administrador de la BD suele crear sinónimos públicos, dando acceso a un
objeto a cualquier usuario de la BD
CREATE PUBLIC SYNONYM TBEMPRESA FOR PEPE.TBEMPRESA;
Así, TBEMPRESA es el nombre de un objeto que se pone a disposición de
todos los usuarios de la BD.
Para eliminar el sinónimo:
DROP SYNONYM TBEMPRESA
 Son estructuras opcionales asociadas a tablas que
permiten acelerar las consultas (sobre todo los
JOIN).
 Formados por una o varias columnas (índices
concatenados).
 Se pueden crear con la sentencia “CREATE INDEX”.
 Un cluster es una agrupación de tablas almacenadas físicamente
juntas ya que tienen columnas comunes y frecuentemente se usan
juntas (en JOINS). Como las filas relacionadas se almacenan
físicamente juntas los tiempos de acceso a disco mejoran.
 Las columnas relacionadas de las tablas de un cluster forman la
clave de cluster. Ésta está indexada de forma que las filas del cluster
pueden ser accedidas minimizando la E/S.
 Puesto que el índice del cluster se almacena sólo una vez para todas
las tablas del mismo, el cluster almacena las tablas de forma más
eficiente que si se almacenaran por separado.
 Los clusters son transparentes a las aplicaciones, es decir, los datos
de una tabla almacenada en un cluster son accedidos vía SQL de
igual modo que si ésta no estuviese en el cluster.
 Los cambios en la base de datos no son guardados hasta que
tras una serie de instrucciones se decide llevar a cabo esos
cambios. Hasta ese momento todo lo realizado se toma como
provisional. Un fallo en la máquina permitiría invertir los
cambios.
 Una transacción son varias operaciones SQL que forman una
unidad de trabajo.
 Comienza cuando una persona se conecta y de ahí hasta que
ejecuta la instrucción commit (ejecutar la transacción) o
rollback (anular la transacción). La anulación deja la base de
datos en el estado anterior al comienzo de la transacción.
Tras un commit o un rollback comienza la siguiente
transacción.
 En Oracle se admite además el uso de puntos de ruptura
(checkpoints) para almacenar valores intermedios y volver a
cualquier de ellos si interesa. Pero esto ralentiza
excesivamente el sistema.
 La instancia de la base de datos es uno de los dos elementos
de cualquier base de datos Oracle. Sirve para gestionar los
datos de la base de datos y proporcionar servicio a los
usuarios que acceden a la misma.
 Está compuesta de:
Estructuras en memoria.
Procesos en segundo plano (background).
 SGA
◦ Es la abreviatura de System Global Area, Área Global de Sistema.
Está situada al inicio de los datos de la instancia y contiene los
datos e información de control de la instancia.
 PGA
◦ Zona global de los programas (Program Global Area). En ella se
almacenan los datos correspondientes a un proceso (sólo un
proceso puede utilizar esta área).
 Para establecer una sesión con la base de datos, el usuario
necesita conectar con la instancia de la base de datos.
Normalmente esto significa arrancar una herramienta cliente
como SQL*Plus o ejecutar una aplicación de desarrollo de
bases de datos (como Oracle Forms); entonces se ejecuta un
proceso de usuario.
 Cuando esto ocurre, en el servidor se establece un proceso de
servidor. Este proceso es el encargado de comunicar al
usuario con la instancia Oracle en nombre del proceso de
usuario. Cada vez que el usuario ejecuta instrucciones SQL,
éstas son transmitidas a la instancia Oracle por el proceso
servidor.
 De este modo una conexión es un camino entre un proceso
de usuario y un servidor Oracle.
 Cada sesión es una conexión de un usuario con el servidor
Oracle. Un usuario puede establecer múltiples sesiones (si se
conecta desde diferentes herramientas y máquinas)
 En Oracle los procesos pueden ser de estos tipos:
◦ Proceso de usuario. Lanzado por el usuario para pedir
interacción con la base de datos.
◦ Proceso de servidor. Hacen de enlace entre los procesos de
usuarios y el servidor Oracle. Se utilizan como manejadores
de los procesos de usuario. Los comandos de usuario se
envían a estos procesos que se encargan de solicitar
peticiones a la base de datos mediante el interfaz de
programas de Oracle (OPI, Oracle Program Interface).
◦ Procesos en segundo plano (background). Cada instancia
de Oracle arranca una serie de procesos background.
 Desde el punto de vista de Oracle, una base de datos es una
colección de datos tratados como una única unidad. Una base
de datos Oracle contiene tres tipos de ficheros:
◦ Archivos de datos. Contiene los datos actuales de la base de datos
así como el diccionario de datos.
◦ Archivos rehacer (redo logs). Almacenan datos recuperables en
caso de error grave.
◦ Archivos de control. Necesarios para mantener la integridad de la
base de datos.
 Además se utilizan otros archivos de forma auxiliar:
◦ Archivos de parámetros. Que definen algunas características de
una instancia Oracle.
◦ Archivos de contraseñas. Que sirven para autentificar a los
usuarios.
◦ Copias de archivos rehacer. Utilizadas para la recuperación de
datos.
 Para poder ejecutar SQL sobre la base de datos, hay que
conectar con la instancia Oracle de la base de datos, lo cual
requiere la comunicación entre un proceso cliente y el
servidor
 (el proceso cliente puede ser una instancia de SQL*Plus por
ejemplo). Los componentes utilizados por Oracle para
procesar el SQL dependen del código enviado:
 Las consultas devuelven filas
 Las instrucciones DML (Lenguaje de Manipulación de Datos)
graban cambios. La instrucción commit asegura el proceso de
la transacción.
 De manera general los pasos en ese proceso son:
1. El usuario abre la herramienta que permite el envío de peticiones
SQL (por ejemplo SQL*Plus)
2. El usuario introduce su nombre de usuario y contraseña
3. Oracle consulta el diccionario de datos para verificar la existencia del
usuario y para validar su permiso de conexión. Si lo tiene, se produce la
conexión
4. El usuario escribe la instrucción SQL (supongamos que es una instrucción
de modificación)
5. Oracle traduce la instrucción con el analizador de instrucciones
(devolvería un error si la instrucción no es válida)
6. Oracle traduce los nombres usados en la instrucción con la ayuda
deldiccionario de datos.
7. Si es una instrucción de mostrar datos (SELECT), comprueba si otros
usuarios han enviado hace poco esa misma instrucción, eso lo
comprueba en el caché de instrucciones de la SGA. Si la instrucción está
ahí coge los resultados del buffer caché de la base de datos.
8. Si la instrucción conlleva cambios, el servidor bloquea las filas que se
modificarán.
9. La base de datos graba los cambios (si les hubo) y actualiza los archivos
deshacer
10.La base de datos graba los nuevos valores para los datos
11.Oracle libera del bloqueo los registros
12.El usuario recibe un mensaje de éxito
 El DD es una de las partes más importantes de una BD Oracle.
Se trata de un conjunto de tablas, que se pueden acceder sólo
en lectura, que proporcionan información sobre la BD, por
ejemplo:
◦ Nombres de los usuarios
◦ Privilegios y roles concedidos a cada usuario
◦ Nombres de los objetos (tablas, vistas, índices, clusters,
sinónimos, secuencias…)
◦ Información sobre las condiciones de integridad
◦ Valores por defecto de determinadas columnas
◦ Cantidad de espacio reservado para los objetos de la BD y
la que están usando en un momento dado.
 El DD tiene 2 usos fundamentales:
◦ El SGBD accede al DD cada vez que se usa una sentencia DDL.
◦ Cualquier usuario puede usar el DD como una guía de referencia
de sólo lectura para obtener información sobre la BD.
 El DD está siempre accesible mientras la BD está abierta. Reside en
el tablespace SYSTEM, el cual estará en línea mientras la BD
permanezca abierta.
 El DD se puede concebir como una serie de conjuntos de vistas.
Cada conjunto se compone de 3 vistas que contiene similar
información, y que se diferencian entre ellas mediante un prefijo:
USER: vistas del usuario (todo lo que está en el esquema del usuario)
ALL: vistas expandidas del usuario (todo a lo que el usuario tiene acceso)
DBA: vistas del administrador (todo lo que pueden acceder todos los
usuarios)
 Las columnas de las vistas de un mismo conjunto son idénticas, con
las siguientes excepciones:
 Las vistas con el prefijo USER normalmente no tienen la columna
OWNER (propietario del objeto), pues esta columna está implícita en
el usuario que consulta la vista
 Algunas vistas con prefijo DBA tienen columnas adicionales que
proporcionan información útil al administrador.
 En esta arquitectura el sistema de BD se divide en 2 partes: parte
cliente y parte servidor.
 CLIENTE
La parte cliente interacciona con el usuario a través del teclado, la
pantalla y el ratón. No tiene responsabilidades de acceso a los
datos; se concentra en pedir, procesar y presentar los datos
gestionados por la parte servidor. De esta forma la estación cliente
puede optimizarse para su trabajo. Por ejemplo: quizás no necesite
mucha capacidad de disco y quizás pueda aprovechar capacidades
gráficas.
 SERVIDOR
La parte servidor ejecuta el software ORACLE y mantiene las
funciones necesarias para el acceso concurrente y compartido a los
datos. Recibe y procesa las sentencias SQL y PL/SQL que le llegan
desde las estaciones cliente. El ordenador que soporta la parte
servidor, puede ser optimizado para cumplir su función; por
ejemplo, puede tener una gran capacidad de disco y procesadores
rápidos.
 Una BDD, Base de Datos Distribuida, es una red de bases de
datos gestionada por múltiples servidores de BD, que para el
usuario aparecen como una sola BD lógica.
 Cada ordenador que gestiona una BD en la BDD se conoce
como un nodo. La BD a la que se conecta el usuario
directamente se llama BDL (Base de datos local). Cualquier
otra BD accedida por el usuario la llamaremos BDR (Base de
datos remota).
 Cuando una BDL accede a una BDR, la BDL es un cliente del
servidor remoto (arquitectura cliente-servidor).
 Hay: transparencia en la localización, autonomía local y
consistencia de los datos.
 SELECT * FROM proveedores@CONTA
 MySQL es uno de los sistemas de gestión de
bases de datos relacional más extendido en la
actualidad.
 Desarrollado originalmente por MySQL AB,
adquirida por Sun MicroSystems en 2008 y
comprada por Oracle Corporation en 2010, la
cual ya era dueña de un motor propio InnoDB
para MySQL.
 MySQL es un sistema de gestión de bases de
datos que cuenta con una doble licencia. Por una
parte es de código abierto, pero también cuenta
con una versión comercial gestionada por la
compañía Oracle.
 MySQL fue inicialmente desarrollado por
MySQL AB (empresa fundada por David
Axmark, Allan Larsson y Michael Widenius) en
1995,
 En 1999, se lanzó la versión 3.23.0, la
primera versión en importancia.
 Siguieron otras como las versiones 5.0.0, en
2003.
 En diciembre de 2009 la versión 5.5.x.
 Comprada por Oracle Corporation en 2010
 MySQL está escrito en C y C++.
 Es muy utilizado en aplicaciones web, como
Joomla, Wordpress o Drupal.
 Está muy ligado a PHP, ya que es un lenguaje
de programación que permite accede a la
base de datos MySQL en las aplicaciones web
más usadas.
 MariaDB es una base de datos más reciente,
surgida tras la compra de MySQL por parte de
Oracle.
 Michael Widenius, uno de los creadores de
MySQL, con el tiempo desarrolló una copia (fork)
de MySQL llamada MariaDB.
 Realizada por los desarrolladores originales de
MySQL, ofrece la misma funcionalidad que el
proyecto original, con algunas mejoras. Muchos
usuarios importantes de MySQL han migrado a
esta nueva alternativa, como Google, Mozilla,
Wikimedia Foundation y XAMPP.
 MariaDB ha sustituido a MySQL como instalación
estándar en diversos distribuidores Linux.
 Según Widenius, el objetivo de MariaDB es:
◦ Mantener reunidos a los creadores de MySQL.
◦ Fomentar la continuidad en el desarrollo de la
comunidad.
◦ Garantizar que siempre haya disponible una versión
de MySQL gratuita.
 Nuevos motores de almacenamiento:
◦ Aria: Motor de almacenamiento a prueba de fallos
basado en MyISAM.
◦ XtraDB: El reemplazo del motor InnoDB.
 MongoDB es una base de datos documental,
lo que significa que almacena datos en forma
de documentos tipo JSON.
 JavaScript Object Notation (JSON) es un
formato basado en texto estándar para
representar datos estructurados en la sintaxis
de objetos de JavaScript. Es comúnmente
utilizado para transmitir datos en
aplicaciones web
 Líder mundial en la creación de webs.
 WordPress está desarrollado en el lenguaje
PHP para entornos que ejecuten MySQL y
Apache, bajo licencia GPL y es software libre.
 Herramienta de software gratuita escrita en
PHP, destinada a manejar la administración
de MySQL a través de la Web.
 Admite operaciones en MySQL y MariaDB.
 Las operaciones de uso frecuente
(administración de bases de datos, tablas,
columnas, relaciones, índices, usuarios,
permisos, etc.).
 Se pueden realizar a través de la interfaz de
usuario, teniendo la capacidad de ejecutar
directamente cualquier declaración SQL.
 El servidor web es un servicio que permite
servir páginas web, fotos, videos y archivos a
través de un protocolo llamado HTTP.
 Almacena los archivos del sitio web.
 Cuando un usuario escribe la dirección de un
sitio web y comienza la búsqueda, el sistema
encuentra el servidor donde está alojado el
sitio y el servidor web se encarga de enviar el
contenido a nuestro navegador.
 Es un proyecto open-source (código abierto)
que nació en 1995.
 Ha liderado el mercado de servidores web, es
el más usado, aunque ha perdido bastante
popularidad.
 Debido a que Apache no funciona tan bien
especialmente para sitios web estáticos o
sitios web con alto tráfico se tiende
actualmente a utilizar el servidor Nginx.
 Servidor web, proxy inverso y de correo
electrónico originalmente escrito por Igor
Sysoev.
 NGINX fue lanzado oficialmente el 4 octubre
del 2004.
 Su reto era solucionar el problema C10k.
C10k es el reto de gestionar diez mil
conexiones al mismo tiempo.
 Utilizado como servidor web en los sitios de
mayor tráfico de red.
 LAMP: Linux-Apache_MySQL_PHP
 LAMPPP: Linux -Apache_MySQL/MongoDB_PHP/PERL/Python
 LNMP: Windows - Nginx_MariaDB_PHP
 LAPP: Linux - Apache_PostgreSQL_PHP
 MAMP: MacOS - Apache_MySQL_PHP
 MAMPPP: MacOS - Apache_MySQL_PHP_PERL_Python
 MAPP: MacOS - Apache_PostgreSQL_PHP
 WIMP: Windows - IIS_MySQL_PHP
 WNMP: Windows - Nginx_MariaDB_PHP
 WAMP: Windows - Apache_MySQL_PHP
 WAMPPP: Windows - Apache_MySQL_PHP/PERL/Python
 WAPP: Windows - Apache_PostgreSQL_PHP
 XAMPP: Linux/MacOS/Windows - Apache_MariaDB_PHP/Perl
 https://w3techs.com/technologies

Más contenido relacionado

La actualidad más candente

10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datosGusttavo Nipas
 
Control de concurrencias investigación
Control de concurrencias investigaciónControl de concurrencias investigación
Control de concurrencias investigaciónJhoel Dgez Garcia
 
Comparacion de Gestores de Base de Datos
Comparacion de Gestores de Base de DatosComparacion de Gestores de Base de Datos
Comparacion de Gestores de Base de DatosVictor Zevallos
 
Fire Bird
Fire BirdFire Bird
Fire Birdlejogu
 
seguridad de los sistemas operativos
seguridad de los sistemas operativos seguridad de los sistemas operativos
seguridad de los sistemas operativos Carlos Guerrero
 
Configuracion y administracion del espacio en disco
 Configuracion y administracion del espacio en disco Configuracion y administracion del espacio en disco
Configuracion y administracion del espacio en discoYael_21
 
Planificacion y modelado para una ferreteria
Planificacion y modelado para una ferreteriaPlanificacion y modelado para una ferreteria
Planificacion y modelado para una ferreteriaErick Domínguez Canseco
 
Administracion de datos unidad 1
Administracion de datos unidad 1Administracion de datos unidad 1
Administracion de datos unidad 1Juan Anaya
 
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...José Antonio Sandoval Acosta
 
SO Unidad 1: Introducción a los Sistemas Operativos
SO Unidad 1: Introducción a los Sistemas OperativosSO Unidad 1: Introducción a los Sistemas Operativos
SO Unidad 1: Introducción a los Sistemas OperativosFranklin Parrales Bravo
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos josecuartas
 

La actualidad más candente (20)

10 sistemas gestores de base de datos
10 sistemas gestores de base de datos10 sistemas gestores de base de datos
10 sistemas gestores de base de datos
 
Control de concurrencias investigación
Control de concurrencias investigaciónControl de concurrencias investigación
Control de concurrencias investigación
 
Comparacion de Gestores de Base de Datos
Comparacion de Gestores de Base de DatosComparacion de Gestores de Base de Datos
Comparacion de Gestores de Base de Datos
 
Fire Bird
Fire BirdFire Bird
Fire Bird
 
COMANDOS DDL
COMANDOS DDLCOMANDOS DDL
COMANDOS DDL
 
seguridad de los sistemas operativos
seguridad de los sistemas operativos seguridad de los sistemas operativos
seguridad de los sistemas operativos
 
Configuracion y administracion del espacio en disco
 Configuracion y administracion del espacio en disco Configuracion y administracion del espacio en disco
Configuracion y administracion del espacio en disco
 
1. Modelo de Datos
1. Modelo de Datos1. Modelo de Datos
1. Modelo de Datos
 
Planificacion y modelado para una ferreteria
Planificacion y modelado para una ferreteriaPlanificacion y modelado para una ferreteria
Planificacion y modelado para una ferreteria
 
Administracion de datos unidad 1
Administracion de datos unidad 1Administracion de datos unidad 1
Administracion de datos unidad 1
 
INTRODUCCION A ACCESS
INTRODUCCION A ACCESSINTRODUCCION A ACCESS
INTRODUCCION A ACCESS
 
ETL
ETLETL
ETL
 
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
 
Sql presentacion
Sql presentacionSql presentacion
Sql presentacion
 
Base de datos
Base de datosBase de datos
Base de datos
 
SO Unidad 1: Introducción a los Sistemas Operativos
SO Unidad 1: Introducción a los Sistemas OperativosSO Unidad 1: Introducción a los Sistemas Operativos
SO Unidad 1: Introducción a los Sistemas Operativos
 
Arquitectura sql
Arquitectura sqlArquitectura sql
Arquitectura sql
 
Base de Datos Orientada a Objetos
Base de Datos Orientada a ObjetosBase de Datos Orientada a Objetos
Base de Datos Orientada a Objetos
 
Cuadro comparativo sgbd
Cuadro comparativo sgbdCuadro comparativo sgbd
Cuadro comparativo sgbd
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos
 

Similar a La evolución de Oracle DB desde 1978

Similar a La evolución de Oracle DB desde 1978 (20)

Base de datos en microsoft sql server
Base de datos en microsoft sql serverBase de datos en microsoft sql server
Base de datos en microsoft sql server
 
Administracion de base de datos
Administracion de base de datosAdministracion de base de datos
Administracion de base de datos
 
Taller2
Taller2Taller2
Taller2
 
Diapositivas de base de datos
Diapositivas de base de datosDiapositivas de base de datos
Diapositivas de base de datos
 
Microsoft sql server
Microsoft sql serverMicrosoft sql server
Microsoft sql server
 
Sistemas de gestión de base de datos
Sistemas de gestión de base de datosSistemas de gestión de base de datos
Sistemas de gestión de base de datos
 
Sistema gestor de base de datos
Sistema gestor de base de datosSistema gestor de base de datos
Sistema gestor de base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Tarea4 bd
Tarea4 bdTarea4 bd
Tarea4 bd
 
Base de Datos1
Base de Datos1Base de Datos1
Base de Datos1
 
Oracle3
Oracle3Oracle3
Oracle3
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
guia-2.pdf
guia-2.pdfguia-2.pdf
guia-2.pdf
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
A1 u2 hipv
A1 u2 hipvA1 u2 hipv
A1 u2 hipv
 
GUÍA 1_Administración de Base de Datos.docx
GUÍA 1_Administración de Base de Datos.docxGUÍA 1_Administración de Base de Datos.docx
GUÍA 1_Administración de Base de Datos.docx
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Administracion bdd tarea02
Administracion bdd tarea02Administracion bdd tarea02
Administracion bdd tarea02
 
Comparación entre microsoft sql server express edition 2012 y oracle
Comparación entre microsoft sql server express edition 2012 y oracleComparación entre microsoft sql server express edition 2012 y oracle
Comparación entre microsoft sql server express edition 2012 y oracle
 

Último

Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webDecaunlz
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdflauradbernals
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAdanielaerazok
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfOscarBlas6
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfisrael garcia
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenajuniorcuellargomez
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenadanielaerazok
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdfedwinmelgarschlink2
 

Último (8)

Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
 
Guia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdfGuia para el registro en el sitio slideshare.pdf
Guia para el registro en el sitio slideshare.pdf
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdf
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
 
12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf12 Clasificacion de las Computadoras.pdf
12 Clasificacion de las Computadoras.pdf
 

La evolución de Oracle DB desde 1978

  • 1.
  • 2.  Las bases de datos relacionales incorporan sólo estructuras estáticas de datos, las llamadas tablas. Es suficiente para modelizar problemas de datos muy grandes, pero no permite aplicar técnicas de programación orientada a objetos.  Hay una serie de bases de datos llamadas orientadas a objetos, donde el elemento de trabajo en lugar de la tabla es el objeto, que incorpora datos y procedimientos. Pero este enfoque todavía está en estudio y no parece clara su ventaja sobre el enfoque relacional.  Oracle aprovecha un nuevo enfoque, el objeto-relacional. Es un punto medio entre los dos anteriores, permite a los usuarios utilizar la base de datos de forma relacional, pero incorpora extensiones de las bases de datos orientadas a objetos.
  • 3.  1978 Primera versión del sistema Oracle para el sistema PDP- 11 de Digital Equipment. Se basaba en las tesis de E. F. Codd y se convierte en el primer RDBMS comercial.  1980 Se crea Oracle Systems, empresa propietaria del DBMS Oracle  1981 Versión 3 de Oracle, escrita en C (2,5 millones de dólares en ventas)  1984 Versión 4, conexión cliente / servidor en sistema VAX/VMS. 13 millones de Ventas  1986 Versión 5 de Oracle, posibilidad de capacidades distribuidas. 55 millones en ventas  1988 Versión 6, incluye herramienta CASE, 188 millones de ventas  1991 Se alcanzan los mil millones de dólares  1993 Versión 7 de Oracle para el sistema Unix. Se convierte en el mejor gestor de bases de datos enormes.
  • 4.  1994 2000 millones de ventas, versión de Oracle para PC  1997 Versión 8, se lanza hacia Internet y adopta Java. 5000 millones en ventas  1998 Versión de Oracle para Linux  1999 Versión 8i, mayor integración de Java e Internet. 8000 millones en ventas  2000 Más de 10.000 millones en ventas, primera solución de bases de datos del mercado.  2001 Aparece la versión 9i con grandes mejoras en la distribución  2003 Aparece la versión 10g, con grandes mejoras en cuanto al tamaño de almacenamiento y velocidad.  2007 Oracle Database 11g proporciona nuevas funcionalidades, mediante el uso de plataformas grid.  2013, Oracle Database 12c, la primera base de datos del mundo diseñada para la nube.  2018, Oracle Database 18c  2019, Oracle Database 19c
  • 5.  Los rivales de Oracle fundamentales hoy en día son: ◦ PostgreSQL (Software libre) ◦ MySQL (Software libre) comprado por Oracle ◦ MariaDB (Software libre) fork de MySQL ◦ Firebird (Software libre) ◦ Ingres de Computer Associates ◦ DB/2 de IBM ◦ SQL Server de Microsoft ◦ Informix (actualmente de IBM)
  • 6.  RDBMS: Relational DataBase Management System. Sistema Gestor de Bases de Datos Relacionales.  El RDBMS Oracle, como cualquier SISTEMA DE INFORMACIÓN, está formado por 2 elementos: ◦ DATOS ◦ TRATAMIENTOS DE ESOS DATOS Conjunto de aplicaciones que permiten el manejo de datos
  • 7.  El software del sistema de bases de datos Oracle incorpora herramientas para realizar la mayoría de tareas comunes en una base de datos:  Oracle Universal Installer. gestor de instalaciones, controla cada nueva instalación de software Oracle a fin de que se integren de la mejor manera posible.  SQL*plus. Programa cliente que permite conexión con el servidor Oracle para enviarle secuencias SQL y PL/SQL.  iSQL*plus. Permite conexiones al servidor Oracle con la misma finalidad que elanterior pero utilizando una navegador de Internet, lo que facilita el trabajo.  SQL*plus WorkSheet. Permite conexiones al servidor de Oracle, utilizando un entorno más potente (procede del Oracle Enterprise Manager)  Oracle Enterprise Manager. Entorno que permite la administración y configuración completa del servidor Oracle.
  • 8.  Oracle Forms. Permite crear aplicaciones visuales sobre bases de datos de Oracle  Oracle Reports. Asistente para la producción de informes.  Oracle Designer. Herramienta CASE de Oracle, para crear esquemas en el ordenador y que el software produzca los resultados del mismo.  Oracle JDeveloper. Crea aplicaciones Java pensadas para desarrollar formularios sobre datos de Oracle.  Oracle Developer Suite. Integra todos los componentes anteriores.  Oracle AS (Application Server). Servidor de aplicaciones de Oracle. Permite compilar aplicaciones J2EE  Pro C/C++ Precompilador de C/C++ para Oracle.
  • 9.  SQL*Loader. Permite cargar en bases de datos de Oracle información que procedede un archivo de texto. Necesaria para utilizar en las bases de datos de Oracle, información que procede de otro software.  Import/Export. Para importar y exportar datos entre instancias de Oracle. De un servidor a otro por ejemplo. también se utiliza como herramienta de copia de seguridad.  Servidor http de Oracle. Basado en el servidor Apache, permite opciones de documentación y sobre todo la comunicación directa a través de SQL*Plus con el servidor Oracle sin tener necesidad de instalar software adicional.  Net Manager. Permite la administración de los servicios de red a fin de configurar las conexiones hacia instancias de Oracle.
  • 10.  Una base de datos tiene una estructura lógica (que se manipula mediante comandos)  Y una estructura física (la que realmente se almacena en disco).
  • 11.  Tablespaces. Pertenecen sólo a una base de datos y sirven para agrupar los datos de la base de datos. Cada tablespace está formado físicamente por uno o más archivos de datos. Están divididos en 0 o más segmentos. Se pueden visualizar en línea o fuera de línea y pueden ser activados en sólo lectura o en lectura / escritura.  Segmento. Sirven para almacenar las estructuras lógicas de la base de datos(tablas, índices,...). Un tablespace se compone de uno o más segmentos. Pero el mismo segmento no puede estar en más de un tablespace.  Extensiones. División que se hace a cada segmento. El DBA puede añadir o quitar extensiones a los segmentos a fin de hacer que ganen o pierdan espacio.  Bloque Oracle o bloque de datos. Es la unidad mínima de datos para Oracle y se corresponde a una o más unidades de datos mínimas del sistema operativo en el que nos encontremos.
  • 12.  Archivos de datos. Son archivos en disco que sirven para almacenar los datos físicamente (en una unidad de disco). Cada archivo de datos pertenece sólo a un tablespace. Su tamaño se puede gestionar.  Bloques de sistema. La división mínima de los datos que hace el sistema operativo.
  • 13.
  • 14.  Una BD se divide en unidades lógicas de almacenamiento llamadas tablespaces.  Cada BD tiene uno ó más tablespaces, de forma que cada uno está compuesto de uno o más archivos (datafiles). Un tablespace puede contener varias tablas e índices, no pudiendo éstos extenderse a otro tablespace.  El tamaño de un tablespace es, por tanto, la suma de los tamaños de los ficheros que lo forman. Y el tamaño de la BD es la suma de los tamaños de los tablespaces que la integran.  Un tablespace puede estar ONLINE (accesible) u OFFLINE (inaccesible); normalmente está online, de forma que los usuarios pueden acceder a los datos que contiene.  En los tablespaces se almacenan los objetos del esquema de la BD (tablas, índices…) pudiéndose repartir entre varios ficheros.
  • 15.  El tablespace original de Oracle se llama SYSTEM, creándose automáticamente al crear la BD (CREATE DATABASE), de tal forma que una BD pequeña podría tener este sólo tablespace. Debe estar siempre en línea.  No se recomienda usar este tablespace para almacenar datos, únicamente para uso del sistema. Mejor para nuestras tablas crear un tablespace adicional.  Este tablespace no puede ser suprimido, tampoco pueden suprimirse los archivos que lo constituyen. La única forma de reconstruir el tablespace SYSTEM consiste en volver a crear la BD.
  • 16. CREATE TABLESPACE nombre_ts DATAFILE espec_fich [,espec_fich …] [ DEFAULT STORAGE ( [INITIAL valor] [NEXT valor] [MINEXTENTS número] [MAXEXTENTS número] [PCTINCREASE porcentaje] ) ] [ONLINE | OFFLINE]
  • 17. espec_fich: ‘path/fichero’ [SIZE número [K|M] [REUSE] valor: bytes K | M INITIAL: tamaño de la 1ª extensión asignada. Tienen: valor mínimo: 4.096 bytes valor máximo: 4.095 Mb por defecto: 10.240 bytes NEXT: tamaño de la próxima extensión a asignar. Tienen: valor mínimo: 2.048 bytes valor máximo: 4.095 Mb por defecto: 10.240 bytes MAXEXTENTS: número máximo de extensiones permitidas. Por defecto: 9.999 MINEXTENTS: número de extensiones a reservar cuando se crea el segmento. Por defecto: 1 PCTINCREASE: porcentaje de incremento que se aplicará para calcular el tamaño de la siguiente extensión respecto de la anterior. Por defecto: 50%
  • 18. CREATE TABLESPACE NOMINA DATAFILE ‘NOMINA1’ SIZE 5M DEFAULT STORAGE (INITIAL 4M NEXT 1M PCTINCREASE 0); CREATE TABLESPACE tabspace_1 DATAFILE ‘diska:tabspace_file1.dat’ SIZE 20M DEFAULT STORAGE (INITIAL 10K NEXT 50K MINEXTENTS 1 MAXEXTENTS 999 PCTINCREASE 10);
  • 19. Para renombrar los ficheros del tablespace:  Hay que poner el tablespace OFFLINE, cambiar el nombre del fichero a nivel del Sistema Operativo, hacer: ALTER TABLESPACE nombre_ts RENAME DATAFILE fichero [,fichero…] TO fich [,fich…] y por último, volver a poner el tablespace ONLINE. Para establecer cuotas de espacio: GRANT RESOURCE [ (valor K | M) ] ON nombre_ts TO nombre_usuario [,nombre_usuario…] | PUBLIC
  • 20.  Para dejar un tablespace ONLINE u OFFLINE: ALTER TABLESPACE nombre_ts ONLINE | OFFLINE | [NORMAL | IMMEDIATE] NORMAL espera a que no haya usuarios usando dicho tablespace  Para borrar un tablespace: DROP TABLESPACE nombre_ts [INCLUDING CONTENTS] Después habrá que usar el comando propio del Sistema Operativo para borrar físicamente los ficheros asociados al tablespace. La cláusula INCLUDING CONTENTS, borrará el tablespace aunque contenga datos.
  • 21.  Todos los datos de un TABLESPACE están organizados en zonas llamadas SEGMENTOS. Un segmento es un conjunto de bloques reservados para almacenamiento de datos, formándose a partir de una extensión inicial y opcionalmente de extensiones adicionales.  Segmento. Sirven para almacenar las estructuras lógicas de la base de datos.  Un tablespace se compone de uno o más segmentos. Pero el mismo segmento no puede estar en más de un tablespace.
  • 22.  Segmentos de DATOS: ◦ 1 de ellos contiene todos los datos de una tabla (si es necesario, ocupando varias extensiones). ◦ Una tabla siempre ocupa un único segmento de datos.  Segmentos de ÍNDICES: ◦ 1 de ellos contiene todos los datos correspondientes a un índice de una tabla. Una tabla puede tener de 0 a varios segmentos de índices. ◦ Se recomienda tener los índices en un tablespace separado de las tablas, incluso en otro disco físico.  Segmentos de ROLLBACK ◦ Contienen la imagen de los datos antes de ser modificados (imagen previa). ◦ Se usan para deshacer transacciones, ofrecer lecturas consistentes y recuperar datos.
  • 23.  Segmentos TEMPORALES: ◦ Al procesar sentencias (create index, order by, distinct, group by, union, join sin índices y algunas subconsultas), ORACLE requiere a menudo zonas de trabajo temporales en los pasos intermedios de tratamiento. Estos segmentos son creados conforme son necesarios y desaparecen cuando termina la operación que los generó.  Segmentos de BOOTSTRAP ◦ Se crea en el tablespace SYSTEM al crear la BD. Contiene definiciones de las tablas del diccionario, cargándose al arrancar la BD. ◦ Es pequeño, menos de 50 bloques.
  • 24.  Es el siguiente nivel en la asignación del espacio lógico de la BD.  Una EXTENSIÓN se compone de un número específico de bloques de datos contiguos usados para almacenar una información concreta. Es decir, son un conjunto de páginas contiguas, con un tipo de información específica.
  • 25.  Un BLOQUE DE DATOS (datablocks) se corresponde con un número específico de bytes de espacio físico de la BD en el disco.  El tamaño del bloque de datos se especifica para cada BD en el momento de su creación.  Una BD reserva espacio libre en los bloques de Datos.  Es la menor unidad de E/S que puede utilizar la BD (independientemente de que el tamaño del bloque del Sistema Operativo sea menor)
  • 26.  Los usuarios son las personas que acceden de una forma o de otra a la base de datos. Cada usuario tiene una vista determinada de la base de datos.  Hay varios conceptos sobre los usuarios a tener en cuenta.  Privilegios ◦ Controlan el permiso que posee un usuario de ejecutar una determinada instrucción SQL. ◦ Un usuario que quiera crear una tabla, deberá tener el privilegio (o permiso) adecuado para ello. ◦ Además se pueden colocar privilegios en los objetos, es decir, un usuario propietario de una tabla puede otorgar privilegios a esa tabla (se trataría de un privilegio a nivel de objeto) para que haya otros usuarios que la puedan usar.
  • 27.  Rol ◦ Son agrupaciones de privilegios que facilitan la tarea de gestionar a los usuarios. Así cuando una serie de usuarios van a tener los mismos privilegios, se crea un rol que contenga esos privilegios y a esos usuarios se les asigna el rol. ◦ Oracle proporciona varios roles ya preparados, por ejemplo el rol DBA da privilegio absoluto a un usuario.  Esquemas ◦ Los esquemas están asociados a los usuarios. Agrupan los objetos lógicos que pertenecen al usuario. Es decir es el conjunto de tablas, vistas, sinónimos, instantáneas, enlaces de base de datos, procedimientos y funciones, paquetes,... ◦ Cada usuario tiene su propio esquema y, en principio, un usuario no tiene acceso a los elementos de otro usuario, salvo que sea un administrador o que otro usuario ceda el privilegio de utilización de uno o más de sus objetos al resto de usuarios.
  • 28.  Un esquema es una colección de objetos. Los objetos son tablas, vistas, secuencias, procedimientos almacenados, sinónimos, índices, clusters y database links.  No hay relación entre esquema y tablespace, es decir: los objetos de un Esquema pueden contener objetos de diferentes esquemas.  El concepto de esquema de BD está ligado al concepto de usuario de BD, correspondiéndose unívocamente cada esquema con una cuenta de usuario, de forma que el usuario y el esquema asociado tienen el mismo nombre.
  • 29.  Scott: soportado en todas las versiones de Oracle (contraseña: tiger)  Human Resources (HR): tiene 6 tablas: employees, departments, locations, countries, jobs, job_history.  Order Entry (OE) contiene funciones relacionadas con el objeto y orientadas al mismo. Tiene 7 tablas: customers, product_descriptions, product_information, order_items, orders, inventories y warehouses. Tiene enlaces al esquema deHR y al de PM. También tiene sinónimos definidos en objetos de HR.  Product Media (PM): tiene 2 tablas: online_media y print_media, un tipo de objeto, adheader_typ y una tabla anidada textdoc_type. Incluye los tipos de columna interMedia y LOB.  Historial de ventas (SH) tiene la tabla SALES particionada por rango y 5 tablas de dimensiones: times, promotions, channels, products y consumers. Tiene una tabla adicional: countries
  • 30.  Una tabla es la unidad básica de almacenamiento de datos en una BD.  Cada tabla está definida por su nombre y por un conjunto de columnas.  Cada columna tiene un nombre y un tipo (char, varchar2, date, number…) y una longitud, que puede venir determinada por el tipo (en el tipo date), o una escala y una precisión (en el tipo number).  Una vez creada la tabla, se pueden insertar filas válidas en ella y entonces las filas podrán ser consultadas, borradas o modificadas.  Para asegurar que se cumplan determinadas reglas establecidas sobre los datos de la tabla se pueden definir reglas de integridad y triggers.
  • 31.  Son tablas virtuales, creadas a partir de otra(s) tabla(s), de forma dinámica y que se manipulan como las tablas normales.  Finalidad: ◦ Simplificar el acceso a la BDD, pues muestran al usuario los datos útiles debidamente manipulados, escondiendo la complejidad de los datos (sobre todo con JOINS) ◦ Restringir los derechos de acceso a la BDD, mostrando sólo los datos permitidos al usuario, limitando las columnas y/o filas.
  • 32.  Una secuencia genera una serie de números únicos, independientemente de cualquier tabla que la use, según una progresión aritmética.  Puede ser usada por varias tablas (para llenar alguna de sus columnas) y ser accedida por varios usuarios.  CACHE integer: permite guardar en memoria un conjunto preasignado de números de secuencia  ORDER: asigna los números de secuencia en orden de peticiones DROP SEQUENCE CONTADOR_SEQ; CREATE SEQUENCE CONTADOR_SEQ START WITH 10 INCREMENT BY 2 MAXVALUE 10000 MINVALUE 0 CYCLE;
  • 33.  Procedimientos (almacenados)  Funciones (almacenados)  Paquetes (packages) (almacenados)  Un PROCEDIMIENTO ó FUNCIÓN es un conjunto de sentencias SQL y PL/SQL agrupadas como una unidad ejecutable para realizar una tarea específica. Usando PL/SQL, pueden almacenarse en la BD. ◦ La diferencia entre procedimiento y función es que la función devuelve un valor y los procedimientos no.  Los PAQUETES son un modo de encapsular y almacenar procedimientos y funciones relacionados, así como otras construcciones, juntos como una unidad. ◦ Proporcionan, tanto al administrador de la Base de Datos como a los desarrolladores de aplicaciones, grandes beneficios a nivel organizativo; además de incrementar el rendimiento de la BD.
  • 34.  Los SINÓNIMOS son alias para tablas, vistas, secuencias o unidades de programa. Un sinónimo no es, por tanto, un objeto en sí mismo, sino una referencia directa a un objeto.  Finalidad: ◦ Ocultar el nombre real y el propietario de un objeto. ◦ Dar acceso público a un objeto. ◦ Hacer transparentes la localización de tablas, vistas o unidades de programa de una BD remota. ◦ Simplificar las sentencias SQL a los usuarios de la BD.  Un sinónimo puede ser PÚBLICO o PRIVADO. ◦ Un determinado usuario puede crear un sinónimo privado, pero sólo él podrá usarlo  El administrador de la BD suele crear sinónimos públicos, dando acceso a un objeto a cualquier usuario de la BD CREATE PUBLIC SYNONYM TBEMPRESA FOR PEPE.TBEMPRESA; Así, TBEMPRESA es el nombre de un objeto que se pone a disposición de todos los usuarios de la BD. Para eliminar el sinónimo: DROP SYNONYM TBEMPRESA
  • 35.  Son estructuras opcionales asociadas a tablas que permiten acelerar las consultas (sobre todo los JOIN).  Formados por una o varias columnas (índices concatenados).  Se pueden crear con la sentencia “CREATE INDEX”.
  • 36.  Un cluster es una agrupación de tablas almacenadas físicamente juntas ya que tienen columnas comunes y frecuentemente se usan juntas (en JOINS). Como las filas relacionadas se almacenan físicamente juntas los tiempos de acceso a disco mejoran.  Las columnas relacionadas de las tablas de un cluster forman la clave de cluster. Ésta está indexada de forma que las filas del cluster pueden ser accedidas minimizando la E/S.  Puesto que el índice del cluster se almacena sólo una vez para todas las tablas del mismo, el cluster almacena las tablas de forma más eficiente que si se almacenaran por separado.  Los clusters son transparentes a las aplicaciones, es decir, los datos de una tabla almacenada en un cluster son accedidos vía SQL de igual modo que si ésta no estuviese en el cluster.
  • 37.  Los cambios en la base de datos no son guardados hasta que tras una serie de instrucciones se decide llevar a cabo esos cambios. Hasta ese momento todo lo realizado se toma como provisional. Un fallo en la máquina permitiría invertir los cambios.  Una transacción son varias operaciones SQL que forman una unidad de trabajo.  Comienza cuando una persona se conecta y de ahí hasta que ejecuta la instrucción commit (ejecutar la transacción) o rollback (anular la transacción). La anulación deja la base de datos en el estado anterior al comienzo de la transacción. Tras un commit o un rollback comienza la siguiente transacción.  En Oracle se admite además el uso de puntos de ruptura (checkpoints) para almacenar valores intermedios y volver a cualquier de ellos si interesa. Pero esto ralentiza excesivamente el sistema.
  • 38.  La instancia de la base de datos es uno de los dos elementos de cualquier base de datos Oracle. Sirve para gestionar los datos de la base de datos y proporcionar servicio a los usuarios que acceden a la misma.  Está compuesta de: Estructuras en memoria. Procesos en segundo plano (background).  SGA ◦ Es la abreviatura de System Global Area, Área Global de Sistema. Está situada al inicio de los datos de la instancia y contiene los datos e información de control de la instancia.  PGA ◦ Zona global de los programas (Program Global Area). En ella se almacenan los datos correspondientes a un proceso (sólo un proceso puede utilizar esta área).
  • 39.  Para establecer una sesión con la base de datos, el usuario necesita conectar con la instancia de la base de datos. Normalmente esto significa arrancar una herramienta cliente como SQL*Plus o ejecutar una aplicación de desarrollo de bases de datos (como Oracle Forms); entonces se ejecuta un proceso de usuario.  Cuando esto ocurre, en el servidor se establece un proceso de servidor. Este proceso es el encargado de comunicar al usuario con la instancia Oracle en nombre del proceso de usuario. Cada vez que el usuario ejecuta instrucciones SQL, éstas son transmitidas a la instancia Oracle por el proceso servidor.  De este modo una conexión es un camino entre un proceso de usuario y un servidor Oracle.  Cada sesión es una conexión de un usuario con el servidor Oracle. Un usuario puede establecer múltiples sesiones (si se conecta desde diferentes herramientas y máquinas)
  • 40.  En Oracle los procesos pueden ser de estos tipos: ◦ Proceso de usuario. Lanzado por el usuario para pedir interacción con la base de datos. ◦ Proceso de servidor. Hacen de enlace entre los procesos de usuarios y el servidor Oracle. Se utilizan como manejadores de los procesos de usuario. Los comandos de usuario se envían a estos procesos que se encargan de solicitar peticiones a la base de datos mediante el interfaz de programas de Oracle (OPI, Oracle Program Interface). ◦ Procesos en segundo plano (background). Cada instancia de Oracle arranca una serie de procesos background.
  • 41.  Desde el punto de vista de Oracle, una base de datos es una colección de datos tratados como una única unidad. Una base de datos Oracle contiene tres tipos de ficheros: ◦ Archivos de datos. Contiene los datos actuales de la base de datos así como el diccionario de datos. ◦ Archivos rehacer (redo logs). Almacenan datos recuperables en caso de error grave. ◦ Archivos de control. Necesarios para mantener la integridad de la base de datos.  Además se utilizan otros archivos de forma auxiliar: ◦ Archivos de parámetros. Que definen algunas características de una instancia Oracle. ◦ Archivos de contraseñas. Que sirven para autentificar a los usuarios. ◦ Copias de archivos rehacer. Utilizadas para la recuperación de datos.
  • 42.  Para poder ejecutar SQL sobre la base de datos, hay que conectar con la instancia Oracle de la base de datos, lo cual requiere la comunicación entre un proceso cliente y el servidor  (el proceso cliente puede ser una instancia de SQL*Plus por ejemplo). Los componentes utilizados por Oracle para procesar el SQL dependen del código enviado:  Las consultas devuelven filas  Las instrucciones DML (Lenguaje de Manipulación de Datos) graban cambios. La instrucción commit asegura el proceso de la transacción.  De manera general los pasos en ese proceso son: 1. El usuario abre la herramienta que permite el envío de peticiones SQL (por ejemplo SQL*Plus) 2. El usuario introduce su nombre de usuario y contraseña
  • 43. 3. Oracle consulta el diccionario de datos para verificar la existencia del usuario y para validar su permiso de conexión. Si lo tiene, se produce la conexión 4. El usuario escribe la instrucción SQL (supongamos que es una instrucción de modificación) 5. Oracle traduce la instrucción con el analizador de instrucciones (devolvería un error si la instrucción no es válida) 6. Oracle traduce los nombres usados en la instrucción con la ayuda deldiccionario de datos. 7. Si es una instrucción de mostrar datos (SELECT), comprueba si otros usuarios han enviado hace poco esa misma instrucción, eso lo comprueba en el caché de instrucciones de la SGA. Si la instrucción está ahí coge los resultados del buffer caché de la base de datos. 8. Si la instrucción conlleva cambios, el servidor bloquea las filas que se modificarán. 9. La base de datos graba los cambios (si les hubo) y actualiza los archivos deshacer 10.La base de datos graba los nuevos valores para los datos 11.Oracle libera del bloqueo los registros 12.El usuario recibe un mensaje de éxito
  • 44.  El DD es una de las partes más importantes de una BD Oracle. Se trata de un conjunto de tablas, que se pueden acceder sólo en lectura, que proporcionan información sobre la BD, por ejemplo: ◦ Nombres de los usuarios ◦ Privilegios y roles concedidos a cada usuario ◦ Nombres de los objetos (tablas, vistas, índices, clusters, sinónimos, secuencias…) ◦ Información sobre las condiciones de integridad ◦ Valores por defecto de determinadas columnas ◦ Cantidad de espacio reservado para los objetos de la BD y la que están usando en un momento dado.  El DD tiene 2 usos fundamentales: ◦ El SGBD accede al DD cada vez que se usa una sentencia DDL. ◦ Cualquier usuario puede usar el DD como una guía de referencia de sólo lectura para obtener información sobre la BD.
  • 45.  El DD está siempre accesible mientras la BD está abierta. Reside en el tablespace SYSTEM, el cual estará en línea mientras la BD permanezca abierta.  El DD se puede concebir como una serie de conjuntos de vistas. Cada conjunto se compone de 3 vistas que contiene similar información, y que se diferencian entre ellas mediante un prefijo: USER: vistas del usuario (todo lo que está en el esquema del usuario) ALL: vistas expandidas del usuario (todo a lo que el usuario tiene acceso) DBA: vistas del administrador (todo lo que pueden acceder todos los usuarios)  Las columnas de las vistas de un mismo conjunto son idénticas, con las siguientes excepciones:  Las vistas con el prefijo USER normalmente no tienen la columna OWNER (propietario del objeto), pues esta columna está implícita en el usuario que consulta la vista  Algunas vistas con prefijo DBA tienen columnas adicionales que proporcionan información útil al administrador.
  • 46.  En esta arquitectura el sistema de BD se divide en 2 partes: parte cliente y parte servidor.  CLIENTE La parte cliente interacciona con el usuario a través del teclado, la pantalla y el ratón. No tiene responsabilidades de acceso a los datos; se concentra en pedir, procesar y presentar los datos gestionados por la parte servidor. De esta forma la estación cliente puede optimizarse para su trabajo. Por ejemplo: quizás no necesite mucha capacidad de disco y quizás pueda aprovechar capacidades gráficas.  SERVIDOR La parte servidor ejecuta el software ORACLE y mantiene las funciones necesarias para el acceso concurrente y compartido a los datos. Recibe y procesa las sentencias SQL y PL/SQL que le llegan desde las estaciones cliente. El ordenador que soporta la parte servidor, puede ser optimizado para cumplir su función; por ejemplo, puede tener una gran capacidad de disco y procesadores rápidos.
  • 47.  Una BDD, Base de Datos Distribuida, es una red de bases de datos gestionada por múltiples servidores de BD, que para el usuario aparecen como una sola BD lógica.  Cada ordenador que gestiona una BD en la BDD se conoce como un nodo. La BD a la que se conecta el usuario directamente se llama BDL (Base de datos local). Cualquier otra BD accedida por el usuario la llamaremos BDR (Base de datos remota).  Cuando una BDL accede a una BDR, la BDL es un cliente del servidor remoto (arquitectura cliente-servidor).  Hay: transparencia en la localización, autonomía local y consistencia de los datos.  SELECT * FROM proveedores@CONTA
  • 48.  MySQL es uno de los sistemas de gestión de bases de datos relacional más extendido en la actualidad.  Desarrollado originalmente por MySQL AB, adquirida por Sun MicroSystems en 2008 y comprada por Oracle Corporation en 2010, la cual ya era dueña de un motor propio InnoDB para MySQL.  MySQL es un sistema de gestión de bases de datos que cuenta con una doble licencia. Por una parte es de código abierto, pero también cuenta con una versión comercial gestionada por la compañía Oracle.
  • 49.  MySQL fue inicialmente desarrollado por MySQL AB (empresa fundada por David Axmark, Allan Larsson y Michael Widenius) en 1995,  En 1999, se lanzó la versión 3.23.0, la primera versión en importancia.  Siguieron otras como las versiones 5.0.0, en 2003.  En diciembre de 2009 la versión 5.5.x.  Comprada por Oracle Corporation en 2010
  • 50.  MySQL está escrito en C y C++.  Es muy utilizado en aplicaciones web, como Joomla, Wordpress o Drupal.  Está muy ligado a PHP, ya que es un lenguaje de programación que permite accede a la base de datos MySQL en las aplicaciones web más usadas.
  • 51.  MariaDB es una base de datos más reciente, surgida tras la compra de MySQL por parte de Oracle.  Michael Widenius, uno de los creadores de MySQL, con el tiempo desarrolló una copia (fork) de MySQL llamada MariaDB.  Realizada por los desarrolladores originales de MySQL, ofrece la misma funcionalidad que el proyecto original, con algunas mejoras. Muchos usuarios importantes de MySQL han migrado a esta nueva alternativa, como Google, Mozilla, Wikimedia Foundation y XAMPP.  MariaDB ha sustituido a MySQL como instalación estándar en diversos distribuidores Linux.
  • 52.  Según Widenius, el objetivo de MariaDB es: ◦ Mantener reunidos a los creadores de MySQL. ◦ Fomentar la continuidad en el desarrollo de la comunidad. ◦ Garantizar que siempre haya disponible una versión de MySQL gratuita.  Nuevos motores de almacenamiento: ◦ Aria: Motor de almacenamiento a prueba de fallos basado en MyISAM. ◦ XtraDB: El reemplazo del motor InnoDB.
  • 53.  MongoDB es una base de datos documental, lo que significa que almacena datos en forma de documentos tipo JSON.  JavaScript Object Notation (JSON) es un formato basado en texto estándar para representar datos estructurados en la sintaxis de objetos de JavaScript. Es comúnmente utilizado para transmitir datos en aplicaciones web
  • 54.  Líder mundial en la creación de webs.  WordPress está desarrollado en el lenguaje PHP para entornos que ejecuten MySQL y Apache, bajo licencia GPL y es software libre.
  • 55.  Herramienta de software gratuita escrita en PHP, destinada a manejar la administración de MySQL a través de la Web.  Admite operaciones en MySQL y MariaDB.  Las operaciones de uso frecuente (administración de bases de datos, tablas, columnas, relaciones, índices, usuarios, permisos, etc.).  Se pueden realizar a través de la interfaz de usuario, teniendo la capacidad de ejecutar directamente cualquier declaración SQL.
  • 56.  El servidor web es un servicio que permite servir páginas web, fotos, videos y archivos a través de un protocolo llamado HTTP.  Almacena los archivos del sitio web.  Cuando un usuario escribe la dirección de un sitio web y comienza la búsqueda, el sistema encuentra el servidor donde está alojado el sitio y el servidor web se encarga de enviar el contenido a nuestro navegador.
  • 57.  Es un proyecto open-source (código abierto) que nació en 1995.  Ha liderado el mercado de servidores web, es el más usado, aunque ha perdido bastante popularidad.  Debido a que Apache no funciona tan bien especialmente para sitios web estáticos o sitios web con alto tráfico se tiende actualmente a utilizar el servidor Nginx.
  • 58.  Servidor web, proxy inverso y de correo electrónico originalmente escrito por Igor Sysoev.  NGINX fue lanzado oficialmente el 4 octubre del 2004.  Su reto era solucionar el problema C10k. C10k es el reto de gestionar diez mil conexiones al mismo tiempo.  Utilizado como servidor web en los sitios de mayor tráfico de red.
  • 59.  LAMP: Linux-Apache_MySQL_PHP  LAMPPP: Linux -Apache_MySQL/MongoDB_PHP/PERL/Python  LNMP: Windows - Nginx_MariaDB_PHP  LAPP: Linux - Apache_PostgreSQL_PHP  MAMP: MacOS - Apache_MySQL_PHP  MAMPPP: MacOS - Apache_MySQL_PHP_PERL_Python  MAPP: MacOS - Apache_PostgreSQL_PHP  WIMP: Windows - IIS_MySQL_PHP  WNMP: Windows - Nginx_MariaDB_PHP  WAMP: Windows - Apache_MySQL_PHP  WAMPPP: Windows - Apache_MySQL_PHP/PERL/Python  WAPP: Windows - Apache_PostgreSQL_PHP  XAMPP: Linux/MacOS/Windows - Apache_MariaDB_PHP/Perl