Consultas al diccionario de datos
1 Oracle Database como RDBMS
- Base de datos: recopilación organizada de información.
- Para gestionar una base de datos, es necesario un DBMS.
- DBMS (DataBase Management System), sistema de gestión de base de datos.
- DBMS: almacena, recupera y modifica los datos a petición.
- RDBMS (Relational DataBase Management System)
- RDBMS organiza los datos en formato relacional (tablas). Gestiona las relaciones entre los datos, mediante
JOINS
y restricciones de integridad referencial.
2 Modelo Relacional
- Es la base de los sistemas de datos relacionales (RDBMS).
- Son todos los conceptos visto en la asignatura pasada de ‘Fundamentos de Base de Datos’.
3 Sentencias SQL
3.1 Lenguaje de Manipulación de Datos (DML)
Se utiliza para manipular los datos dentro de las tablas de una base de datos. Las sentencias DML no afectan la estructura de la base de datos, solo los datos almacenados en ella.
SELECT | recupera datos de la base de datos |
INSERT | introduce nuevas filas |
UPDATE | cambia las filas existentes |
DELETE | elimina las filas no deseadas |
MERGE | combina INSERT , UPDATE y DELETE en una sola operación |
3.2 Lenguaje de Definición de Datos (DDL)
Se utiliza para definir la estructura de las bases de datos, incluyendo tablas, índices, vistas y esquemas. Las sentencias DDL no afectan directamente los datos, sino la estructura de la base de datos. Las sentencias DDL son generalmente permantentes, es decir, una vez ejecutadas no se pueden revertir fácilmente.
CREATE | crea nuevos objetos de base de datos, como tablas, vistas, índices y esquemas |
ALTER | modifica la estructura de un objeto existente |
DROP | elimina un objeto de la base de datos |
RENAME | cambia el nombre de un objeto de base de datos |
TRUNCATE | elimina todas las filas de una tabla rápidamente, sin generar registros individuales de eliminación (es más eficiente que DELETE cuando se desea vaciar la tabla) |
COMMENT | añade comentarios descriptivos a los objetos de base de datos, como tablas y columnas, para facilitar la documentación |
GRANT | concede permisos a los usuarios o roles para realizar acciones en la base de datos (como SELECT, INSERT) |
REVOKE | revoca permisos previamente otorgados a usuarios o roles |
3.3 Transacciones
Permiten ejecutar múltiples operaciones de forma atómica, es decir, que o se completen todas con éxito, o ninguna de ellas se aplica en caso de error. Esto asegura la integridad de la base de datos.
COMMIT | confirma permanentemente los cambios realizados en la base de datos durante una transacción |
ROLLBACK | deshace los cambios realizados en la transacción actual, restaurando el estado anterior |
SAVEPOINT | establece un punto dentro de una transacción al que se puede volver con ROLLBACK sin deshacer toda la transacción |
3.4 Ejemplo de Creación de tablas con SQL
CREATE TABLE DEPARTAMENTO (
NUMBER,
ID_DEPARTAMENTO VARCHAR2(50) CONSTRAINT DEPARTAMENTO_NOMBRE_NN NOT NULL,
NOMBRE VARCHAR2(50),
UBICACION CONSTRAINT PK_DEPARTAMENTO PRIMARY KEY (ID_DEPARTAMENTO)
);
CREATE TABLE CARGO (
NUMBER,
ID_CARGO VARCHAR2(50) CONSTRAINT CARGO_NOMBRE_NN NOT NULL,
NOMBRE VARCHAR2(200),
DESCRIPCION CONSTRAINT PK_CARGO PRIMARY KEY (ID_CARGO)
);
CREATE TABLE EMPLEADO (
NUMBER,
ID_EMPLEADO VARCHAR2(50),
NOMBRE VARCHAR2(50) CONSTRAINT EMPLEADO_APELLIDO_NN NOT NULL,
APELLIDO NUMBER DEFAULT 1200,
SUELDO DATE DEFAULT SYSDATE,
FECHA_CONTRATACION NUMBER,
PORCENTAJE_COMISION NUMBER,
ID_DEPARTAMENTO NUMBER,
ID_CARGO CONSTRAINT PK_EMPLEADO PRIMARY KEY (ID_EMPLEADO),
CONSTRAINT FK_EMPLEADO_DEPARTAMENTO FOREIGN KEY (ID_DEPARTAMENTO)
REFERENCES DEPARTAMENTO (ID_DEPARTAMENTO),
CONSTRAINT FK_EMPLEADO_CARGO FOREIGN KEY (ID_CARGO)
REFERENCES CARGO (ID_CARGO)
);
4 Diccionario de datos de Oracle
Consiste en los metadatos de la base de datos y contiene tanto los nombres como los atributos de todos los objetos de la base de datos. La creación o modificación de un objeto provoca la actualización del diccionario de datos para reflejar dichos cambios.
Lo utiliza el servidor de Oracle Database para encontrar información acerca de usuarios, objetos, restricciones y almacenamiento
Lo mantiene el servidor de Oracle Database a medida que las estructuras o definiciones de objetos se modifican
Lo puede utilizar cualquier usuario para consultar información acerca de la base de datos
Es propiedad del usuario SYS
No se debe modificar directamente mediante SQL