46
ADMINISTRACIÓN DE BASES DE DATOS Ingeniería en Sistemas

Presentacion_AdmonBDs

Embed Size (px)

DESCRIPTION

abd

Citation preview

Page 1: Presentacion_AdmonBDs

ADMINISTRACIÓN DE BASES DE

DATOS

Ingeniería en Sistemas

Page 2: Presentacion_AdmonBDs

Objetivo

El alumno será capaz de comprender los procesos de almacenamiento, acceso a la información y administración de un sistema administrador de bases de datos (SABD, SMBD, SGBD, DBMS)

Page 3: Presentacion_AdmonBDs

Temario

I. Fundamentos de

administración de bd’s

II. Administración de bd’s

III. Administración de usuarios

IV. Seguridad e integridad

V. Respaldo y recuperación

Page 4: Presentacion_AdmonBDs

Bibliografía

Sistemas de Gestión de Bases de DatosRamakrishman, McGraw-Hill, 3ª Ed. 2007

Fundamentos de Bases de DatosSilberschatz, A. McGraw-Hill, 5ª Ed. 2006

SQL Server 2008, Paso a PasoHotek, M. Anaya, 2009

Page 5: Presentacion_AdmonBDs

Conceptos

Base de datosEs una colección de datos relacionados con un tema u objetivo concreto

TablaEs una estructura de datos bidimensional donde es posible almacenar datos relacionados

Page 6: Presentacion_AdmonBDs

Conceptos

campos (atributos)

regis

tros

relación

llave primaria

Page 7: Presentacion_AdmonBDs

Conceptos

Sistema administrador de bases de datos (SABD, SGBD, DBMS)• Es una colección de programas

que permiten a los usuarios crear y mantener bases de datos

• Es un software de propósito general que facilita el proceso de definir, construir, manipular y compartir bases de datos entre varios usuarios y aplicaciones

Page 8: Presentacion_AdmonBDs

Conceptos

Page 9: Presentacion_AdmonBDs

Conceptos

• Aridad o grado

• Cardinalidad

• Llave primaria y secundaria

• Dominio• Procedimiento almacenado• Trigger (desencadenador)

Page 10: Presentacion_AdmonBDs

Conceptos

Bno Street Area City Postcode Tel_No Fax_No

B5 22 Deer Rd Sidcup London SW1 4EH 0171-886-

12120171-886-1214

B7 16 Argyll St Dyce Aberdee

n AB2 3SU 01224-67125 01224-67111

B3 163 Main St Partick Glasgow G11 9QX 0141-339-

21780141-339-4439

B4 32 Manse Rd Leigh Bristol BS99 1NZ 0117-916-

11700117-776-1114

B2 56 Clover Dr London NW10 6EU 0181-963-

10300181-453-7992

grado (aridad)

card

inalid

ad

rela

ción

Page 12: Presentacion_AdmonBDs

Tipos de datos (T-SQL)

Page 13: Presentacion_AdmonBDs

Tipos de datos (T-SQL)

Page 14: Presentacion_AdmonBDs

Vistas

Una vista es una tabla virtual cuyo contenido está definido por una consulta.

Al igual que una tabla real, una vista consta de un conjunto de columnas y filas de datos que proceden de tablas a las que se hace referencia en la consulta y se producen de forma dinámica cuando se hace referencia a la vista.

Page 15: Presentacion_AdmonBDs

Vistas

Page 16: Presentacion_AdmonBDs

Utilización de vistas

• Para centrarse en datos específicos

• Para simplificar la manipulación de

datos

Page 17: Presentacion_AdmonBDs

Utilización de vistas

• Para proporcionar compatibilidad con versiones anteriores

Page 18: Presentacion_AdmonBDs

Procedimientos almacenados

Un procedimiento almacenado (stored procedure -SP) es un conjunto de comandos SQL que pueden almacenarse en un servidor.

Page 19: Presentacion_AdmonBDs

Procedimientos almacenados

Similitud con funciones en programación:

• Parámetros de entrada / parámetros de salida

• Pueden llamar a otros procedimientos

• Devuelven un valor de estado a un programa que realiza una llamada

Page 20: Presentacion_AdmonBDs

Ventajas de los SPs

• Tráfico de red reducido entre el cliente y el servidor

• Mayor seguridad

• Reutilización de código

Page 21: Presentacion_AdmonBDs

Ventajas de los SPs

• Mantenimiento más sencillo

• Rendimiento mejorado

Page 23: Presentacion_AdmonBDs

Ejemplo (parámetro de entrada)

CREATE PROCEDURE MiProc @Ciudad nvarchar(30) AS SELECT * FROM MiTablaWHERE Ciudad = @Ciudad

EXEC MiProc @Ciudad=‘Querétaro’

Page 24: Presentacion_AdmonBDs

Ejemplo (parámetro de salida)

Page 25: Presentacion_AdmonBDs

SPs del sistema

Page 26: Presentacion_AdmonBDs

SPs del sistema

Page 27: Presentacion_AdmonBDs

SPs del sistema

Page 28: Presentacion_AdmonBDs

Funciones (SQL Server)

• IntegradasAgregado:

AVG, COUNT, MAX, MIN, SUM, VAR, …Escalares:

Matemáticas: ABS, COS, EXP, POWER, …

De Cadena: CHAR, CONCAT, LEN, REPLACE, …

Entre otras

• Definidas por el usuario (UDF)

Page 29: Presentacion_AdmonBDs

Funciones definidas por el usuario

Page 30: Presentacion_AdmonBDs

Funciones (ejemplo)

