Está en la página 1de 27

Electiva de Ingeniería Aplicada II: Oracle

Por, Ing, Esp Miguel Tovar


Introducción a Oracle Database

• Base de datos relacionales


• Objetos de esquema
• Acceso a datos
• Transacciones
Bases de datos relacionales
• Bd que sigue el modelo relacional permite establecer
relaciones entre los datos
• DBMS. Sistemas manejadores de bases de datos
• Software que controla el almacenamiento, la
organización y la recuperación de datos. Típicamente
un dbms tiene los siguientes elementos:
• Kernel Code (maneja la memoria y el
almacenamiento)
• Repositorio de metadata (diccionario de datos)
• Lenguaje de consulta (habilita aplicaciones para
acceder a los datos
Bases de datos relacionales: DBMS
• Las primeras generaciones de dbms se categorizaban en
los siguientes tipos:
• Jerárquicos
• Organiza los datos en estructuras tipo árbol
similar a una estructura de directorios
• En red
• Similar a los jerárquicos sin embargo permiten la
relación muchos a muchos como de uno a
muchos
Bases de datos relacionales: Modelo Relacional
• Una base de datos relacional es una base de
datos que se define con base al modelo
relacional
• Estructuras
• Operaciones
• Reglas de integridad
• Relación . Conjunto de tuplas
• Tupla. Es un conjunto de valores de
atributos
• Tabla. Es una representación en dos
dimensiones en forma de filas (tuplas)
Bases de datos relacionales: RDBMS
• Mueve los datos dentro de una base de datos,
almacena y recupera datos que pueden ser
manipulado por aplicaciones
• Se distingue por
• Operaciones lógicas. Operaciones que una
aplicación puede realizar sobre la bd
• Operaciones físicas. Operaciones que el
dbms realiza para atender operaciones
lógicas
• Oracle es un RDBMS
• Oracle implementa características
orientadas a objetos para extender a un
modelo object-relational
Bases de datos relacionales: historia de Oracle

Consulta
Recordando SQL

• Lista full de todos los hoteles


• Lista full de los hoteles en Londres
• Lista de los nombres y direcciones de los
huéspedes en Londres ordenados
alfabéticamente por nombre
• Lista de todas las habitaciones dobles o
familiares con un precio superior a 150.000
pesos por noche y ordenar de forma
ascendente por el precio
• Lista de las reservas para las cuales la fecha
de salida no ha sido especificada
Objetos de Esquema
• RDBMS independiente del almacenamiento e datos
• Esquema. Colección de estructuras lógicas
• Un esquema es propiedad de un usuario de base de datos y lleva
el mismo nombre del usuario
• La base de datos soporta muchos tipos de objetos de esquema,
los más importantes en este punto son las tablas y los índices

• Clusters, Constraints, Database links, Database triggers,


Dimensions, External procedure libraries, Index-organized tables,
Indexes, Indextypes, Java classes, Java resources, Java sources,
Materialized views, Materialized view logs, Object tables, Object
types, Object views, Operators, Packages, Sequences, Stored
functions, stored procedures, Synonyms, Tables, Views
Objetos de Esquema
• Tablas
• Describe una entidad
• Se define con un nombre y un conjunto de columnas
• Cada columna lleva un nombre y un tipo de dato y un
tamaño
• Se define como un conjunto de filas
• Una columna identifica un atributo de la entidad que
describe la tabla
• Siendo una fila una instancia de la entidad
• Se pueden establecer reglas por cada columna conocidas
como restricciones de integridad
• Integridad referencial garantizando que una fila esté
relacionada con una entidad válida
Objetos de Esquema
• Índices
• Estructura de datos opcional
• Se encuentran asociadas a una o mas columnas de
una tabla
• Incrementan el desempeño de la recuperación de
datos
• La base de datos puede utilizar los índices
disponibles para recuperar las filas solicitadas de
forma eficiente
• Son más usados cuando las aplicaciones desean
obtener una fila especifica o un rango de filas
• Son físicamente y lógicamente independientes de
los datos
Acceso a datos
• Un DBMS se adhiere a los estandares aceptados por
la industria
• SQL structured query language
• PlSql
• Java
Acceso a datos: SQL
• SQL. Lenguaje no procedimental
• Describe que debe hacer
• El usuario especifica el resultado que quiere obtener más no cómo
obtenerlo
• SQL es un lenguaje estándar ANSI para bases de datos relacionales
• Permiten realizar tareas como
• Consultar datos
• Insertar, actualizar y eliminar filas de una tabla
• Crear, reemplazar, modificar y borrar objetos
• Controlar el acceso a la base de datos y sus objetos
• Garantizar la consistencia e integridad en la base de datos
• Oracle SQL es una implementación del estándar Ansi y soporta
numerosas características que lo extienden
Acceso a datos: PL/SQL y Java
• Es una extensión procedural de Oracle SQL
• PL/SQL se encuentra integrado en la base de datos
• Permite usar todos las instrucciones SQL, funciones, y tipos de datos
• Se puede usar para controlar el flujo de un programa SQL
• Usa variables y permite manejo de errores
• La principal característica es almacenar lógica de aplicación en la base de
datos
• Un programa puede ubicarse dentro de un procedimiento o función dentro de
un esquema
• Un programa pl/sql es pensado para resolver un problema especifico con un
conjunto de tareas relacionadas
• Otra característica es que se puede desplegar en cualquier servidor Oracle
• Oracle Database también permite almacenar unidades de programa escritos
en java
• Un procedimiento almacenado java es un método publicado para SQL y
almacenado en la base de datos y puede ser invocado desde plsql y viceversa
Manejo de Transaccciones: Transacciones
• Oracle es diseñada para ser multiusuario
• La base de datos debe asegurar que muchos usuario
pueden trabajar de forma concurrente sin dañar los
datos de otros
• El rdbms debe agrupar las sentencias SQL que serán
confirmadas de la misma manera las que puedan ser
deshechas
• Una transacción es una lógica, atómica unidad de
trabajo que contiene una o más sentencias SQL
• Ejemplo de transacción Transferencia de fondos en una
cuenta
• Disminuir el saldo de la cuenta origen
• Incrementar el saldo de la cuenta destino
• Registrar una traza de la transacción
Manejo de Transaccciones: Concurrencia
• Acceso simultaneo a los mismos datos por diferente s
usuarios
• Sin controles de concurrencia se comprometería la
integridad de los datos, ejemplo un usuario puede
estar modificando una fila y otro al tiempo puede
estarla eliminando
• Concurrencia pesimista y optimista
• Bloqueos de datos
• Oracle usa bloqueos de control para acceso
concurrente a datos
• Los bloqueos o locks son mecanismos de prevención
de interacción destructiva entre transacciones
accediendo a recursos compartidos
Oracle Database Architecture
• Database Server
• Manejo de grandes cantidades de datos
• Entorno multiusuario
• Acceso concurrente a los mismos datos
• Previene acceso no autorizado
• Base de datos
• Instancia

• Base de datos e instancia


• Base de datos
• Un conjunto de archivos ubicados en el almacén de datos. Pueden
existir independientes de una instancia
• Instancia
• Conjunto de estructuras de memoria para manejar los archivos de
base de datos. Área de memoria compartida SGA system global área
un conjunto de procesos en background
Oracle Database Architecture
Oracle Database Architecture
• Base de datos e instancia
• Instancia
• Por cada usuario conectado a la instancia se ejecuta un proceso de
cliente que esta asociado a un proceso de servidor
• Los procesos de servidor tienen su propia sesión en memoria
conocida como pga program global área
Oracle Database Architecture
• Estructuras de almacenamiento
• Físicos
• Data files. Almacenan los datos físicamente en archivos de datos
• Control files. Contienen metadata de la estructura de la base de
datos incluso las ubicaciones de los archivos
• Online redo log files. Registra todos los cambios realizados sobre los
datos
• Lógicos
• Data blocks. Corresponde a un numero especifico de bytes en disco
• Extents. Es un número especifico de data blocks contiguos
• Segments. Es un conjunto de extents ubicados para un objeto de
usuario
• Tablespaces. Unidades de almacenamiento lógicos y es un
contenedor de segmentos, cada tablespace contiene uno o más data
files
Oracle Database Architecture
• Estructuras de una instancia de base de datos
• Oracle database processes
• Client processes. Procesos que son creados y mantenidos para
correr el software o una herramienta de Oracle
• Background processes. Realizan operaciones de I/O y de monitorear
otros procesos de la base de datos
• Server processes. Comunican con procesos de cliente e interactúan
con la base de datos de Oracle
• Instance memory structures
• SGA. Un grupo de estructuras en memoria que contienen datos y
controlan la información de la instancia.
• PGA es una región de memoria que contienen datos y controlan
información para un servidor o proceso en background
Oracle Database Architecture
• Application and networking architecture
• Application Architecture
• Cliente servidor.
• Multitier. Una o mas aplicaciones de servidor realizan partes de
operaciones solicitadas
• SOA. Es una arquitectura multiusuario donde la funcionalidad esta
encapsulada en servicios
• Networking architecture
• Oracle net services. Es una interfaz entre la base de datos y la rede
de comunicaciones para facilitar procesamiento distribuido . Soporta
comunicaciones sobre TCP/IP HTTP, FTP y WebDAV
• Oracle net. Es un componente de Net Services, establece y
mantiene una sesión de red desde una aplicación cliente a un
servidor de base de datos y trabaja sobre el intercambio de
mensajes entre el servidor y el cliente
Oracle Database Architecture
• Application and networiking architecture
• Networking architecture
• Dedicated server architecture. Cada proceso de cliente se conecta a
procesos de servidor dedicados, el servidor no comparte con otro
cliente
• Shared server architecture. La base de datos usa un pool de shared
process para múltiples sesiones
Oracle Database
• Creación de una base de datos
• https://youtu.be/mh7E1kdI0XE
• https://youtu.be/jhh3_vl5FVI
Oracle Database
• Esquemas
• Colección de objetos de base de datos
• El propietario de un esquema es el usuario de base de datos
• El esquema lleva el mismo nombre del usuario propietario
Oracle Database
• Tablas
Oracle Database
Case Sensitive

Tipos de datos

Ejercicio de Creación de tablas

También podría gustarte