Anda di halaman 1dari 6

USUARIO.

Como ya se dijo antes un usuario en un ambiente de un Sistema Manejador de Bases de Datos


es la persona que obtiene a travs de algn programa un servicio del motor de bases de datos, para
accesar informacin en una Base de Datos.

INICIO DE SESIN O LOG IN. Es el punto de arranque de un periodo de conexin temporal con un
Sistema Manejador de Bases de Datos en el que se solicitan recursos de procesamiento para
desarrollar alguna actividad, normalmente el punto de partida requiere de una autenticacin con un
nombre y una contrasea.

ROL. Es el papel que cumple un usuario dentro en el ambiente de un Sistemas Manejador de Bases de
Datos Relacionales de acuerdo a sus funciones. Existen roles para administrar actividades
especificas sobre elementos especficos y otras que engloban a otros roles. Ejemplos podran ser
aquellos que sirven para:

Realizar cambios en la configuracin de trabajo del SMBDR.


Administrar elementos de seguridad en el ambiente del manejador.
Administrar servidores relacionados.
Administrar el almacenamiento de los datos y los archivos bitcora.
Administrar las copias de la informacin en respaldos.
Realizar cambios en la informacin de las bds.
Administrar y realizar cualquier cambio en los datos y en el ambiente del SMBDR.
Otros.

ESQUEMA. Es la estructura que describe una base de datos, en el se definen sus tablas, sus
columnas, y las relaciones que existen entre las tablas a travs de columnas especificas.
Generalmente el esquema es definido en un lenguaje de base de datos pero el trmino se usa a
menudo para referirse a una representacin grfica de la estructura de base de datos.

OBJETO. Es un elemento que se guarda como unidad en la base de datos.

PRIVILEGIO. Es un permiso de ejecutar una accin a travs de una instruccin que se puede otorgar a
un usuario.
EJECUTAR SQL SERVER MANAGEMENT STUDIO AUTENTICANDOSE CON LOGIN sa Y PASSWORD a . ABRIR UN NUEVO QUERY

CREAR UN LOGIN LCAPACITACION CON PASSWORD PCAPACITACION

CREATE LOGIN LCAPACITACION WITH PASSWORD = 'PCAPACITACION'

ANALIZAR PROPIEDADES DE LCAPACITACION CON LA CONSOLA

AGREGA LCAPACITACION AL ROL DBCREATOR Y SECURITYADMIN (ROLES A NIVEL DE SERVIDOR)

EXEC sp_addsrvrolemember 'LCAPACITACION', 'DBCREATOR'


GO
EXEC sp_addsrvrolemember 'LCAPACITACION', 'SECURITYADMIN'
GO

ANALIZAR PROPIEDADES DE LCAPACITACION CON LA CONSOLA

EJECUTAR SQL SERVER MAN STUDIO AUTENTICANDOSE CON LOGIN/PASS LCAPACITACION / PCAPACITACION ABRIR UN NUEVO QUERY

CREAR UNA BASE DE DATOS CAPACITACION CON LCAPACITACION

USE MASTER ALTER TABLE INSTRUCTOR INSERT INTO INSTRUCTOR


CREATE DATABASE CAPACITACION ADD PRIMARY KEY(RFC_I) (RFC_I,NOMBRE_I,NO_TEL_I)
GO VALUES('MOMO','OSCAR MOTA','123456'),
USE CAPACITACION ALTER TABLE CURSO ('ROFA','ALFREDO RODRIGUEZ','567899')
ADD PRIMARY KEY(CODIGO)
CREATE TABLE INSTRUCTOR( INSERT INTO CURSO
RFC_I CHAR(13) NOT NULL, ALTER TABLE HISTORIAL_CURSO (CODIGO,NOMBRE,COSTO,FECHA_INI,DURACION,RFC_I)
NOMBRE_I CHAR(40) NOT NULL, ADD PRIMARY KEY(CODIGO,RFC_E) VALUES('10','SQL',800,'2016/02/10',5,'MOMO'),
NO_TEL_I CHAR(10) NULL ('11','JAVA',900,'2016/03/10',5,'ROFA'),
) ALTER TABLE ESTUDIANTE ('12','PHP',800,'2016/04/10',5,NULL)
ADD PRIMARY KEY(RFC_E)
CREATE TABLE CURSO( INSERT INTO ESTUDIANTE
CODIGO CHAR(3) NOT NULL, (RFC_E,NOMBRE_E,NO_TEL_E)
NOMBRE CHAR(40) NOT NULL, ALTER TABLE CURSO VALUES('GOGA','ARTURO','556565'),
COSTO INT NOT NULL, ADD FOREIGN KEY (RFC_I) ('LIFO','OCTAVO','55555')
FECHA_INI DATE NOT NULL, REFERENCES INSTRUCTOR(RFC_I)
DURACION INT NOT NULL, ON UPDATE CASCADE INSERT INTO HISTORIAL_CURSO (CODIGO,RFC_E)
RFC_I CHAR(13) NULL VALUES('10','GOGA'),
) ALTER TABLE HISTORIAL_CURSO ('11','LIFO')
ADD FOREIGN KEY(CODIGO)
CREATE TABLE ESTUDIANTE( REFERENCES CURSO(CODIGO) SELECT NOMBRE,NOMBRE_E,NOMBRE_I
RFC_E CHAR(13) NOT NULL, ON UPDATE CASCADE FROM CURSO INNER JOIN INSTRUCTOR
NOMBRE_E CHAR(40) NOT NULL, ON CURSO.RFC_I=INSTRUCTOR.RFC_I
NO_TEL_E CHAR(10) NULL ALTER TABLE HISTORIAL_CURSO INNER JOIN HISTORIAL_CURSO
) ADD FOREIGN KEY(RFC_E) ON CURSO.CODIGO=HISTORIAL_CURSO.CODIGO
REFERENCES ESTUDIANTE(RFC_E) INNER JOIN ESTUDIANTE
CREATE TABLE HISTORIAL_CURSO( ON UPDATE CASCADE ON HISTORIAL_CURSO.RFC_E=ESTUDIANTE.RFC_E
CODIGO CHAR(3) NOT NULL,
RFC_E CHAR(13) NOT NULL)
ANALIZAR PROPIEDADES DE LCAPACITACION CON LA CONSOLA

