Está en la página 1de 62

MICROSOFT TECHNOLOGY

ASSOCIATE.
MTA 98-364: FUNDAMENTOS DE BASE DE DATOS
BASE DE DATOS

Una base de datos (bd) es una coleccin organizada de datos, normalmente


almacenada en un formato electrnico. Le permite introducir, organizar y
recuperar la informacin de forma rpida. Las bases de datos tradicionales
estn organizadas por campos, registros y filas.
TABLA

Una tabla de datos es un objeto que se define y utiliza para almacenar


datos. Una tabla contiene informacin sobre un tema o asunto particular,
como pueden ser como hemos visto antes, clientes o pedidos.
Las tablas contienen columnas/campos que almacenan los diferentes datos.
TABLA

Columnas/Atributos
Las columnas almacenan informacin de diversos tipos, como nmeros, nombres y fechas.

Filas/Registros/Tuplas
Un registro o fila almacena una seccin individual de informacin. Por ejemplo, una tabla
de empleados puede tener filas que contenga informacin especfica sobre los diferentes
empleados.
TABLA

ndices
Los ndices de la tabla de base de datos ayudan a encontrar en las filas en las que ests buscando.

Controles
Los controles de una tabla de base de datos confirman si los datos son vlidos o no. Algunos de los
controles son restricciones, valores predeterminados y desencadenantes de eventos.

Penetracin
Una tabla es un objeto de base de datos. Una base de datos puede contener una o ms tablas.
Seguramente en lo que respecta a las Columnas y las Filas puedes haber tenido conocimiento desde que
iniciaste a estudiar sobre bases de datos, y es que son los principales elementos, pero como lo has podido
analizar, existen otros que tambin es necesario conocer, para saber la importancia y el impacto que
llegan a representar en el uso y aprovechamiento de lo que son las bases de datos.
TABLA

Las tablas contienen columnas/campos que almacenan los diferentes datos como el cdigo del cliente, nombre
del cliente, direccin,...
Y al conjunto de campos para un mismo objeto de la tabla se le denomina registro/fila, as todos los campos
de un cliente forman un registro, todos los datos de otro cliente forman otro registro,
Campos/Columnas
Cdigo Nombre Apellidos Direccin C.P.
C/ Germanas,
Registro/Fila 1 1 Luis Grande Lilos 46723
23
Registro/Fila 2 2 Marta Fran Dardeno C/ Mayor, 34 46625
Registro/Fila 3 3 Francisco Juan Lpez C/ Valle, 56 46625
C/ Franciscano,
Registro/Fila 4 4 Mara Huesca Buevo 46521
67
TABLA

Definicin de ndice
Un ndice es una estructura de datos definida sobre una columna de tabla (o varias)
y que permite localizar de forma rpida las filas de la tabla en base a su contenido
en la columna indexada adems de permitir recuperar las filas de la tabla
ordenadas por esa misma columna.
Funciona de forma parecida al ndice de un libro donde tenemos el ttulo del
captulo y la pgina donde empieza dicho captulo, en un ndice definido sobre una
determinada columna tenemos el contenido de la columna y la posicin de la fila
que contiene dicho valor dentro de la tabla
TABLA

INDICES.
PRIMARY KEY: Este ndice se ha creado para generar consultas especialmente rpidas, debe ser nico y no se
admite el almacenamiento de NULL.
KEY o INDEX: Son usados indistintamente por MySQL, permite crear indices sobre una columna, sobre varias
columnas o sobre partes de una columna.
UNIQUE: Este tipo de ndice no permite el almacenamiento de valores iguales.
FULLTEXT: Permiten realizar bsquedas de palabras. Slo pueden usarse sobre columnas CHAR, VARCHAR o
TEXT
SPATIAL: Este tipo de ndices solo puede usarse sobre columnas de datos geomtricos (spatial) y en el motor
MyISAM
TABLA

Ventajas de los indices


