Está en la página 1de 21

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: SQLSERVER:

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.

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

Sqlcmd -S(nombre_del_servidor) -U (nombre_usuario)

ACCION:

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

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

CREATE LOGIN (nombre_user) WHIT PASSWORD=(contraseña_usuario);


ALTER SERVER ROLE sysadmin ADD MEMBER (nombre_usuario);
GO

ACCION:

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

SQLSERVER: (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

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

Sqlcmd -S(nombre_del_servidor) -U (nombre_usuario)

ACCION:

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


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

SELECT name FROM sys.sql_logins


go

ACCION:

Literal 6: Revocar o quitarle los permisos a un usuario

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

EXEC sp_dropsrvrolemember 'brayan_salazar_reyes', 'sysadmin'


go

ACCION:

Literal 7: Eliminar un usuario de la BD


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

DROP LOGIN (user);


GO

ACCION:

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

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

use master
go
Changed database context to 'master'.
select * from sys.database_principals
go
ACCION:

Literal 9. Crear una base de datos llamada mis_datos_en_sql

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

CREATE DATABASE MIS_DATOS_EN_SQL


GO

ACCION:

Literal 10. Mostrar las bases de datos creadas;

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

SELECT NAME, DATABASE_ID, CREATE_DATE


FROM SYS.DATABASES ;
GO

ACCION:

Literal 11. Cambiarle el nombre a una BD

SQLSERVER: (escriba la o las instrucciones necesarias para realizar la acción sobre este motor de BD)
No se puede cambiar el nombre a una base de datos

ACCION:

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

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

CREATE USER (USUARIO) FOR LOGIN (USUARIO_LOGIN) WITH DEFAULT_SCHEMA=MIS_DATOS_EN_SQL;

ACCION:

Literal 13. Eliminar una Base de datos

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

DROP DATABASE (NOMBRE_BD);


GO

ACCION:

Literal 14. Entrar o utilizar la BD mis_datos_en_sql

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

USE (BD)
GO
ACCION:

Literal 15. Mostrar las tablas de la BD mis_datos_en_sql

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

SELECT CAST(table_name as varchar) FROM INFORMATION_SCHEMA.TABLES


GO

ACCION:

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

SQLSERVER: (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)

SQLSERVER: (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 varbinary
);
CREATE TABLE MIS_GANANCIAS (
id int not null identity(1,1) primary key,
fecha_registro date default current_timestamp,
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 int not null identity(1,1) primary key,
fecha_registro date default current_timestamp,
fecha_gasto datetime,
nombre varchar(50) not null,
valor decimal not null,
descripcion varchar(255),
foto varbinary
);

ACCION:
Literal 17. Mostrar la estructura de la tabla MIS_GANANCIAS

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

EXEC sp_help (nombre_tabla)


GO

ACCION:

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

SQLSERVER: (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


SQLSERVER: (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;


GO

ACCION:

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

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

SP_RENAME 'mis_gastos.descripcion', 'detalles', 'COLUMN';


GO

ACCION:

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

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

ALTER TABLE MIS_GASTOS ALTER COLUMN NOMBRE VARCHAR(100)


GO

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

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

ALTER TABLE MIS_GASTOS DROP COLUMN FOTO


GO

ACCION:

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

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

CREATE INDEX GASTOS_USUARIO_IDX ON MIS_GASTOS(USUARIO_ID)


GO
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.

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

ALTER TABLE MIS_GASTOS CONSTRAINT


GASTOS_USUARIO_FK FOREIGN KEY (USUARIO_ID)
REFERENCES USUARIOS(CEDULA)
ON DELETE CASCADE
ON UPDATE CASCADE
GO

ACCION:

Literal 24. Mostrar los indices de la tabla MIS_GASTOS

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

EXEC SP_HELPINDEX MIS_GASTOS


GO
ACCION:

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

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

EXEC SP_RENAME ‘MIS_GANANCIAS’, ‘MIS_INGESOS’


GO

ACCION:

Literal 26. Eliminar una Tabla

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

DROP TABLE (NOMBRE_TABLA)


GO
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

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

sqlcmd -S localhost -U SA -Q "BACKUP DATABASE [mis_datos_en_sql] TO DISK =


N'/var/opt/mssql/data/mis_datos_en_sql.sql' WITH NOFORMAT, NOINIT, NAME = 'mis_datos_en_sql-full',
SKIP, NOREWIND, NOUNLOAD, STATS = 10"

ACCION:

Literal 28. Eliminar la Base de datos mis_datos_en_sql

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

DROP DATABASE mis_datos_en_sql


GO
ACCION:

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

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

RESTORE DATABASE mis_datos_en_sql FROM DISK = N'/var/opt/mssql/data/mis_datos_en_sql.sql' WITH


RECOVERY
GO

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