CON QUERY DE LCAPACITACION CREA 3 LOGIN LJEFE, LSUB Y LOTRO CON PASSWORD PJEFE, PSUB Y POTRO RESPECTIVAMENTE

USE MASTER

CREATE LOGIN LJEFE WITH PASSWORD = 'PJEFE', DEFAULT_DATABASE = CAPACITACION


CREATE LOGIN LSUB WITH PASSWORD = 'PSUB', DEFAULT_DATABASE = CAPACITACION
CREATE LOGIN LOTRO WITH PASSWORD = 'POTRO', DEFAULT_DATABASE = CAPACITACION
GO

CAMBIARSE A LA BASE DE DATOS CAPACITACION Y CREAR 3 USUARIOS ASOCIADOS A LOS LOGIN ANTERIORES

USE CAPACITACION
CREATE USER UJEFE FOR LOGIN LJEFE
CREATE USER USUB FOR LOGIN LSUB
CREATE USER UOTRO FOR LOGIN LOTRO
GO

CON QUERY LCAPACITACION CREAR 2 ESQUEMAS ESQ_CAPACITACION, ESQ_INSTRUCTOR_CURSO

CREATE SCHEMA ESQ_CAPACITACION


GO
CREATE SCHEMA ESQ_H_C
GO

ALTER SCHEMA ESQ_CAPACITACION TRANSFER INSTRUCTOR


GO
ALTER SCHEMA ESQ_CAPACITACION TRANSFER CURSO
GO
ALTER SCHEMA ESQ_H_C TRANSFER HISTORIAL_CURSO
GO
ALTER SCHEMA ESQ_H_C TRANSFER ESTUDIANTE
GO

ALTER USER UJEFE WITH DEFAULT_SCHEMA = ESQ_CAPACITACION


GO
ALTER USER USUB WITH DEFAULT_SCHEMA = ESQ_H_C
GO

EXEC sp_addrolemember 'db_datawriter', 'UJEFE'


GO
EXEC sp_addrolemember 'DB_DATAREADER', 'USUB'
GO
GRANT SELECT ON ESQ_CAPACITACION.CURSO TO UOTRO
GO
EJECUTAR SQL SERVER MAN STUDIO AUTENTICANDOSE PARA LOS TRES LOGIN ANTERIORES ABRIR UN NUEVO QUERY PARA CADA CONEXIN

En cada QUERY probar las siguientes instrucciones CORRIGIENDO LA SINTAXIS DE LOS NOMBRES DE LAS TABLAS y analizarlas en
funcin a ROLES Y PRIVILEGIOS

INSERT INTO ESQ_CAPACITACION.INSTRUCTOR (RFC_I,NOMBRE_I,NO_TEL_I) VALUES('MOMO1','OSCAR MOTA','123456')

INSERT INTO ESQ_CAPACITACION.CURSO (CODIGO,NOMBRE,COSTO,FECHA_INI,DURACION,RFC_I) VALUES('101','SQL',800,'2016/02/10',5,'MOMO')

INSERT INTO ESQ_H_C.ESTUDIANTE (RFC_E,NOMBRE_E,NO_TEL_E) VALUES('GOGA1','ARTURO','556565')

INSERT INTO ESQ_H_C.HISTORIAL_CURSO (CODIGO,RFC_E) VALUES('101','GOGA')

SELECT NOMBRE,NOMBRE_E,NOMBRE_I
FROM ESQ_CAPACITACION.CURSO INNER JOIN ESQ_CAPACITACION.INSTRUCTOR ON CURSO.RFC_I=INSTRUCTOR.RFC_I
INNER JOIN ESQ_H_C.HISTORIAL_CURSO ON CURSO.CODIGO=HISTORIAL_CURSO.CODIGO
INNER JOIN ESQ_H_C.ESTUDIANTE ON HISTORIAL_CURSO.RFC_E=ESTUDIANTE.RFC_E

