0% encontró este documento útil (0 votos)
7 vistas

SQL

El documento proporciona una introducción al lenguaje SQL, destacando su importancia en la gestión de bases de datos relacionales y su demanda en el mercado laboral. Se describen las clasificaciones de comandos SQL, incluyendo DDL, DML, DCL y TCL, así como ejemplos de su uso para crear, modificar y eliminar objetos y datos en una base de datos. Además, se abordan conceptos clave como constraints, transacciones y consultas, ofreciendo ejemplos prácticos para su implementación.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
7 vistas

SQL

El documento proporciona una introducción al lenguaje SQL, destacando su importancia en la gestión de bases de datos relacionales y su demanda en el mercado laboral. Se describen las clasificaciones de comandos SQL, incluyendo DDL, DML, DCL y TCL, así como ejemplos de su uso para crear, modificar y eliminar objetos y datos en una base de datos. Además, se abordan conceptos clave como constraints, transacciones y consultas, ofreciendo ejemplos prácticos para su implementación.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 41

SQL

Bases de datos II
Ingeniería de Sistemas y Computación
Ing. Mauro Asdrubal Pita Puerto
2024 - II
Structured Query Lenguage (SQL)
• Lenguaje estandarizado para la gestión y administración de datos en una base de datos
relacional.

• Principal lenguaje de las bases de datos relacionales.

• Su habilidad requiere de experiencia.

• Es muy demandado en el mercado laboral.

• Basado en sentencias de álgebra relacional.

• Estandarizado por la ANSI/ISO.


Comandos SQL
• DDL: CREATE, ALTER, DROP, RENAME

• DML: INSERT, UPDATE, DELETE, MERGE (Opcional)

• DCL: GRANT, REVOKE.

• TCL: COMMIT, ROLLBACK, SAVEPOINT.

• SELECT.
DDL
Es la clasificación de SQL que permite realizar determinadas
operaciones con los objetos del esquema de la base de datos.

• CREATE
• ALTER
• DROP
• RENAME
CREATE
CREATE tipo_objeto nombre_objeto …….;

• Se pueden crear: tablas, tablespaces, vistas, usuarios, etc.


• La sentencia puede variar dependiendo del objeto que estemos
creando.
Tabla
Objeto de la base de datos que permite almacenar registros de datos.

• Contiene filas
• Contiene columnas
• Contiene restricciones: tipos de datos, reglas, etc.
• Contiene encabezados.
Crear tablas
CREATE TABLE nombre_tabla (
nombre_columna1 tipo_dato obligatoriedad ….,
……
nombre_columna1 tipo_dato obligatoriedad ….
);
Ejemplo de creación
CREATE TABLE usuarios (
id_usuario INT,
nombre CHAR(10),
fecha_nacimiento DATE,
telefono CHAR(10),
salario NUMBER(6,2)
);
Ver la estructura de una tabla
DESCRIBE nombre_tabla;

DESC nombre_tabla;
Consulta de tablas del esquema actual
SELECT * FROM ALL_TABLES;

SELECT * FROM TAB;


Constraints
Objeto de la base de datos que permite declarar reglas sobre el
funcionamiento de las tablas.

• Deben tener nombre propio dentro del esquema.


• Se definen dependiendo el tipo de constraint a utilizar.
Tipos de constraints
• Primary key

• Foreign key

• Check

• Unique
Creación de un constraint de llave primaria.
ALTER TABLE nombre_tabla ADD CONSTRAINT nombre_constraint PRIMARY KEY
(nombre_columna, …, nombre_columnaN);

CREATE TABLE nombre_tabla (


nombre_columna tipo_dato obligatoriedad PRIMARY KEY
);

CREATE TABLE nombre_tabla (


nombre_columna tipo_dato obligatoriedad,
CONSTRAINT nombre_constraint PRIMARY KEY (nombre_columna, …,
nombre_columnaN)
);
Creación de una llave foránea
ALTER TABLE nombre_tabla ADD CONSTRAINT nombre_constraint
FOREIGN KEY (nombre_columna, …, nombre_columnaN) REFERENCES
nombre_tabla_ref (nombre_columna_ref, …, nombre_columna_refN);

CREATE TABLE nombre_tabla (


nombre_columna tipo_dato obligatoriedad,
CONSTRAINT nombre_constraint FOREIGN KEY (nombre_columna, …,
nombre_columnaN) REFERENCES nombre_tabla_ref
(nombre_columna_ref, …, nombre_columna_refN)
);
Creación de un Check
ALTER TABLE nombre_tabla ADD CONSTRAINT nombre_constraint
CHECK KEY (operacion);

CREATE TABLE nombre_tabla (


nombre_columna tipo_dato obligatoriedad,
CONSTRAINT nombre_constraint CHECK KEY (operacion)
);
Creación de un Unique
ALTER TABLE nombre_tabla ADD CONSTRAINT nombre_constraint
UNIQUE (nombre_columna);

CREATE TABLE nombre_tabla (


nombre_columna tipo_dato obligatoriedad,
CONSTRAINT nombre_constraint UNIQUE (nombre_columna)
);
Importante
• Los constaints ayudan a que el modelo sea más consistente.

• Los constraints ayudan que los datos sean más coherentes.

• Importantes definirlos antes de iniciar a gestionar datos.


Consultar constraints
SELECT CONSTRAINT_NAME
FROM USER_CONSTRAINTS;
Consultar constraints de un tipo
SELECT CONSTRAINT_NAME
FROM USER_CONSTRAINTS
WHERE CONSTRAINT_TYPE = 'P';
ALTER
ALTER tipo_objeto nombre_objeto ….;

