CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 50 Semana 2: Sesión 3 Lunes, 7 de Junio de 2021 CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 51 Semana 2 - Sesión 3 Distribución de Actividades Semana 2 – Sesión 3 Actividad Tiempo Evaluación Actividades asistidas por el profesor Clases en línea 60 minutos Encuesta: Preguntas y respuestas Trabajo colaborativo Resolución de problemas en línea: Gestión de usuarios 24 minutos Encuesta: Preguntas y respuestas Trabajo autónomo Desarrollo de ejercicios: Crear una base de datos y dos usuarios 5 horas Tarea: Archivo de la Base de datos M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 52 Contenidos • 1.2.3. Manejo de Instancias • 1.2.4. Gestión de Espacios de Tabla (Tablespaces), creación y manejo. • 1.3. Seguridad de Bases de Datos • 1.3.1. Modelos de autentificación. • 1.3.2. Gestión de Usuarios. • 1.3.3. Roles y privilegios. • 1.3.4. Introducción a Encriptación de campos. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 53 Manejo de instancias • Un modelo de datos es una colección de herramientas que usualmente incluyen un tipo de diagrama y vocabulario especializado para describir la estructura de la base de datos. Un modelo de datos proporciona una descripción de la estructura de la base de datos, incluidos los datos, las relaciones dentro de los datos, las restricciones sobre los datos y a veces semántica o significados de los datos. Esta estructura se llama intensión de la base de datos y es relativamente permanente. Se describe en el esquema de la base de datos. El esquema puede cambiar ocasionalmente si surgen nuevas necesidades de datos, un proceso llamado evolución del esquema. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 54 Manejo de instancias • Los datos almacenados en la base de datos en un momento dado se llaman extensión de la base de datos, instancia de la base de datos o estado de la base de datos. La extensión cambia siempre que se agregan, borran o actualizan registros. La extensión siempre debe ser un estado válido, lo cual significa que debe satisfacer todas las restricciones especificadas en el esquema. La intensión de la base de datos es en realidad una estructura de datos abstracta compleja que formalmente define todas las extensiones posibles. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 55 Manejo de instancias • Una instancia es el conjunto de procesos que se ejecutan en el servidor así como la memoria que comparten para ello. Cuando se habla de base de datos, nos referimos a los archivos físicos que componen nuestra base de datos. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 56 Manejo de instancias • Una instancia de Motor de base de datos es una copia del ejecutable de sqlservr.exe que se ejecuta como un servicio de sistema operativo. Cada instancia administra varias bases de datos del sistema y una o varias bases de datos de usuario. Cada equipo puede ejecutar varias instancias de Motor de base de datos. • En SQL Server es posible ejecutar varias copias del servidor de datos al mismo tiempo, con sus usuarios, bases de datos y demás elementos independientes unos de otros. A cada una de esas copias se le llama “instancia”. ... (un punto), localhost, 127.0.0.1, NombreServidor, 192.168.1.5 (la IP del servidor). M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 57 Manejo de instancias • Una instancia Oracle es la combinación de los procesos en background y las estructuras de memoria. Para acceder a los datos contenidos en la base de datos, hay que iniciar la instancia. Cada vez que se inicia una instancia se asigna un área global del sistema (SGA) y se inician los procesos en background Oracle. • SGA es la zona de memoria que se utiliza para almacenar la información de la base de datos que comparten los procesos asociados a la base de datos. • Los procesos en background desempeñan funciones de E/S y supervisan a otros procesos con el fin de conseguir un mejor rendimiento y fiabilidad. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 58 Manejo de instancias • Una base de datos es una recopilación organizada de información o datos estructurados, que normalmente se almacena de forma electrónica en un sistema informático. Normalmente, una base de datos está controlada por un sistema de gestión de bases de datos (DBMS). • Una base de datos puede estar en distintos discos duros. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL SERVIDOR ORACLE INSTANCIA Estructura Lógica BASE DE DATOS Estructura Lógica Estructura Física [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 59 • Instancia: Componentes de un servidor de datos Oracle Estructura Lógica Memoria Procesos SGA PGA Memoria compartida Memoria No Compartida Procesos de usuario Estructura Lógica de una instancia Procesos de Background SGA (Server Global Area). Zona de la memoria en la que se guardan los datos de la instancia y se comparten todos los procesos servidores.Muchas de sus áreas llevan el nombre de Pool. Término inglés que, en este contexto, puede traducirse como fondo. En el sentido de un espacio en el que se reservan activos. PGA (Program Global Area). Zona de la memoria en la que se guardan los datos referentes a un proceso servidor concreto. Si el modo de trabajo es dedicado, si hay 5 conexiones habrá 5 procesos servidores y, por lo tanto, 5 PGAs. Al conjunto de todas las PGAs en uso, en un momento dado, se le llama instancia PGA. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] Semana 2: Sesión 3 Video Complementario Xampp-MySQL, dos instancias en el mismo servidor (Duración 6:58) CARRERA DE SOFTWARE – 2021C1 https://www.youtube.com/watch?v=JqP0AudwT2c 60 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [SO SOF-S-VE-3-6] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 61 Semana 2: Sesión 3 Trabajo Colaborativo – Sección de Construcción Estimado(a) estudiante Como actividad de resolución de problemas en línea deberá efectuar las siguientes tareas propuestas. Calificación: 10 puntos. Modalidad: Individual. Slds. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 62 Semana 2: Sesión 3 Trabajo Colaborativo – Sección de Construcción 1) Active el SGBD mediante XAMPP. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 63 Semana 2: Sesión 3 Trabajo Colaborativo – Sección de Construcción 2) Proceda a ingresar a la base de datos MySQL. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 64 Semana 2: Sesión 3 Trabajo Colaborativo – Sección de Construcción 2) Proceda a ingresar a la base de datos MySQL. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 65 Semana 2: Sesión 3 Trabajo Colaborativo – Sección de Construcción 3) Crear la base de datos ISISMA51 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 66 Semana 2: Sesión 3 Trabajo Colaborativo – Sección de Construcción 4) Verificar la versión de la base de datos. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 67 Semana 2: Sesión 3 Trabajo Colaborativo – Sección de Construcción 5) Ejecutar: Help contents Help Administration https://documentation.help/MySQL-5.0-es/ch05s02.html M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 68 Contenidos • 1.2.3. Manejo de Instancias • 1.2.4. Gestión de Espacios de Tabla (Tablespaces), creación y manejo. • 1.3. Seguridad de Bases de Datos • 1.3.1. Modelos de autentificación. • 1.3.2. Gestión de Usuarios. • 1.3.3. Roles y privilegios. • 1.3.4. Introducción a Encriptación de campos. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 69 Componentes de un servidor de datos Oracle • Base de Datos (Estructura Física y Lógica): Estructura Física DATAFILES CONTROL FILES Archivos de Datos REDO LOG FILES Archivos de Control Archivos de Rehacer Archivos de Bases de Datos Los archivos físicos tienen extensión y poder ser visualizados a y través del Explorador en el caso de Windows Ejemplo: archivo.dbf, archivo.ora M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 70 Componentes de un servidor de datos Oracle • Base de Datos (Estructura Física y Lógica): Estructura Lógica TABLESPACE Schema (Esquema) SEGMENTOS Campos EXTENSIONES BLOQUES Tablas Vistas Tablas M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 71 Visión Lógica de objetos de una base de datos (Tablespace) * M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 72 Visión Física de archivos de una base de datos (datafiles) * M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 73 Relación de las Estructura Lógica y Física de una Base de Datos Oracle Un tablespace (lógico) contiene uno o varios datafiles (archivos físicos). M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 74 Relación de las Estructura Lógica y Física de una Base de Datos Oracle Un tablespace (lógico) contiene uno o varios datafiles (archivos físicos). M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 75 Estructura Física de una Base de Datos Oracle • Archivos de Datos o Datafiles: Contienen los datos de la base como tablas, diccionario de datos, índices, etc. Tienen las siguientes características: – Un archivo de datos exclusivamente está asociado con una sola base de datos Oracle. – Uno o más archivos de datos forman una unidad lógica de almacenamiento de base de datos llamada tablespace. – Un datafile puede tener cualquier tamaño, nombre y extensión (siempre dentro de las limitaciones del sistema operativo), y puede estar localizado en cualquier directorio del disco duro. • Archivos de Control o Control Files: Contienen la información necesaria para mantener y verificar la integridad de la base de datos. Una base de datos Oracle necesita al menos un archivo de Control. • Archivos de Rehacer o Redo Log: (Re Do (inglés)): contienen los cambios efectuados en la base de datos para poder recuperar ante fallos. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 76 Estructura Lógica de una Base de Datos Oracle (Tablespaces) • Una base de datos se divide en unidades lógicas denominadas Tablespaces. • Los espacios de tabla o tablespaces, son una estructura lógica que, conceptualmente, se sitúa entre la lógica de la base de datos y las estructuras físicas que almacenarán los datos. • En la base de datos, se manejan objetos a nivel lógico (tablas, columnas, filas, vistas, índices,…). La información de esos objetos se tiene que almacenar en archivos de datos. • Oracle crea los tablespaces como un elemento intermedio entre el nivel lógico y el nivel físico de la base de datos. Relaciona ambas ópticas para optimizar el funcionamiento del sistema. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 77 Creación de una Base de Datos Oracle • Instancia de base de datos Oracle. • Es un conjunto de estructuras de memoria y procesos que manejan a la base de datos. • Base de datos Oracle • Es un conjunto de archivos que almacenan los datos en dispositivos de almacenamiento que permiten su persistencia. • Una base de Datos en Oracle consta de: – Datafiles – Control Files – Redo Log Files M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 78 Creación de una Base de Datos Oracle M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 79 Creación de una Base de Datos Oracle • Cuando se ejecuta el comando CREATE DATABASE, se crean los siguientes tipos de archivos: • Data files y temp files. • Un data file es un archivo físico creado por la base de datos y contiene estructuras de datos como tablas e índices. Un temp file es un archivo que contiene datos que persisten en el momento que son utilizados. Los datos son escritos en estos archivos en un formato propio de Oracle y no pueden ser leídos por otros programas. • Control files. • Un control file es un repositorio que registra los componentes físicos de la base de datos. • Online redo log files. • El online redo log file es un conjunto de archivos que registran los cambios realizados a los datos. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 Tablespaces por defecto • Por defecto Oracle proporciona los siguientes espacios de tabla: – USERS. Almacén por defecto en el que los diferentes usuarios de la base de datos almacenan sus objetos. – SYSTEM. Para los objetos del sistema como el diccionario de datos – SYSAUX. Para componentes adicionales de la base de datos como por ejemplo el repositorio del Enterprise Manager. • Los tablespaces se dividen en segmentos, éstos en extensiones y las extensiones en bloques. • Un tablespace puede abarcar más de un archivo de datos. • Cada archivo de datos, se asigna a solamente un tablespace. • Se puede crear otros tablespaces y asignarles los archivos de datos que se desea. https://dev.mysql.com/doc/refman/5.7/en/innodb-information-schema-files-table.html 80 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 81 Segmento o Segment • En cada tablespace existen segmentos, que están relacionados directamente con un objeto de la base de datos (una tabla, un índice,…). Hay tres tipos de segmentos: – Segmentos de usuario. Almacenan los objetos de base de datos creados por los usuarios. Por ejemplo: – Segmentos de datos. Almacenan los datos de las tablas (incluidas las particionadas y las tablas en cluster, que son tipos de tablas avanzadas). – Segmentos de índice. Almacenan los datos necesarios para la creación de índices. – Segmentos de tipo LOB. Para almacenar los datos de tipos grandes de Oracle: CLOB y BLOB. – Segmentos de anulación (undo). Almacena la información necesaria para revertir cambios realizados en los datos. El uso típico es la ejecución de la instrucción ROLLBACK (aunque hay muchos más). – Segmentos temporales. Almacenan datos intermedios que Oracle necesita para completar consultas o instrucciones complejas que relacionan gran cantidad de datos (CREATE INDEX, SELECT DISTINCT, uniones, intersecciones, GROUP BY, etc.). Estos segmentos les crea y elimina Oracle automáticamente. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 82 Ejemplo de creación de segmentos • La siguiente instrucción que crea una tabla, solo crearía un segmento para almacenar los datos de la tabla. CREATE TABLE obras(titulo VARCHAR2(30)); • Esta sentencia creará, al menos, estos 5 segmentos: – – – – – Un segmento para los datos de la tabla obras. Otro para el índice de la clave principal. Otro para el índice de la restricción UNIQUE sobre la columna título. Otro para los datos CLOB. Otro, de tipo índice, para relacionar los datos CLOB con las filas de la tabla. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 83 Ejemplo de creación de segmentos CREATE TABLE obras( id_obra NUMBER PRIMARY KEY, titulo VARCHAR2(30) UNIQUE, texto CLOB ); M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 84 Extensiones • Los segmentos se dividen en extensiones y una extensión está asociada a sólo un archivo. • Las extensiones permiten asegurar que el sistema tiene reservado un conjunto de bloques contiguos en el disco. Es decir las extensiones evitan fragmentar en exceso los discos. • Una extensión está formada por bloques de datos y garantiza que éstos estén contiguos en el disco, disminuyendo su fragmentación. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 85 Bloque o Block • Es el elemento de datos más pequeño distinguible por Oracle. • El tamaño del bloque de datos debe cumplir que sea múltiplo del tamaño de bloque del disco del Sistema Operativo. Ejemplo: 16 KB, 32 KB, 48 KB, 64 KB etc. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 86 Contenidos • 1.2.3. Manejo de Instancias • 1.2.4. Gestión de Espacios de Tabla (Tablespaces), creación y manejo. • 1.3. Seguridad de Bases de Datos • 1.3.1. Modelos de autentificación. • 1.3.2. Gestión de Usuarios. • 1.3.3. Roles y privilegios. • 1.3.4. Introducción a Encriptación de campos. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 87 Gestión de usuarios en Oracle Gestión de Usuarios Usuario Rol Nombre Contraseña Caducidad Estado M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL Conjunto de privilegios Privilegios del Sistema Es la capacidad de un usuario dentro de la base de datos para realizar determinadas operaciones o acceder a determinados objetos de otros usuarios. Cuotas Límite de almacenamiento que un usuario puede utilizar dentro de un tablespace. OTORGAR / REVOCAR [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 88 Estado de las cuentas de usuario • Abierta. El usuario puede conectar y realizar sus acciones habituales • Bloqueada. El usuario no podrá conectar mientras siga en estado bloqueado. El bloqueo lo realiza el DBA: ALTER USER usuario ACCOUNT LOCK • Expirada. La cuenta agotó el tiempo máximo asignado a ella. Para salir de este estado, el usuario/a debe resetear su contraseña de usuario. • Expirada y bloqueada. • Expirada en periodo de gracia. Está en los últimos momentos de uso antes de pasar a estado de expirada. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 89 Gestión de Usuarios M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 90 Cuentas de usuarios administrativas • SYS. SYS toma rol de DBA (es decir, de super administrador) y es en su esquema donde se crea el diccionario de datos; por lo que no conviene de ninguna manera crear otro tipo de elementos en su esquema; es decir, el usuario SYS no debe crear tablas, ni vistas no ningún otro objeto de la base de datos. • SYSTEM. Posee también el rol DBA y se crea durante la instalación. Como antes, la contraseña MANAGER que tiene por defecto se debería cambiar en la instalación. En su esquema se suelen crear tablas y vistas administrativas (pero no se deberían crear otro tipo de tablas). • SYSMAN. Usado para realizar tareas administrativas con la aplicación Database Control del Enterprise Manager. • DBSMNP. Usuario que tiene permisos para monitorizar Enterprise Manager. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 91 Privilegios administrativos • Oracle posee dos privilegios de sistema asociados a tareas administrativas, son: – SYSDBA. Con capacidad de parar e iniciar (instrucciones SHUTDOWN y STARTUP) la instancia de base de datos; modificar la base de datos (ALTER DATABASE), crear y borrar bases de datos (CREATE y DROP DATABASE), Crear el archivo de parámetros (CREATE SPFILE), cambiar el modo de archivado de la base de datos, recuperar la base de datos y además incluye el privilegio de sistema RESTRICTED SESSION. En la práctica sus capacidades son las asociadas al usuario SYS. – SYSOPER. Permite lo mismo que el anterior salvo: crear y borrar la base de datos y recuperar en todas las formas la base de datos (hay modos de recuperación que requieren el privilegio anterior). La vista V$PWFILE_USERS nos permite examinar a los usuarios administrativos. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 Métodos de autenticación • La autentificación define la forma en la que el usuario verifica quién es. Hay métodos de autentificación más seguros que otros. Asegurar la autentificación implicaría asegurar el medio la comunicación entre usuario y base de datos con protocolos de cifrado. • Por otro lado hay que proteger especialmente a los usuarios administradores. • Puede ser a través del Sistema Operativo, por archivo de contraseña, entre otros. 92 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 93 Gestión de Usuarios MySQL M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 94 Gestión de Usuarios MySQL M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 95 Gestión de Usuarios MySQL M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 Privilegios proporcionados por MySQL • Los privilegios otorgados a una cuenta MySQL determinan qué operaciones puede realizar la cuenta. Los privilegios de MySQL difieren en los contextos en los que se aplican y en los diferentes niveles de operación: – Los privilegios administrativos permiten a los usuarios administrar el funcionamiento del servidor MySQL. Estos privilegios son globales porque no son específicos de una base de datos en particular. – Los privilegios de la base de datos se aplican a una base de datos y a todos los objetos que contiene. Estos privilegios se pueden otorgar para bases de datos específicas o globalmente para que se apliquen a todas las bases de datos. – Se pueden otorgar privilegios para objetos de base de datos como tablas, índices, vistas y rutinas almacenadas para objetos específicos dentro de una base de datos, para todos los objetos de un tipo dado dentro de una base de datos (por ejemplo, todas las tablas en una base de datos), o globalmente para todos. objetos de un tipo determinado en todas las bases de datos. https://dev.mysql.com/doc/refman/8.0/en/access-control.html 96 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 Tipos de usuarios de MySQL • Administrador: El DBA (Database Administrator) es aquella persona o grupo de personas que sostiene la máxima responsabilidad en el mantenimiento de una SGDB. Sus funciones se pueden resumir en: – – – – – Definir el esquema lógico de la base de datos. Definir el esquema físico. Definir los subesquemas (lo que conocemos como vistas o consultas). Llevar un mantenimiento de los mencionados esquemas. Concretar qué procedimientos seguir para mantener la seguridad, integridad y privacidad de los datos. https://es.wikibooks.org/wiki/MySQL/Seguridad/Permisos_de_usuario 97 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 Tipos de usuarios de MySQL • Usuario especializado: Este tipo de usuario es el que desarrolla otros sistemas más complejos a partir del SGBD. También caen en esta categoría aquellos usuarios que utilizan el SGDB como fuente de información específica para su labor, volcando grandes cantidades de datos para su análisis en bloque. https://es.wikibooks.org/wiki/MySQL/Seguridad/Permisos_de_usuario 98 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 Tipos de usuarios de MySQL • Usuario técnico: Son aquellos que elaboran aplicaciones del SGDB para ser utilizadas por los usuarios finales. • Usuario final: Usuarios no especializados. Utilizan las aplicaciones diseñadas por los técnicos para manejar la base de datos. La información que tratan está restringida al marco de su actividad concreta por medio de los subesquemas (vistas) previamente definidos. https://es.wikibooks.org/wiki/MySQL/Seguridad/Permisos_de_usuario 99 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 Permisos en MySQL • La segunda etapa del control de acceso consiste en una serie de operaciones que realiza el servidor para verificar que cada cliente tiene suficientes privilegios para realizar sus peticiones. En este proceso, se accede a las tablas: – – – – – user: permisos de acceso global. host: permisos de acceso al servidor. db: permisos a nivel de base de datos. tables_priv: permisos a nivel de tabla. columns_priv: permisos a nivel de columna. https://es.wikibooks.org/wiki/MySQL/Seguridad/Permisos_de_usuario 10 0 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 Encriptación de campos en MySQL • Para cifrar contraseñas se utilizan las funciones PASSWORD, ENCRYPT, MD5, SHA(SHA1) y SHA2. Esta función sirve para cifrar una cadena de caracteres (cadena) usando una llamada al sistema (UNIX) y retorna la cadena cifrada. • MySQL es un sistema de administración de bases de datos relacional, que provee la capacidad de cifrar la información con el algoritmo de AES. • La primeras versiones de MySQL contaban con dos funciones llamadas "encode" para encriptar una cadena y "decode" para desencriptarla. Estas dos funciones permiten encriptar y desencriptar datos usando el algoritmo oficial AES (Advanced Encryption Standard) que actualmente es el más seguro. https://es.wikibooks.org/wiki/MySQL/Seguridad/Permisos_de_usuario 10 1 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 Encriptación de campos en MySQL MD5 • Este cifrado utiliza un campo de 32 caracteres alfanuméricos, el algoritmo MD5 no puede ser revertido, (Se ha mostrado que si es posible, pero es proceso es muy complejo), es decir una vez que se ha cifrado no se puede regresar al valor original. https://salvadorhm.blogspot.com/2014/07/cifrar-campos-en-mysql.html 10 2 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 Encriptación de campos en MySQL SHA o SHA1 • Al igual que MD5 una vez que se ha cifrado el campo con ella no puede ser revertido, SHA utiliza un cheksum de 160 bits mientras que MD5 es de 128 bits, por lo que es más seguro su uso y necesita 40 caracteres para almacenarse. https://salvadorhm.blogspot.com/2014/07/cifrar-campos-en-mysql.html 10 3 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 Encriptación de campos en MySQL AES • Este a diferencia de los dos anteriores si puede ser revertido a su valor original, y el campo donde se almacena debe ser de tipo BLOB, y se encuentra implementado desde MySQL 4.0.2. https://salvadorhm.blogspot.com/2014/07/cifrar-campos-en-mysql.html 10 4 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] Semana 2: Sesión 3 Video Complementario Curso de MySQL - Usuarios y permisos (Duración 10:50) CARRERA DE SOFTWARE – 2021C1 https://www.youtube.com/watch?v=Ag9xOGnLmmk 105 M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [SO SOF-S-VE-3-6] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 10 6 Semana 2: Sesión 3 Trabajo Colaborativo – Sección de Construcción 6) Considere que esta base de datos gestionará los proyectos de la materia. Crear dos tablas relacionadas al tema: tipo proyecto, proyecto. 7) Crear su usuario (Por ejemplo: AYANZA) con accesibilidad a la base de datos isisma51. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 10 7 Semana 2: Sesión 3 Trabajo Colaborativo – Sección de Construcción M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] Semana 2: Sesión 3 y 4 CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 10 8 TA2 – Trabajo Autónomo – Sección de Comprobación Estimado(a) estudiante Como actividad de trabajo autónomo se propone “Desarrollo de ejercicios: Crear una base de datos y dos usuarios”, la misma que consiste en generar un entregable denominado “Tarea: Archivo de la Base de datos”. Genere una base de datos similar al formato AYANZA, y cree el usuario respectivo taller2 con privilegios completos. Un segundo usuario con nombre isisma51. Realice un modelo relacional de mínimo tres tablas asociadas a un sistema de Historia Clínica. Establezca las relaciones del caso. Generar un informe del proceso. La estructura de su documento es: Portada, Desarrollo del informe, Bibliografía. Calificación: 10 puntos. Modalidad: Individual. Slds. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 10 9 Semana 2: Sesión 3 y 4 TA2 – Trabajo Autónomo – Sección de Comprobación M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 11 0 Enlaces de interés • El gestor de instancias de MySQL. – https://documentation.help/MySQL-5.0-es/ch05s02.html • La Biblia de MySQL – https://es.pdfdrive.com/la-biblia-de-mysql-d39343872.html • Links de Oracle – https://interpolados.wordpress.com/2017/11/24/estructura-de-la-base-de-datosoracle/ – https://www.oracletutorial.com/ – http://epnbdd-oracle.blogspot.com/2012/05/conceptos-de-almacenamiento-enoracle.html • How To Create New MySQL User and Grant Privileges – https://phoenixnap.com/kb/how-to-create-new-mysql-user-account-grantprivileges • Crear tablespaces – https://es.stackoverflow.com/questions/120734/crear-tablespace-en-mysql M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 11 1 Semana 2: Sesión 4 Viernes, 11 de Junio de 2021 CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 11 2 Semana 2 - Sesión 4 Distribución de Actividades Semana 2 – Sesión 4 Actividad Tiempo Evaluación Trabajo colaborativo Tutorización 36 minutos Taller 2: Creación de Tablespaces y Usuarios Trabajo autónomo Desarrollo de ejercicios: Crear una base de datos y dos usuarios 3 horas Tarea: Archivo de la Base de datos M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 11 3 Semana 2: Sesión 4 Participación en clase – Sección Rebote Estimado(a) estudiante Como actividad de participación en clase deberá efectuar la siguiente actividad. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 11 4 Semana 2: Sesión 4 Participación en clase – Sección Rebote M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 11 5 Semana 2: Sesión 4 Tutorización – Sección de Construcción Estimado(a) estudiante Como actividad de tutorización deberá realizar el taller denominado “Taller 2: Creación de Tablespaces y Usuarios”, Enliste los usuarios creados. Cree el usuario isisma51 con privilegios completos. Un segundo usuario prueba con privilegios de solo select a la tabla proyecto. Publicar un informe en formato PDF con las evidencias del caso. Esta actividad requiere de un proceso de investigación. Calificación: 10 puntos. Modalidad: Individual. Slds. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 11 6 Semana 2: Sesión 4 Tutorización – Sección de Construcción M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] Semana 2: Sesión 3 y 4 CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 11 7 TA2 – Trabajo Autónomo – Sección de Comprobación Estimado(a) estudiante Como actividad de trabajo autónomo se propone “Desarrollo de ejercicios: Crear una base de datos y dos usuarios”, la misma que consiste en generar un entregable denominado “Tarea: Archivo de la Base de datos”. Genere una base de datos similar al formato AYANZA, y cree el usuario respectivo taller2 con privilegios completos. Un segundo usuario con nombre isisma51. Realice un modelo relacional de mínimo tres tablas asociadas a un sistema de Historia Clínica. Establezca las relaciones del caso. Generar un informe del proceso. La estructura de su documento es: Portada, Desarrollo del informe, Bibliografía. Calificación: 10 puntos. Modalidad: Individual. Slds. M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 11 8 Semana 2: Sesión 3 y 4 TA2 – Trabajo Autónomo – Sección de Comprobación M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 11 9 Enlaces de interés • El gestor de instancias de MySQL. – https://documentation.help/MySQL-5.0-es/ch05s02.html • La Biblia de MySQL – https://es.pdfdrive.com/la-biblia-de-mysql-d39343872.html • Links de Oracle – https://interpolados.wordpress.com/2017/11/24/estructura-de-la-base-de-datosoracle/ – https://www.oracletutorial.com/ – http://epnbdd-oracle.blogspot.com/2012/05/conceptos-de-almacenamiento-enoracle.html • How To Create New MySQL User and Grant Privileges – https://phoenixnap.com/kb/how-to-create-new-mysql-user-account-grantprivileges • Crear tablespaces – https://es.stackoverflow.com/questions/120734/crear-tablespace-en-mysql M.Sc. Ángela Yanza Montalván, Ing. Mg. Mgp. DOCENTE UNIVERSIDAD DE GUAYAQUIL [BD2 ISI-S-MA-5-1] CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES – 2021C1 12 0 Semana 3: Sesión 5 Lunes, 14 de Junio de 2021