0 calificaciones0% encontró este documento útil (0 votos)
24 vistas27 páginas
Este documento presenta una introducción a Oracle Database. Explica conceptos clave como bases de datos relacionales, objetos de esquema, acceso a datos mediante SQL y manejo de transacciones. También describe la arquitectura de Oracle Database, incluyendo sus estructuras de almacenamiento y memoria.
Este documento presenta una introducción a Oracle Database. Explica conceptos clave como bases de datos relacionales, objetos de esquema, acceso a datos mediante SQL y manejo de transacciones. También describe la arquitectura de Oracle Database, incluyendo sus estructuras de almacenamiento y memoria.
Este documento presenta una introducción a Oracle Database. Explica conceptos clave como bases de datos relacionales, objetos de esquema, acceso a datos mediante SQL y manejo de transacciones. También describe la arquitectura de Oracle Database, incluyendo sus estructuras de almacenamiento y memoria.
• 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
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