http://www.tutorialesprogramacionya.com/oracleya/
https://www.javatpoint.com/oracle-insert-all
miércoles, 25 de septiembre de 2019
lunes, 23 de septiembre de 2019
INNER JOIN ORACLE
INNER JOIN con 2 tablas
INNER JOIN con 3 tablas
Existen distintas formas de hacer INNER JOIN, aquí 4 ejemplos:
(Using y Natural Join no sirve con asterisco en select)
viernes, 20 de septiembre de 2019
Patrones de Busqueda LIKE-NOTLIKE
Existe un operador relacional que se usa para realizar comparaciones exclusivamente de cadenas, "like" y "not like".
Hemos realizado consultas utilizando operadores relacionales para comparar cadenas. Por ejemplo, sabemos recuperar los libros cuyo autor sea igual a la cadena "Borges":
select *from libros
where autor='Borges';
El operador igual ("=") nos permite comparar cadenas de caracteres, pero al realizar la comparación, busca coincidencias de cadenas completas, realiza una búsqueda exacta.
Imaginemos que tenemos registrados estos 2 libros:
"El Aleph", "Borges";
"Antologia poetica", "J.L. Borges";
Si queremos recuperar todos los libros de "Borges" y especificamos la siguiente condición:
select *from libros
where autor='Borges';
sólo aparecerá el primer registro, ya que la cadena "Borges" no es igual a la cadena "J.L. Borges".
Esto sucede porque el operador "=" (igual), también el operador "<>" (distinto) comparan cadenas de caracteres completas. Para comparar porciones de cadenas utilizamos los operadores "like" y "not like".
Entonces, podemos comparar trozos de cadenas de caracteres para realizar consultas. Para recuperar todos los registros cuyo autor contenga la cadena "Borges" debemos tipear:
select *from libros
where autor like "%Borges%";
El símbolo "%" (porcentaje) reemplaza cualquier cantidad de caracteres (incluyendo ningún caracter). Es un caracter comodín. "like" y "not like" son operadores de comparación que señalan igualdad o diferencia.
Para seleccionar todos los libros que comiencen con "M":
select *from libros
where titulo like 'M%';
Note que el símbolo "%" ya no está al comienzo, con esto indicamos que el título debe tener como primera letra la "M" y luego, cualquier cantidad de caracteres.
Para seleccionar todos los libros que NO comiencen con "M":
select *from libros
where titulo not like 'M%';
Así como "%" reemplaza cualquier cantidad de caracteres, el guión bajo "_" reemplaza un caracter, es otro caracter comodín. Por ejemplo, queremos ver los libros de "Lewis Carroll" pero no recordamos si se escribe "Carroll" o "Carrolt", entonces tipeamos esta condición:
select *from libros
where autor like "%Carrol_";
"like" se emplea con tipos de datos caracter y date. Si empleamos "like" con tipos de datos que no son caracteres, Oracle convierte (si es posible) el tipo de dato a caracter. Por ejemplo, queremos buscar todos los libros cuyo precio se encuentre entre 10.00 y 19.99:
select titulo,precio from libros
where precio like '1_,%';
Queremos los libros que NO incluyen centavos en sus precios:
select titulo,precio from libros
where precio not like '%,%';
Los valores nulos no se incluyen en las búsquedas con "like" y "not like".
Retornar
Hemos realizado consultas utilizando operadores relacionales para comparar cadenas. Por ejemplo, sabemos recuperar los libros cuyo autor sea igual a la cadena "Borges":
select *from libros
where autor='Borges';
El operador igual ("=") nos permite comparar cadenas de caracteres, pero al realizar la comparación, busca coincidencias de cadenas completas, realiza una búsqueda exacta.
Imaginemos que tenemos registrados estos 2 libros:
"El Aleph", "Borges";
"Antologia poetica", "J.L. Borges";
Si queremos recuperar todos los libros de "Borges" y especificamos la siguiente condición:
select *from libros
where autor='Borges';
sólo aparecerá el primer registro, ya que la cadena "Borges" no es igual a la cadena "J.L. Borges".
Esto sucede porque el operador "=" (igual), también el operador "<>" (distinto) comparan cadenas de caracteres completas. Para comparar porciones de cadenas utilizamos los operadores "like" y "not like".
Entonces, podemos comparar trozos de cadenas de caracteres para realizar consultas. Para recuperar todos los registros cuyo autor contenga la cadena "Borges" debemos tipear:
select *from libros
where autor like "%Borges%";
El símbolo "%" (porcentaje) reemplaza cualquier cantidad de caracteres (incluyendo ningún caracter). Es un caracter comodín. "like" y "not like" son operadores de comparación que señalan igualdad o diferencia.
Para seleccionar todos los libros que comiencen con "M":
select *from libros
where titulo like 'M%';
Note que el símbolo "%" ya no está al comienzo, con esto indicamos que el título debe tener como primera letra la "M" y luego, cualquier cantidad de caracteres.
Para seleccionar todos los libros que NO comiencen con "M":
select *from libros
where titulo not like 'M%';
Así como "%" reemplaza cualquier cantidad de caracteres, el guión bajo "_" reemplaza un caracter, es otro caracter comodín. Por ejemplo, queremos ver los libros de "Lewis Carroll" pero no recordamos si se escribe "Carroll" o "Carrolt", entonces tipeamos esta condición:
select *from libros
where autor like "%Carrol_";
"like" se emplea con tipos de datos caracter y date. Si empleamos "like" con tipos de datos que no son caracteres, Oracle convierte (si es posible) el tipo de dato a caracter. Por ejemplo, queremos buscar todos los libros cuyo precio se encuentre entre 10.00 y 19.99:
select titulo,precio from libros
where precio like '1_,%';
Queremos los libros que NO incluyen centavos en sus precios:
select titulo,precio from libros
where precio not like '%,%';
Los valores nulos no se incluyen en las búsquedas con "like" y "not like".
Retornar
Tipo de Cuentas Oracle
Cuentas Oracle
Sys y System
Ambos usuario son creados de forma automática al crear la base de datos ORACLE y se otorga el rol de DBA.
SYS:
Todas las tablas y vistas para el diccionario de datos de la base de datos están almacenados en el esquema SYS. Estas tablas y vistas son críticas para el funcionamiento de la base de datos ORACLE. Para mantener la integridad del diccionario de datos, las tablas del esquema SYS son manipulados solo por la base de datos. Nunca se debería modificar algo o crear tablas en el esquema del usuario SYS.
SYSTEM:
El usuario SYSTEM se utiliza para crear tablas y vistas adicionales que muestran información administrativa, tablas internas y vistas utilizado por varias opciones y herramientas de la base de datos ORACLE. No se recomienda utilizar el esquema SYSTEM para almacenar tablas de interés para usuarios no administrativos.
HR
Human Resource
¿Qué es un esquema de base de datos?
Un esquema de base de datos representa la configuración lógica de todo o parte de una base de datos relacional. Puede existir de dos formas: como representación visual y como un conjunto de fórmulas conocidas como restricciones de integridad que controlan una base de datos. Estas fórmulas se expresan en un lenguaje de definición de datos, tal como SQL. Como parte de un diccionario de datos, un esquema de base de datos indica cómo las entidades que conforman la base de datos se relacionan entre sí, incluidas las tablas, las vistas, los procedimientos almacenados y mucho más.jueves, 19 de septiembre de 2019
Curso Base de Datos Oracle 19 Sep
¿Qué es Oracle?
Oracle es básicamente un herramienta cliente/servidor para la gestión de base de datos, es un producto vendido a nivel mundial, aunque la gran potencia que tiene y su elevado precio hace que solo se vea en empresas muy grandes y multinacionales, por norma general.
Oracle como antes lo mencionamos se basa en la tecnología cliente/ servidor, pues bien, para su utilización primero seria necesario la instalación de la herramienta servidor ( Oracle8i ) 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 de programación sobre Oracle a partir de esta premisa vamos a desarrollar las principales acepciones de Oracle y sus aplicaciones en las distintas ares de trabajo.
Características
- Modelo relacional: los usuarios visualizan los datos en tablas con el formato filas/columnas.
- Herramienta de administración gráfica intuitiva y cómoda de utilizar.
- Control de acceso: tecnologías avanzadas para vigilar la entrada a los datos.
- Protección de datos: seguridad completa en el entorno de producción y de pruebas y gestión de copias de seguridad.
- Lenguaje de diseño de bases de datos muy completo (PL/SQL): permite implementar diseños "activos", que se pueden adaptar a las necesidades cambiantes de negocio.
- Alta disponibilidad: escalabilidad, protección y alto rendimiento para la actividad empresarial.
- Gestión de usuarios: agilidad en los trámites, reducción de costes y seguridad en el control de las personas que acceden a las aplicaciones y a los sistemas.
Ventajas
- Motor de base de datos objeto-relacional más usado a nivel mundial.
- Multiplataforma: puede ejecutarse desde un PC hasta una supercomputadora.
- Permite el uso de particiones para hacer consultas, informes, análisis de datos, etc.
- Soporta todas las funciones que se esperan de un buen servidor.
- Software del servidor que puede ejecutarse en multitud de sistemas operativos: Linux, Mac, Windows, etc.
- Existe incluso una versión personal para Windows 9x, lo cual es un punto a favor para los desarrolladores que se llevan trabajo a casa.
- Oracle es la base de datos con más orientación hacía INTERNET.
Desventajas
- Las versiones más recientes de Oracle son la 11g, 10g, 9g, 8g, desde el lanzamiento original de la 8 se sucedieron varias versiones con correcciones, hasta alcanzar la estabilidad en la 8.0.3. El motivo de tantos fallos fue, al parecer, la remodelación del sistema de almacenamiento por causa de la introducción de extensiones orientadas a objetos.
- El mayor inconveniente de Oracle es quizás su precio. Incluso las licencias de Personal Oracle son excesivamente caras, en mi opinión. Otro problema es la necesidad de ajustes. Un error frecuente consiste en pensar que basta instalar el Oracle en un servidor y enchufar directamente las aplicaciones clientes. Un Oracle mal configurado puede ser desesperantemente lento.
- También es elevado el coste de la información, y sólo últimamente han comenzado a aparecer buenos libros sobre asuntos técnicos distintos de la simple instalación y administración.
Versiones de Oracle
Standard Edition One
Ofrece facilidad de uso, potencia y rendimiento para grupos de trabajo, a nivel de departamentos y aplicaciones Web. Desde los entornos de un solo servidor para pequeñas empresas a los entornos de sucursales altamente distribuidos.
Standard Edition
Oracle Database Standard Edition ofrece las funcionalidades de la edición Standard Edition One, con el apoyo de máquinas más grandes y la agrupación de los servicios con Oracle Real Application Clusters (Oracle RAC). La funcionalidad no se incluía ni como opción en versiones estandard anteriores.
Enterprise Edition
Ofrece el rendimiento, la disponibilidad, la escalabilidad y la seguridad necesaria para las aplicaciones de misión crítica, tales como el procesamiento de grandes volúmenes de transacciones en línea (OLTP), almacenes de datos en consultas intensivas y exigentes aplicaciones de Internet.
Express Edition (XE)
Es una edición básica de la base de datos de Oracle. Es rápida de descargar, fácil de instalar y administrar, y es libre de desarrollar, implementar y distribuir. Es fácil de actualizar a las otras ediciones de Oracle sin migraciones costosas y complejas. Oracle Database XE se puede instalar en cualquier máquina tamaño con cualquier número de CPUs, almacena hasta 11 GB de datos de usuario, con un máximo de 1 GB de memoria, y con una sola CPU en la máquina host. Existe un foro en línea, para dar soporte.
Personal
Soporta los entornos de desarrollo de un solo usuario y el despliegue que requieren la plena compatibilidad con Oracle Database Standard Edition One, Oracle Database Standard Edition y Oracle Database Enterprise Edition. Le diferencia la excepción de la no opción de Oracle Real Application Clusters. Personal Edition sólo está disponible en los sistemas operativos Windows y Linux. Tampoco incluye los módulos de administración no están incluidos.
Limitaciones XE
La diferencia principal entre estas dos versiones es que la Express Edition es ideal para desarrollo de pequeñas webs. Es la versión gratuita de Oracle Database por lo que tiene las siguientes limitaciones:
- Sólo aprovecha 1 cpu del servidor.
- Sólo se puede asignar 1 Gb de memoria a la instancia.
- El tamaño máximo de la BD no puede superar los 4 Gb.
SQL plus
SQL*Plus es un programa de línea de comandos de Oracle que puede ejecutar comandos SQL y PL/SQL de forma interactiva o mediante un script.
SQL*Plus opera como una herramienta relativamente simple con una interfaz de líneas de comando básica. Los programadores y los administradores de bases de datos (DBA's) lo usan de forma muy común como interfaz fundamental en la mayoría de las instalaciones de software de Oracle.
SQL Developer
Oracle SQL Developer es la herramienta gráfica gratuita que proporciona Oracle para que no sea necesario utilizar herramientas de terceros (como el conocido TOAD, o el PL/SQL Developer) para desarrollar, o simplemente para ejecutar consultas o scripts SQL, tanto DML como DDL, sobre bases de datos Oracle.
¿Qué es SQL?
SQL (por sus siglas en inglés Structured Query Language; en español lenguaje de consulta estructurada) es un lenguaje de dominio específico utilizado en programación, diseñado para administrar, y recuperar información de sistemas de gestión de bases de datos relacionales.1 Una de sus principales características es el manejo del álgebra y el cálculo relacional para efectuar consultas con el fin de recuperar, de forma sencilla, información de bases de datos, así como realizar cambios en ellas.
Clásificación (Sentencias) de SQL
DML
DML significa DATA MANIPULATION LANGUAGE, este se utiliza para todas las transacciones de control sobre datos, esta categoría va destinada mas hacia las tablas, ya que en estas es donde se pueden emplear mayormente estas sentencias, con DML se puede insertar registros a las tablas, también modificarlas, consultarlas y hasta eliminarlas.
Esta categoría esta comprendida mas exactamente por las siguientes sentencias:
- SELECT - Instrucción básica con la cual se recupera datos de la base de datos, está instrucción se puede combinar con otras para hacer querys más complejas utilizando más tablas.
- INSERT - Instrucción básica para insertar datos en una tabla, está instrucción depende de otras dos para hacer una inserción básica, estás son INTO Y VALUES.
- UPDATE - Actualiza los datos de los registros de una o varias tablas.
- DELETE - Elimina uno o varios registros de una tabla, si se elimina en cascada se eliminarán en todos los registros que estén relacionados en otras tablas.
- MERGE - Operación UPSERT (inserción o actualización).
- CALL - Llama a un pl / sql o subprograma java.
- EXPLAIN PLAN - Explicar la ruta de acceso a los datos.
- LOCK TABLE - Concurrencias de control.
DDL
DDL significa DATA DEFINITION LANGUAGE, este sirve para definir las estructuras de bases de datos. mas especificamente sirve para crear tablas, usuarios, schemas, objetos, vistas, triggers y todo lo que permita el gestor. ademas de las anterior opción da también otras instrucciones que ayudan al manejo y mantenimiento arquitectónico del gestor.
Estas categoría esta conformada por las siguientes instrucciones:
CREATE - Crear cualquier tipo de objeto permitido por el gestor.
ALTER - Altera la estructura de cualquier objeto permitido por el gestor.
DROP - Elimina los objetos construidos por la sentencia CREATE.
TRUNCATE - Vacia el contenido de cualquier objeto en el gestor.
COMMENT - Agregar comentarios al diccionario de base de datos.
RENAME - Renombrar a un objeto.
DCL
DCL significa por sus siglas en inglés Lenguaje de Control de Datos, este es un lenguaje proporcionado por el gestor de Base de Datos, que sirve para controlar el acceso a los datos en diferentes niveles y formas, mas familiar mente serian las instrucciones que utiliza el DBA (Administrador de la Base de Datos), para controlar el acceso y permisos de los usuarios que actúan dentro del sistema, así podiendo dar permisos a un usuario de crear tablas, eliminar registros, actualizar usuarios etc ....
• GRANT: Permite suministrarle los suficientes permisos a un usuario para que ejecuten sus tareas en el sistema.
• REVOKE: Permite eliminar los permisos dados por el DBA con la instrucción GRANT
• CONNECT
• SELECT
• INSERT
• UPDATE
• DELETE
• USAGE
En Oracle, la ejecución de un comando DCL implica un COMMIT de forma implícita. Sin embargo, en PostgreSQL, la ejecución de un comando DCL forma parte de una transacción, por lo que puede ser deshecha mediante el comando ROLLBACK.
CONTROL DE TRANSACCIÓN (TCL)
Es un lenguaje de programación y un subconjunto de SQL , que se utiliza para controlar el procesamiento de transacciones en una base de datos. Una transacción es una unidad lógica de trabajo que comprende una o más sentencias SQL, por lo general un grupo de Data Manipulation Language (DML). Ejemplos de comandos de TCL incluyen:
• COMMIT - GUARDA EL TRABAJO REALIZADO.
• SAVEPOINT - IDENTIFICA UN PUNTO EN UNA TRANSACCIÓN A LA QUE MÁS TARDE SE PUEDE VOLVER.
• ROLLBACK - RESTAURAR LA BASE DE DATOS A LA ORIGINAL, HASTA EL ÚLTIMO COMMIT.
• SET TRANSACTION - CAMBIA LAS OPCIONES DE TRANSACCIÓN COMO NIVEL DE AISLAMIENTO Y QUÉ SEGMENTO DE CANCELACIÓN UTILIZA.
Lenguaje de Manipulación de Datos
Sintaxis Básica
| Recupera datos de la base de datos. Añade nuevas filas de datos a la base de datos. Suprime filas de datos de la base de datos. Modifica datos existentes en la base de datos. |
Transacciones en SQL
Las transacciones en SQL son unidades o secuencias de trabajo realizadas de forma ordenada y separada en una base de datos. Normalmente representan cualquier cambio en la base de datos, y tienen dos objetivos principales:
Proporcionar secuencias de trabajo fiables que permitan poder recuperarse fácilmente ante errorres y mantener una base de datos consistente incluso frente a fallos del sistema.
Proporcionar aislamiento entre programas accediendo a la vez a la base de datos.
Una transacción es una propagación de uno o más cambios en la base de datos, ya sea cuando se crea, se modifica o se elimina un registro. En la práctica suele consistir en la agrupación de consultas SQL y su ejecución como parte de una transacción.
Propiedades de las transacciones
Las transacciones siguen cuatro propiedades básicas, bajo el acrónimo ACID (Atomicity, Consistency, Isolation, Durability):
Atomicidad: aseguran que todas las operaciones dentro de la secuencia de trabajo se completen satisfactoriamente. Si no es así, la transacción se abandona en el punto del error y las operaciones previas retroceden a su estado inicial.
Consistencia: aseguran que la base de datos cambie estados en una transacción exitosa.
Aislamiento: permiten que las operaciones sean aisladas y transparentes unas de otras.
Durabilidad: aseguran que el resultado o efecto de una transacción completada permanezca en caso de error del sistema.
Control de las transacciones
Existen tres comandos básicos de control en las transacciones SQL:
COMMIT. Para guardar los cambios.
ROLLBACK. Para abandonar la transacción y deshacer los cambios que se hubieran hecho en la transacción.
SAVEPOINT. Crea checkpoints, puntos concretos en la transacción donde poder deshacer la transacción hasta esos puntos.
Los comandos de control de transacciones se usan sólo con INSERT, DELETE y UPDATE. No pueden utilizarse creando tablas o vaciándolas porque las operaciones se guardan automáticamente en la base de datos.
Suscribirse a:
Entradas (Atom)