Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DE BASES DE
DATOS
Ingeniera en Sistemas
Objetivo
El alumno ser capaz de comprender
los procesos de almacenamiento,
acceso a la informacin y
administracin de un sistema
administrador de bases de datos
(SABD, SMBD, SGBD, DBMS)
Temario
I.
Fundamentos de
administracin de bds
II.
Administracin de bds
Respaldo y recuperacin
Bibliografa
Sistemas de Gestin de Bases de
Datos
Ramakrishman, McGraw-Hill, 3 Ed.
2007
Fundamentos de Bases de Datos
Silberschatz, A. McGraw-Hill, 5 Ed.
2006
Conceptos
Base de datos
Es una coleccin de datos
relacionados con un tema u objetivo
concreto
Tabla
Es una estructura de datos
bidimensional donde es posible
almacenar datos relacionados
Conceptos
relacin
llave
primaria
registr
os
campos
(atributos)
Conceptos
Sistema administrador de bases
de datos (SABD, SGBD, DBMS)
Es una coleccin de programas
que permiten a los usuarios crear
y mantener bases de datos
Es un software de propsito
general que facilita el proceso de
definir, construir, manipular y
compartir bases de datos entre
varios usuarios y aplicaciones
Conceptos
Conceptos
Aridad o grado
Cardinalidad
Llave primaria y secundaria
Dominio
Procedimiento almacenado
Trigger (desencadenador)
Bn
o
Street
Area
B5
22 Deer
Rd
Sidcup London
B7
16 Argyll
St
Dyce
B3
City
Postcode
Tel_No
Fax_No
SW1 4EH
0171-8861212
0171-8861214
Aberdee
n
AB2 3SU
01224-67125
01224-67111
163 Main
St
Partick Glasgow
G11 9QX
0141-3392178
0141-3394439
B4
32 Manse
Rd
Leigh
0117-916BS99
1NZ
grado (aridad)
1170
0117-7761114
B2
56 Clover
Dr
0181-9631030
0181-4537992
Bristol
London
NW10 6EU
cardinalidad
relacin
Conceptos
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
dinmica cuando se hace referencia
Vistas
Utilizacin de vistas
Para centrarse en datos especficos
Para simplificar la manipulacin de
datos
Utilizacin de vistas
Para proporcionar compatibilidad
con versiones anteriores
Procedimientos
almacenados
Un procedimiento almacenado
(stored procedure -SP) es un conjunto
de comandos SQL que pueden
almacenarse en un servidor.
Procedimientos
almacenados
Similitud con funciones en
programacin:
Parmetros de entrada /
parmetros de salida
Pueden llamar a otros
procedimientos
Devuelven un valor de estado a un
programa que realiza una llamada
Ejemplo (parmetro de
entrada)
CREATE PROCEDURE MiProc @Ciudad
nvarchar(30) AS SELECT * FROM MiTabla
WHERE Ciudad = @Ciudad
EXEC MiProc @Ciudad=Quertaro
Ejemplo (parmetro de
salida)
Escalares:
Matemticas: ABS, COS, EXP, POWER,
De Cadena: CHAR, CONCAT, LEN,
REPLACE,
Entre otras
Funciones (ejemplo)
CREATE FUNCTION
ElevarAlCubo(@base INT)
RETURNS __________
AS
BEGIN
RETURN __________________
END
Funciones (ejercicio)
Crear una funcin que dado un
entero que represente un da de la
semana, regrese el nombre literal del
da
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
cbicos
AS
BEGIN
RETURN ( @Longitud * @Anchura *
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)
)
)
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 clculos sobre los valores
implicados en una actualizacin
Se activa cuando se ejecuta un INSERT,
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
accin en el
INSERT, UPDATE,
DELETE
Triggers
CREATE TRIGGER upd_check BEFORE UPDATE ON
account
FOR EACH ROW
BEGIN
IF NEW.amount < 0 THEN
SET NEW.amount = 0;
ELSEIF NEW.amount > 100 THEN
SET NEW.amount = 100;
END IF;
END
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
instruccin CALL
Administracin de usuarios
Inicio de sesin (IS):
Un IS es una entidad de seguridad o una
entidad que puede ser autenticada por un
sistema seguro
Los usuarios necesitan iniciar sesin para
conectarse a SQL Server
Se pueden conceder permisos a los ISs
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
Administracin 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 sesin
cuando est conectado a una bd
El UBD puede utilizar el mismo nombre
que el inicio de sesin, pero no es
necesario
Los permisos dentro de la bd se conceden
Permisos
bulkadmin
dbcreator
diskadmin
processadmin
public
securityadmin
serveradmin
setupadmin
Permisos
db_owner
db_datawriter
db_datareader
db_denydatawri
ter