Download Investigaciones de las paginas 55-56

Document related concepts

Microsoft SQL Server wikipedia , lookup

Lenguaje de definición de datos wikipedia , lookup

Tabla (base de datos) wikipedia , lookup

PL/SQL wikipedia , lookup

Transcript
Investigaciones de las paginas 55 -56
Investigación individual.
1. Investigar cómo crear y administrar usuarios en SQL Server.
Primero antes que nada debemos saber que para crear los usuarios tenemos
que:
a) Acceder a la base de datos con un usuario con rol securityadmin o
sysadmin.
b) También conocer acerca de los logins, tipos de logins, que son los roles y
cuáles son los que tiene por defecto SQL Server, que es un usuario y qué
función tiene.
Rol es en SQL server: son las entidades de seguridad que agrupan a otras
entidades de seguridad, es decir son entidades predeterminadas de SQL que
nos permiten dar privilegios a los logins (inicio de sesión) que creamos.
Entre los roles que podemos usar tenemos:
sysadmin
serveradmin
securityadmin
Nota de
seguridad
processadmin
setupadmin
bulkadmin
diskadmin
Los miembros del rol fijo de servidor sysadmin pueden realizar
cualquier actividad en el servidor.
Los miembros del rol fijo de servidor serveradmin pueden
cambiar las opciones de configuración en el servidor y
apagarlo.
Los miembros del rol fijo de servidor securityadmin
administran los inicios de sesión y sus propiedades. Pueden
administrar los permisos de servidor GRANT, DENY y
REVOKE. También pueden administrar los permisos de nivel
de base de datos GRANT, DENY y REVOKE si tienen acceso
a una base de datos. Asimismo, pueden restablecer las
contraseñas para los inicios de sesión de SQL Server.
La capacidad de conceder acceso a Motor de base de datos y
configurar los permisos de usuario permite que el
administrador de seguridad asigne la mayoría de los permisos
de servidor. El rol securityadmin se debe tratar como
equivalente del rol sysadmin.
Los miembros del rol fijo de servidor processadmin pueden
finalizar los procesos que se ejecuten en una instancia de
SQL Server.
Los miembros del rol fijo de servidor setupadmin pueden
agregar y quitar servidores vinculados.
Los miembros del rol fijo de servidor bulkadmin pueden
ejecutar la instrucción BULK INSERT.
El rol fijo de servidor diskadmin se usa para administrar
archivos de disco.
dbcreator
public
Los miembros del rol fijo de servidor dbcreator pueden crear,
modificar, quitar y restaurar cualquier base de datos.
Cada inicio de sesión de SQL Server pertenece al rol public de
servidor. Cuando a una entidad de seguridad de servidor no
se le han concedido ni denegado permisos específicos para
un objeto protegible, el usuario hereda los permisos
concedidos al rol public en ese objeto. Solo asigne los
permisos públicos en objetos cuando desee que estos estén
disponibles para todos los usuarios.
Logins (inicio de sesión): es el que permite realizar la conexión con la
instancia de servidor, es decir la tarjeta de acceso a el servidor; entre las
formas de autenticación para los logins tenemos: de SQL Server, de Windows,
asignado a un certificado y asignado a una clave asimétrica.
User (Usuario): Es el que nos permite acceder a la base de datos después de
que le asignamos privilegios.
Sintaxis para administrar los logins
//crear logins
Create login <nombre de login> with password='contraseña';
//eliminar logins
Drop login <nombre de login>;
//modificar
Alter login <nombre del login>
<datos a modificar>
//Las instrucción o datos a modificar se encuentran en el
siguiente link.
http://msdn.microsoft.com/en-us/library/ms189828.aspx
Después de esto podemos acceder al servidor con el login pero no tenemos
acceso para hacer modificaciones en las base de datos para eso hacemos lo
siguiente.
2. Investigar que son los permisos y como asignarle estos a una base de
datos.
Permisos: son reglas agregadas a objetos, las cuales determinan si un
determinado usuario tiene derecho a acceder a áreas especificas o no.
Hay dos formas de asignar los permisos a los logins:

Asignándole roles
Se utiliza la siguiente sintaxis.
//agregar permisos.
Sp_addsrvrolemember
‘rol’, ‘login;
//quitar permisos
Sp_dropsrvrolemember ‘rol’, ‘login;
//nota no se pueden modificar, debido a que la
modificación conlleva la eliminación de permisos y
asignación de otros.