CONEXIN LJEFE

SE PUEDE HACER

INSERT INTO INSTRUCTOR (RFC_I,NOMBRE_I,NO_TEL_I) VALUES('MOMO1','OSCAR MOTA','123456')

PERO NO LAS SIGUIENTES. POR QUE NO TIENE EL PRIVILEGIO O ROL DE HACER CONSULTAS

SELECT * FROM INSTRUCTOR

NI

UPDATE INSTRUCTOR
SET NO_TEL_I = '111'
WHERE RFC_I = 'MOMO'

PARA QUE SE PUEDA REALIZAR UNA CONSULTA SE DEBE OTORGAR EL ROL DATAREADER O EL PRIVILEGIO SELECT PARA LAS TABLAS EN LAS
QUE SE QUIERE REALIZAR CONSULTAS. (DESDE LCPACITACION O sa)

EXEC sp_addrolemember 'DB_DATAREADER', 'UJEFE'


GO
CONEXIN LSUB

NO SE PUEDE REALIZAR LA SIGUIENTE INSTRUCCIN PUESTO QUE NO TIENE EL PRIVILEGIO O EL ROL

INSERT INTO ESQ_H_C.ESTUDIANTE (RFC_E,NOMBRE_E,NO_TEL_E) VALUES('GOGA2','ARTURO','556565')

LO QUE QUE SI PUEDE HACER ES UNA CONSULTA DE UNA O TODAS LAS TABLAS NOMBRANDO DE MANERA ADECUADA LAS TABLAS, YA SEA
SOLO EL NOMBRE DE LA TABLA NOMBRANDO ANTES EL ESQUEMA DONDE ESTA CADA TABLA.

SELECT * FROM ESQ_CAPACITACION.CURSO

SELECT NOMBRE,NOMBRE_E,NOMBRE_I
FROM ESQ_CAPACITACION.CURSO INNER JOIN ESQ_CAPACITACION.INSTRUCTOR ON CURSO.RFC_I=INSTRUCTOR.RFC_I
INNER JOIN ESQ_H_C.HISTORIAL_CURSO ON CURSO.CODIGO=HISTORIAL_CURSO.CODIGO
INNER JOIN ESQ_H_C.ESTUDIANTE ON HISTORIAL_CURSO.RFC_E=ESTUDIANTE.RFC_E

CONEXIN LOTRO

NO PUEDE HACER LA SIGUIENTE INSTRUCCIN DE INSERT PUESTO QUE NO TIENE PRIVILEGIO O ROL

INSERT INTO ESQ_CAPACITACION.CURSO (CODIGO,NOMBRE,COSTO,FECHA_INI,DURACION,RFC_I)


VALUES('101','SQL',800,'2016/02/10',5,'MOMO')

PERO SI PUEDE REALIZAR UN SELECT, PUESTO QUE TIENE EL PRIVILEGIO, Y SOLO ES SOBRE LA TABLA ESQ_CAPACITACION.CURSO

SELECT * FROM ESQ_CAPACITACION.CURSO

PARA OTORGAR MAS PRIVILEGIOS A UOTRO SE TIENE QUE USAR GRANT DESDE LCAPACITACION O sa

GRANT INSERT ON ESQ_CAPACITACION.CURSO TO UOTRO


Responder en el cuaderno lo siguiente. Pregunta y respuesta
1. Que es un Login

2. Cul es la diferencia entre un Login y un Usuario en SQL SERVER?

3. Que es un Rol?

4. Que es un privilegio?

5. Cul es la diferencia entre un Rol y un Privilegio?

6. Que es un esquema?

7. Completa Un Rol agrupa __________________

8. Completa Un _____________________ agrupa tablas

9. Escribe instruccin para crear una Login con tu nombre y acceso a la BDs CAPACITACION

10. Escribe la instruccin para crear un Usuario y asignarlo a tu Login

11. Escribe instrucciones necesarias para otorgarle privilegios como si fueras el creador de la Base de Datos.

12. Por que no se pueden hacer las inserciones en

a) LJEFE
b) LSUB
c) LOTRO

13. Por que no se puede realizar la consulta de todas las tablas en

a) LJEFE
b) LSUB
c) LOTRO

14. Que se tiene que hacer para realizar todas las inserciones con con UJEFE?

15. Que se tiene que hacer para realizar todas las inserciones con con USUB (solo inserciones)?

16. Que se tiene que hacer para que UJEFE pueda realizar todas las consultas?

17. Que se tiene que hacer para que USUB pueda realizar todas las consultas?

18. Que se tiene que hacer para que UOTRO pueda realizar consultas e inserciones en todas las tablas?

19. Escribe las instruccioness para realizar lo planteado en de los puntos 14 a 18.

20. Escribe lo necesario para quitar todos los privilegios y roles de LCAPACITACION/LJEFE/LSUB/LOTRO.

PARA ROLES NIVEL SERVIDOR sp_dropsrvrolemember


PARA ROLES NIVEL BASES DE DATOS sp_droprolemember
PARA PRIVILEGIOS REVOKE

Anda mungkin juga menyukai