Documentos de Académico
Documentos de Profesional
Documentos de Cultura
NCLEO ANZOTEGUI
ESCUELA DE INGENIERA Y CIENCIAS APLICADAS
DEPARTAMENTO DE COMPUTACIN Y SISTEMAS
ADMINISTRACION DE SISTEMAS DE BASE DE DATOS
SECCIN 01
Profesor:
Manuel Carrasquero
Integrante:
Georgmarys Gonzlez C.I: 21.388.525
Barcelona, 27 de Julio 2015
INTRODUCCION
En la actualidad la recopilacin de datos es fundamental para que las
organizaciones e instituciones puedan mantener un control de sus actividades, tener
acceso y resguardo a esta informacin es de vital importancia. En este sentido las
bases de datos brindan las herramientas necesarias para el debido manejo y
administracin de informacin.
Las bases de datos son recursos que recopilan todo tipo de informacin, para
atender las necesidades de un amplio grupo de usuarios. Son muy variadas y se
caracterizan por una alta estructuracin y estandarizacin de la informacin.
De acuerdo a su arquitectura, las bases de datos pueden ser centralizadas o
distribuidas. La base de datos centralizada es una base de datos almacenada en su
totalidad en un solo lugar fsico, es decir, es una base de datos almacenada en una
sola mquina y en un solo CPU.
Las bases de datos distribuidas son una coleccin de datos distribuidos en
diferentes nodos de una red de computadoras. Cada sitio de la red es autnomo,
puede ejecutar aplicaciones locales y al menos una aplicacin global.
los
sitios
han
sociedad entre los DBMS individuales locales de todos los sitios. Un nuevo
componente de software en cada sitio ( en el aspecto lgico, una extensin del DBMS
local ) realiza las funciones de sociedad necesarias; y es la combinacin de este nuevo
componente y el DBMS ya existente lo que constituye el llamado "sistema de
administracin de bases de datos distribuidas" (DDBMS, distributed database
management system ).
Ventajas
Refleja una estructura organizacional - los fragmentos de la base de datos se ubican
en los departamentos a los que tienen relacin.
Autonoma local - un departamento puede controlar los datos que le pertenecen.
Disponibilidad - un fallo en una parte del sistema solo afectar a un fragmento, en
lugar de a toda la base de datos.
Rendimiento - los datos generalmente se ubican cerca del sitio con mayor demanda,
tambin los sistemas trabajan en paralelo, lo cual permite balancear la carga en los
servidores.
Economa - es ms barato crear una red de muchas computadoras pequeas, que
tener una sola computadora muy poderosa.
Modularidad - se pueden modificar, agregar o quitar sistemas de la base de datos
distribuida sin afectar a los dems sistemas (mdulos).
Desventajas
Complejidad - Se debe asegurar que la base de datos sea transparente, se debe lidiar
con varios sistemas diferentes que pueden presentar dificultades nicas. El diseo de
la base de datos se tiene que trabajar tomando en cuenta su naturaleza distribuida, por
lo cual no podemos pensar en hacer joins que afecten varios sistemas.
Fragmentacin
El
problema
de
fragmentacin
se
refiere
al
particionamiento
de
Esto es debido a:
Si la tabla est replicada en todos o algunos de los sitios donde residen cada
una de las aplicaciones entonces la generacin de trafico innecesario es producida por
la necesidad de la actualizacin de las copias.
Ventajas
Fragmentacin horizontal
Fragmentacin vertical
Fragmentacin mixta
Para que una la fragmentacin de una relacin sea correcta debe satisfacer las
siguientes condiciones:
Condicin de completitud.
Fragmentacin Mixta
Como el mismo nombre indica es una combinacin de las dos anteriores vistas
he aqu un ejemplo a partir de una tabla fragmentada horizontalmente.
La Transparencia
La transparencia se define como la separacin de la semntica de alto nivel de
un sistema de los aspectos de bajo nivel relacionados a la implementacin del mismo.
Un nivel de transparencia adecuado permite ocultar los detalles de implementacin a
las capas de alto nivel de un sistema y a otros usuarios.
Dentro de los principales niveles de trasparencia tenemos:
Transparencia de Sistemas de gestin de base de datos SGBD
Transparencia de transaccin
Transparencia de concurrencia
Transparencia de concurrencia
Los sistemas de gestin de base de datos distribuidas brindan transparencia de
concurrencia si es que las transacciones independientes son lgicas y tienen similitud
con que se puedan hacer al mismo tiempo, es decir los resultados seran los mismos
se hiciere de una sola vez.
Esto sucede con la replicacin, por ejemplo, dado que este proceso es
asncrono.
Transparencia de transaccin
Se garantiza que todas las transacciones mantengan la integridad y coherencia
de datos de la base de datos distribuida, es decir en todos sus nodos y fragmentos. Por
ejemplo se puede utilizar todos los fragmentos de una tabla estos fragmentos
pueden estar fsicamente en diferentes ubicaciones de una sola vez.
Una transaccin internamente est dividida en sub transacciones para ocupar
cada uno de los nodos que contengan los datos que se requiere, esto no es visible para
el usuario. Este, simplemente enva una sola transaccin.
Transparencia respecto a fallos
Garantizar la atomicidad de la transaccin, es decir mostrar los resultados si es
que todas las sub transacciones no tuvieron error, o parar todo el proceso y algn
subproceso tuvo error. Por lo tanto SGBDD debe sincronizar todas las sub
transacciones mediante la transaccin global
Autonoma
Autonoma: Se puede presentar en diferentes niveles, los cuales se describen a
continuacin:
Autonoma de diseo: Habilidad de un componente del sistema para decidir
cuestiones relacionadas a su propio diseo.
consistente, por esto una transaccin es considerada tambin una unidad lgica de
recuperacin. La idea clave es que una transaccin debe ser atmica, es decir, las
operaciones que la componen deben ser ejecutadas en su totalidad o no ser ejecutadas
en absoluto. Una sentencia de definicin o manipulacin de datos ejecutada de forma
interactiva (por ejemplo utilizar el SQL*Plus de Oracle para realizar una consulta)
puede suponer el inicio de una transaccin. Asimismo, la ejecucin de una sentencia
SQL por parte de un programa que no tiene ya una transaccin en progreso, supone la
iniciacin de una transaccin. Toda transaccin finaliza con una operacin de commit
(confirmar) o bien con una operacin de rollback (anular, abortar o revertir).
Tanto una operacin como la otra puede ser de tipo explcito (si la propia
transaccin (su cdigo) contiene una sentencia COMMIT o ROLLBACK) o implcito
(si dicha operacin es realizada por el sistema de forma automtica, por ejemplo tras
detectar una terminacin normal (xito) o anormal (fallo) de la transaccin).
Por defecto, una vez finalizada una transaccin, si todas sus operaciones se
han realizado con xito, se realiza un COMMIT implcito de dicha transaccin; y si
alguna de ellas tuvo problemas, se lleva a cabo un ROLLBACK implcito de la
transaccin (es decir, se deshacen todas las operaciones que haba realizado hasta el
momento del fallo).
En bases de datos se denomina ACID a las caractersticas de los parmetros
que permiten clasificar las transacciones de los sistemas de gestin de bases de datos.
Cuando se dice que es ACID compliant se indica -en diversos grados- que ste
permite realizar transacciones.
En
concreto ACID
es
un
acrnimo
ser reiniciadas posteriormente, ya sea de forma automtica por parte del sistema, o
bien sea el usuario el que las reintroduzca como si fueran nuevas transacciones
una vista, etc. Permite implementar programas basados en paradigma lgico (sistemas
expertos, deduccin).
Componentes Principales
Llamada de activacin: es la sentencia que permite "disparar" el cdigo a
ejecutar.
Restriccin: es la condicin necesaria para realizar el cdigo. Esta restriccin
Efectos y Caractersticas
Ejemplo:
Un sencillo ejemplo (para SQL Server) sera crear un Trigger para insertar un
pedido de algn producto cuando la cantidad de ste, en nuestro almacn, sea inferior
a un valor dado.
CREATE TRIGGER TR_ARTICULO ON ARTICULOS AFTER UPDATE AS
BEGIN INSERT INTO HCO_ARTICULO (IDARTICULO, STOCK, FECHA)
SELECT ID_ARTICULO, STOCK, GETDATE() FROM INSERTED END
INSERT INTO ARTICULOS VALUES (1, 'MEMORIA', 12, '12/03/2014')
SELECT * FROM ARTICULOS
UPDATE ARTICULOS SET STOCK = STOCK - 20 WHERE ID_ARTICULO = 1
SELECT * FROM HCO_ARTICULO
</source>
+--------------------+
3 rows in set (0.00 sec)
mysql>
Hemos creado una tabla llamada "gente" con dos columnas: "nombre" que
puede contener cadenas de hasta 40 caracteres y "fecha" de tipo fecha.
Podemos consultar cuntas tablas y qu nombres tienen en una base de datos,
usando la sentencia SHOW TABLES:
Niveles de Privilegios
En MySQL existen cinco niveles distintos de privilegios:
Globales: se aplican al conjunto de todas las bases de datos en un servidor. Es el
nivel ms alto de privilegio, en el sentido de que su mbito es el ms general.
De base de datos: se refieren a bases de datos individuales, y por extensin, a todos
los objetos que contiene cada base de datos.
De tabla: se aplican a tablas individuales, y por lo tanto, a todas las columnas de esas
tabla.
De columna: se aplican a una columna en una tabla concreta.
De rutina: se aplican a los procedimientos almacenados. An no hemos visto nada
sobre este tema, pero en MySQL se pueden almacenar procedimientos consistentes en
varias consultas SQL.
Crear Usuarios
Aunque en la versin 5.0.2 de MySQL existe una sentencia para crear
usuarios, CREATE USER, en versiones anteriores se usa exclusivamente la sentencia
GRANT para crearlos.
En general es preferible usar GRANT, ya que si se crea un usuario mediante
CREATE USER, posteriormente hay que usar una sentencia GRANT para concederle
privilegios.
Usando GRANT podemos crear un usuario y al mismo tiempo concederle
tambin los privilegios que tendr. La sintaxis simplificada que usaremos para
GRANT, sin preocuparnos de temas de cifrados seguros que dejaremos ese tema para
captulos avanzados, es:
Hay que tener en cuenta que la contrasea se debe introducir entre comillas de
forma obligatoria.
Un usuario 'annimo' podr abrir una sesin MySQL mediante una orden:
Pero no podr hacer mucho ms, ya que no tiene privilegios. No tendr, por
ejemplo, oportunidad de hacer selecciones de datos, de crear bases de datos o tablas,
insertar datos, etc.
Conceder privilegios
Para que un usuario pueda hacer algo ms que consultar algunas variables del
sistema debe tener algn privilegio. Lo ms simple es conceder el privilegio para
seleccionar datos de una tabla concreta. Esto se hara as:
La misma sentencia GRANT se usa para aadir privilegios a un usuario
existente.
+----------+------------+
| nombre
| fecha
|
+----------+------------+
| Fulano
| 1985-04-12 |
| Mengano | 1978-06-15 |
| Tulano
| 2001-12-02 |
| Pegano
| 1993-02-10 |
| Pimplano | 1978-06-15 |
| Frutano | 1985-04-12 |
+----------+------------+
6 rows in set (0.05 sec)
mysql>
Como se ve, para este usuario slo existe la base de datos 'prueba' y dentro de
esta, la tabla 'gente'. Adems, podr hacer consultas sobre esa tabla, pero no podr
aadir ni modificar datos, ni por supuesto, crear o destruir tablas ni bases de datos.
Para conceder privilegios globales se usa ON *.*, para indicar que los privilegios se
conceden en todas las tablas de todas las bases de datos.
Para conceder privilegios en bases de datos se usa ON nombre_db.*,
indicando que los privilegios se conceden sobre todas las tablas de la base de datos
'nombre_db'.
Usando ON nombre_db.nombre_tabla, concedemos privilegios de nivel de
tabla para la tabla y base de datos especificada. En cuanto a los privilegios de
columna, para concederlos se usa la sintaxis tipo_privilegio (lista_de_columnas),
[tipo_privilegio (lista_de_columnas)].
Otros privilegios que se pueden conceder son:
ALL: para conceder todos los privilegios.
CREATE: permite crear nuevas tablas.
DELETE: permite usar la sentencia DELETE.
CONCLUSION
Una Base de Datos Distribuida es, una base de datos construida sobre
una red computacional y no por el contrario en una mquina aislada.
BIBLIOGRAFIA
FUNDAMENTOS DE BASES DE DATOS
Cuarta edicin
Abraham Silberschatz
Editorial: MCGRAWHILL
Pginas: 463-505
http://www.monografias.com/trabajos82/base-datos-distribuidas/base-datosdistribuidas2.shtml#ixzz3h3B7FY5W
http://amazonasopina.blogspot.com/2012/09/la-transparencia-en-las-bases-de
datos.html
http://wwwefrainguerrero.blogspot.com/2012/06/arquitectura-en-tres-capas.html
http://www.grch.com.ar/docs/bd/apuntes/BDTema06.pdf
http://mysql.conclase.net/curso/?cap=013#
http://mysql.conclase.net/curso/?cap=007