• Modifica la estructura de una tabla.


• Modifica base de datos o archivos asociados.
• En una tabla se permite:
• Agregar columnas
• Agregar constraints
• Eliminar columnas
• Eliminar constraints
Ejemplo de ALTER
ALTER TABLE nombre_tabla ADD nombre_columna tipo_dato
obligatoriedad;

ALTER TABLE nombre_tabla ADD CONSTRAINT nombre_constraint


tipo_constraint condición;

ALTER TABLE nombre_tabla DROP COLUMN nombre_columna;

ALTER TABLE nombre_tabla DROP CONSTRAINT nombre_constraint;


DROP
DROP tipo_objeto nombre_objeto ….;

• Se pueden eliminar: tablas, tablespaces, vistas, usuarios, etc.


• La sentencia puede variar dependiendo del objeto que estemos
creando.
Ejemplo para eliminar un constraint

ALTER TABLE nombre_tabla DROP CONSTRAINT nombre_restriccion;

• Si se necesita modificar una restricción, primero se elimina y luego se


crea nuevamente.
Ejemplo de eliminación de tabla
DROP TABLE nombre_tabla CASCADE CONSTRAINTS;

• CASCADE CONSTRAINTS, se utiliza para eliminar una tabla existente


junto con todas las restricciones de integridad referencial que hacen
referencia a claves primarias y únicas en esa tabla.
RENAME
ALTER tipo_objeto nombre_objeto …;

Al renombrar un objeto, automáticamente Oracle traslada:

• Restricciones de integridad
• Índices
• Privilegios
Ejemplo de renombrar una tabla
ALTER TABLE nombre_tabla RENAME TO nuevo_nombre;
DML
Es la clasificación de SQL que permite realizar determinadas
operaciones con los datos que se gestionan en la base de datos.

• INSERT
• UPDATE
• DELETE
• MERGE (Opcional)
INSERT
Permite insertar registros de datos en una tabla.

INSERT INTO nombre_tabla (nombre_columna, …, nombre_columnaN)


VALUES (nombre_valor, …, nombre_valor N);

INSERT INTO nombre_tabla VALUES (nombre_valor, …, nombre_valor


N);
UPDATE
Permite actualizar datos de uno o varios registros de una tabla.

UPDATE nombre_tabla SET nombre_columna = valor, …,


nombre_columnaN = valorN;

UPDATE nombre_tabla SET nombre_columna = valor, …,


nombre_columnaN = valorN
WHERE condición;
DELETE
Permite eliminar uno o varios registros de una tabla.

DELETE FROM nombre_tabla;

DELETE FROM nombre_tabla WHERE condición;


MERGE
• Permite combinar datos en una sola operación.

MERGE INTO tabla_destino


USING tabla_origen
ON condición
WHEN MATCHED THEN
UPDATE SET columna1 = valor1, columna2 = valor2
WHEN NOT MATCHED THEN
INSERT (columna1, columna2) VALUES (valor1, valor2);
DCL
Son comando que permiten controlar el acceso en la base de datos.

• GRANT: Dar permisos

GRANT CONNECT, RESOURCE TO nombre_usuario;


GRANT SELECT, INSERT ON nombre_objeto TO nombre_usuario;

• REVOKE: Quitar permisos.

REVOKE SELECT, INSERT ON nombre_tabla FROM nombre_usuario;


Consultar todos los privilegios de sistema
asignados a un usuario
SELECT *
FROM DBA_SYS_PRIVS
WHERE GRANTEE = 'nombre_de_usuario';
Consultar todos los privilegios de objeto
asignados a un usuario
SELECT *
FROM DBA_TAB_PRIVS
WHERE GRANTEE = 'nombre_de_usuario';
TCL
Comandos para controlar el acceso en la base de datos.

• COMMIT: Confirma una transacción.


• ROLLBACK: Deshace una transacción no confirmada.
• SAVEPOINT: Crea un punto de guardado dentro de una transacción.
• SET TRANSACTION: Establece propiedades de la transacción.
Ejemplo de Rollback
UPDATE accounts SET balance = balance - 500 WHERE id = 1;

SELECT balance FROM accounts WHERE id = 1;


--5000

ROLLBACK;

SELECT balance FROM accounts WHERE id = 1;


--5500

Importante: Deshace todos los cambios no confirmados en la transacción y no se pueden


recuperar los cambios una vez aplicado.
Ejemplo de Savepoint
UPDATE employees SET salary = 7000 WHERE last_name = 'Austin';

SAVEPOINT austin_sal;

UPDATE employees SET salary = 12000 WHERE last_name = 'Chen';

ROLLBACK TO SAVEPOINT austin_sal;

COMMIT;

Importante: Son útiles cuando se necesita un control más granular sobre las transacciones
y deseas revertir solo parte de los cambios.
Comando SELECT
• Se utiliza para recuperar datos y objetos de una base de datos.

• Es una de las operaciones más fundamentales del SQL.

• Los resultados de una consulta SELECT, se almacenan en una tabla de


resultados (conjunto de datos) y se pueden utilizar para visualizar,
analizar o manipular según sea el caso.
Consultar registros de la tabla
SELECT * FROM nombre_tabla;

SELECT columna1, columna2, …, columnaN FROM nombre_tabla;

SELECT columna1, columna2, …, columnaN FROM nombre_tabla


WHERE condicion;
Punto de partida para consultas con SQL
Actividad
Por medio de un ejemplo y utilizando tablas de un esquema propio,
explicar:

1. MERGE
2. SET TRANSACTION (cada uno de los tipos)

También podría gustarte