SlideShare una empresa de Scribd logo
1 de 53
CENTRO DE ELECTRICIDAD Y
AUTOMATIZACION INDUSTRIAL
C.E.A.I
Instructora
Ing. Margoth Lorena Martinez
E-mail inglormar78@misena.edu.co
Fase de Planeación
Guía N° 01
Denominación del Programa de Formación:
Análisis y Desarrollo de Software
Código del Programa de Formación: 228118
Nombre del Proyecto: SISPROVA-SCRUM
Actividad de Proyecto:
● Construir los componentes de la solución informática de acuerdo
a las características funcionales y de calidad del diseño
Competencia:
Desarrollar la solución de software de acuerdo con el diseño y
metodologías de desarrollo.
Resultados de Aprendizaje Alcanzar: Construir la base de datos para el
software a partir del modelo de datos
Guía de aprendizaje
QUE ES ?
Oracle se basa en la tecnología cliente/servidor, pues bien, para su
utilización primero sería necesario la instalación de la herramienta
servidor (Oracle 8i) y posteriormente podríamos atacar a la base de
datos desde otros equipos con herramientas de desarrollo como Oracle
Designer y Oracle Developer, que son las herramientas básicas de
programación sobre Oracle.
Para desarrollar en Oracle utilizamos PL/SQL un lenguaje de 5ª
potente para tratar y gestionar la base de datos, también por norma
utilizar SQL al crear un formulario.
QUE ES ?
Oracle se basa en la tecnología cliente/servidor, pues bien, para su
utilización primero sería necesario la instalación de la herramienta
servidor (Oracle 8i) y posteriormente podríamos atacar a la base de
datos desde otros equipos con herramientas de desarrollo como Oracle
Designer y Oracle Developer, que son las herramientas básicas de
programación sobre Oracle.
Para desarrollar en Oracle utilizamos PL/SQL un lenguaje de 5ª
potente para tratar y gestionar la base de datos, también por norma
utilizar SQL al crear un formulario.
3. FORMULACIÓN DE LAS ACTIVIDADES DE APRENDIZAJE
1. Actividades de Reflexión inicial.
Durante años, la base de datos Oracle ha sido reconocida
por su velocidad, confiabilidad, seguridad y capacidad para
soportar cargas de datos tanto de aplicaciones altamente
transaccionales, como de Bodegas de datos e incluso
análisis de Big Data, ofreciendo alto desempeño y
facilidades de administración.
Actividad No 1
Observe el video: Que es Oracle
(https://www.youtube.com/watch?v=S979SHEsSsI) y busque otras
fuentes de información sobre la importancia de Oracle disponibles y
realice un informe con los siguientes puntos
Resumen sobre el video y otras consultas de la web.
a) Resumen sobre el video y el documento
b) Apreciación personal sobre los temas expuestos en video y
documento.
c) Importancia que usted identifica en el uso de Oracle en las
tecnologías de la información.
d) Ventajas y desventajas que usted identifica en el uso de Oracle en las
empresas.
e) Conclusiones.
El instructor socializará las respuestas de los aprendices y enfatizará la
importancia de tener conocimientos sobre el motor de la base de datos
Oracle en la actualidad
Conceptos generales de Almacenamiento
Conceptos básicos para la gestión de seguridad
de una base de datos en Oracle.
Un administrador de Oracle puede controlar dos tipos de seguridad;
•La seguridad del sistema: Se refiere a mecanismos que controlan el acceso y el
uso de la base de datos. Lo que llamamos permisos del sistema.
•Seguridad de los datos: Son los mecanismos que controlan el acceso y uso de la
base de datos a nivel del objectos (tablas, vistas, usuario, etc). Son lo que llamamos
los permisos a nivel de objetos.
Seguridad del sistema
En lo referente a la seguridad del sistema es bastante importante saber que el
administrador puede crear perfiles para limitar los recursos de la base de datos. Los
factores más importantes que puede limitar son:
Recurso Descripción
SESSION_PER_USER
El número de sesiones
concurrentes que un usuario
puede tener en una instancia.
CPU_PER_SESSION
El tiempo de CPU, en centenas de
segundos, que una sesión puede
utilizar.
CONNECT_TIME
El número de minutos que una
sesión puede permanecer activa.
IDLE_TIME
El número de minutos que una
sesión puede permanecer sin que
sea utilizada de manera activa.
LOGICAL_READS_PER_SESSION
El número de bloques de datos
que se pueden leer en una
sesión.
Seguridad del sistema
Recurso Descripción
LOGICAL_READS_PER_CALL
El número de bloques de datos
que se pueden leer en una
operación.
PRIVATE_SGA
La cantidad de espacio privado
que una sesión puede reservar
en la zona de SQL compartido de
la SGA.
COMPOSITE_LIMIT
El número de total de recursos
por sesión, en unidades de
servicio. Esto resulta de un
calculo ponderado de
CPU_PER_SESSION,
CONNECT_TIME,
LOGICAL_READS_PER_SESSION y
PRIVATE_SGA, cuyos pesos se
pueden variar con el comando
ALTER RESOURCE COST.
Seguridad del sistema
La sintaxis para la creación de un perfil con varias limitaciones seria:
create profile nombre_perfil limit
{Entero [K|M] | unlimited | default};
Donde unlimited significa que no hay limite sobre un recurso particular y default
significa que coge el limite del perfil DEFAULT
Para activar los perfiles el administrador debe ejecutar la siguiente orden:
alter system set resource_limit=true;
Seguridad del sistema
Para borrar un perfil tenemos que ejecutar la siguiente orden:
drop profile nombre_perfil [cascade];
Es importante saber si este perfil esta asignado a algún usuario ya que, si es así,
tendremos que poner "cascade", para que lo elimine de esos usuarios también.
Otro factor importante en la seguridad a nivel de sistema es la gestión de
tablespaces. Un tablespace es un espacio de la base de datos que contiene tablas
o como su definición oficial nos dice, es una unidad lógica de almacenamiento de
datos compuesta por uno o más archivos.
Seguridad del sistema
Es En Oracle antes de introducir los datos en la base de datos tenemos que crear
un tablespace para que nos deje trabajar.
Es importante tener un tablespace para cada tipo de datos es decir, un tablespace
para cada aplicación.
La sintaxis de la creación de un tablespace es la siguiente:
Seguridad del sistema
create tablespace nombre_tablespace
datafile 'nombre_Archivo' [size entero [K|M]] [reuse]
[autoextend {off|on clausulas}]
[,'nombre_archivo' [size entero [K|M]] [reuse]
[autoextend {off|on clausulas}] ] ...
[ default storage {
initial tamaño
next tamaño
minextents tamaño
maxextents tamaño
pctincrease valor }] [online|offline];
Seguridad del sistema
Donde:
•datafile: especifica el archivo/s de datos que constara el tablespace
•size: especifica el tamaño del tablesapce
•reuse: si el archivo ya existe lo reutiliza y sino lo crea.
•Dafault storage: define el almacenamiento por defecto para todos los objectos que se creen en ese
tablespace
•initial: indica la extensión inicial del tablespace
•next: indica la extensión siguiente
•minextents: reserva extensiones adicionales a la extensión inicial y nos permite asignar gran cantidad de
espacio cuando se crea un objeto. El valor por defecto es 1
•maxextents: es el número máximo de extensiones que se le asigna a un objecto
•pctincrease: factor de crecimiento para la extensión. Valor por defecto 50
•offline|online: nos indica si el tablespace esta operativo o no, después de su creación
Seguridad del sistema
Donde:
•datafile: especifica el archivo/s de datos que constara el tablespace
•size: especifica el tamaño del tablesapce
•reuse: si el archivo ya existe lo reutiliza y sino lo crea.
•Dafault storage: define el almacenamiento por defecto para todos los objectos que se creen en ese
tablespace
•initial: indica la extensión inicial del tablespace
•next: indica la extensión siguiente
•minextents: reserva extensiones adicionales a la extensión inicial y nos permite asignar gran cantidad de
espacio cuando se crea un objeto. El valor por defecto es 1
•maxextents: es el número máximo de extensiones que se le asigna a un objecto
•pctincrease: factor de crecimiento para la extensión. Valor por defecto 50
•offline|online: nos indica si el tablespace esta operativo o no, después de su creación
Seguridad del sistema
Por defecto Oracle crea los siguientes tablespace:
•system: donde Oracle almacena toda la información para su propia gestión
•users: espacio de tablas donde se almacena la información personal de los usuarios
•temporary o temp: donde Oracle almacena las tablas temporales
•tools: espacio para hacer pruebas sobre la base de datos
•RBS: donde Oracle guarda la información al deshacer algún cambio.
Para modificar un tablespace cambiamos el create por el alter mientras que para borrarlo basta con hacer
drop tablespace nombre_tablespace;
Gestión de seguridad en Oracle II
Continuamos con los conceptos básicos en la gestión
de seguridad de una base de datos. Seguridad de los
datos en Oracle.
Hablábamos de que existían dos tipos de seguridad en un sistema gestor de base
de datos. El primero era el encaminado a la seguridad del sistema (enlace al
articulo anterior) y el segundo el encaminado a la seguridad de los datos, tema que
vamos a abarcar en este segundo articulo. Lo que hace tener una cierta seguridad
en nuestros datos es la utilización de usuarios.
Estos usuarios son nombres que definimos y a los cuales damos una contraseña
para acceder a la base de datos.
Gestión de seguridad en Oracle II
En Oracle cada usuario esta asignado a un esquema. Siendo un esquema una
colección lógica de objetos. Por defecto un usuario tiene acceso a todos los
objectos de su esquema y podría acceder a los objetos de otros esquemas como
los permisos necesarios.
Cuando instanciamos Oracle se crean por defecto dos usuarios importantes:
•sys change_on_install: propietario del diccionario de datos de la base de datos
•system manager: usuario para realizar las tareas de administración de la base de
datos
Gestión de seguridad en Oracle II
La sintaxis para la creación de un usuario es la siguiente:
create user nombre_usuario
identified by contraseñas
[default tablespace nombre_tablespace]
[temporary tablespace nombre_tablespace]
[quota {entero {K|M} | unlimited} on nombre_tablespace]
[profile nombre_perfil];
Para modificar el usuario cambiaremos el create por el alter y para borrarlo tan solo
tendremos que poner
drop user nombre_usuario cascade;
Gestión de seguridad en Oracle II
Cada usuario tiene ciertos privilegios, y dentro de esos privilegios podemos hablar
de:
 privilegios de sistema: son los que nos dan derecho a realizar ciertas