CREATE FUNCTION ElevarAlCubo(@base INT)RETURNS __________ASBEGIN RETURN __________________END

Page 31: Presentacion_AdmonBDs

Funciones (ejercicio)

Crear una función que dado un entero que represente un día de la semana, regrese el nombre literal del día

Page 32: Presentacion_AdmonBDs

Funciones (ejercicio)

CREATE FUNCTION CalcularVolumenCubo -- dimensiones de entrada en cms (@Longitud decimal(4,1), @Anchura decimal(4,1), @Altura decimal(4,1) )RETURNS decimal(12,3) -- cms cúbicosASBEGIN RETURN ( @Longitud * @Anchura * @Altura )END

Page 33: Presentacion_AdmonBDs

Funciones (ejercicio)

CREATE TABLE Cubos ( numero int PRIMARY KEY, color nchar(20), altura decimal(4,1), longitud decimal(4,1), anchura decimal(4,1), volumen AS (

dbo.CalcularVolumenCubo(altura, longitud, anchura) ))

Page 34: Presentacion_AdmonBDs

Funciones definidas por el usuario

Page 35: Presentacion_AdmonBDs

Funciones definidas por el usuario

CREATE FUNCTION MuestraInfoCubos(@num int) RETURNS TABLERETURNselect numero, volumenfrom Cuboswhere numero < @num

Page 36: Presentacion_AdmonBDs

Triggers (desencadenadores, disparadores)

Es un objeto de base de datos que está asociado a una tabla y que se activa cuando ocurre un evento particular para dicha tabla.

• Verificaciones de valores a insertarse en la tabla• Llevar a cabo cálculos sobre los valores

implicados en una actualización

Se activa cuando se ejecuta un INSERT, DELETE o UPDATE

Page 37: Presentacion_AdmonBDs

Triggers

• Los triggers se activan solo por sentencias SQL

• Un trigger puede llamar a un SP• Un trigger no puede ser asociada a una

tabla temporal o a una vista• No puede haber dos triggers para una

misma tabla con el mismo evento y acción en el

Page 38: Presentacion_AdmonBDs

Triggers (sintaxis –SQL Server)

Page 39: Presentacion_AdmonBDs

Triggers (sintaxis –MySQL)

BEFORE, AFTER

INSERT, UPDATE, DELETE

INSERT = INSERT, LOAD DATA, REPLACEUPDATE = UPDATEDELETE = DELETE, REPLACE

Page 40: Presentacion_AdmonBDs

Triggers

CREATE TRIGGER upd_check BEFORE UPDATE ON account

FOR EACH ROWBEGIN IF NEW.amount < 0 THEN SET NEW.amount = 0; ELSEIF NEW.amount > 100 THEN SET NEW.amount = 100; END IF;END

Page 41: Presentacion_AdmonBDs

Triggers

• Solo puede ser aplicado a una tabla• Crear/alterar/borrar una bd no está

permitido• Asociados a tablas permanentes (no

temporales ni vistas)• En MySQL no pueden contener la

instrucción CALL

Page 42: Presentacion_AdmonBDs

III Administración de usuarios

Page 43: Presentacion_AdmonBDs

Administración de usuarios

Inicio de sesión (IS):• Un IS es una entidad de seguridad o una

entidad que puede ser autenticada por un sistema seguro

• Los usuarios necesitan iniciar sesión para conectarse a SQL Server

• Se pueden conceder permisos a los IS’s• El ámbito de un IS es todo el motor de bd• Los permisos dentro de la bd se conceden

y deniegan al usuario de la bd, no al inicio de sesión

Page 44: Presentacion_AdmonBDs

Administración de usuarios

Usuario de base de datos (UBD):• Un UBD es una entidad de seguridad de la

bd• El ámbito de un UBD es la bd • El UBD es la identidad del inicio de sesión

cuando está conectado a una bd• El UBD puede utilizar el mismo nombre

que el inicio de sesión, pero no es necesario

• Los permisos dentro de la bd se conceden y deniegan al UBD, no al IS

Page 45: Presentacion_AdmonBDs

Roles de servidor para los IS’s

Nombre del rol

Permisos

bulkadmin Instrucción BULK INSERT

dbcreator Crear, modificar, quitar y restaurar cualquier base de datos

diskadmin Administrar archivos de disco

processadmin Finalizar procesos mediante la ejecución de una instancia del motor de bd

public Todos los usuarios, grupos y roles de SQLS pertenecen al rol public

securityadmin Administrar los inicios de sesión y sus propiedades (permisos de servidor y de bds: GRANT, DENY, REVOKE); reestablecen contraseñas para IS’s

serveradmin Cambiar opciones de configuración en el servidor y cerrarlo

setupadmin Agregar/quitar servidores vinculados; ejecutar algunos SPs del sistema

sysadmin Cualquier actividad en el motor de bd

Page 46: Presentacion_AdmonBDs

Roles de bases de datos

Nombre del rol

Permisos

db_owner Todas las actividades de configuración y mantenimiento en la bd (y quitarla)

db_securityadmin

Modificar la pertenencia a roles y administrar permisos.

db_accessadmin Agregar o quitar el acceso a la bd para IS’s de Windows, grupo de Windows e IS’s de SQL Server

db_backupoperator

Copias de seguridad de la bd

db_ddladmin Cualquier comando DDL en una bd

db_datawriter Agregar, eliminar o cambiar datos en todas las tablas de usuario

db_datareader Leer todos lo datos de todas las tablas de usuario

db_denydatawriter

No pueden agregar, modificar ni eliminar datos de tablas de usuario

db_denydatareader

No pueden leer datos de las tablas de usuario