La utilizacin de ndices puede mejorar el rendimiento de las consultas, ya que los datos
necesarios para satisfacer las necesidades de la consulta existen en el propio ndice. Es decir,
slo se necesitan las pginas de ndice y no las pginas de datos de la tabla o el ndice
agrupado para recuperar los datos solicitados; por tanto, se reduce la E/S global en el disco.
Por ejemplo, una consulta de las columnas a y b de una tabla que dispone de un ndice
compuesto creado en las columnas a, b y c puede recuperar los datos especificados del propio
ndice.
Los ndices en vistas pueden mejorar de forma significativa el rendimiento si la vista contiene
agregaciones, combinaciones de tabla o una mezcla de agregaciones y combinaciones.
TABLA

Inconvenientes de los indices


Las tablas utilizadas para almacenar los ndices ocupan espacio.
Los ndices consumen recursos ya que cada vez que se realiza una operacin de
actualizacin, insercin o borrado en la tabla indexada, se tienen que actualizar todas las
tablas de ndice definidas sobre ella (en la actualizacin slo es necesaria la actualizacin
de los ndices definidos sobre las columnas que se actualizan).
Por estos motivos no es buena idea definir ndices indiscriminadamente.
TABLA

Sintaxis
CREATE INDEX "NOMBRE_NDICE" ON "NOMBRE_TABLA" (NOMBRE_COLUMNA);

Ejemplo
CREATE INDEX IDX_CUSTOMER_LAST_NAME
ON Customer (Last_Name);
LLAVE PRIMARIA

En el diseo de bases de datos relacionales, se llama clave primaria a un campo o


a una combinacin de campos que identifica de forma nica a cada fila de una
tabla. Una clave primaria comprende de esta manera una columna o conjunto de
columnas. No pueden haber dos filas en una tabla que tengan la misma clave
primaria.
Una clave primaria debe identificar unvocamente a todas las posibles filas de una
tabla y no solo a las filas que se encuentran en un momento determinado. Ejemplos
de claves primarias son DNI (asociado a una persona) o ISBN (asociado a un libro).
LLAVE FORANEA

En el contexto de bases de datos relacionales, una clave foranea (o Foreign


Key FK) es una limitacin referencial entre dos tablas. La clave foranea
identifica una columna o grupo de columnas en una tabla(referendo) que se
refiere a una columna o grupo de columnas en otra tabla(referenciada). Las
columnas en la tabla referendo deben ser la clave primaria u otra clave
candidata en la tabla referenciada.
LLAVE PRIMARIA

Ejemplo de la creacion de una llave Ejemplo de la creacion de una llave


primaria desde la creacion de una primaria, despues de tener la tabla
tabla. creada.
CREATE TABLE cliente ALTER TABLE cliente
( ADD PRIMARY KEY (id_cliente);
id_cliente INT NOT NULL,
nombre VARCHAR(30),
PRIMARY KEY (id_cliente)
);
LLAVE FORANEA

Ejemplo de la creacin de una llave Ejemplo de creacin de una llave fornea a


fonaranea desde la creacin de una tabla. partir de una tabla ya creada.
CREATE TABLE personas ALTER TABLE ADD FOREIGN KEY (dep) REFERENCES
{ departamentos(dep)
per int NOT NULL,
nombre varchar(255),
apellido1 varchar(255),
dep int NOT NULL,
PRIMARY KEY (per),
FOREIGN KEY (dep) REFERENCES
departamentos(dep)
}
NORMALIZACION

Consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso
del modelo E-R (entidad-relacin) al modelo relacional.
Las bases de datos relacionales se normalizan para:
Evitar la redundancia de los datos.
Evitar problemas de actualizacin de los datos en las tablas.
Proteger la integridad de los datos.
NORMALIZACION

