Está en la página 1de 19

TALLER LABORATORIO DE BASES DE DATOS

Nombre del Taller:


OPERACIONES SQL-DDL BASICAS EN DIFERENTES
MOTOR DE BASES DE DATOS RELACIONAL

Realizado por:
BRAYAN ALEXANDER SALAZAR REYES
Programa Académico:
INGENIERÍA DE SISTEMAS
Asignatura:
BASES DE DATOS
Semestre V
Docente o Tutor:
JOHN CARLOS ARRIETA ARRIETA

Institución Educativa
UNIVERSIDAD DE CARTAGENA
Fecha: 18/11/2020
Escribir las instrucciones exactas y correctas (previamente probadas) para realizar las siguientes acciones
sobre los motores de bases de datos: POSTGRESQL, POSTGRESQL, PostgreSQL

1. Acceder al Motor de BD desde el Cliente Terminal (línea de comandos o consola) por defecto del
Motor de BD, debe utilizar los datos de del usuario que viene incluido en la instalación del Motor.
2. Crear un nuevo usuario user_administrador, permisos o privilegios de superusuario y que tenga
acceso desde cualquier terminal (PC o IP).
3. Terminar o cerrar de la sesión de trabajo de un usuario desde el Cliente en Linea de comandos.
4. Acceder al Motor de BD desde un PC (terminal) diferente al utilizado por el Motor. Se debe usar los
datos de acceso del usuario user_administrador creado en el literal numero 2.
5. Mostrar los usuarios creados en el Motor de BD
6. Revocar o quitarle los permisos a un usuario
7. Eliminar un usuario de la BD.
8. Mostrar las Bases de datos que tiene asignadas el usuario user_administrador.
9. Crear una base de datos llamada mis_datos_en_sql
10. Mostrar las bases de datos creadas;
11. Cambiarle el nombre a una BD
12. Asignarle la BD mis_datos_en_sql a otro usuario por ejemplo al usuario user_administrador
13. Eliminar una Base de datos
14. Entrar o utilizar la BD mis_datos_en_sql
15. Mostrar las tablas de la BD mis_datos_en_sql
16. Crear tres tablas mis_datos_en_sql, las tablas deben seguir la siguiente estructura:

USUARIOS ( cedula Texto de 15 caracteres NO NULO LLAVE PRIMARIA, clave TEXTO de 20


caracteres NULO VALOR POR DEFECTO abcd123, nombre TEXTO de 100 caracteres NO
NULO, email TEXTO de 50 caracteres NULO UNICO, fecha_nacimiento DATE NULO,
presupuesto DECIMAL NO NULL, foto OBJETO BINARIO LARGO NULO)

MIS_GANANCIAS( id entero AUTO INCREMENTAL LLAVE PRIMARIA NO NULO, fecha_registro


FECHA DEL SISTEMA NULO, fecha_ingreso FECHA NULO, nombre TEXTO de 50
caracteres NO NULO, valor DECIMAL NO NULO, descripcion TEXTO de TAMAÑO VARIABLE
NULO, usuario_id Texto de 15 caracteres NO NULO LLAVE FORANEA que REFERENCIA a la
columna cedula de la tabla USUARIOS )

MIS_GASTOS(id entero AUTO INCREMENTAL LLAVE PRIMARIA NO NULO, fecha_registro FECHA


DEL SISTEMA NULO, fecha_gasto FECHA y HORA NULO, nombre TEXTO de 50 caracteres NO
NULO, valor DECIMAL NO NULO, descripcion TEXTO de TAMAÑO VARIABLE NULO, foto OBJETO
BINARIO LARGO NULO)

17. Mostrar la estructura de la tabla MIS_GANANCIAS