operaciones sobre objetos de un tipo especificado.
 privilegios sobre objetos: estos privilegios nos permiten realizar cambios en los
datos de los objetos de otros usuarios
Cuando creamos un usuario es necesario darle privilegios, de lo contrario no podría
realizar ninguna acción.
Roles de usuario
Un rol es un conjunto de permisos que recibe un nombre común y facilita la tarea de dar
permisos a los usuarios. Para crear un rol tan solo tenemos que escribir lo siguiente:
create role nombre_role;
Oracle ofrece varios roles o funciones ya creadas que ofrecen ciertos privilegios. Esos roles
son los siguientes:
•connect: Todos los permisos necesarios para iniciar una sesión en Oracle
•resource: Todos los permisos necesarios para tener recursos para la creación de objetos
•dba: posee todos los privilegios del sistema
Roles de usuario
La sentencia para privilegios sobre los objetos es la siguiente:
grant {privilegio_objeto[,privilegio_objeto]...| all [privileges]}
[(columna [,columna]...)]
on [usuario.]objeto}
to {usuario|rol| public [,{usuario|rol|public} ...]
[with grant option];
Mientras que la sentencia para crear privilegios de sistema es la siguiente:
grant {privilegio|rol} [,privilegio|rol}, ....]
to {usuario|rol| public [,{usuario|rol|public} ...]
[with admin option];
Te doy la bienvenida a la quinta unidad del curso de administrador de
Bases de Datos en Oracle, donde conocerás PL/SQL, su funcionamiento
y expresiones, y terminaremos analizando la importancia que tiene en el
mundo Oracle.
PL/SQL es el lenguaje de programación incorporado en Oracle que
permite la creación de procedimientos almacenados, funciones,
disparadores y paquetes. Es un lenguaje completo que permite la
manipulación de datos en una base de datos Oracle, y su integración con
el SQL nativo permite la ejecución de operaciones complejas de
búsqueda y manipulación de datos.
Introducción al lenguaje PL/SQL
Nos encontramos ante un gestor que va incorporado en Oracle para solventar las
grandes limitaciones que teníamos con los editores SQL, en cuanto al control de las
secuencias de ejecución de instrucciones, el uso de variables, la gestión de posibles
errores, etc. Este lenguaje esta basado en ADA, por lo que incluye todas las
características de los lenguajes de tercera generación. Esto nos permite manejar las
variables, tener una estructura modular (procedimientos y funciones) y controlar las
excepciones. Además incorpora un completo soporte para la programación orientada a
objetos (POO).
Introducción al lenguaje PL/SQL
Los programas creados con PL/SQL los podemos almacenar en nuestra base de datos como
cualquier otro objeto quedando disponibles para los usuarios. El uso del lenguaje PL/SQL es
imprescindible para construir disparadores de bases de datos (triggers).
PL/SQL esta incluido en el servidor y en algunas herramientas de cliente. Soporta todos los
comandos de consulta y manipulación de datos, aportando al lenguaje SQL las estructuras de control
y otros elementos propios de los lenguajes de programación de 3º generación.
La unidad de trabajo en PL/SQL es el bloque, constituido por un conjunto de declaraciones,
instrucciones y mecanismos de gestión de errores y excepciones.
Introducción al lenguaje PL/SQL
Con PL/SQL se pueden construir distintos tipos de programas: procedimientos,
funciones y bloques anónimos, paquetes, etc. Todos ellos tienen en común una
estructura básica denominada bloque. Un bloque tiene 3 zonas:
Zona de declaraciones: donde se declaran objectos locales. Suele ir precedida por
la cláusula declare (o is o as en los procedimientos y funciones).
Un conjunto de instrucciones precedido por la cláusula BEGIN
Zona de excepciones: es una zona opcional precedida por la cláusula EXCEPTION,
donde se gestionan las excepciones.
Bloques
El formato genérico de un bloque es el siguiente:
[ DECLARE
<declaraciones>]
BEGIN
<instrucciones>
[EXCEPTION
<gestión de excepciones>]
END;
Las únicas cláusulas obligatorias son BEGIN y END
Bloques
El formato genérico de un bloque es el siguiente:
[ DECLARE
<declaraciones>]
BEGIN
<instrucciones>
[EXCEPTION
<gestión de excepciones>]
END;
Las únicas cláusulas obligatorias son BEGIN y END
Bloques
DECLARE
v_num_empleados number(2);
BEGIN
insert into depart values(99,'provisional',null);
update emple set dept_no=99 where dept_no=20;
v_num_empleados:=SQL%ROWCOUNT;
delete from depart where dept_no=20
DBMS_OUTPUT.PUT_LINE (v_num_empleados || 'Empleados cambiados a
provisional');
Bloques
DECLARE
v_num_empleados number(2);
BEGIN
insert into depart values(99,'provisional',null);
update emple set dept_no=99 where dept_no=20;
v_num_empleados:=SQL%ROWCOUNT;
delete from depart where dept_no=20
DBMS_OUTPUT.PUT_LINE (v_num_empleados || 'Empleados cambiados a
provisional');
Bloques
La ventaja de PL/SQL es que permite la integración de código
SQL y lógica de programación en un solo entorno, lo que hace
que sea más fácil de mantener y depurar. Además, PL/SQL es
altamente escalable, por lo que es una solución ideal para las
empresas que requieren un alto rendimiento y una gestión
eficiente de la información. En resumen, PL/SQL es una
herramienta esencial para los administradores de bases de datos
y desarrolladores que desean aprovechar al máximo las
capacidades de la base de datos de Oracle.
Introducción al lenguaje PL/SQL
Este lenguaje suele tener unos tipos de datos
compatibles con SQL para las columnas de las tablas,
pero además puede tener otros tipos de datos propios.
Para declarar los datos en un bloque tenemos que
utilizar una sintaxis como esta:
DECLARE
nombre_variable Tipo dato;
BEGIN
...
Definición de datos compatibles con SQL
Un ejemplo seria este:
DECLARE
precio NUMBER(8,2);
suma NUMBER(2) DEFAULT 0;
prenda CHAR(20) NOT NULL :='Camiseta';
descripción VARCHAR2(15);
BEGIN
....
Una de las ventajas de PL/SQL es que nos permite declarar
una variable del mismo tipo que otra variable o que una
columna de una tabla. Esto lo hacemos con el atributo
%TYPE.
Definición de datos compatibles con SQL
DECLARE
nombre emple.nombre%TYPE;
Otra ventaja es que nos permite guardar el contenido de una fila
entera de una tabla en una variable. Esto lo hacemos con el
atributo %ROWTYPE
DECLARE
mifila emple%ROWTYPE;
Con esto ya podemos trabajar con variables dentro de nuestro
bloque.
Las estructuras de control son básicamente las mismas que
podemos utilizar en cualquier lenguaje de programación. La vamos
a dividir en estructuras de control alternativas (IF) y estructuras de
control repetitivas (WHILE, FOR, LOOP)
Estructuras de control
La estructura del IF seria la siguiente:
IF <condición> THEN
instrucciones
ELSEIF <condición> THEN
instrucciones
....
ELSE
instrucciones
END IF;
La estructura del WHILE seria la siguiente:
WHILE <condición> LOOP
instrucciones
END LOOP;
La estructura del FOR se escribiría así:
FOR <variable> IN <mínimo> <máximo> LOOP
instrucciones
END LOOP
SELECT INTO:
● Mostrar el código de un cliente dado su código.
Competencia:
Desarrollar la solución de software de acuerdo con el diseño y
metodologías de desarrollo.
Resultados de Aprendizaje Alcanzar: Crear las tablas y objetos de la
base de datos de acuerdo con el diseño y el motor de bases de
datos seleccionado.
Guía de aprendizaje
Cursores implícitos
● Es importante saber que en nuestros bloques PL/SQL es bastante práctico
el uso de cursores.
En este lenguaje el resultado de una consulta no va directamente al terminal del
usuario, sino que se guarda en un área de memoria a la que se accede mediante
los nombrados cursores. Para realizar una consulta en PL/SQL tenemos que
guardar el resultado en cursores. Esto es muy sencillo y basta con meter un INTO
en las consultas. Un ejemplo seria
select <columna/s> INTO <variable/s> from <tabla> [where]
select count(*) INTO vnum from ventas;
La variable que sigue al INTO recibe el valor de la columna.
Por este motivo es importante que el tipo de dato de la variable
coincida con el tipo de dato de la columna.
Cursores implícitos
Gestión de excepciones
Las excepciones sirven para tratar los errores y mensajes. Oracle tiene una serie de excepciones
que son las más frecuentes y con las que la mayoría de la gente trabaja. Unas de las más usadas
son:
NO_DATA_FOUND (cuando una orden tipo select no ha devuelto ningún valor)
TOO_MANY_ROWS (cuando una orden tipo select ha devuelto mas de una fila)
OTHERS THEN RAISE_APPLICATION_ERROR (para cualquier otro tipo de error desconocido)
Un ejemplo seria el siguiente:
Gestión de excepciones
DECLARE
vapellido varchar(10);
voficio varchar(20);
BEGIN
select apellido,oficio INTO vape,voficio from emple where emp=15;
DBMS_OUTPUT.PUT_LINE (vape||: - || voficio);
EXCEPTION
WHEN NO_DATA_FOUND THEN insert into temp values('No hay datos');
WHEN TOO_MANY_ROWS THEN insert into temp values ('Demasiados datos');
WHEN OTHER THEN RAISE_APPLICATION_ERROR(-2000,'Error en aplicación');
END;
Cursores explícitos
1. Los cursores explícitos los utilizamos cuando tenemos consultas que nos devuelven más
de una fila.
Tenemos 4 operaciones básicas para trabajar con un cursor explícito.
* Declaración del cursor: lo tenemos que declarar en la zona de declaraciones, con el
siguiente formato:
CURSOR <nombrecursor> IS <sentencia SELECT>;
2. Apertura del cursor: Deberá colocarse en la zona de instrucciones, con el siguiente
formato:
OPEN <nombrecursor>;
Al hacerlo se ejecuta automáticamente la sentencia select y sus resultados se almacenan en
las estructuras internas de memoria manejadas por el cursor.
Cursores explícitos
3. Recogida de información: Para recuperar la información anteriormente
guardada en las estructuras de memoria interna tenemos que usar el siguiente
formato:
FETCH <nombrecursor> INTO {<variable> | <listavariables>};
Si tenemos una única variable que recoge los datos de todas las columnas, el
formato de la variable seria el siguiente:
<variable> <nombrecursor>%ROWTYPE;
Cursores explícitos
4. Si tenemos una lista de variables, cada una recogerá la columna correspondiente de la
cláusula select, por lo que serán del mismo tipo que las columnas.
- Cierre del cursor:
CLOSE <nombrecursor>;
OVA DISEÑO ORACLE II Administración.pptx
OVA DISEÑO ORACLE II Administración.pptx
OVA DISEÑO ORACLE II Administración.pptx

Más contenido relacionado

Similar a OVA DISEÑO ORACLE II Administración.pptx

Similar a OVA DISEÑO ORACLE II Administración.pptx (20)

Caracteristicas de oracle y my sql
Caracteristicas de oracle y my sqlCaracteristicas de oracle y my sql
Caracteristicas de oracle y my sql
 
Tarea1 lruiz
Tarea1 lruizTarea1 lruiz
Tarea1 lruiz
 
Tarea1 lruiz
Tarea1 lruizTarea1 lruiz
Tarea1 lruiz
 
Administracion de base de datos
Administracion de base de datosAdministracion de base de datos
Administracion de base de datos
 
Administracion de base de datos
Administracion de base de datosAdministracion de base de datos
Administracion de base de datos
 
SQLite en Unity3D
SQLite en Unity3DSQLite en Unity3D
SQLite en Unity3D
 
Bases de Datos
Bases de DatosBases de Datos
Bases de Datos
 
Tres gestores de bases de datos
Tres gestores de bases de datosTres gestores de bases de datos
Tres gestores de bases de datos
 
Obvios herramientas de un SGDB
Obvios herramientas de un SGDBObvios herramientas de un SGDB
Obvios herramientas de un SGDB
 
Diseño o.o
Diseño o.oDiseño o.o
Diseño o.o
 
Diseño o.o
Diseño o.oDiseño o.o
Diseño o.o
 
Tarea1Cesar Ortiz
Tarea1Cesar OrtizTarea1Cesar Ortiz
Tarea1Cesar Ortiz
 
Oracle
OracleOracle
Oracle
 
Gestor de base de datos
Gestor de base de datosGestor de base de datos
Gestor de base de datos
 
DAM-S5.pptx
DAM-S5.pptxDAM-S5.pptx
DAM-S5.pptx
 
Proyecto X
Proyecto XProyecto X
Proyecto X
 
Manual oracle 9i
Manual oracle 9iManual oracle 9i
Manual oracle 9i
 
Framework
FrameworkFramework
Framework
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 

Último

Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxCeciliaGuerreroGonza1
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 

Último (20)

Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 

OVA DISEÑO ORACLE II Administración.pptx

  • 1. CENTRO DE ELECTRICIDAD Y AUTOMATIZACION INDUSTRIAL C.E.A.I Instructora Ing. Margoth Lorena Martinez E-mail inglormar78@misena.edu.co
  • 2. Fase de Planeación Guía N° 01 Denominación del Programa de Formación: Análisis y Desarrollo de Software Código del Programa de Formación: 228118 Nombre del Proyecto: SISPROVA-SCRUM
  • 3. Actividad de Proyecto: ● Construir los componentes de la solución informática de acuerdo a las características funcionales y de calidad del diseño Competencia: Desarrollar la solución de software de acuerdo con el diseño y metodologías de desarrollo. Resultados de Aprendizaje Alcanzar: Construir la base de datos para el software a partir del modelo de datos Guía de aprendizaje
  • 4. QUE ES ? Oracle se basa en la tecnología cliente/servidor, pues bien, para su utilización primero sería necesario la instalación de la herramienta servidor (Oracle 8i) y posteriormente podríamos atacar a la base de datos desde otros equipos con herramientas de desarrollo como Oracle Designer y Oracle Developer, que son las herramientas básicas de programación sobre Oracle. Para desarrollar en Oracle utilizamos PL/SQL un lenguaje de 5ª potente para tratar y gestionar la base de datos, también por norma utilizar SQL al crear un formulario.
  • 5. QUE ES ? Oracle se basa en la tecnología cliente/servidor, pues bien, para su utilización primero sería necesario la instalación de la herramienta servidor (Oracle 8i) y posteriormente podríamos atacar a la base de datos desde otros equipos con herramientas de desarrollo como Oracle Designer y Oracle Developer, que son las herramientas básicas de programación sobre Oracle. Para desarrollar en Oracle utilizamos PL/SQL un lenguaje de 5ª potente para tratar y gestionar la base de datos, también por norma utilizar SQL al crear un formulario.
  • 6. 3. FORMULACIÓN DE LAS ACTIVIDADES DE APRENDIZAJE 1. Actividades de Reflexión inicial. Durante años, la base de datos Oracle ha sido reconocida por su velocidad, confiabilidad, seguridad y capacidad para soportar cargas de datos tanto de aplicaciones altamente transaccionales, como de Bodegas de datos e incluso análisis de Big Data, ofreciendo alto desempeño y facilidades de administración.
  • 7. Actividad No 1 Observe el video: Que es Oracle (https://www.youtube.com/watch?v=S979SHEsSsI) y busque otras fuentes de información sobre la importancia de Oracle disponibles y realice un informe con los siguientes puntos Resumen sobre el video y otras consultas de la web. a) Resumen sobre el video y el documento b) Apreciación personal sobre los temas expuestos en video y documento.
  • 8. c) Importancia que usted identifica en el uso de Oracle en las tecnologías de la información. d) Ventajas y desventajas que usted identifica en el uso de Oracle en las empresas. e) Conclusiones. El instructor socializará las respuestas de los aprendices y enfatizará la importancia de tener conocimientos sobre el motor de la base de datos Oracle en la actualidad
  • 9.
  • 10.
  • 11. Conceptos generales de Almacenamiento
  • 12.
  • 13.
  • 14. Conceptos básicos para la gestión de seguridad de una base de datos en Oracle. Un administrador de Oracle puede controlar dos tipos de seguridad; •La seguridad del sistema: Se refiere a mecanismos que controlan el acceso y el uso de la base de datos. Lo que llamamos permisos del sistema. •Seguridad de los datos: Son los mecanismos que controlan el acceso y uso de la base de datos a nivel del objectos (tablas, vistas, usuario, etc). Son lo que llamamos los permisos a nivel de objetos.
  • 15. Seguridad del sistema En lo referente a la seguridad del sistema es bastante importante saber que el administrador puede crear perfiles para limitar los recursos de la base de datos. Los factores más importantes que puede limitar son: Recurso Descripción SESSION_PER_USER El número de sesiones concurrentes que un usuario puede tener en una instancia. CPU_PER_SESSION El tiempo de CPU, en centenas de segundos, que una sesión puede utilizar. CONNECT_TIME El número de minutos que una sesión puede permanecer activa. IDLE_TIME El número de minutos que una sesión puede permanecer sin que sea utilizada de manera activa. LOGICAL_READS_PER_SESSION El número de bloques de datos que se pueden leer en una sesión.
  • 16. Seguridad del sistema Recurso Descripción LOGICAL_READS_PER_CALL El número de bloques de datos que se pueden leer en una operación. PRIVATE_SGA La cantidad de espacio privado que una sesión puede reservar en la zona de SQL compartido de la SGA. COMPOSITE_LIMIT El número de total de recursos por sesión, en unidades de servicio. Esto resulta de un calculo ponderado de CPU_PER_SESSION, CONNECT_TIME, LOGICAL_READS_PER_SESSION y PRIVATE_SGA, cuyos pesos se pueden variar con el comando ALTER RESOURCE COST.
  • 17. Seguridad del sistema La sintaxis para la creación de un perfil con varias limitaciones seria: create profile nombre_perfil limit {Entero [K|M] | unlimited | default}; Donde unlimited significa que no hay limite sobre un recurso particular y default significa que coge el limite del perfil DEFAULT Para activar los perfiles el administrador debe ejecutar la siguiente orden: alter system set resource_limit=true;
  • 18. Seguridad del sistema Para borrar un perfil tenemos que ejecutar la siguiente orden: drop profile nombre_perfil [cascade]; Es importante saber si este perfil esta asignado a algún usuario ya que, si es así, tendremos que poner "cascade", para que lo elimine de esos usuarios también. Otro factor importante en la seguridad a nivel de sistema es la gestión de tablespaces. Un tablespace es un espacio de la base de datos que contiene tablas o como su definición oficial nos dice, es una unidad lógica de almacenamiento de datos compuesta por uno o más archivos.
  • 19. Seguridad del sistema Es En Oracle antes de introducir los datos en la base de datos tenemos que crear un tablespace para que nos deje trabajar. Es importante tener un tablespace para cada tipo de datos es decir, un tablespace para cada aplicación. La sintaxis de la creación de un tablespace es la siguiente:
  • 20. Seguridad del sistema create tablespace nombre_tablespace datafile 'nombre_Archivo' [size entero [K|M]] [reuse] [autoextend {off|on clausulas}] [,'nombre_archivo' [size entero [K|M]] [reuse] [autoextend {off|on clausulas}] ] ... [ default storage { initial tamaño next tamaño minextents tamaño maxextents tamaño pctincrease valor }] [online|offline];
  • 21. Seguridad del sistema Donde: •datafile: especifica el archivo/s de datos que constara el tablespace •size: especifica el tamaño del tablesapce •reuse: si el archivo ya existe lo reutiliza y sino lo crea. •Dafault storage: define el almacenamiento por defecto para todos los objectos que se creen en ese tablespace •initial: indica la extensión inicial del tablespace •next: indica la extensión siguiente •minextents: reserva extensiones adicionales a la extensión inicial y nos permite asignar gran cantidad de espacio cuando se crea un objeto. El valor por defecto es 1 •maxextents: es el número máximo de extensiones que se le asigna a un objecto •pctincrease: factor de crecimiento para la extensión. Valor por defecto 50 •offline|online: nos indica si el tablespace esta operativo o no, después de su creación
  • 22. Seguridad del sistema Donde: •datafile: especifica el archivo/s de datos que constara el tablespace •size: especifica el tamaño del tablesapce •reuse: si el archivo ya existe lo reutiliza y sino lo crea. •Dafault storage: define el almacenamiento por defecto para todos los objectos que se creen en ese tablespace •initial: indica la extensión inicial del tablespace •next: indica la extensión siguiente •minextents: reserva extensiones adicionales a la extensión inicial y nos permite asignar gran cantidad de espacio cuando se crea un objeto. El valor por defecto es 1 •maxextents: es el número máximo de extensiones que se le asigna a un objecto •pctincrease: factor de crecimiento para la extensión. Valor por defecto 50 •offline|online: nos indica si el tablespace esta operativo o no, después de su creación
  • 23. Seguridad del sistema Por defecto Oracle crea los siguientes tablespace: •system: donde Oracle almacena toda la información para su propia gestión •users: espacio de tablas donde se almacena la información personal de los usuarios •temporary o temp: donde Oracle almacena las tablas temporales •tools: espacio para hacer pruebas sobre la base de datos •RBS: donde Oracle guarda la información al deshacer algún cambio. Para modificar un tablespace cambiamos el create por el alter mientras que para borrarlo basta con hacer drop tablespace nombre_tablespace;
  • 24. Gestión de seguridad en Oracle II Continuamos con los conceptos básicos en la gestión de seguridad de una base de datos. Seguridad de los datos en Oracle. Hablábamos de que existían dos tipos de seguridad en un sistema gestor de base de datos. El primero era el encaminado a la seguridad del sistema (enlace al articulo anterior) y el segundo el encaminado a la seguridad de los datos, tema que vamos a abarcar en este segundo articulo. Lo que hace tener una cierta seguridad en nuestros datos es la utilización de usuarios. Estos usuarios son nombres que definimos y a los cuales damos una contraseña para acceder a la base de datos.
  • 25. Gestión de seguridad en Oracle II En Oracle cada usuario esta asignado a un esquema. Siendo un esquema una colección lógica de objetos. Por defecto un usuario tiene acceso a todos los objectos de su esquema y podría acceder a los objetos de otros esquemas como los permisos necesarios. Cuando instanciamos Oracle se crean por defecto dos usuarios importantes: •sys change_on_install: propietario del diccionario de datos de la base de datos •system manager: usuario para realizar las tareas de administración de la base de datos
  • 26. Gestión de seguridad en Oracle II La sintaxis para la creación de un usuario es la siguiente: create user nombre_usuario identified by contraseñas [default tablespace nombre_tablespace] [temporary tablespace nombre_tablespace] [quota {entero {K|M} | unlimited} on nombre_tablespace] [profile nombre_perfil]; Para modificar el usuario cambiaremos el create por el alter y para borrarlo tan solo tendremos que poner drop user nombre_usuario cascade;
  • 27. Gestión de seguridad en Oracle II Cada usuario tiene ciertos privilegios, y dentro de esos privilegios podemos hablar de:  privilegios de sistema: son los que nos dan derecho a realizar ciertas operaciones sobre objetos de un tipo especificado.  privilegios sobre objetos: estos privilegios nos permiten realizar cambios en los datos de los objetos de otros usuarios Cuando creamos un usuario es necesario darle privilegios, de lo contrario no podría realizar ninguna acción.
  • 28. Roles de usuario Un rol es un conjunto de permisos que recibe un nombre común y facilita la tarea de dar permisos a los usuarios. Para crear un rol tan solo tenemos que escribir lo siguiente: create role nombre_role; Oracle ofrece varios roles o funciones ya creadas que ofrecen ciertos privilegios. Esos roles son los siguientes: •connect: Todos los permisos necesarios para iniciar una sesión en Oracle •resource: Todos los permisos necesarios para tener recursos para la creación de objetos •dba: posee todos los privilegios del sistema
  • 29. Roles de usuario La sentencia para privilegios sobre los objetos es la siguiente: grant {privilegio_objeto[,privilegio_objeto]...| all [privileges]} [(columna [,columna]...)] on [usuario.]objeto} to {usuario|rol| public [,{usuario|rol|public} ...] [with grant option]; Mientras que la sentencia para crear privilegios de sistema es la siguiente: grant {privilegio|rol} [,privilegio|rol}, ....] to {usuario|rol| public [,{usuario|rol|public} ...] [with admin option];
  • 30. Te doy la bienvenida a la quinta unidad del curso de administrador de Bases de Datos en Oracle, donde conocerás PL/SQL, su funcionamiento y expresiones, y terminaremos analizando la importancia que tiene en el mundo Oracle. PL/SQL es el lenguaje de programación incorporado en Oracle que permite la creación de procedimientos almacenados, funciones, disparadores y paquetes. Es un lenguaje completo que permite la manipulación de datos en una base de datos Oracle, y su integración con el SQL nativo permite la ejecución de operaciones complejas de búsqueda y manipulación de datos. Introducción al lenguaje PL/SQL
  • 31. Nos encontramos ante un gestor que va incorporado en Oracle para solventar las grandes limitaciones que teníamos con los editores SQL, en cuanto al control de las secuencias de ejecución de instrucciones, el uso de variables, la gestión de posibles errores, etc. Este lenguaje esta basado en ADA, por lo que incluye todas las características de los lenguajes de tercera generación. Esto nos permite manejar las variables, tener una estructura modular (procedimientos y funciones) y controlar las excepciones. Además incorpora un completo soporte para la programación orientada a objetos (POO). Introducción al lenguaje PL/SQL
  • 32. Los programas creados con PL/SQL los podemos almacenar en nuestra base de datos como cualquier otro objeto quedando disponibles para los usuarios. El uso del lenguaje PL/SQL es imprescindible para construir disparadores de bases de datos (triggers). PL/SQL esta incluido en el servidor y en algunas herramientas de cliente. Soporta todos los comandos de consulta y manipulación de datos, aportando al lenguaje SQL las estructuras de control y otros elementos propios de los lenguajes de programación de 3º generación. La unidad de trabajo en PL/SQL es el bloque, constituido por un conjunto de declaraciones, instrucciones y mecanismos de gestión de errores y excepciones. Introducción al lenguaje PL/SQL
  • 33. Con PL/SQL se pueden construir distintos tipos de programas: procedimientos, funciones y bloques anónimos, paquetes, etc. Todos ellos tienen en común una estructura básica denominada bloque. Un bloque tiene 3 zonas: Zona de declaraciones: donde se declaran objectos locales. Suele ir precedida por la cláusula declare (o is o as en los procedimientos y funciones). Un conjunto de instrucciones precedido por la cláusula BEGIN Zona de excepciones: es una zona opcional precedida por la cláusula EXCEPTION, donde se gestionan las excepciones. Bloques
  • 34. El formato genérico de un bloque es el siguiente: [ DECLARE <declaraciones>] BEGIN <instrucciones> [EXCEPTION <gestión de excepciones>] END; Las únicas cláusulas obligatorias son BEGIN y END Bloques
  • 35. El formato genérico de un bloque es el siguiente: [ DECLARE <declaraciones>] BEGIN <instrucciones> [EXCEPTION <gestión de excepciones>] END; Las únicas cláusulas obligatorias son BEGIN y END Bloques
  • 36. DECLARE v_num_empleados number(2); BEGIN insert into depart values(99,'provisional',null); update emple set dept_no=99 where dept_no=20; v_num_empleados:=SQL%ROWCOUNT; delete from depart where dept_no=20 DBMS_OUTPUT.PUT_LINE (v_num_empleados || 'Empleados cambiados a provisional'); Bloques
  • 37. DECLARE v_num_empleados number(2); BEGIN insert into depart values(99,'provisional',null); update emple set dept_no=99 where dept_no=20; v_num_empleados:=SQL%ROWCOUNT; delete from depart where dept_no=20 DBMS_OUTPUT.PUT_LINE (v_num_empleados || 'Empleados cambiados a provisional'); Bloques
  • 38. La ventaja de PL/SQL es que permite la integración de código SQL y lógica de programación en un solo entorno, lo que hace que sea más fácil de mantener y depurar. Además, PL/SQL es altamente escalable, por lo que es una solución ideal para las empresas que requieren un alto rendimiento y una gestión eficiente de la información. En resumen, PL/SQL es una herramienta esencial para los administradores de bases de datos y desarrolladores que desean aprovechar al máximo las capacidades de la base de datos de Oracle. Introducción al lenguaje PL/SQL
  • 39. Este lenguaje suele tener unos tipos de datos compatibles con SQL para las columnas de las tablas, pero además puede tener otros tipos de datos propios. Para declarar los datos en un bloque tenemos que utilizar una sintaxis como esta: DECLARE nombre_variable Tipo dato; BEGIN ... Definición de datos compatibles con SQL Un ejemplo seria este: DECLARE precio NUMBER(8,2); suma NUMBER(2) DEFAULT 0; prenda CHAR(20) NOT NULL :='Camiseta'; descripción VARCHAR2(15); BEGIN ....
  • 40. Una de las ventajas de PL/SQL es que nos permite declarar una variable del mismo tipo que otra variable o que una columna de una tabla. Esto lo hacemos con el atributo %TYPE. Definición de datos compatibles con SQL DECLARE nombre emple.nombre%TYPE; Otra ventaja es que nos permite guardar el contenido de una fila entera de una tabla en una variable. Esto lo hacemos con el atributo %ROWTYPE DECLARE mifila emple%ROWTYPE; Con esto ya podemos trabajar con variables dentro de nuestro bloque.
  • 41. Las estructuras de control son básicamente las mismas que podemos utilizar en cualquier lenguaje de programación. La vamos a dividir en estructuras de control alternativas (IF) y estructuras de control repetitivas (WHILE, FOR, LOOP) Estructuras de control La estructura del IF seria la siguiente: IF <condición> THEN instrucciones ELSEIF <condición> THEN instrucciones .... ELSE instrucciones END IF;
  • 42. La estructura del WHILE seria la siguiente: WHILE <condición> LOOP instrucciones END LOOP; La estructura del FOR se escribiría así: FOR <variable> IN <mínimo> <máximo> LOOP instrucciones END LOOP
  • 43. SELECT INTO: ● Mostrar el código de un cliente dado su código. Competencia: Desarrollar la solución de software de acuerdo con el diseño y metodologías de desarrollo. Resultados de Aprendizaje Alcanzar: Crear las tablas y objetos de la base de datos de acuerdo con el diseño y el motor de bases de datos seleccionado. Guía de aprendizaje
  • 44. Cursores implícitos ● Es importante saber que en nuestros bloques PL/SQL es bastante práctico el uso de cursores. En este lenguaje el resultado de una consulta no va directamente al terminal del usuario, sino que se guarda en un área de memoria a la que se accede mediante los nombrados cursores. Para realizar una consulta en PL/SQL tenemos que guardar el resultado en cursores. Esto es muy sencillo y basta con meter un INTO en las consultas. Un ejemplo seria
  • 45. select <columna/s> INTO <variable/s> from <tabla> [where] select count(*) INTO vnum from ventas; La variable que sigue al INTO recibe el valor de la columna. Por este motivo es importante que el tipo de dato de la variable coincida con el tipo de dato de la columna. Cursores implícitos
  • 46. Gestión de excepciones Las excepciones sirven para tratar los errores y mensajes. Oracle tiene una serie de excepciones que son las más frecuentes y con las que la mayoría de la gente trabaja. Unas de las más usadas son: NO_DATA_FOUND (cuando una orden tipo select no ha devuelto ningún valor) TOO_MANY_ROWS (cuando una orden tipo select ha devuelto mas de una fila) OTHERS THEN RAISE_APPLICATION_ERROR (para cualquier otro tipo de error desconocido) Un ejemplo seria el siguiente:
  • 47. Gestión de excepciones DECLARE vapellido varchar(10); voficio varchar(20); BEGIN select apellido,oficio INTO vape,voficio from emple where emp=15; DBMS_OUTPUT.PUT_LINE (vape||: - || voficio); EXCEPTION WHEN NO_DATA_FOUND THEN insert into temp values('No hay datos'); WHEN TOO_MANY_ROWS THEN insert into temp values ('Demasiados datos'); WHEN OTHER THEN RAISE_APPLICATION_ERROR(-2000,'Error en aplicación'); END;
  • 48. Cursores explícitos 1. Los cursores explícitos los utilizamos cuando tenemos consultas que nos devuelven más de una fila. Tenemos 4 operaciones básicas para trabajar con un cursor explícito. * Declaración del cursor: lo tenemos que declarar en la zona de declaraciones, con el siguiente formato: CURSOR <nombrecursor> IS <sentencia SELECT>; 2. Apertura del cursor: Deberá colocarse en la zona de instrucciones, con el siguiente formato: OPEN <nombrecursor>; Al hacerlo se ejecuta automáticamente la sentencia select y sus resultados se almacenan en las estructuras internas de memoria manejadas por el cursor.
  • 49. Cursores explícitos 3. Recogida de información: Para recuperar la información anteriormente guardada en las estructuras de memoria interna tenemos que usar el siguiente formato: FETCH <nombrecursor> INTO {<variable> | <listavariables>}; Si tenemos una única variable que recoge los datos de todas las columnas, el formato de la variable seria el siguiente: <variable> <nombrecursor>%ROWTYPE;
  • 50. Cursores explícitos 4. Si tenemos una lista de variables, cada una recogerá la columna correspondiente de la cláusula select, por lo que serán del mismo tipo que las columnas. - Cierre del cursor: CLOSE <nombrecursor>;