Formas Normales
Las primeras tres formas normales son suficientes para cubrir las necesidades de la mayora de las
bases de datos.
Primera Forma Normal (1FN)
Sea un conjunto de atributo perteneciente () a la relacin R, en donde R est en la Primera Forma Normal si todos los
atibutos [n] son atmicos, es decir no pueden seguir dividindose. Por ejemplo:

La Relacin: cursos: nombre, cdigo, vacantes, horario, bibliografa

Queda despus de aplicar la Forma Normal 1 de la siguiente manera:


cursos1: nombre, cdigo, vacantes horario1: cdigo, da, mdulo bibliografia1: cdigo, nombre, autor
NORMALIZACION

Formas Normales
Segunda Forma Normal (2FN)
Dependencia completa. Esta en 2FN si esta en 1FN y si sus atributos no principales dependen de forma completa de la clave
principal.

Tercera Forma Normal (3FN)


Est en segunda forma normal y todo atributo no primo es implicado por la clave primaria en una secuencia no transitiva.Se
eliminan las dependencias transitivas.
NORMALIZACION

Formas Normales
Cuarta Forma Normal (4FN)
Est en forma normal de Boyce-Codd y se eliminan las dependencias multivaluadas y se generan todas las relaciones externas
con otras tablas u otras bases de datos.

Quinta Forma Normal (5FN)


Est en quinta forma normal y toda dependencia-join viene implicada por claves candidatas.
TIPOS DE DATOS

Tipos numricos
BIT[(M)]
En un tipo de datos bit. M indica el nmero de bits por valor, de 1 a 64. El valor por
defecto es 1 si se omite M .

TINYINT[(M)] [UNSIGNED] [ZEROFILL]


Un entero muy pequeo. El rango con signo es de -128 a 127. El rango sin signo es de 0
a 255.
TIPOS DE DATOS

Tipos numricos
BOOL, BOOLEAN
Son sinnimos para TINYINT(1). Un valor de cero se considera falso. Valores distintos a
cero se consideran ciertos.

SMALLINT[(M)] [UNSIGNED] [ZEROFILL]


Un entero pequeo. El rango con signo es de -32768 a 32767. El rango sin signo es de 0
a 65535.
TIPOS DE DATOS

Tipos numricos
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
Entero de tamao medio. El rango con signo es de -8388608 a 8388607. El rango sin
singo es de 0 a 16777215.

INT[(M)] [UNSIGNED] [ZEROFILL]


Un entero de tamao normal. El rango con signo es de -2147483648 a 2147483647. El
rango sin signo es de 0 a 4294967295.
TIPOS DE DATOS

Tipos numricos
INTEGER[(M)] [UNSIGNED] [ZEROFILL]
Es un sinnimo de INT.
BIGINT[(M)] [UNSIGNED] [ZEROFILL]
Un entero grande. El rango con signo es de -9223372036854775808 a
9223372036854775807. El rango sin signo es de 0 a 18446744073709551615.
TIPOS DE DATOS

Tipos numricos
FLOAT(p) [UNSIGNED] [ZEROFILL]
Nmero con coma flotante. p representa la precisin. Puede ir de 0 a 24 para nmeros de
coma flotante de precisin sencilla y de 25 a 53 para nmeros de coma flotante con doble
precisin.

FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]


Un nmero de coma flotante pequeo (de precisin simple). Los valores permitidos son de -
3.402823466E+38 a -1.175494351E-38, 0, y de 1.175494351E-38 a
3.402823466E+38.
TIPOS DE DATOS

Tipos numricos
DOUBLE[(M,B)] [UNSIGNED] [ZEROFILL]
Nmero de coma flotante de tamao normal (precisin doble). Los valores permitidos son
de -1.7976931348623157E+308 a -2.2250738585072014E-308, 0, y de
2.2250738585072014E-308 a 1.7976931348623157E+308.

DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]


Nmero de punto fijo exacto y empaquetado. M es el nmero total de dgitos y D es el
nmero de decimales.
TIPOS DE DATOS