18. Agregar una nueva columna a la tabla MIS_GASTOS con las siguientes características:
usuario_id Texto de 15 caracteres NO NULO y debe estar después de la columna descripcion
19. Cambiar el nombre la columna descripcion por el nombre detalles en la tabla MIS_GASTOS
20. Cambiar la columna nombre para que ahora sea de tipo TEXTO de 100 caracteres en la tabla
MIS_GASTOS
21. Eliminar la columna foto en la tabla tabla MIS_GASTOS
22. Crear un indice llamado gastos_usuario_idx sobre la tabla MIS_GASTOS en la columna usuario_id
23. Cambiar la estructura de la tabla MIS_GASTOS para agregarle una restricción llamada
gastos_usuario_fk, esta restricción debe ser una LLAVE FORANEA que REFERENCIA a la columna
cedula de la tabla USUARIOS con integridad referencial tipo CASCADA al eliminar y actualizar.
24. Mostrar los indices de la tabla MIS_GASTOS
25. Cambiar el nombre a la tabla MIS_GANANCIAS por MIS_INGRESOS
26. Eliminar una Tabla
27. Realizar un backup con estructura y datos de la BD mis_datos_en_sql, guardando el backup en un
archivo llamado backup_mis_datos_en_sql.sql
28. Eliminar la Base de datos mis_datos_en_sql
29. Restaurar la BD mis_datos_en_sql desde el archivo backup_mis_datos_en_sql.sql
30. Realizar un cuadro comparativo (según al experiencia obtenida el desarrollo del ejercicio) sobre
cuales son las ventajas y desventajas en cuanto COMANDOS Y SINTAXIS entre los diferentes
motores de bd.
31. Según al experiencia obtenida el desarrollo del ejercicio debes elegir un motor y explicar los
motivos que justifican tu elección.
32. Hacer una cuadro comparativo que muestre cuales motores de BD tienen igual comando para
realizar las acciones u operaciones aprendidas durante el ejercicio.

ACCION:

Literal 1: Acceder al Motor de BD desde el Cliente Terminal (línea de comandos o consola) por defecto del
Motor de BD, debe utilizar los datos de del usuario que viene incluido en la instalación del Motor.

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

runpsql.bat pero este comando solo funcione si se creo una variable de entorno para poder utilizar el
comando
cd D:\Program Files\PostgreSQL\13\scripts
runpsql.bat
cabe aclarar que tengo instalado postgresql en el disco local D pero si usted lo instalo en el disco local C nada
más tiene que cambiar la letra D después del cd por C:
ACCION:

Literal 2: Crear un nuevo usuario user_administrador, permisos o privilegios de superusuario y que tenga
acceso desde cualquier terminal (PC o IP).

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

CREATE USER (nombre_usuario) PASSWORD (clave_usuario);

Para establecer el rol de super usuario


ALTER ROLE (nombre_user) WITH superuser;

ACCION:

Literal 3: Terminar o cerrar de la sesión de trabajo de un usuario desde el Cliente en Linea de comandos.

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

QUIT
ACCION:

Literal 4: Acceder al Motor de BD desde un PC (terminal) diferente al utilizado por el Motor. Se debe usar los
datos de acceso del usuario user_administrador creado en el literal numero 2

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

runpsql.bat
Server [localhost]:
Database [postgres]:
Port [5432]:
Username [postgres]: (nombre_usuario)
Contraseña para usuario nombre_usuario:

ACCION:

Literal 5.Mostrar los usuarios creados en el Motor de BD

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

\du
ACCION:

Literal 6: Revocar o quitarle los permisos a un usuario

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

REVOKE (NOMBRE_DEL_PERMISO) ON DATABASE (BD) FROM (USER);

ACCION:

Literal 7: Eliminar un usuario de la BD

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

DROP USER (USER);

ACCION:

Literal 8. Mostrar las Bases de datos que tiene asignadas el usuario user_administrador.

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

\l
ACCION:

Literal 9. Crear una base de datos llamada mis_datos_en_sql

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

CREATE DATABASE mis_datos_en_sql;

ACCION:

Literal 10. Mostrar las bases de datos creadas;

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

\l
ACCION:

Literal 11. Cambiarle el nombre a una BD

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

alter database (NOMBRE_ANTIGUO) rename to (NOMBRE_NUEVO);

ACCION:

Literal 12. Asignarle la BD mis_datos_en_sql a otro usuario por ejemplo al usuario user_administrador

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

GRANT ALL ON DATABASE mis_datos_en_sql to (USER);

ACCION:

Literal 13. Eliminar una Base de datos

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

DROP DATABASE (BD);

ACCION:
Literal 14. Entrar o utilizar la BD mis_datos_en_sql

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

\c mis_datos_en_sql

ACCION:

Literal 15. Mostrar las tablas de la BD mis_datos_en_sql

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

\d

ACCION:

Literal 16. Crear tres tablas mis_datos_en_sql, las tablas deben seguir la siguiente estructura:

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)
ACCION:

Literal 16. Crear tres tablas mis_datos_en_sql, las tablas deben seguir la siguiente estructura:

