Está en la página 1de 35

Universidad Nacional Autónoma de México

Facultad de Ingeniería

Laboratorio de Bases de Datos


Grupo: 3

Profesora: Izanami Mendoza

Equipo 5:
Flores Eljure Emilio
García Quezada Cristian Gabriel

Practica 2: LENGUAJE DE CONTROL DE DATOS


Semestre: 2021-2

Fecha de entrega:
14/03/2021
Índice

1
Objetivo …………………………..3

Introducción ………………………3

Ejercicio 1………………………….3

Ejercicio 2………………………….17

Ejercicio 3…………………………..25

Referencias…………………………35

2
Objetivo

El alumno aprenderá a utilizar comandos de control de datos para crear usuarios,


otorgar y denegar permisos, también se crearán bases de datos, se crearán tablas
y se les asignarán ciertos permisos a algunos usuarios, todo esto se hará de dos
formas distintas, de forma gráfica y con comandos.

Introducción
Cuando hablamos de una base de datos, hablamos de información muy
importante, la cual debe de estar protegida para que no cualquier usuario pueda
modificarla o acceder a ella, de los usuarios que puedan acceder a ella no todos
tienen los mismos privilegios para verla o modificarla. El lenguaje de control de
datos aglomera a los comandos que se utilizan para otorgar o quitar permisos a los
usuarios.
Los permisos que se le pueden otorgar a los usuarios son de dos tipos
principalmente:
Permisos de sistema. Incluyen permisos para crear sesiones, crear estructuras o
incluso crear código incluido dentro de la base de datos.
Permisos sobre objetos. Son aquellos permisos que dejan al usuario ver
información o incluso modificarla.

E1-Transact-SQL

E1: bse de datos

Contiene: 1.-Imagenes (una por cada integrante) de la ejecución del query correcto con su
resultado.

2.-El nombre de la base de datos es "DB_CONTRALORIA".


3.-Imagenes (una por cada integrante) de la prueba de la creación de la base de datos.

3
4
Se puede ver la creación de la base de datos con el respectivo nombre

E1-Usuario
Contiene:

En la documentación de SQL de Microsoft, podemos leer lo siguiente:


Complejidad de las contraseñas