Creando usuarios y asignando permisos de forma manual.
Create user <nombre usuario> for login <nombre del login>
//luego le asignamos permisos
Use <nombre de la base de datos a la que queremos que el
usuario tenga permisos>;
//asignando permisos
Grant <permiso> to <nombre de usuario>;
//quitando permisos
Revoke <permiso> to <nombre de usuario>;
// denegar acceso
Deny <permisos> to <usuarios>;
3. Investigar sobre las técnicas de cifrado y autenticación para una base de
datos en SQL server.
Técnicas de cifrado de SQL server.
Con respecto a las técnicas de cifrado, dejo el link donde esta la información ya
que es mucho y hay diferentes tipos de cifrado entre los cuales podemos
mencionar cifrado de servidor, de base de datos, de datos entre otros.
http://msdn.microsoft.com/es-es/library/bb510663.aspx
La autenticación de SQL server: es el modo por el cual accedemos a el servidor
de base de datos que básicamente son los tipos o formas de autenticación que
tiene SQL server: SQL Server, Windows, asignado a un certificado y asignado a
una clave asimétrica.
4. Que es un Schema y cómo administrarlo.
Schema(esquemas): es una opción que no sirver para establecer la concesión,
denegación o revocación (GRANT, DENY o REVOKE) de permisos a objetos.
Sintaxis
// crear esquemas
CREATE SCHEMA <new schema name> AUTHORIZATION [new schema
owner];
//modificar
ALTER SCHEMA <nombre de esquema > <accion>;
//eliminar
DROP SCHEMA schema_name;
5. Investigar los tipos de datos soportados por SQL server y detallarlos en
una tabla con su descripción correspondiente
Los tipos de datos en SQL se distribuyen por categorías entre las cuales tenemos:
http://msdn.microsoft.com/es-es/library/ms378715.aspx
6. Investigar para qué sirve la clausula CONSTRAINT
Constraint (restricción) es una propiedad asignada a una columna o el conjunto de
columnas de una tabla, que previene ciertos tipos de valores de datos
inconsistentes. Constraints (restricciones) se utilizan para exigir la integridad de
los datos. Esto asegura la exactitud y fiabilidad de los datos en la base de datos.
7. Investigar para que sirven las palabras reservadas RESTRICT y
CASCADE, traer sentencias de ejemplo para presentarlas en clase.
Cascade: instrucción que me permite eliminar datos en cascada, ejemplo
Tengo una tabla cliente la cual contiene código_cliente, nombre, apellido y
también tengo una tabla pedidos que contienen código_pedido, código_cliente,
código_producto, cantidad.
En este ejemplo suponemos que tenemos una tabla padre que es cliente y una
tabla hijo que es pedidos, si aplicamos la propiedad cascade indica que si elimino
un elemento de la tabla padre, se eliminara en la tabla hijo también.
Restrict: es una instrucción que nos restringe eliminar los datos de una tabla
padre cuando la llave primaria de esta, está como llave foránea de otra.
Ejemplo: tomando el mismo ejemplo anterior podemos decir que no podemos
eliminar a un cliente cuando este tenga datos en la tabla pedidos.
Sintaxis en SQL SERVER
Cascade
CREATE TABLE clientes(
Codigo_cliente INTEGER NOT NULL,
nombre
CHAR(20) NOT NULL,
apellido
CHAR(20) NOT NULL,
CONSTRAINT cliente_pk PRIMARY KEY(Codigo_cliente))
CREATE TABLE pedidos (
Codigo_pedido
INTEGER NOT NULL,
Codigo_cliente INTEGER NOT NULL,
Codigo_producto INTEGER NOT NULL,
Cantidad
INTEGER NOT NULL,
CONSTRAINT pedido_pk PRIMARY KEY(Codigo_pedido),
CONSTRAINT cliente_fk FOREIGN KEY(Codigo_cliente)
REFERENCES clientes(Codigo_cliente)ON UPDATE CASCADE )
//esto lo que indica es que si se modifica en clientes
también se modificaran los datos en pedidos
Bibliografía
http://msdn.microsoft.com/es-es/library/ms189751.aspx
http://msdn.microsoft.com/es-es/library/ms188659.aspx
http://msdn.microsoft.com/es-es/library/ms173463.aspx
http://www.guillesql.es/Articulos/SQLServerFAQ_Inicio_Sesion_Usuario.aspx
http://www.databasejournal.com/features/mssql/article.php/2246271/ManagingUsers-Permissions-on-SQL-Server.htm
http://msdn.microsoft.com/es-es/library/ms186320.aspx
http://msdn.microsoft.com/es-es/library/ms186270.aspx
http://msdn.microsoft.com/es-es/library/ms182763%28v=sql.90%29.aspx