Tipos de fechas y hora


DATE
Una fecha. El rango soportado es de '1000-01-01' a '9999-12-31'. MySQL muestra valores
DATE en formato 'YYYY-MM-DD', pero permite asignar valores a columnas DATE usando
cadenas de caracteres o nmeros.
DATETIME
Combinacin de fecha y hora. El rango soportado es de '1000-01-01 00:00:00' a '9999-
12-31 23:59:59'. MySQL muestra valores DATETIME en formato 'YYYY-MM-DD HH:MM:SS',
pero permite asignar valores a las columnas DATETIME usando cadenas de caracteres o
nmeros.
TIPOS DE DATOS

Tipos de fechas y hora


TIMESTAMP[(M)]
Una marca temporal. El rango es de '1970-01-01 00:00:00' hasta el ao 2037.
TIME
Una hora. El rango es de '-838:59:59' a '838:59:59'. MySQL muestra los valores TIME en
formato 'HH:MM:SS', pero permite asingar valores a columnas TIME usando nmeros o
cadenas de caracteres.
TIPOS DE DATOS

Tipos de fechas y hora


YEAR[(2|4)]
Un ao en formato de dos o cuatro dgitos. El valor por defecto est en formato de
cuatro dgitos. En formato de cuatro dgitos, los valores permitidos son de 1901 a 2155,
y 0000.
TIPOS DE DATOS

Tipos de cadenas de caracteres


CHAR(M) [BINARY | ASCII | UNICODE]
Una cadena de caracteres de longitud fija que siempre tiene el nmero necesario de
espacios a la derecha para ajustarla a la longitud especificada al almacenarla.

VARCHAR(M) [BINARY]
Cadena de caracteres de longitud variable. M representa la longitud de columna
mxima.
TIPOS DE DATOS

Tipos de cadenas de caracteres


BLOB[(M)]
Una columna BLOB con longitud mxima de 65,535 (2^16 - 1) bytes.
TEXT[(M)]
Una columna TEXT con longitud mxima de 65,535 (2^16 - 1) caracteres.
CONSULTAS

Es el mtodo para acceder a los datos en las bases de datos. Con las
consultas se puede modificar, borrar, mostrar y agregar datos en una base
de datos.
Ejemplo:
SELECT * FROM empleados;

La anterior consulta, nos permite mostrar todos los registros de la tala


empleados.
COMANDO SQL

Comandos DLL
Comando Descripcin

CREATE Utilizado para crear nuevas tablas, stored procedures e ndices

DROP Empleado para eliminar tablas, stored procedures e ndices


Utilizado para modificar las tablas agregando campos o cambiando la definicin
ALTER
de los campos
CREATE

Ejemplos. Crate database.


Create Table CREATE DATABASE nombre_BD;
CREATE TABLE "nombre_tabla"
("columna 1"
"tipo_de_datos_para_columna_1",
"columna 2"
"tipo_de_datos_para_columna_2",
... );
DROP

Ejemplos. DROP PROCEDURE


Drop table. nombre_procedimiento

DROP TABLE "nombre_tabla";


DROP TABLE USUARIOS;
DROP FUNCTION
nombre_funcin;
ALTER

Ejemplos.
Alter table
ALTER TABLE t2 DROP COLUMN c,
DROP COLUMN d;
COMANDO SQL

Comandos DML
Comando Descripcin

Utilizado para consultar registros de la base de datos que satisfagan un criterio


SELECT
determinado.

INSERT Utilizado para cargar lotes de datos en la base de datos en una nica operacin.

DELETE Utilizado para eliminar registros de una tabla de una base de datos.