5
Las directivas de complejidad de contraseñas están diseñadas para impedir ataques
por fuerza bruta mediante el aumento del número de contraseñas posibles. Cuando
se aplica la directiva de complejidad de contraseñas, se exige que las nuevas
contraseñas cumplan las siguientes directrices:
La contraseña no debe contener el nombre de la cuenta del usuario.
La contraseña debe tener una longitud de ocho caracteres como mínimo.
La contraseña debe contener caracteres de tres de las siguientes categorías:
Letras en mayúsculas del alfabeto Latín (de la A a la Z)
Letras en minúsculas del alfabeto Latín (de la "a" a la "z")
Dígitos en base 10 (del 0 al 9)
Caracteres que no sean alfanuméricos, como signo de admiración (!), signo de
moneda ($), signo de almohadilla (#) o porcentaje (%).
Las contraseñas pueden tener hasta 128 caracteres. Use contraseñas lo más largas
y complejas posible.
Por lo que nuestra contraseña va a seguir estos consejos

6
7
En la imagen se puede mostrar la creación del usuario “usr_contralor”

8
Aquí podemos observar la conexión exitosa con el nuevo usuario “usr_contralor”

E1- otorga y denegar privilegios


Contiene:
1.-Imagenes (una por cada integrante) de la ejecución del query correcto con su resultado.
2.-Imagenes (una por cada integrante) de la prueba de asignación y negación de privilegios.

Creamos un permiso para que el usuario pueda crear tablas

9
Aquí asignamos el control al usuario

Aquí denegamos el permiso a usr_contralor de hacer una tabla

10
El resultado es el siguiente

E1-Permisos
1.- Debe contener permisos de lectura
2.- Denegarle permisos de Inserción, Actualización y eliminación

11
12
Se agrego el rol de “db_datareader” para que pudiera tener permisos de lectura, por
otro lado, se le denegó la inserción, actualización y eliminación

13
Asi denegamos el permiso de escritura en la tabla

Se denego el permiso de actualizar


E1-Creacion de tabla y verificacion de privilegios
1.- crear una tabla llamada tbl_presupuesto, conformada por los elementos, mes,
divison, y presupuesto
2.- verificar los privilegios desde el usuario “ usr_contralor”

14
Se observa la creacion de la base de datos “tbl_presupuesto”

Probando el permiso de lectura, nos muestra la tabla, aunque aún no hay datos

15
16
E2-Transact-SQL
E2- crear la base de datos

Se observa la creación de la base de datos

E2-creacion de usuario

17
Se muestra la creación exitosa del usuario

18
Comprobación de que se puede iniciar sesión

E2-hacerlo miembro de esquema db_backupoperator

19
Se define un esquema especifico

E2- conceder permisos

20
Permisos concedidos

E2- creación de tabla

21
E2-comprobando permisos

22
Permiso de lectura

23
Permiso de inserción

24
Permiso de actualizar denegado

E3-Transact-SQL

E3-Crear la base de datos

25
Creación exitosa de la base de datos

E3-creacion de usuario “usr_rh”

26
Creación exitosa de usuario

Comprobación de que se puede iniciar sesión

E3.-asignar al esquema db_contratacion


Primeramente, creamos el esquema

27
28
29
Ahora procedemos a indicar que el usuario tendrá el esquema db_contratacion

E3.- asignar permisos

30
E3.- crear tabla

31
tabla creada

E3.-comprobar permisos

32
Permiso de lectura

Permiso de inserción

33
Permiso de eliminación

Conclusiones
García Quezada Cristian Gabriel
El manejo de SQL Server puede ser muy intuitivo si lo realizamos de manera gráfica,
pero también es muy importante que aprendamos el Transact-SQL, ya que puede
que llegue el momento en el que no podamos depender del entorno grafico o que
algún otro sistema de base de datos y como lo desconoceríamos el saber el lenguaje
nos ayudaría en gran medida para sobre llevar eso.

Por otro lado, durante la práctica se presentaron algunos problemas a la hora de


conceder los permisos indicados, ya que no tomaba en cuenta cuando se le negaba
algún permiso, simplemente daba todos los permisos al usuario y era capaz de
realizar todos los procedimientos, se trató de buscar alguna solución, pero no está
claro a qué se debe dicha situación.

Flores Eljure Emilio


En esta práctica aprendí mucho sobre transact-SQL, esta es una herramienta
alternativa a la versión grafica. Cuando hice el previo e investigué que era un
esquema investigué mal, aquí me di cuenta de que un esquema es un contenedor
que nos ayuda a almacenar información en una base de datos, aprendí a crearlo
con transact y también aprendí a asignar permisos de roles, todo esto para que
algunos usuarios puedan tener cierto acceso a la base, fue algo muy parecido a

34
linux, esto me ayudo a desarrollar la práctica de una manera fácil, además de que
transact nos ayuda mucho con la sintaxis y nos dice que está mal y en qué línea, así
podemos ver rápidamente los errores

Referencias
DBA dixit, Data control language (DCL) de SQL, consultado el 13/03/2021,
rescatado de: http://dbadixit.com/data-control-language-dcl-sql/

Microsoft, DENY (permisos de base de datos de Transact-SQL)


https://docs.microsoft.com/es-es/sql/t-sql/statements/deny-database-permissions-
transact-sql?view=sql-server-ver15

Microsoft, GRANT (permisos de esquema de Transact-SQL)


https://docs.microsoft.com/es-es/sql/t-sql/statements/grant-schema-permissions-
transact-sql?view=sql-server-ver15

Microsoft, Crear un esquema de la base de datos https://docs.microsoft.com/es-


es/sql/relational-databases/security/authentication-access/create-a-database-
schema?view=sql-server-ver15

Microsoft, ALTER SCHEMA (Transact-SQL) https://docs.microsoft.com/es-es/sql/t-


sql/statements/alter-schema-transact-sql?view=sql-server-ver15

35

También podría gustarte