USUARIOS ( cedula Texto de 15 caracteres NO NULO LLAVE PRIMARIA, clave TEXTO de 20 caracteres NULO
VALOR POR DEFECTO abcd123, nombre TEXTO de 100 caracteres NO NULO, email TEXTO de 50 caracteres
NULO UNICO, fecha_nacimiento DATE NULO, presupuesto DECIMAL NO NULL, foto OBJETO BINARIO LARGO
NULO)

MIS_GANANCIAS( id ENTERO AUTO INCREMENTAL LLAVE PRIMARIA NO NULO, fecha_registro FECHA DEL
SISTEMA NULO, fecha_ingreso FECHA NULO, nombre TEXTO de 50 caracteres NO NULO, valor DECIMAL NO
NULO, descripcion TEXTO de TAMAÑO VARIABLE NULO, usuario_id Texto de 15 caracteres NO NULO LLAVE
FORANEA que REFERENCIA a la columna cedula de la tabla USUARIOS )

MIS_GASTOS(id ENTERO AUTO INCREMENTAL LLAVE PRIMARIA NO NULO, fecha_registro FECHA DEL
SISTEMA NULO, fecha_gasto FECHA y HORA NULO, nombre TEXTO de 50 caracteres NO NULO, valor
DECIMAL NO NULO, descripcion TEXTO de TAMAÑO VARIABLE NULO, foto OBJETO BINARIO LARGO NULO)

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

CREATE TABLE USUARIOS (


cedula varchar(15) not null primary key,
clave varchar(20) default 'abcd123',
nombre varchar(100) not null,
email varchar(50) unique,
fecha_nacimiento date,
presupuesto decimal not null,
foto bytea
);

CREATE TABLE MIS_GANANCIAS (


id serial not null primary key,
fecha_registro DATE DEFAULT current_date,
fecha_ingreso date,
nombre varchar(50) not null,
valor decimal not null,
descripcion varchar(255),
usuario_id varchar(15) not null,
FOREIGN KEY(usuario_id) REFERENCES usuarios (cedula)
);

CREATE TABLE MIS_GASTOS (


id serial not null primary key,
fecha_registro date default current_date,
fecha_gasto timestamp,
nombre varchar(50) not null,
valor decimal not null,
descripcion varchar(255),
foto bytea
);
ACCION:

Literal 17. Mostrar la estructura de la tabla MIS_GANANCIAS

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

\d mis_ganancias;

ACCION:

Literal 18. Agregar una nueva columna a la tabla MIS_GASTOS con las siguientes características:

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

ACCION:

Literal 18. Agregar una nueva columna a la tabla MIS_GASTOS con las siguientes características:

usuario_id TEXTO de 15 caracteres NO NULO y debe estar después de la columna descripcion

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

ALTER TABLE MIS_GASTOS ADD usuario_id varchar(15) not null;


CREATE TABLE temp_MIS_GASTOS AS SELECT id, fecha_registro, fecha_gasto, nombre, valor, descripcion,
usuario_id, foto from MIS_GASTOS;

DROP TABLE mis_gastos;

alter table temp_MIS_GASTOS RENAME TO MIS_GASTOS;

ACCION:

Literal 19. Cambiar el nombre la columna descripcion por el nombre detalles en la tabla MIS_GASTOS

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

alter table mis_gastos rename column descripcion to detalles;

ACCION:

Literal 20. Cambiar la columna nombre para que ahora sea de tipo TEXTO de 100 caracteres en la tabla
MIS_GASTOS

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

alter table mis_gastos alter column nombre type varchar(100);


ACCION:

Literal 21. Eliminar la columna foto en la tabla tabla MIS_GASTOS

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

alter table mis_gastos drop foto;

ACCION:

Literal 22. Crear un indice llamado gastos_usuario_idx sobre la tabla MIS_GASTOS en la columna usuario_id

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

create index gatos_usuario_idx on mis_gastos(usuario_id);


ACCION:

Literal 23. Cambiar la estructura de la tabla MIS_GASTOS para agregarle una restricción llamada
gastos_usuario_fk, esta restricción debe ser una LLAVE FORANEA que REFERENCIA a la columna cedula de la
tabla USUARIOS con integridad referencial tipo CASCADA al eliminar y actualizar.

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

alter table mis_gastos add constraint gastos_usuario_fk foreign key (usuario_id) references usuarios(cedula);

ACCION:

Literal 24. Mostrar los indices de la tabla MIS_GASTOS

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

select * from pg_indexes where tablename = 'mis_gastos';