UPDATE Utilizado para modificar los valores de los campos y registros especificados.
SELECT
Ejemplos de select. And/Or
SELECT "nombre_columna" FROM SELECT "nombre_columna"
"nombre_tabla"; FROM "nombre_tabla"
Select WHERE "condicin simple"
SELECT "nom de colonne" FROM {[AND|OR] "condicin simple"}+;
"nombre_tabla"; In
Distinct SELECT "nombre_columna"
SELECT DISTINCT "nombre_columna" FROM "nombre_tabla"
FROM "nombre_tabla"; WHERE "nombre_columna" IN ('valor1',
Where 'valor2', ...);
SELECT "nombre_columna"
FROM "nombre_tabla"
WHERE "condition";
SELECT
Between Count
SELECT "nombre_columna" SELECT COUNT("nombre_columna")
FROM "nombre_tabla" FROM "nombre_tabla";
WHERE "nombre_columna" BETWEEN 'valor1' Group By
AND 'valor2'; SELECT "nombre_columna 1",
Like SUM("nombre_columna 2")
SELECT "nombre_columna" FROM "nombre_tabla"
FROM "nombre_tabla" GROUP BY "nombre_columna 1";
WHERE "nombre_columna" LIKE {patrn}; Having
Order By SELECT "nombre_columna 1",
SELECT "nombre_columna" SUM("nombre_columna 2")
FROM "nombre_tabla" FROM "nombre_tabla"
[WHERE "condicin"] GROUP BY "nombre_columna 1"
ORDER BY "nombre_columna" [ASC, DESC]; HAVING (condicin de funcin aritmtica);
las columnas.
INSERT

Ejemplos INSERT INTO Store_Information


