Subido por Eliana Santana

Base de datos

Anuncio
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
Descargar