ACCION:

Literal 25. Cambiar el nombre a la tabla MIS_GANANCIAS por MIS_INGRESOS

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

alter table mis_ganancias rename to mis_ingresos;

ACCION:

Literal 26. Eliminar una Tabla


POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

drop table (nombre_de_la_tabla);

ACCION:

Literal 27. Realizar un backup con estructura y datos de la BD mis_datos_en_sql, guardando el backup en un
archivo llamado backup_mis_datos_en_sql.sql

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

pg_dump -U (USUARIO) -W -h (HOST) mis_datos_en_sql > (ruta_para_guardar)\mis_datos_en_sql.sql

ACCION:

Literal 28. Eliminar la Base de datos mis_datos_en_sql

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)

DROP DATABASE mis_datos_en_sql;

ACCION:

Literal 29. Restaurar la BD mis_datos_en_sql desde el archivo backup_mis_datos_en_sql.sql

POSTGRESQL: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)
create database mis_datos_en_sql;

psql -U (USUARIO) -W -h (SERVIDOR) mis_datos_en_sql < (UBICACIÓN_BACKUP)\mis_datos_en_sql.sql

30)
ventajas

MYSQL ORACLE SQL SERVER POSTRESQL

Sus comandos son muy Sus comandos son muy Sus comandos son muy Sus comandos son muy
similares al momento de similares al momento de similares al momento de similares al momento de
crear un usuario, crear un usuario, crear un usuario, crear un usuario,
eliminar aun usuario eliminar aun usuario eliminar aun usuario eliminar aun usuario
entre otras cosas entre otras cosas entre otras cosas entre otras cosas
similares a los demás similares a los demás similares a los demás similares a los demás
motores de base de motores de base de motores de base de motores de base de
datos datos datos datos
Su sintaxis es muy similar Su sintaxis es muy similar Su sintaxis es muy similar Su sintaxis es muy similar
a los demás motores de a los demás motores de a los demás motores de a los demás motores de
base de datos base de datos base de datos base de datos

Desventajas

MYSQL ORACLE SQL SERVER POSTRESQL

Algunos de sus Algunos de sus Algunos de sus Algunos de sus


comandos y algunos de comandos y algunos de comandos y algunos de comandos y algunos de
sus tipos de datos son sus tipos de datos son sus tipos de datos son sus tipos de datos son
diferentes respecto a los diferentes respecto a los diferentes respecto a los diferentes respecto a los
de más motores de base de más motores de base de más motores de base de más motores de base
de datos de datos de datos de datos

31) R/ el motor de base de datos que escojo es MYSQL porque este motor de base de datos es fácil de usar y
su sintaxis es fácil de aprender y sus comandos también y además es super didacta con el programador

32)

MYSQL ORACLE SQL SERVER POSTRESQL

El comando quit es igual El comando quit es igual El comando quit es igual


para SQL SERVER Y para MYSQL Y para SQL SERVER Y
POSTRESQL POSTRESQL MYSQL

El comando para DROP El comando DROP es el El comando DROP es el El comando DROP es el


es el mismo para mismo para MYSQL, SQL mismo para ORACLE, mismo para ORACLE, SQL
ORACLE, SQL SERVER Y SERVER Y POSTRESQL POSTRESQL Y MYSQL SERVER Y MYSQL
POSTRESQL

El comando para crear El comando para crear El comando para crear


una BD es el mismo para una BD es el mismo para una BD es el mismo para
SQL SERVER Y MYSQL Y POSTRESQL SQL SERVER Y MYSQL
POSTRESQL

El comando grant es el El comando grant es el


mismo para POSTRESQL mismo para MYSQL

El comando use es igual El comando use es igual


para SQL SERVER para MYSQL
El comando para crear El comando para crear El comando para crear El comando para crear
tables es igual para todos tables es igual para todos tables es igual para todos tables es igual para todos
los motores de base de los motores de base de los motores de base de los motores de base de
datos datos datos datos

El comando alter table es El comando alter table es El comando alter table es El comando alter table es
igual para todos los igual para todos los igual para todos los igual para todos los
motores de base de motores de base de motores de base de motores de base de
datos datos datos datos

El comando para crear El comando para crear El comando para crear El comando para crear
índices el igual para índices el igual para índices el igual para índices el igual para
todos los motores de todos los motores de todos los motores de todos los motores de
base de datos base de datos base de datos base de datos

También podría gustarte