INSERT INTO "nombre_tabla" (Store_Name, Sales, Txn_Date)
("columna1", "columna2", ...) VALUES ('Los Angeles', 900, '10-Jan-
VALUES ("valor1", "valor2", ...); 1999');
DELETE

Ejemplo.
DELETE FROM "nombre_tabla"
WHERE "condicin";

DELETE FROM Store_Information


WHERE Store_Name = 'Los Angeles';
UPDATE

Ejemplo.
UPDATE "nombre_tabla"
SET "columna_1" = [nuevo valor]
WHERE "condicin";

UPDATE Store_Information
SET Sales = 500
WHERE Store_Name = 'Los Angeles'
AND Txn_Date = '08-Jan-1999';
VISTAS
Las vistas pueden considerarse como tablas virtuales. Generalmente hablando, una
tabla tiene un conjunto de definiciones, y almacena datos fsicamente. Una vista
tambin tiene un conjunto de definiciones, que se construye en la parte superior de
la(s) tabla(s) u otra(s) vista(s), y no almacena datos fsicamente.
Sintaxis.
CREATE VIEW "NOMBRE_VISTA" AS "Instruccin SQL";
Ejemplo.
CREATE VIEW V_Customer
AS SELECT First_Name, Last_Name, Country
FROM Customer;
Ejecutar una vista.
SELECT * FROM V_Customer;
FUNCIONES

Las funciones creadas por el usuario operan de forma similar a las funciones
que vienen por defecto dentro de T-SQL. La diferencia es que, mediante
nuestras propias funciones, vamos a crear cdigo T-SQL acorde a
necesidades personales para reutilizar cuantas veces queramos. Las funciones
pueden retornar tanto valores escalares como tablas; es decir, podemos
simular algo parecido a una vista parametrizada.
FUNCIONES
Sintaxis. function_body

CREATE FUNCTION [ schema_name. ] function_name RETURN scalar_expression

( [ { @parameter_name [ AS ][ type_schema_name. ] END


parameter_data_type [;]
[ = default ] [ READONLY ] }
[ ,...n ]
]
)
RETURNS return_data_type
[ WITH <function_option> [ ,...n ] ]
[ AS ]
BEGIN
FUNCIONES
Ejemplo
CREATE FUNCTION Ventas.TotalPorProducto SELECT id_producto AS PRODUCTO,
(@Precio_Unitario MONEY, precio_unitario AS [PRECIO UNITARIO],
@Cantidad INT) cantidad AS CANTIDAD,
RETURNS MONEY Ventas.TotalPorProducto(precio_unitario, cantidad) AS
AS TOTAL

BEGIN FROM Ventas.PedidoDetalles;

RETURN @Precio_Unitario * @Cantidad AS GO


Total
END;
GO
PROCEDIMIENTOS

Los procedimientos almacenados en SQL Server son otras de las poderosas


rutinas de T-SQL. Consisten en un solo batch de cdigo que puede ser
llamado desde otro cdigo T-SQL mediante el comando EXECUTE. Estas
rutinas T-SQL pueden recibir datos en sus parmetros de entrada y enviar
nueva informacin a travs de los parmetros de salida.
PROCEDIMIENTOS
CREATE PROCEDURE Ventas.PedidosPorCliente END
@id_cliente INT, ELSE
@id_transportista INT = NULL, BEGIN
@cantidad_pedidos INT OUTPUT SET @cantidad_pedidos = (SELECT
COUNT(id_pedido)
AS
FROM Ventas.Pedidos
IF @id_transportista IS NULL
WHERE id_cliente = @id_cliente AND
BEGIN
id_transportista = @id_transportista);
SET @cantidad_pedidos = (SELECT
COUNT(id_pedido) END
FROM Ventas.Pedidos RETURN;
WHERE id_cliente = @id_cliente); GO
COPIAS DE SEGURIDAD

El propsito de un respaldo de una base de datos es en caso de que tenga


que restaurarla si los datos se pierden en alguna transaccin cotidiana.
El mbito de un respaldo de datos (un data backup) puede ser toda la base
de datos, una parte de la base de datos o un conjunto o grupo de archivos.
Para cada uno de estos casos, SQL soporta respaldos completos, diferenciales
e incrementales.
TIPOS DE RESPALDO

Respaldo completo: un respaldo completo contiene todos los datos en una base de datos especfica o
conjunto o grupo de archivos y es lo suficientemente grande para recuperar los datos.
Respaldo diferencial: un respaldo diferencial se basa en el ltimo respaldo completo de datos. A esto
se le conoce como la base del diferencial. Un respaldo diferencial contiene solo los datos que han
cambiado a partir de la base diferencial. Generalmente, los respaldos diferenciales que se toman a la
brevedad despus del respaldo base son ms pequeos y rpidos de crear que la base de un
respaldo completo. Por lo tanto, al utilizar respaldos diferenciales se acelera el proceso de llevar a
cabo respaldos frecuentes para reducir el riesgo de prdida de datos. Generalmente, una base
diferencial se utiliza por varios respaldos diferenciales sucesivos. A la hora de restaurar, el respaldo
completo se restaura primero, seguido del respaldo diferencial ms reciente.
TIPOS DE RESPALDO

Respaldo incremental: un respaldo incremental se basa en el ltimo respaldo


de datos. Un respaldo incremental contiene solo los datos que han cambiado
desde el ltimo respaldo completo o incremental. Los respaldos incrementales
son los ms pequeos y rpidos de crear en comparacin con el respaldo
completo y diferencial. Sin embargo, al momento de la restauracin, primero
se restaura el respaldo completo, seguido de cada respaldo incremental que
siga al respaldo completo.
RESTAURACION

Los escenarios de restauracin incluyen lo siguiente:


Restauracin completa de la base de datos: restaura toda la base de datos,
empezando con un respaldo completo de la base de datos que puede ir seguido de
una restauracin de base de datos diferencial (y respaldos log).
Restauracin de archivos: restaura un archivo o grupo de archivos en una base de
datos de grupos de archivos mltiples. Despus de una restauracin de archivos
completa se puede restaurar un respaldo de archivos diferencial.
Restauracin de pgina: restaura pginas individuales.
RESTAURACION

Restauracin por Etapas: restaura la base de datos por etapas, empezando con el grupo de
archivos primario y uno o ms grupos de archivos secundarios.
Solo recuperacin: recupera datos que son consistentes con la base de datos y necesita solo
estar disponible.
Restauracin log de transacciones: bajo el modelo de restauracin completo o bulk-log se
requiere de respaldos log de restauracin para alcanzar el punto de restauracin deseado.
Crear una base de datos espejo.
Crear y mantener un servidor en standby (espera).
SEGURIDAD DE BASE DE DATOS

Los tres diferentes mtodos por los cuales un usuario puede ser identificado
inicialmente incluyen:
Inicio de sesin de usuario de Windows
Membership al grupo de usuarios de Windows
Inicio de sesin especfica de SQL Server (si el servidor utiliza seguridad
de modo mixto)
Recuerde, si agrega un usuario a la funcin sysadmin, ese usuario ahora
tendr acceso total a cada funcin, base de datos y objetos para ese
servidor. Con ese acceso total, un usuario puede entonces conceder permiso a
otros usuarios contra otros elementos protegibles del servidor.
SEGURIDAD A NIVEL BASE DE DATOS

Conceder permiso significa que el usuario puede acceder al objeto


Denegar permiso reemplaza un permiso concedido
Revocar remueve el permiso asignado sin importar si est denegado o
concedido.
Un usuario puede tener mltiples rutas de permiso a un objeto (individualmente,
a travs de una funcin de base de datos estndar y a travs de la funcin
pblica). Si cualquiera de estas rutas son denegadas, elusuario entonces ser
bloqueado y no podr acceder al objeto.
ROLES DE NIVEL DE BASE DE DATOS

Los roles de base de datos fijos incluyen lo siguiente:


db_accessadmin: puede autorizar a un usuario acceder a la base de datos, pero no
administrar la seguridad de nivel de base de datos.
db_backupoperator: puede desarrollar respaldos, puntos de control y comandos de
DBCC, pero no restauraciones (solo los sysadmins del servidor pueden realizar
restauraciones).
db_datareader: puede leer los datos en la base de datos. Esta funcin es el
equivalente de una concesin a todos los objetos de esta y puede ser anulado por
medio de la negacin de un permiso.
db_datawriter: puede escribir a toda la informacin en la base de datos.
Esta funcin es el equivalente a una concesin a todos los objetos y puede ser
anulado por medio de la negacin de un permiso.
db_ddladmin: puede emitir comandos DDL (crear, alterar, eliminar).
db_denydatareader: puede leer desde cualquier tabla en la base de datos.
Esta negacin anular cualquier concesin a nivel de objeto.
db_denydatawriter: bloquea la modificacin de informacin en cualquier tabla en la
base de datos. Esta denegacin anular cualquier concesin de nivel de objeto.
db_owner: un rol especial que tiene todos los permisos en la base de datos. Esta
funcin incluye todas las capacidades de las otras funciones. Es diferente a la funcin
de usuario dbo. No tiene el mismo nivel que la funcin sysadmin del servidor, una
negacin de nivel de objeto anular la membreca en esta funcin.
db_securityadmin: puede administrar la seguridad de nivel de base de datos, (roles
y permisos).
El siguiente ejemplo crea el rol de base de datos auditors que pertenece al
rol de base de datos fijo db_securityadmin:
USE AdventureWorks;
CREATE ROLE auditors AUTHORIZATION db_securityadmin;
GO
ROL DE APLICACIN

Un rol de aplicacin es un rol especfico de la base de datos con la intencin de


permitir a una aplicacin obtener acceso sin importar el usuario. Por ejemplo, si
un programa especfico de Visual Basic es utilizado para buscar la tabla
Customer y no maneja la identificacin del usuario, el programa de VB puede
acceder a SQL Server utilizando un rol de aplicacin codificada. Quien emplee
la aplicacin obtendr acceso a la base de datos.
GRACIAS.

También podría gustarte