SlideShare una empresa de Scribd logo
1 de 114
i
DESARROLLO DE
BASE DE DATOS
TABLA DE
CONTENIDO
INTRODUCION...........................................................................................1
QUE ESUNA BASE DE DATOS...........................................................................2
Tipos de bases de datos.........................................................................................3-4-5-6-7
EVOLUCION DE LA BASE DE DATOS……………………..(8)-(15)
Formulariosy componentes………………………………………………16-(26)
Tabla, registro y campos………………………………………………………..27-(39)
Tipos de tablasen mi SQL……………………………………………………….39-(42)
Historia y evolución de mysql, Server y postrer…………………………42-(52)
El modeloentidad relación………………………………………………………………..57-(61)
Modelorelacional…………………………………………………………………………..62-(65)
Las consultas……………………………………………………………………..66-(70)
La indexación…………………………………………………………………..71-(75)
Bases de datosdistribuidas……………………………………76-(83)
Base de datosno sql……………………………………………………………….83-
1
INTRODUCION
Lo que van haber se trata de las bases de
datos, acces y su historia además todo lo
primordial de acces con todas las
respuestas que le puedan ayudar ahora
sin mas que decir les dejo el desarrollo de
acces y para
La principal ventaja de utilizar bases de
datos es que múltiples usuarios pueden
acceder a ellas al mismo tiempo.
2
QUE ES UNA BASE DE
DATOS
Una base de datos (cuya abreviatura
es BD) es una entidad en la cual se
pueden almacenar datos de manera
estructurada, con la menor
redundancia posible. Diferentes
programas y diferentes usuarios
deben poder utilizar estos datos. Por
lo tanto, el concepto de base de
datos generalmente está
relacionado con el de red, ya que se
debe poder compartir esta
información. Generalmente se
habla de un "Sistema de
3
información" para designar a la
estructura global que incluye todos
los mecanismos para compartir
diferentes datos del sistema de
información
Tipos de bases de datos
El modelo de base de datos plana
En un modelo de base de datos global,
hay dos dimensiones (estructura plana)
de conjunto de datos. Por ejemplo, hay
una columna de información y dentro
de esta columna, se supone que cada
dato se referirá a la otra. Por ejemplo,
un modelo de base de datos plana sólo
4
incluye los códigos postales. Dentro de
la base de datos, sólo habrá una
columna y cada nueva fila dentro de
una columna será un nuevo código
postal.
El modelo de base de datos jerárquica
El modelo jerárquico de bases de datos
se asemeja a la estructura de un árbol,
tal como Microsoft Windows organiza
las carpetas y archivos. En un modelo
jerárquico de bases de datos, cada
enlace es anidado con el fin de
conservar los datos organizados en un
orden particular en un mismo nivel de
5
lista. Por ejemplo, una base de datos
jerárquico de las ventas, puede incluir
las ventas de cada día como un archivo
separado. Anidadas dentro de este
archivo están todas las ventas (el
mismo tipo de datos) para el día.
Modelo de la Red
En un modelo de red, la característica
definitoria es que se almacena un
registro con un enlace a otros registros
- en efecto, una red. Estas redes (o, a
veces, a que se refiere como punteros)
puede ser una variedad de diferentes
tipos de información como números de
6
nodo de un disco o incluso la
dirección.
El Modelo Relacional
El modelo relacional es el más popular
tipo de base de datos y una
herramienta extremadamentepotente,
no sólo para almacenar información,
también para acceder a ella. Las bases
de datos relacionales son organizadas
en forma de tablas. La belleza de un
cuadro es que la información se puede
acceder o añadir sin reorganizar las
tablas. Una tabla puede tener muchos
registros y cada registro puede tener
7
muchos campos.
Cuadros que a veces se llaman una
relación. Por ejemplo, una empresa
puede tener una base de datos
denominada los pedidos de los clientes,
dentro de esta base de datos serán
diferentes tablas o relaciones de todos
los relativos a los pedidos de los
clientes. Tablas pueden incluir la
información del cliente (nombre,
dirección, contacto, información,
número de cliente, etc.) y otras tablas
(relaciones), como las órdenes que el
cliente compró anteriormente (esto
puede incluir un número de artículo,
la descripción del artículo, cantidad de
8
pago, la forma de pago, etc.). Cabe
señalar que cada registro (grupo de
campos) en una base de datos
relacional tiene su propia clave
principal. Una clave principal es el
único campo quelpo. hace que sea fácil
identificar a un registro.
9
Evolución de la base
de datos
El uso de sistemas de bases de datos
automatizadas, se desarrollo a partir de
la necesidad de almacenar grandes
cantidades de datos, para su posterior
consulta, producidas por las nuevas
industrias que creaban gran cantidad
de información.
Década de 1950
En este lapso de tiempo se da origen a
las cintas magnéticas, las cuales
10
sirvieron para suplir las necesidades de
información de las nuevas industrias.
Por medio de este mecanismo se
empezó a automatizar la información
de las nóminas, como por ejemplo el
aumento de salario. Consistía en leer
una cinta o más y pasar los datos a
otra, y también se podían pasar desde
las tarjetas perforadas. Simulando un
sistema de Backus, que consiste en
hacer una copia de seguridad o copia
de respaldo, para guardar en un medio
extraíble la información importante.
La nueva cinta a la que se transfiere la
información pasa a ser una cinta
maestra. Estas cintas solo se podían
11
leer secuencial y ordenadamente.
Década de 1960
El uso de los discos en ese momento
fue un adelanto muy efectivo, ya que
por medio de este soporte se podía
consultar la información directamente,
esto ayudo a ahorrar tiempo. No era
necesario saber exactamente donde
estaban los datos en los discos, ya que
en milisegundos era recuperable la
información. A diferencia de las cintas
magnéticas, ya no era necesaria la
secuencialidad, y este tipo de soporte
empieza a ser ambiguo.
Los discos dieron inicio a las Bases de
12
Datos, de red y jerárquicas, pues los
programadores con su habilidad de
manipulación de estructuras junto con
las ventajas de los discos era posible
guardar estructuras de datos como
listas y árboles.
Década de 1970
Edgar Frank Codd (23 de agosto de
1923 – 18 de abril de 2003), en un
artículo "Un modelo relacional de
datos para grandes bancos de datos
compartidos" ("A Relacional Medel of
Data for Largue Shares Data Banks")
en 1970, definió el modelo relacional y
publicó una serie de reglas para la
13
evaluación de administradores de
sistemas de datos relacionales y así
nacieron las bases de datos
relacionales.
A partir de los aportes de Codd el
multimillonario Larry Allison
desarrollo la base de datos Oracle, el
cual es un sistema de administración
de base de datos, que se destaca por sus
transacciones, estabilidad, escalabilidad
y multiplataforma.
Inicialmente no se uso el modelo
relacional debido a que tenía
inconvenientes por el rendimiento, ya
que no podían ser competitivas con las
bases de datos jerárquicas y de red.
Ésta tendencia cambio por un proyecto
14
de IBM el cual desarrolló técnicas para
la construcción de un sistema de bases
de datos relacionales eficientes,
llamado Sistema R.
Edgar Frank Codd IBM
Corporation Larry Ellison
Década de 1980
Las bases de datos relacionales con su
sistema de tablas, filas y columnas,
pudieron competir con las bases de
datos jerárquicas y de red, ya que su
nivel de programación era bajo y su
uso muy sencillo.
En esta década el modelo relacional ha
conseguido posicionarse del mercado
15
de las bases de datos. Y también en este
tiempo se iniciaron grandes
investigaciones paralelas y distribuidas,
como las bases de datos orientadas a
objetos.
Principios década de los 90
Para la toma de decisiones se crea el
lenguaje SQL, que es un lenguaje
programado para consultas. El
programa de alto nivel SQL es un
lenguaje de consulta estructurado que
analiza grandes cantidades de
información el cual permite especificar
diversos tipos de operaciones frente a
la misma información, a diferencia de
16
las bases de datos de los 80 que eran
diseñadas para las aplicaciones de
procesamiento de transacciones. Los
grandes distribuidores de bases de
datos incursionaron con la venta de
bases de datos orientada a objetos.
Finales de la década de los 90
El boom de esta década fue la
aparición de la WWW “Word Wide
Web‿ ya que por éste medio se
facilitaba la consulta de las bases de
datos. Actualmente tienen una amplia
capacidad de almacenamiento de
información, también una de las
ventajas es el servicio de siete días a la
17
semana las veinticuatro horas del día,
sin interrupciones a menos que haya
planificaciones de mantenimiento de
las plataformas o el software.
Siglo XXI
En la actualidad existe gran cantidad
de alternativas en línea que permiten
hacer búsquedas orientadas a
necesidades especificas de los usuarios,
una de las tendencias más amplias son
las bases de datos que cumplan con el
protocolo Open Archives Iniciativa –
Protocolo por Metadato Harvesting
(OAI-PMH) los cuales permiten el
almacenamiento de gran cantidad de
18
artículos que permiten una mayor
visibilidad y acceso en el ámbito
científico y general.
19
Formularios y
componentes
Formulario: Los Formularios
básicamente permite diseñar los
datos para visualizarse por pantalla.
Pero no sólo muestran datos
informativos de las tablas, también
son interactivos, por tanto permiten
introducir nuevos registros en las
tablas, modificar e incluso borrar
registros de las de una o varias
tablas relacionales. También
pueden hacer cálculos (campos
calculados o controles de cuadros
de texto) con los datos de las tablas.
Los campos que contienen objetos
OLE (imágenes, fotos, sonidos,
videos, etc.) necesitan ser
20
mostrados en un formulario para
que se vean y/o escuchen...
EJEMPLO
Supongamos un conjuntos de
entidades de modelos de coches
que se que desea trasladar al
modelo de tablas relaciones. Se
definen en la tabla PRODUCTOS
de la imagen inferior. El atributo
(campo) Descripción que describe
el nombre del modelo de un coche.
el campo foto es una imagen (foto)
del modelo de coche en un campo
OLE que necesitar ser visualizado
en un formulario.
21
El formulario permite ver la
fotografía y una lista desplegable
como se ve en la imagen siguiente.
En la tabla sólo puede verse los
registros como filas, en la que la
foto es un campo con un contenido
de tipo Imagen.
22
Crear este formulario es
sumamente fácil. Pulsamos el
botón Diseño del formulario,
establecemos la propiedad de
formulario Origen del registro a la
tabla PRUDUCTOS. Obtenemos la
lista de campos que ves en la
imagen siguiente. Arrastramos el
campo foto al área de diseño de la
sección Detalla como ves en la
imagen sin olvidar ajustar las
propiedades del campo OLE foto,
por último insertamos un control
23
lista. Si se ejecuta el asistente debes
saber que responder a las preguntas
del asistente.
Pero veamos otro ejemplo.
Supongamos un conjunto de
entidades de empleados de una
24
empresa se convierten en la tabla o
consulta que muestra la imagen (C-
LISTADO-EMPLEADOS) inferior.
Los campos disponibles son
Apellido, Nombre, Po (porcentaje,
complemento o plus), Salario, etc.
Con el campo Salario y el campo
Porcentaje (Po en la imagen)
queremos realizar cálculos como el
salario bruto, es decir salario base
(campo Salario) mas el porcentaje
del salario que indica el campo
Porcentaje. Algunos empleados
tienen cero en como valor de
Porcentaje, no tienen plus,
complemento o comisión. También
queremos aplicar una retención
sobre el salario bruto (salario base
+ posible comisión). La retención
puede corresponde al IRPF que se
introduce como porcentaje. Y
25
finalmente el neto o líquido que
ingresará el empleado..
La imagen siguiente muestra lo
que debe realizar el formulario
26
LOS
COMPONENTES
Los componentes de una base de
datos de Access son:
– Tablas
– Consultas
– Formularios
– Informes
Tablas
27
Cuando se crea una base de datos, los
datos se almacenan en tablas. Cada
tabla representa a una entidad de la
base de datos (alumno, libro, producto,
…).
Una tabla es similar en apariencia a
una hoja de cálculo, en cuanto a que
los datos se almacenan en filas y
columnas. Cada fila de una tabla se
denomina registro. En los registros es
donde se almacena cada información
individual. Cada registro consta
de campos (al menos uno). Los campos
corresponden a las columnas de la
tabla (nombre, dirección, titulo, …)
Antes de crear tablas, debes examinar
cuidadosamente tus requisitos y
diseñar la base de datos para
determinar las tablas que necesitas.
28
Cada registro tiene que estar
unívocamente definido, tiene que ser
único, no puede haber registros
duplicados. Para ello, definiremos uno
de los campos como clave. Es decir, la
clave define de manera única al
registro (DNI, matricula, código, Id
articulo.
Consultas
Las consultas son las que
verdaderamente hacen el trabajo en
una base de datos. Pueden realizar
numerosas funciones diferentes. Su
función más común es recuperar datos
específicos de las tablas. Los datos que
deseas ver suelen estar distribuidos por
varias tablas y, gracias a las consultas,
puedes verlos en una sola hoja de
datos.
29
Además, puesto que normalmente no
deseas ver todos los registros a la vez,
las consultas le permiten agregar
criterios para “filtrar” los datos hasta
obtener solo los registros que desee
(libros que se han prestados y que
tienen que estar devueltos antes del
12/05/2015, alumnos que han nacido
en el año 2000.
Formularios
Los formularios se conocen a veces
como “pantallas de entrada de datos”.
Son las interfaces que se utilizan para
trabajar con los datos y, a menudo,
contienen botones de comando que
ejecutan diversos comandos. Se puede
crear una base de datos sin usar
formularios, editando los datos de las
hojas de las tablas. No obstante, casi
todos los usuarios de bases de datos
prefieren usar formularios para ver,
30
escribir y editar datos en las tablas. Los
formularios proporcionan un formato
fácil de utilizar para trabajar con los
datos.
La introducción de los datos
directamente sobre las tablas es
bastante incómoda. Los formularios
permiten la introducción de datos en
las tablas de una forma más sencilla y
más limpia. En vez de introducir los
datos directamente sobre la tabla, los
datos se introducen en la tabla a través
de los formularios.
Informes
Los informes sirven para resumir y
presentar los datos de las tablas.
Normalmente, un informe responde a
una pregunta específica. Un informe se
puede ejecutar en cualquier momento
y siempre reflejará los datos
31
actualizados de la base de datos. Los
informes suelen tener un formato que
permita imprimirlos, pero también se
pueden consultar en la pantalla,
exportar a otro programa o enviar por
correo electrónico.
Macros y Módulos
Las macros en Access se pueden
considerar como un lenguaje de
programación simplificado, que se
puede utilizar para aumentar la
funcionalidad de la base de datos. Las
macros contienen acciones que
realizan tareas, como abrir un informe,
ejecutar una consulta o cerrar la base
de datos. Casi todas las operaciones de
bases de datos que normalmente se
realizan manualmente se pueden
32
automatizar mediante macros,
ahorrando así mucho tiempo.
Los módulos, como las macros, son
objetos que sirven para aumentar la
funcionalidad de la base de datos. Los
módulos se escriben en el lenguaje de
programación de Visual Basic para
Aplicaciones
33
Tabla, registro y
campos
Las tablas son objetos fundamentales
de una base de datos porque en ellas es
donde se conserva toda la información
o los datos. Así, una base de datos de
una empresa puede tener una tabla
Contactos que almacene los nombres
de los proveedores, las direcciones de
correo electrónico y los números de
teléfono. En este artículo se ofrece
información general sobre las tablas de
las bases de datos de Access. Antes de
crear una, tenga claro cuáles son sus
requisitos y decida cuántas necesita. Si
desea ver una introducción sobre cómo
planear y diseñar una base de datos,
34
Relaciones de tabla
Aunque cada tabla de una base de
datos almacena datos acerca de un
asunto específico, las tablas de una
base de datos relacional como Access
almacenan datos sobre asuntos
conectados entre sí. Por ejemplo, es
posible que una base de datos
contenga:
 Una tabla de clientes con los clientes
de su empresa y sus direcciones.
 Una tabla de productos con los
productos a la venta, incluidos los
precios e imágenes de cada artículo.
 Una tabla de pedidos en la que se
realice un seguimiento de los pedidos
de los clientes.
Para conectar los datos almacenados
en tablas diferentes, se crean
relaciones. Una relación es una
35
conexión lógica entre dos tablas que
tienen campos en común.
Claves
Los campos que forman parte de una
relación de tabla se denominan claves.
Una clave consta por lo general en un
campo, pero puede estar compuesta
por más de un campo. Existen dos tipos
de claves:
 Clave principal: una tabla puede tener
solamente una clave principal. Una
clave principal está compuesta de uno
o más campos que identifican cada
registro almacenado en la tabla de
forma exclusiva. Access proporciona
automáticamente un número de
identificación único (denominado
número de Id.), que funciona como la
clave principal.
36
 Clave externa: una tabla puede tener
una o más claves externas. Este tipo de
clave contiene valores que se
corresponden con los valores de la
clave principal de otra tabla. Por
ejemplo, puede tener una tabla Pedidos
en la que cada pedido tenga un
número de identificación de cliente
que se corresponda con un registro de
una tabla Clientes. El campo de
identificador de cliente es una clave
externa de la tabla Pedidos.
La correspondencia de valores entre
campos principales es la base de la
relación de una tabla. La relación de
una tabla se puede usar para combinar
datos de tablas relacionadas. Por
ejemplo, suponga que tiene una tabla
Clientes y una tabla Pedidos. En la
tabla Clientes, cada registro se
37
identifica por el campo de clave
principal (identificador).
Para asociar cada pedido a un cliente,
se agrega un campo de clave externa a
la tabla Pedidos correspondiente al
campo de identificador de la tabla
Clientes y luego se crea una relación
entre las dos claves. Al agregar un
registro a la tabla Pedidos, usa un valor
para el identificador de cliente de la
tabla Clientes. Siempre que desee ver
información sobre el cliente de un
pedido, usa la relación para identificar
con qué datos de la tabla Clientes se
corresponden los registros de la tabla
Pedidos.
38
Un registro se compone de campos,
como un nombre, una dirección y un
número de teléfono. Los registros se
suelen denominar filas y los campos se
39
suelen denominar columnas. Microsoft
Office Access 2007 permite agregar,
editar o eliminar registros de una tabla
directamente en la Vista de hoja de
datos.
AGREGAR UN NUEVO REGISTRO
Se agrega un nuevo registro a una base
de datos cuando se dispone de un
nuevo elemento del que se desea
realizar un seguimiento. Por ejemplo,
puede que desee agregar un nuevo
contacto a la tabla Contactos cuando
desea registrar la información de un
nuevo amigo o compañero. Cuando se
agrega un nuevo registro, Office
Access 2007 lo anexa al final de la
tabla.
40
Para agregar un registro, abra primero
una tabla o un formulario. A veces se
abre automáticamente un formulario
cuando se abre una base de datos. Por
ejemplo, cuando abre una base de
datos creada a partir de la plantilla
Contactos, se abre automáticamente el
formulario Lista de contactos. Este
formulario es el formulario de inicio
de la base de datos Contactos.
Los campos
Podemos agregar muchos tipos de
campos que formarán parte de nuestra
base de datos. Cada campo admite
distintos tipos de datos, con diferentes
interfaces. Después de crear los
campos deseados podemos añadir
información en la base de datos.
Un campo es el nombre de la unidad
de información. Cada entrada en
41
una base de datos puede tener
múltiples campos de diversos tipos. Por
ejemplo, un campo de texto llamado
'color favorito', que permite escribirlo,
o un menú llamado 'población' que
permita escoger de un listado de
poblaciones posibles. La combinación
de campos diversos nos permitirá
recabar toda la información que
consideremos relevante sobre los ítems
que constituyen la base de datos.
42
NOMBRE Y DESCRIPCIÓN DEL
CAMPO
Todos los campos necesitan un
nombre y una descripción cuando se
crean.
TIPOS DE CAMPOS
Caja de selección
Permite crear una o más cajas de
selección. Cada línea escrita en las
'opciones' aparecerá como una caja de
selección diferente en la ventana de
edición de la entrada. Al editar la
entrada podremos seleccionar una o
más de las opciones y al visualizar la
entrada aparecerá en el campo
correspondiente el texto de la o las
opción/es seleccionada/s (en el caso de
que se haya seleccionado más de una
opción aparecerán la una bajo la otra,
no en la misma línea). Los Botones de
43
radio se pueden utilizar si se desea que
el usuario, al editar la entrada,
seleccione tan sólo una de las opciones.
Las cajas de selección múltiple se
pueden utilizar, por ejemplo, en una
base de datos de películas, que pueden
ser de horror, comedia, del oeste, etc.
En este caso se podrían seleccionar
combinaciones de géneros, por
ejemplo horror-comedia o comedia-del
oeste.
El campo menú múltiple también
permite una selección de opciones,
pero en este caso clicando en un menú
(lo cual a menudo no resulta tan obvio
como seleccionar una opción).
Fecha
Permite que los usuarios entren una
fecha seleccionando en un listado
44
desplegable el día, mes y año
correspondientes.
Archivo
Permite que los usuarios suban un
fichero desde su ordenador. Si se trata
de un fichero de imagen sería mejor
opción seleccionar el campo dibujo.
Menú
Es parecido a la caja de selección pero
el texto escrito en el área opciones se
presentará como un listado
desplegable a la hora de editar la
entrada. Cada línea de las opciones
será una opción del desplegable.
Menú (selección múltiple)
Parecido al caso anterior pero permite
que el usuario seleccione más de una
opción al editar la entrada
manteniendo apretadas las teclas de
45
control o mayúsculas mientras clica
con el ratón. Resulta un poco más
complejo de utilizar que la caja de
selección, que también permite
selecciones múltiples.
Número
Pide a los usuarios que escriban un
número. El número debe ser entero,
aunque puede ser negativo (por
ejemplo: -2,-1,0,1,2,3,...). Si se escriben
caracteres no numéricos éstos y los que
le siguen no aparecerán o, si no hay
ningún número, el resultado será el
cero. Por ejemplo: "3.14" se
transformará en "3"; "1,000,000" en "1"; y
"seis" aparecerá como "0".
Dibujo
Permite al usuario subir un fichero de
imagen desde su ordenador.
46
Botones de radio
Permite al usuario escoger una de
diversas opciones. Además, tan sólo
podrá guardar la entrada cuando haya
realizado la selección. Si sólo hay dos
opciones opuestas (por ejemplo
verdadero/falso, sí/no), se puede
utilizar una caja de selección múltiple,
aunque de esta manera se podrán
guardar entradas aunque el usuario no
haya seleccionado ninguna de las
opciones.
Texto
Los usuarios pueden escribir hasta 60
caracteres de texto. El campo área de
texto se puede utilizar para textos más
largos o que requieran algún tipo de
formato.
47
Área de texto
Permite a los usuarios escribir un texto
largo y añadirle formato de manera
similar a cuando se escribe un mensaje
a un foro. Puede especificar el ancho
en columnas y el alto en filas del área
que se presentará a los usuarios.
URL
Pide al usuario que escriba una URL. Si
se selecciona la opción auto enlazar la
URL ésta aparecerá como un
hipervínculo. Si además se escribe algo
en nombre forzado para el enlace éste
será el texto utilizado para el
hipervínculo. Por ejemplo: en una base
de datos sobre autores puede resultar
interesante incorporar la página web
del autor. Si se escribe 'página web'
como nombre forzado, al clicar en el
texto página web de la entrada
48
podremos acceder a la URL que
hayamos escrito.
Tipos de tablas en
mysql
1.ISAM.- es el formato de almacenaje
mas antiguo, y posiblemente pronto
desaparecerá. Presentaba limitaciones
(los ficheros no eran transportables
entre máquinas con distinta
arquitectura, no podía manejar
ficheros de tablas superiores a 4
gigas). Si aun tienes tablas tipo ISAM,
cámbialas a MYISAM.
2.MYISAM.- es el tipo de tabla por
defecto en MySQL desde la versión
3.23. Optimizada para sistemas
operativos de 64 bits, permite ficheros
de mayor tamaño que ISAM. Además
49
los datos se almacenan en un formato
independiente, con lo que se pueden
copiar tablas de una máquina a otra
de distinta plataforma. Posibilidad de
indexar campos BLOB y TEXT
3.HEAP.- Crea tablas en memoria. Son
temporales y desaparecen cuando el
servidor se cierra; a diferencia de una
tabla TEMPORARY, que solo puede
ser accedida por el usuario que la
crea, una tabla HEAP puede ser
utilizada por diversos usuarios.
4.BDB.- Base de datos Berkeley. TST.
Solo en MySQL MAX
5.INNODB.- TST, ACID, con posibilidad
de commit, rol back, recuperación de
errores y bloqueo a nivel de fila.
6.MERGE mas que un tipo de tabla es
la posibilidad de dividir tablas
MYISAM de gran tamaño (solo útil si
son verdaderamente de GRAN
tamaño) y hacer consultas sobre todas
50
ellas con mayor rapidez. Las tablas
deben ser misan e idénticas en su
estructura.
MySQL nos permite variar el tipo de
tabla después de que esta fue creada.
TST se refiere a ‘Transacciones zafe
tablas’, o tablas para transacciones
seguras. A este tipo pertenecen DBD y
INNODB.
Las tablas tipo TST son menos rápidas
y ocupan mas memoria, pero a cambio
ofrecen mayor seguridad frente a
fallos durante la consulta.
Las tablas TST están disponibles desde
la versión 4.0 de MySQL
Las tablas TST permiten ir
introduciendo consultas y finalizar con
un COMMIT (que las ejecuta) o
ROLLBACK (que ignora los cambios)
51
En bases de datos se denomina ACID a
un conjunto de características
necesarias para que una serie de
instrucciones puedan ser consideradas
como una transacción. Así pues, si un
sistema de gestión de bases de datos es
ACID compilan quiere decir que el
mismo cuenta con las funcionalidades
necesarias para que sus transacciones
tengan las características ACID.
En concreto ACID es un acrónimo de
Atomicity, Consistencia, Asolación and
Durability: Atomicidad, Consistencia,
Aislamiento y Durabilidad en español.
Historia y Evolución
de mysql, server y
postrer
Orígenes
52
El origen de MySQL se remonta a la
década de los ochenta. Michael
Widenius, también conocido como
Monti, un joven programador que
realizaba complejas aplicaciones en
lenguaje BASIC, al no encontrar un
sistema de almacenamiento de
archivos que le resultara satisfactorio,
pensó en construir el suyo propio.
Años después, en 1995, y en
colaboración con David Axmark,
Widenius desarrolló un producto que
básicamente era el resultado de sus
investigaciones, más dos aportaciones
nuevas: el uso del lenguaje SQL y la
accesibilidad a través de Internet.
Así nació MySQL y también la
empresa MySQL AB.
Fig. 8.1. Michael Widenius
53
Evolución
La evolución de MySQL se produce
con las sugerencias de los usuarios,
canalizadas por la empresa MySQL AB,
que contrata a programadores de todo
el mundo para que, a través de
Internet, vayan ampliando y
mejorando el producto. Las versiones,
como es costumbre en este tipo de
software libre, se van colgando en
Internet para que los usuarios puedan
disponer de ellas.
Sin embargo, también como es
habitual, hay que distinguir entre
versiones de prueba o beta y versiones
estables o de producción. Las versiones
de prueba o beta están a disposición de
los usuarios para ser testadas en busca
de posibles mejoras. Por su parte,
54
las versiones estables o de
producción son las que ya están
preparadas para ser utilizadas a pleno
rendimiento.
En la actualidad, 4.1. 14 es la última
versión estable. Esta versión dispone de
características como gestión de
transacciones, integridad referencial
(bajo ciertas condiciones), uso de
índices, incorporación de librerías,
etcétera. La versión de prueba
actualmente disponible es la 5.0, que
empieza a incorporar elementos hasta
ahora no incluidos en MySQL, como el
uso de procedimientos, cursores,
triggers o vistas.Existe una versión
incluso más reciente, la 5.1, pero que
aún es un proyecto. Esta versión
promete mejoras en la seguridad y en
la gestión de claves ajenas, aunque
todavía no se conoce cómo se
55
plasmarán dichas características en
posteriores versiones estables.
SQL SELVER
La historia de SQL (que se pronuncia
deletreando en inglés las letras que lo
componen, es decir "ese-su-ele" y no
"piquel" como se oye a menudo)
empieza en 1974 con la definición, por
parte de Donald Chamberlain y de
otras personas que trabajaban en los
laboratorios de investigación de IBM,
de un lenguaje para la especificación
de las características de las bases de
datos que adoptaban el modelo
relacional. Este lenguaje se llamaba
SEQUEL (Estructurad English Quera
Lenguaje) y se implementó en un
56
prototipo llamado SEQUEL-XRM entre
1974 y 1975. Las experimentaciones
con ese prototipo condujeron, entre
1976 y 1977, a una revisión del
lenguaje (SEQUEL/2), que a partir de
ese momento cambió de nombre por
motivos legales, convirtiéndose en
SQL. El prototipo (Sistema R), basado
en este lenguaje, se adoptó y utilizó
internamente en IBM y lo adoptaron
algunos de sus clientes elegidos.
Gracias al éxito de este sistema, que no
estaba todavía comercializado, también
otras compañías empezaron a
desarrollar sus productos relacionales
basados en SQL. A partir de 1981, IBM
comenzó a entregar sus productos
relacionales y en 1983 empezó a
vender DB2. En el curso de los años
ochenta, numerosas compañías (por
ejemplo Oracle y Súbase, sólo por citar
algunos) comercializaron productos
57
basados en SQL, que se convierte en el
estándar industrial de hecho por lo que
respecta a las bases de datos
relacionales.
En 1986, el ANSI adoptó SQL
(sustancialmente adoptó el dialecto
SQL de IBM) como estándar para los
lenguajes relacionales y en 1987 se
transformó en estándar ISO. Esta
versión del estándar va con el nombre
de SQL/86. En los años siguientes, éste
ha sufrido diversas revisiones que han
conducido primero a la versión SQL/89
y, posteriormente, a la actual SQL/92.
El hecho de tener un estándar definido
por un lenguaje para bases de datos
relacionales abre potencialmente el
camino a la intercomunicabilidad
entre todos los productos que se basan
en él. Desde el punto de vista práctico,
por desgracia las cosas fueron de otro
58
modo. Efectivamente, en general cada
productor adopta e implementa en la
propia base de datos sólo el corazón del
lenguaje SQL (el así llamado Entre
leves o al máximo el Intermédiate
leve), extendiéndolo de manera
individual según la propia visión que
cada cual tenga del mundo de las bases
de datos.
Actualmente, está en marcha un
proceso de revisión del lenguaje por
parte de los comités ANSI e ISO, que
debería terminar en la definición de lo
que en este momento se conoce como
SQL3. Las características principales de
esta nueva encarnación de SQL
deberían ser su transformación en un
lenguaje stand-alome (mientras ahora
se usa como lenguaje hospedado en
otros lenguajes) y la introducción de
nuevos tipos de datos más complejos
59
que permitan, por ejemplo, el
tratamiento de datos multimedia les.
POSTGRE SQL
El Sistema Gestor de Bases de Datos
Relacionales Orientadas a Objetos
conocido como PostgreSQL (y
brevemente llamado Postgres95) está
derivado del paquete Postgres escrito
en Berkeley. Con cerca de una década
de desarrollo tras él, PostgreSQL es el
gestor de bases de datos de código
abierto más avanzado hoy en día,
ofreciendo control de concurrencia
multa-versión, soportando casi toda la
sintaxis SQL (incluyendo su consultas,
transacciones, y tipos y funciones
definidas por el usuario), contando
también con un amplio conjunto de
enlaces con lenguajes de
60
programación (incluyendo C, C++,
Java, Perl, tal y Python).
EL PROYECTO POSTGRES DE
BERKELEY
La implementación
del DBMS Postgrescomenzó en 1986.
Los conceptos iniciales para el sistema
fueron presentados en Te Designa
of Postores la definición del modelo de
datos inicial apareció
en Te Postgres Data Modelo. El diseño
del sistema de reglas fue descrito en
ese momento en Te Designó of
te Postgres Rules Sistema. La lógica y
arquitectura del gestor de
almacenamiento fueron detalladas en
Te Postgres Storage Sistema.
Postgres ha pasado por varias
revisiones importantes desde entonces.
El primer sistema de pruebas fue
61
operacional en 1987 y fue mostrado en
la Conferencia ACM-SIGMOD de 1988.
Lanzamos la Versión 1, descrita en Te
Implementación of Postgres, a unos
pocos usuarios externos en Junio de
1989. En respuesta a una crítica del
primer sistema de reglas (A Comentar
en te Postgres Rules Sistema), éste fue
rediseñado (En Rules, Procederes,
Coaching and Bies in Databas
Sistemas) y la Versión 2, que salió en
Junio de 1990, lo incorporaba. La
Versión 3 apareció en 1991 y añadió
una implementación para múltiples
gestores de almacenamiento, un
ejecutor de consultas mejorado y un
sistema de reescritura de reglas nuevo.
En su mayor parte, las siguientes
versiones hasta el lanzamiento
de Postgres95 (ver más abajo) se
centraron en mejorar la portabilidad y
la fiabilidad.
62
Postgres forma parte de la
implementación de muchas
aplicaciones de investigación y
producción. Entre ellas: un sistema de
análisis de datos financieros, un
paquete de monitorización de
rendimiento de motores a reacción,
una base de datos de seguimiento de
asteroides y varios sistemas de
información geográfica. También se ha
utilizado como una herramienta
educativa en varias universidades.
Finalmente, Ilustra Información
Technologies (posteriormente
absorbida por Informes) tomó el
código y lo
comercializó. Postgres llegó a ser el
principal gestor de datos para el
proyecto científico de computación
Sequoia 2000 a finales de 1992.
63
El tamaño de la comunidad de
usuarios externos casi se duplicó
durante 1993. Pronto se hizo obvio que
el mantenimiento del código y las
tareas de soporte estaban ocupando
tiempo que debía dedicarse a la
investigación. En un esfuerzo por
reducir esta carga, el proyecto terminó
oficialmente con la Versión 4.2.
POSTGRES95
En 1994, Andrew Ya y Dolly añadieron
un intérprete de lenguaje SQL
a Postgres. Postgres95 fue publicado a
continuación en la Web para que
encontrara su propio hueco en el
mundo como un descendiente de
dominio público y código abierto del
código original Postgres de Berkeley.
El código de Postgres95 fue adaptado a
ANSI C y su tamaño reducido en un
64
25%. Muchos cambios internos
mejoraron el rendimiento y la
facilidad de
mantenimiento.Postgres95 v1.0.x se
ejecutaba en torno a un 30-50% más
rápido en el Wisconsin Benchmarking
comparado composteos v4.2. Además
de corrección de errores, éstas fueron
las principales mejoras:
 El lenguaje de
consultas Postule fue reemplazado
con SQL (implementado en el
servidor). Las su consultas no
fueron soportadas
hasta PostgreSQL(ver más abajo),
pero podían ser emuladas
en Postgres95 con
funciones SQL definidas por el
usuario. Las funciones agregadas
fueron re implementadas. También
se añadió una implementación de
65
la cláusula GROUP BY. La
interfaz libpqpermaneció
disponible para programas escritos
en C.
 Además del programa de
monitorización, se incluyó un
nuevo programa (psql) para
realizar consultas SQL interactivas
usando la librería GNU realinee.
 Una nueva librería de
interfaz, libpgtcl, soportaba clientes
basados en Tal. Un Shell de
ejemplo, pgtclsh, aportaba nuevas
órdenes Tal para interactuar con el
motor Postgres95desde
programas tal
 Se revisó la interfaz con objetos
grandes. Los objetos grandes de
Inversion fueron el único
mecanismo para almacenar objetos
grandes (el sistema de archivos de
Inversion fue eliminado).
66
 Se eliminó también el sistema de
reglas a nivel de instancia, si bien
las reglas siguieron disponibles
como reglas de reescritura.
 Se distribuyó con el código fuente
un breve tutorial introduciendo las
características comunes de SQL y
de Postgres95.
 Se utilizó GNU maque (en vez
de BSDmake) para la
compilación.Postgres95 también
podía ser compilado con un pc sin
parches (al haberse corregido el
problema de alineación de
variables de longitud doble).
POSTGRESQL
En 1996, se hizo evidente que el
nombre "Postgres95" no resistiría el
paso del tiempo. Elegimos un nuevo
nombre, PostgreSQL, para reflejar la
relación entre el Postgres original y las
67
versiones más recientes con
capacidades SQL. Al mismo tiempo,
hicimos que los números de versión
partieran de la 6.0, volviendo a la
secuencia seguida originalmente por el
proyecto Postgres.
Durante el desarrollo de Postgres95 se
hizo hincapié en identificar y entender
los problemas en el código del motor
de datos. Con PostgreSQL, el énfasis ha
pasado a aumentar características y
capacidades, aunque el trabajo
continúa en todas las áreas.
Las principales mejoras
en PostgreSQLincluyen:
 Los bloqueos de tabla han sido
sustituidos por el control de
concurrencia multi-versión, el cual
permite a los accesos de sólo
lectura continuar leyendo datos
68
consistentes durante la
actualización de registros, y
permite copias de seguridad en
caliente desde pg_dump mientras la
base de datos permanece disponible
para consultas.
 Se han implementado importantes
características del motor de datos,
incluyendo subconsultas, valores
por defecto, restricciones a valores
en los campos (constraints) y
disparadores (triggers).
 Se han añadido funcionalidades en
línea con el estándar SQL92,
incluyendo claves primarias,
identificadores entrecomillados,
forzado de tipos cadena literales,
conversión de tipos y entrada de
enteros binarios y hexadecimales.
 Los tipos internos han sido
mejorados, incluyendo nuevos tipos
de fecha/hora de rango amplio y
69
soporte para tipos geométricos
adicionales.
 La velocidad del código del motor
de datos ha sido incrementada
aproximadamente en un 20-40%, y
su tiempo de arranque ha bajado el
80% desde que la versión 6.0 fue
lanzada.

Modelo de entidad
relación
70
Este modelo se obtiene en tiempo de
diseño de la base de datos. Fue
propuesto por Peter Chan en 1976 y
desde entonces se viene utilizando de
una forma muy global.
Se caracteriza por utilizar una serie de
símbolos y reglas para representar los
datos y sus relaciones.
Con este modelo conseguimos
representar de manera grafica la
estructura lógica de una base de datos.
Los principales elementos del modelo
entidad-relación son las entidades con
sus atributos y las relaciones entre
entidades.
71
Elementos del modelo entidad-
relación
Entidad
Se trata de un objeto del que se recoge
información de interés de cara a la
base de datos. Gráficamente se
representan mediante un rectángulo.
Un ejemplo seria la entidad banco,
donde se recogerían los datos relativos
a ese banco, como puede ser el
nombre, el número de sucursal, la
dirección, etc.
Dentro de las entidades pueden ser
fuertes o débiles. Las fuertes son las
72
que no dependen de otras entidades
para existir, mientras que las entidades
débiles siempre dependen de otra
entidad sino no tienen sentido por ellas
mismas.
Relación
Podemos definir la relación como una
asociación de dos o más entidades. A
cada relación se le asigna un nombre
para poder distinguirla de las demás y
saber su función dentro del modelo
entidad-relación. Otra característica es
el grado de relación, siendo las de
grado 1 relaciones que solo relacionan
una entidad consigo misma. Las de
73
grado 2 son relaciones que asocian dos
entidades distintas, y las de grado n
que se tratan de relaciones que unen
mas de dos entidades.
Las relaciones se representas
gráficamente con rombos, dentro de
ellas se coloca el nombre de la
relación.
Otra característica es el tipo de
correspondencia entre dos relaciones;
 1:1. Uno a uno, a cada ocurrencia de
una entidad le corresponde como
máximo una ocurrencia de la otra
entidad relacionada.
74
 1:N. Uno a Mucho, a cada ocurrencia
de la entidad A le pueden
corresponder varias de la entidad B.
 N:M. Muchos a muchos, cada
ocurrencia de una entidad puede
contener varias de la otra entidad
relacionada y viceversa.
Para finalizar las características de la
relación tenemos la cordialidad que
define el número máximo y mínimo
de ocurrencias de cada tipo de entidad.
Se representa con los valores máximo
coma mínimo encerrados entre
paréntesis encima de la relación.
(máximo, mínimo)
Atributo
75
Se define como cada una de las
propiedades de una entidad o relación.
Cada atributo tiene un nombre y todos
los posibles valores que puede tener.
Dentro de una entidad tiene que haber
un atributo principal que identifica a la
entidad y su valor tiene que ser único.
Un ejemplo de atributo principal seria
el DNI dentro de la entidad persona.
Ponemos un ejemplo de lo que seria
un esquema del modelo entidad-
relación.
76
Modelo relacional
Se trata de un modelo bastante potente
y a la vez bastante simple , que nos
representas problemas. El elemento
principal de este modelo es la relación.
Por lo que podemos decir que una base
de datos relacional está compuesta por
un conjunto de relaciones.
Relación
La relación se representa mediante una
tabla, esta tabla representa a lo que en
el modelo entidad-relación
llamábamos entidad. Esta tabla
77
contiene los atributos (columnas) y las
tuplas (filas).
 Atributo: se trata de cada una de las
columnas de la tabla. Vienen definidas
por un nombre y pueden contener un
conjunto de valores.
 Tuplas: se trata de cada una de las
filas de la tabla. Es importante señalar
que no se pueden tener tuplas
duplicadas en una tabla.
Dominios
El dominio dentro de la estructura del
modelo relacional es el conjunto de
valores que puede tomar un atributo.
Existen dos tipos de dominios:
78
 dominios generales: son aquellos que
están comprendidos entre un máximo
y un mínimo.
 dominios restringidos: son los que
pertenecen a un conjunto de valores
específicos.
Claves
Cada tuplas de una tabla tiene que
estar asociada a una clave única que
permita identificarla.
Una clave puede estar compuesta por
uno o más atributos.
Una clave tiene que ser única dentro
de su tabla y no se puede descartar
ningún atributo de la misma para
identificar una fila.
Existen dos tipos de claves:
79
 Clave primaria (Primar Key): es el
valor o conjunto de valores que
identifican una fila dentro de una
tabla. Nunca puede ser NULL. Un
ejemplo claro de clave primaria seria
el DNI, que es único para cada
persona y no puede ser NULL.
 Clave ajena (Forigan Key): es el valor
o valores de una tabla que
corresponde con el valor de una clave
primaria en otra tabla. Esta clave es la
que representa las relaciones entre las
tablas.
Vistas
Se trata de una tabla ficticia la cual
muestra atributos de otras tablas
80
relacionadas. De esta forma obtenemos
los datos que nos interesan de una o
varias tablas. Es importante señalar
que no se pueden realizar operaciones
sobre vistas.
Las consultas
81
Las consultas en Access nos permiten
‘filtrar’ la información proveniente de
una tabla. Por ejemplo, en el caso de
trabajar con una tabla que contuviera
una agenda telefónica, podríamos,
mediante una consulta, hacer que
aparecieran en pantalla solo los
teléfonos de las personas que fueran de
una determinada ciudad, o los que
tuvieran unos apellidos determinados.
Podemos utilizar consultas tanto para
campos numéricos como para campos
de tipo texto. Para comprender mejor
como funcionan las consultas, crea la
siguiente tabla en Access (si no sabes
cómo hacerlo, míralo en el capítulo 1
de este tutorial). Todos los campos son
de tipo ‘texto’, ten en cuenta que,
aunque el teléfono va a contener
números, no vamos a realizar
operaciones con ellos (no vamos a
82
sumar los números de teléfono, por
ejemplo), además, puede que
queramos incluir guiones (-),
paréntesis u otros signos dentro del
número. Cuando guardes la tabla
asígnale el nombre de ‘AGENDA’ (sin
las comillas)
Nombre Apellidos Ciudad Teléfono
Antonio García Cádiz 8422597
Ana López Milán 7798542
Antonio Fernández Cádiz 2971102
83
Ana García Londres 0524457
Esta tabla contiene cuatro registros.
Cada uno contiene los datos personales
de algunas personas. Una vez que
tengas creada la tabla y hayas
introducido los cuatro registros cierra
la tabla (pero no cierres la base de
datos)
Para crear una consulta,
Primero debes activar el apartado de
consultas en la ventana de la base de
datos. Fíjate que en la parte superior
aparece junto a ‘Tablas’, el apartado
‘Consultas’, haz clic sobre este apartado
para crear la consulta
Haz clic sobre el botón ‘Nuevo’
Selecciona la opción Vista diseño y
pulsa el botón aceptar
84
Aparecerá una nueva ventana con
todas las tablas que tienes creadas en la
base de datos. Entre ellas debe de
aparecer la que acabas de crear
AGENDA (o el nombre que le hayas
asignado)
Selecciónala con el botón izquierdo del
ratón y luego pulsa el botón Agregar.
Si lo haces bien, verás que aparece una
pequeña ventana en la parte superior
izquierda de la pantalla con el nombre
de la tabla (si no es así, vuelve a repetir
la operación hasta que aparezca)
Pulsa el botón Cerrar
Fíjate que en la pequeña ventana que
tienes arriba, aparecen los nombres de
los campos de la tabla (nombre,
apellidos, ciudad y teléfono)
En la parte de abajo aparece otra
ventana más grande (que está vacía)
llena de filas (campo, tabla, orden,
mostrar, criterios, o)
85
Haz un doble clic con el botón
izquierdo del ratón sobre el campo
‘Nombre’ (en la ventana pequeña de
arriba). Si lo haces bien, verás que este
campo aparece en la primera de las
columnas de la ventana de abajo y que
debajo del nombre del campo, aparece
el nombre de la tabla
Repite lo mismo para el campo
apellidos (haz un doble clic sobre él
con el botón izquierdo del ratón)
Si lo has hecho bien, deberías tener dos
columnas, una con el campo ‘nombre’
y otra a la izquierda con el campo
‘apellidos’
Para comprobar el resultado haz clic
sobre el botón ‘Vista’ (en la parte
superior de la ventana de Access, el
primero de la izquierda, justo debajo
de la palabra ‘Archivo’)
Si lo has hecho bien, verás que
aparecen los datos de la tabla, pero
86
solo el nombre y los apellidos, no
aparecen los otros dos campos porque
no han sido añadidos.
La indexación
87
La indexación es la principal
herramienta para optimizar el
rendimiento general de cualquier base
de datos. Es también la más conocida
por los usuarios de servidores Misal y,
paradójicamente, su no utilización es
una de las principales causas de bajo
rendimiento en servidores de bases de
datos.
Muchos administradores y
diseñadores simplemente parecen
olvidar usar índices para optimizar
los accesos a las bases de datos. Por
otro lado, algunas personas tienden
a indexar todo, esperando que de
esta manera el servidor acelere
cualquier tipo de consulta que se le
solicite. En realidad, esta práctica
puede causar una disminución en el
rendimiento, sobre todo en lo que
88
respecta a inserciones y
modificaciones.
Para ver las ventajas de utilizar índices,
analizaremos en primer término una
simple búsqueda en una tabla sin
índice alguno:
• El constante acceso de escritura de
una tabla la mantiene desordenada.
• La ordenación de una tabla es una
operación costosa: el servidor tendría
que detenerse un tiempo considerable
para ordenar sus tablas.
• Muchas tablas tienen más de un
criterio de ordenación: ordenar según
una columna implica desordenar otra.
• La inserción y eliminación de datos
sin alterar el orden en una tabla es
costosa: la inserción de un registro en
una tabla grande implicaría una larga
espera en la actualización de la misma.
89
• Si se opta por mantener la tabla
desordenada (que es la opción más
viable), una búsqueda implicaría
forzosamente un recorrido secuencial
(también denominado full san),
registro por registro.
El uso de índices en la ordenación de
las bases de datos ofrece las ventajas
siguientes:
• Permite ordenar las tablas por
varios criterios simultáneamente.
• Es menos costoso ordenar un
archivo índice, porque incluye sólo
referencias a la información y no la
información en sí.
• El coste de inserción y eliminación
es menor.
• Con los registros siempre
ordenados se utilizaran algoritmos
mucho más eficientes que el simple
recorrido secuencial en las consultas.
90
El uso de índices también comporta
alguna desventaja:
• Los índices ocupan espacio en disco.
• Aún teniendo registros pequeños, el
mantener en orden un índice
disminuye la velocidad de las
operaciones de escritura sobre la tabla.
A pesar de estos inconvenientes, la
utilización de índices ofrece mayores
ventajas que desventajas, sobre todo en
la consulta de múltiples tablas, y el
aumento de rendimiento es mayor
cuanto mayor es la tabla.
Consideremos por ejemplo una
consulta sobre las tablas A, B, y C,
independientemente delcontenido de
la cláusula share, las tres tablas se
deben de combinar para hacer posible
posteriormente el filtrado según las
condiciones dadas:
91
selecta *
Fromm A,B,C
share A. A = C.V.
and C.V. = CC.;
Consideremos que no son tablas
grandes, que no sobrepasan los 1.000
registros. Si A tiene 500 registros, B
tiene 600 y C 700, la tabla resultante de
la
consulta anterior tendrá 210 millone
s de registros. Misal haría el produc
to cartesiano de las tres tablas y,
posteriormente, se recorrería la
relación resultante para buscar los
registros que satisfacen las condiciones
dadas, aunque al final el resultado
incluya solamente 1.000 registros.
92
Si utilizamos índices Misal los utilizaría
de una forma parecida a la siguiente:
• Tomaría cada uno de los registros
de A.
• Por cada registro de A, buscaría los
registros en B que cumpliesen con la
condición A. A = B.b. Como B está
indexado por el atributo 'b', no
necesitaría hacer el recorrido de todos
los registros, simplemente accedería
directamente al registro que cumpliese
la condición.
• Por cada registro de A y B
encontrado en el paso anterior,
buscaría los registros de C que
cumpliesen la condición B.b = C.c. Es el
mismo caso que en el paso anterior.
Comparando las dos alternativas de
búsqueda, la segunda ocuparía cerca
del 0,000005% del tiempo original.
93
Base de datos
distribuida
En un sistema de base de datos
distribuida, los datos se almacenan en
varios computadores. Los
computadoresde un sistema distribuido
se comunican entre sí a través de
diversos medios de comunicación, tales
como cables de alta velocidad o líneas
telefónicas. No comparten la memoria
principal ni el reloj.
Los procesadores de un sistema
distribuido pueden variar en cuanto su
tamaño y función. Pueden incluir
microcomputadores pequeños,
estaciones de trabajo y sistemas de
computadores grandes de aplicación
94
general. Estos procesadores reciben
diferentes nombres, tales como
localidades, nodos o computadores.
Un sistema distribuido de bases de datos
consiste en un conjunto de localidades,
cada uno de las cuales puede participar
en la ejecución de transacciones que
accedan a datos de una o varias
localidades. La diferencia principal
entre los sistemas de base de datos
centralizados y distribuidos es que, en
los primeros, los datos residen en una
sola localidad, mientras que, en los
últimos, se encuentran en varias
localidades.
Características:
Un sistema distribuido de base de datos
consiste en un conjunto de localidades,
cada una de las cuales mantiene un
sistema de base de datos local. Cada
95
localidad puede procesar transacciones
locales, o bien transacciones globales
entre varias localidades, requiriendo
para ello comunicación entre ellas. Las
localidades pueden estar dispersas, ya
sea por un área geográfica extensa (a lo
largo de un país), llamadas redes de
larga distancia; o en un área reducida
(en un mismo edificio), llamadas redes
de área local. Para las primeras se
utilizan en la comunicación líneas
telefónicas, conexiones de microondas
y canales de satélites;mientras que para
las segundas se utiliza cables coaxiales
de banda base o banda ancha y fibra
óptica.
96
Consideraciones al distribuir la base de
datos:
Existen varias razones para construir
sistemas distribuidos de bases de datos
que incluyen compartir la información,
fiabilidad y disponibilidad y agilizar el
procesamiento de las consultas. Pero
también tiene sus desventajas, como
desarrollos de software más costosos,
mayor posibilidad de errores y costos
extras de procesamiento.
VENTAJAS Y DESVENTAJAS:
Ventajas de la distribución de datos:
La principal ventaja de los sistemas
distribuidos es la capacidad de
compartir y acceder a la información de
una forma fiable y eficaz.
97
Utilización compartida de los datos y
distribución del control:
La ventaja principal de compartir los
datos por medio de la distribución es
que cada localidad pueda controlar
hasta cierto punto los datos
almacenados localmente. En un
sistema centralizado, el administrador
de base de datos de la localidad central
controla la base de datos. En un sistema
distribuido existe un administrador
global de la base de datos que se
encarga de todo el sistema. Parte de esta
responsabilidad se delega al
administrador de base de datos de cada
localidad. Dependiendo del diseño del
sistema distribuido, cada administrador
98
local podrá tener un grado de
autonomía diferente, que se conoce
como autonomía local. La posibilidad
de contar con autonomía local es en
muchos casos una ventaja importante
de las bases de datos distribuidas.
Fiabilidad y disponibilidad:
Si se produce un fallo en una localidad
de un sistema distribuido, es posible que
las demás localidades puedan seguir
trabajando. En particular, si los datos se
repiten en varias localidades, una
transacción que requiere un dato
específico puede encontrarlo en más de
una localidad. Así, el fallo de una
localidad no implica necesariamente la
desactivación del sistema.
99
El sistema debe detectar cuando falla
una localidad y tomar las medidas
necesarias para recuperarse del fallo. El
sistema no debe seguir utilizando la
localidad que falló. Por último, cuando
se recupereo repareesta localidad, debe
contarse con mecanismos para
reintegrarla al sistema con el mínimo
de complicaciones.
La disponibilidad es fundamental para
los sistemas de bases de datos que se
utilizan en aplicaciones de tiempo real.
Por ejemplo, si una línea aérea no
puede tener acceso a la información, es
posible que pierda clientes a favor de la
competencia.
100
Agilización del procesamiento de
consultas:
Si una consulta comprende datos de
varias localidades, puede ser posible
dividir la consulta en varias sub-
consultas que se ejecuten en paralelo en
distintas localidades. Sin embargo, en
un sistema distribuido no se comparte
la memoria principal, así que no todas
las estrategias de intersección se
pueden aplicar en estos sistemas. En los
casos en que hay repetición de los datos,
el sistema puede pasar la consulta a las
localidades más ligeras de carga.
Desventajas de la distribución de los
datos:
101
La desventaja principal de los sistemas
distribuidos es la mayor complejidad
que se requiere para garantizar una
coordinación adecuada entre
localidades.
El aumento de la complejidad se refleja
en:
· Coste del desarrollo de
software: es más difícil estructura
un sistema de bases de datos
distribuidos y por tanto su coste es
menor.
 Mayor posibilidad de errores: puesto
que las localidades del
sistema distribuido operan en
paralelo, es más difícil garantizar
que los algoritmos sean correctos.
102
 Mayor tiempo extra de
procesamiento: El intercambio
de mensajes y los cálculos
adicionales son una forma de
tiempo extra que no existe en los
sistemas centralizados.
Base datos noSQL
NOSQL
 El problema de la escalabilidad de
SQL fue reconocido por empresas
Web 2.0, con grandes necesidades de
datos e infraestructura, como Google,
Amazon y Facebook. Ellos solos
tuvieron que buscar soluciones
propias a este problema, con
103
tecnologías
como Vegetable, DynamoDB,
y Cassandra.
 Este interés creciente dio lugar a una
serie de sistemas de gestión de base de
datos NoSQL (DBMS), con un
enfoque en el rendimiento, la
fiabilidad y la coherencia. Se
reutilizaron y mejoraron varias
estructuras de indexación existentes
con el propósito de mejorar la
búsqueda y el rendimiento de lectura.
 En primer lugar, había tipos de bases
de datos NoSQL (de origen cerrado),
desarrolladas por grandes empresas
para satisfacer sus necesidades
104
específicas, como BigTable de
Google, que se cree es el primer
sistema NoSQL y DynamoDB de
Amazon.
 El éxito de estos sistemas patentados,
inició el desarrollo de varios sistemas
de bases de datos de código abierto y
de propietarios similiares siendo los
más populares Hypertable,
Cassandra, MongoDB, DynamoDB,
HBase y Redis.
¿QUÉ HACE A NOSQL DIFERENTE?
 Una diferencia clave entre las bases
de datos de NoSQL y las bases de
datos relacionales tradicionales, es el
105
hecho de que NoSQL es una forma de
almacenamiento no estructurado.

 Esto significa que NoSQL no tiene
una estructura de tabla fija como las
106
que se encuentran en las bases de
datos relacionales.
VENTAJAS Y DESVENTAJAS DE LAS
BASES DE DATOS NOSQL
Ventajas
 Las bases de datos de NoSQL
presentan muchas ventajas en
comparación con las bases de datos
tradicionales.
 A diferencia de las bases de datos
relacionales, las bases de datos NoSQL
están basadas en key-value pairs
 Algunos tipos de almacén de bases de
datos NoSQL incluyen diferentes tipos
de almacenes como por ejemplo el
almacén de columnas, de documentos,
de key value store, de gráficos, de
107
objetos, de XML y otros modos de
almacén de datos.
 Algunos tipos de almacén de bases de
datos NoSQL incluyen almacenes de
columnas, de documentos, de valores
de claves, de gráficos, de objetos, de
XML y otros modos de almacén de
datos.
 Podría decirse que las bases de datos
NoSQL de código abierto tienen una
implementación rentable. Ya que no
requieren las tarifas de licencia y
pueden ejecutarse en hardware de
precio bajo.
 Cuando trabajamos con bases de datos
NoSQL, ya sean de código abierto o
tengan un propietario, la expansión es
más fácil y más barata que cuando se
trabaja con bases de datos relacionales.
Esto se debe a que se realiza un
escalado horizontal y se distribuye la
108
carga por todos los nodos. En lugar de
realizarse una escala vertical, más
típica en los sistemas de bases de datos
relacionales.
Desventajas
 Por supuesto, las bases de datos
NoSQL no son perfectas, y no siempre
van a ser la elección ideal.
 La mayoría de las bases de datos
NoSQL no admiten funciones de
fiabilidad, que son soportadas por
sistemas de bases de datos relacionales.
Estas características de fiabilidad
pueden resumirse en: “atomicidad,
consistencia, aislamiento y
durabilidad.” Esto también significa
que las bases de datos NoSQL, que no
soportan esas características, ofrecen
consistencia para el rendimiento y la
escalabilidad.
109
 Con el fin de apoyar las características
de fiabilidad y coherencia, los
desarrolladores deben implementar su
propio código, lo que agrega más
complejidad al sistema.
 Esto podría limitar el número de
aplicaciones en las que podemos
confiar para realizar transacciones
seguras y confiables, como por
ejemplo los sistemas bancarios.
 Otras formas de complejidad
encontradas en la mayoría de las bases
de datos NoSQL, incluyen la
incompatibilidad con consultas SQL.
Esto significa que se necesita un
lenguaje de consulta manual, haciendo
los procesos mucho más lentos y
complejos.
110
Bibliografía
Nació el día 9 del mes de
Septiembre del año 2003
En Santo Domingo Republica Dominicana
Creció en villa mella entro en la
Escuela alos dos años liego fue
Pasando de escuela en escuela
Alos 12 años entro a la escuela cristo obrero desde
séptimo hasta segundo de bachiller
Luego en técnico de informática
Le pusieron la ultima clase que
Era un libro en el que le llamo
Desarrollo de base de datos
Ahora sigue estudiando para cumplir su sueño
De que algún día llegar
111
Hacer un buen ejemplo para su familia.

Más contenido relacionado

La actualidad más candente

Fundamentos de bases de datos
Fundamentos de bases de datosFundamentos de bases de datos
Fundamentos de bases de datosDiegoVelascoUribe
 
Cronologia base de datos
Cronologia base de datosCronologia base de datos
Cronologia base de datosAime Rodriguez
 
Bases de datos Presentacion
Bases de datos PresentacionBases de datos Presentacion
Bases de datos PresentacionLuis Leal
 
Base de Datos
Base de DatosBase de Datos
Base de DatosESPOL
 
Historia de los sistemas de bases de datos
Historia de los sistemas de bases de datosHistoria de los sistemas de bases de datos
Historia de los sistemas de bases de datosxinithazangels
 
Proyecto II Base de Datos Avanzadas
Proyecto II Base de Datos AvanzadasProyecto II Base de Datos Avanzadas
Proyecto II Base de Datos Avanzadasmarianaalva
 
Antecedentes históricos de la base de datos
Antecedentes históricos de la base de datosAntecedentes históricos de la base de datos
Antecedentes históricos de la base de datosnenyta08
 
Lina rojas base de datos
Lina rojas base de datosLina rojas base de datos
Lina rojas base de datoslinamercela97
 
Lina rojas base de datos
Lina rojas base de datosLina rojas base de datos
Lina rojas base de datoslinamercela97
 
Bases de datos
Bases de datosBases de datos
Bases de datosSara Maria
 

La actualidad más candente (18)

Fundamentos de bases de datos
Fundamentos de bases de datosFundamentos de bases de datos
Fundamentos de bases de datos
 
Cronologia base de datos
Cronologia base de datosCronologia base de datos
Cronologia base de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Bases de datos Presentacion
Bases de datos PresentacionBases de datos Presentacion
Bases de datos Presentacion
 
Historia de las bases de datos
Historia de las bases de datosHistoria de las bases de datos
Historia de las bases de datos
 
Access 2013
Access 2013Access 2013
Access 2013
 
Trabajo de sistemas
Trabajo  de  sistemas Trabajo  de  sistemas
Trabajo de sistemas
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Historia de los sistemas de bases de datos
Historia de los sistemas de bases de datosHistoria de los sistemas de bases de datos
Historia de los sistemas de bases de datos
 
Proyecto II Base de Datos Avanzadas
Proyecto II Base de Datos AvanzadasProyecto II Base de Datos Avanzadas
Proyecto II Base de Datos Avanzadas
 
Antecedentes históricos de la base de datos
Antecedentes históricos de la base de datosAntecedentes históricos de la base de datos
Antecedentes históricos de la base de datos
 
Lina rojas base de datos
Lina rojas base de datosLina rojas base de datos
Lina rojas base de datos
 
Lina rojas base de datos
Lina rojas base de datosLina rojas base de datos
Lina rojas base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
bases de datos ayer y hoy
bases de datos ayer y hoybases de datos ayer y hoy
bases de datos ayer y hoy
 
Base de datos
Base de datosBase de datos
Base de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 

Similar a Libro de acces

Similar a Libro de acces (20)

Base de datos
Base de datosBase de datos
Base de datos
 
Tarbajo base de datos
Tarbajo  base de datosTarbajo  base de datos
Tarbajo base de datos
 
Origen de las base de datos meily murillo sistemas
Origen de las base de datos meily murillo sistemasOrigen de las base de datos meily murillo sistemas
Origen de las base de datos meily murillo sistemas
 
Fundamentos de Base de Datos 1.pdf
Fundamentos de Base de Datos 1.pdfFundamentos de Base de Datos 1.pdf
Fundamentos de Base de Datos 1.pdf
 
Proyecto
ProyectoProyecto
Proyecto
 
01. FUNDAMENTOS DE BASE DE DATOS.pptx
01. FUNDAMENTOS DE BASE DE DATOS.pptx01. FUNDAMENTOS DE BASE DE DATOS.pptx
01. FUNDAMENTOS DE BASE DE DATOS.pptx
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Trabajo base de datos
Trabajo base de datosTrabajo base de datos
Trabajo base de datos
 
EXPOSICIÓN SISTEMAS DE BASES I.pptx
EXPOSICIÓN SISTEMAS DE BASES I.pptxEXPOSICIÓN SISTEMAS DE BASES I.pptx
EXPOSICIÓN SISTEMAS DE BASES I.pptx
 
base de datos
base de datos base de datos
base de datos
 
Todo sobre las bases de datos| Libro virtual
Todo sobre las bases de datos| Libro virtualTodo sobre las bases de datos| Libro virtual
Todo sobre las bases de datos| Libro virtual
 
Base de datos I
Base de datos IBase de datos I
Base de datos I
 
Sistemas gestores de bases de datos
Sistemas gestores de bases de datosSistemas gestores de bases de datos
Sistemas gestores de bases de datos
 
Antecedentes históricos de las bases de datos
Antecedentes históricos de las bases de datosAntecedentes históricos de las bases de datos
Antecedentes históricos de las bases de datos
 
Yupa cesar bd2_t1
Yupa cesar bd2_t1Yupa cesar bd2_t1
Yupa cesar bd2_t1
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Sistemas de base de datos
Sistemas de base de datos Sistemas de base de datos
Sistemas de base de datos
 
Antecedentes Históricos de las Bases de Datos
Antecedentes Históricos de las Bases de DatosAntecedentes Históricos de las Bases de Datos
Antecedentes Históricos de las Bases de Datos
 
Bases de Datos: Conceptos y Generalidades
Bases de Datos: Conceptos y GeneralidadesBases de Datos: Conceptos y Generalidades
Bases de Datos: Conceptos y Generalidades
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 

Último

TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
La evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariaLa evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariamarco carlos cuyo
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfCarol Andrea Eraso Guerrero
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 

Último (20)

TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
La evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariaLa evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundaria
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 

Libro de acces

  • 2.
  • 3. TABLA DE CONTENIDO INTRODUCION...........................................................................................1 QUE ESUNA BASE DE DATOS...........................................................................2 Tipos de bases de datos.........................................................................................3-4-5-6-7 EVOLUCION DE LA BASE DE DATOS……………………..(8)-(15) Formulariosy componentes………………………………………………16-(26) Tabla, registro y campos………………………………………………………..27-(39) Tipos de tablasen mi SQL……………………………………………………….39-(42) Historia y evolución de mysql, Server y postrer…………………………42-(52) El modeloentidad relación………………………………………………………………..57-(61) Modelorelacional…………………………………………………………………………..62-(65) Las consultas……………………………………………………………………..66-(70) La indexación…………………………………………………………………..71-(75) Bases de datosdistribuidas……………………………………76-(83) Base de datosno sql……………………………………………………………….83-
  • 4. 1 INTRODUCION Lo que van haber se trata de las bases de datos, acces y su historia además todo lo primordial de acces con todas las respuestas que le puedan ayudar ahora sin mas que decir les dejo el desarrollo de acces y para La principal ventaja de utilizar bases de datos es que múltiples usuarios pueden acceder a ellas al mismo tiempo.
  • 5. 2 QUE ES UNA BASE DE DATOS Una base de datos (cuya abreviatura es BD) es una entidad en la cual se pueden almacenar datos de manera estructurada, con la menor redundancia posible. Diferentes programas y diferentes usuarios deben poder utilizar estos datos. Por lo tanto, el concepto de base de datos generalmente está relacionado con el de red, ya que se debe poder compartir esta información. Generalmente se habla de un "Sistema de
  • 6. 3 información" para designar a la estructura global que incluye todos los mecanismos para compartir diferentes datos del sistema de información Tipos de bases de datos El modelo de base de datos plana En un modelo de base de datos global, hay dos dimensiones (estructura plana) de conjunto de datos. Por ejemplo, hay una columna de información y dentro de esta columna, se supone que cada dato se referirá a la otra. Por ejemplo, un modelo de base de datos plana sólo
  • 7. 4 incluye los códigos postales. Dentro de la base de datos, sólo habrá una columna y cada nueva fila dentro de una columna será un nuevo código postal. El modelo de base de datos jerárquica El modelo jerárquico de bases de datos se asemeja a la estructura de un árbol, tal como Microsoft Windows organiza las carpetas y archivos. En un modelo jerárquico de bases de datos, cada enlace es anidado con el fin de conservar los datos organizados en un orden particular en un mismo nivel de
  • 8. 5 lista. Por ejemplo, una base de datos jerárquico de las ventas, puede incluir las ventas de cada día como un archivo separado. Anidadas dentro de este archivo están todas las ventas (el mismo tipo de datos) para el día. Modelo de la Red En un modelo de red, la característica definitoria es que se almacena un registro con un enlace a otros registros - en efecto, una red. Estas redes (o, a veces, a que se refiere como punteros) puede ser una variedad de diferentes tipos de información como números de
  • 9. 6 nodo de un disco o incluso la dirección. El Modelo Relacional El modelo relacional es el más popular tipo de base de datos y una herramienta extremadamentepotente, no sólo para almacenar información, también para acceder a ella. Las bases de datos relacionales son organizadas en forma de tablas. La belleza de un cuadro es que la información se puede acceder o añadir sin reorganizar las tablas. Una tabla puede tener muchos registros y cada registro puede tener
  • 10. 7 muchos campos. Cuadros que a veces se llaman una relación. Por ejemplo, una empresa puede tener una base de datos denominada los pedidos de los clientes, dentro de esta base de datos serán diferentes tablas o relaciones de todos los relativos a los pedidos de los clientes. Tablas pueden incluir la información del cliente (nombre, dirección, contacto, información, número de cliente, etc.) y otras tablas (relaciones), como las órdenes que el cliente compró anteriormente (esto puede incluir un número de artículo, la descripción del artículo, cantidad de
  • 11. 8 pago, la forma de pago, etc.). Cabe señalar que cada registro (grupo de campos) en una base de datos relacional tiene su propia clave principal. Una clave principal es el único campo quelpo. hace que sea fácil identificar a un registro.
  • 12. 9 Evolución de la base de datos El uso de sistemas de bases de datos automatizadas, se desarrollo a partir de la necesidad de almacenar grandes cantidades de datos, para su posterior consulta, producidas por las nuevas industrias que creaban gran cantidad de información. Década de 1950 En este lapso de tiempo se da origen a las cintas magnéticas, las cuales
  • 13. 10 sirvieron para suplir las necesidades de información de las nuevas industrias. Por medio de este mecanismo se empezó a automatizar la información de las nóminas, como por ejemplo el aumento de salario. Consistía en leer una cinta o más y pasar los datos a otra, y también se podían pasar desde las tarjetas perforadas. Simulando un sistema de Backus, que consiste en hacer una copia de seguridad o copia de respaldo, para guardar en un medio extraíble la información importante. La nueva cinta a la que se transfiere la información pasa a ser una cinta maestra. Estas cintas solo se podían
  • 14. 11 leer secuencial y ordenadamente. Década de 1960 El uso de los discos en ese momento fue un adelanto muy efectivo, ya que por medio de este soporte se podía consultar la información directamente, esto ayudo a ahorrar tiempo. No era necesario saber exactamente donde estaban los datos en los discos, ya que en milisegundos era recuperable la información. A diferencia de las cintas magnéticas, ya no era necesaria la secuencialidad, y este tipo de soporte empieza a ser ambiguo. Los discos dieron inicio a las Bases de
  • 15. 12 Datos, de red y jerárquicas, pues los programadores con su habilidad de manipulación de estructuras junto con las ventajas de los discos era posible guardar estructuras de datos como listas y árboles. Década de 1970 Edgar Frank Codd (23 de agosto de 1923 – 18 de abril de 2003), en un artículo "Un modelo relacional de datos para grandes bancos de datos compartidos" ("A Relacional Medel of Data for Largue Shares Data Banks") en 1970, definió el modelo relacional y publicó una serie de reglas para la
  • 16. 13 evaluación de administradores de sistemas de datos relacionales y así nacieron las bases de datos relacionales. A partir de los aportes de Codd el multimillonario Larry Allison desarrollo la base de datos Oracle, el cual es un sistema de administración de base de datos, que se destaca por sus transacciones, estabilidad, escalabilidad y multiplataforma. Inicialmente no se uso el modelo relacional debido a que tenía inconvenientes por el rendimiento, ya que no podían ser competitivas con las bases de datos jerárquicas y de red. Ésta tendencia cambio por un proyecto
  • 17. 14 de IBM el cual desarrolló técnicas para la construcción de un sistema de bases de datos relacionales eficientes, llamado Sistema R. Edgar Frank Codd IBM Corporation Larry Ellison Década de 1980 Las bases de datos relacionales con su sistema de tablas, filas y columnas, pudieron competir con las bases de datos jerárquicas y de red, ya que su nivel de programación era bajo y su uso muy sencillo. En esta década el modelo relacional ha conseguido posicionarse del mercado
  • 18. 15 de las bases de datos. Y también en este tiempo se iniciaron grandes investigaciones paralelas y distribuidas, como las bases de datos orientadas a objetos. Principios década de los 90 Para la toma de decisiones se crea el lenguaje SQL, que es un lenguaje programado para consultas. El programa de alto nivel SQL es un lenguaje de consulta estructurado que analiza grandes cantidades de información el cual permite especificar diversos tipos de operaciones frente a la misma información, a diferencia de
  • 19. 16 las bases de datos de los 80 que eran diseñadas para las aplicaciones de procesamiento de transacciones. Los grandes distribuidores de bases de datos incursionaron con la venta de bases de datos orientada a objetos. Finales de la década de los 90 El boom de esta década fue la aparición de la WWW “Word Wide Web‿ ya que por éste medio se facilitaba la consulta de las bases de datos. Actualmente tienen una amplia capacidad de almacenamiento de información, también una de las ventajas es el servicio de siete días a la
  • 20. 17 semana las veinticuatro horas del día, sin interrupciones a menos que haya planificaciones de mantenimiento de las plataformas o el software. Siglo XXI En la actualidad existe gran cantidad de alternativas en línea que permiten hacer búsquedas orientadas a necesidades especificas de los usuarios, una de las tendencias más amplias son las bases de datos que cumplan con el protocolo Open Archives Iniciativa – Protocolo por Metadato Harvesting (OAI-PMH) los cuales permiten el almacenamiento de gran cantidad de
  • 21. 18 artículos que permiten una mayor visibilidad y acceso en el ámbito científico y general.
  • 22. 19 Formularios y componentes Formulario: Los Formularios básicamente permite diseñar los datos para visualizarse por pantalla. Pero no sólo muestran datos informativos de las tablas, también son interactivos, por tanto permiten introducir nuevos registros en las tablas, modificar e incluso borrar registros de las de una o varias tablas relacionales. También pueden hacer cálculos (campos calculados o controles de cuadros de texto) con los datos de las tablas. Los campos que contienen objetos OLE (imágenes, fotos, sonidos, videos, etc.) necesitan ser
  • 23. 20 mostrados en un formulario para que se vean y/o escuchen... EJEMPLO Supongamos un conjuntos de entidades de modelos de coches que se que desea trasladar al modelo de tablas relaciones. Se definen en la tabla PRODUCTOS de la imagen inferior. El atributo (campo) Descripción que describe el nombre del modelo de un coche. el campo foto es una imagen (foto) del modelo de coche en un campo OLE que necesitar ser visualizado en un formulario.
  • 24. 21 El formulario permite ver la fotografía y una lista desplegable como se ve en la imagen siguiente. En la tabla sólo puede verse los registros como filas, en la que la foto es un campo con un contenido de tipo Imagen.
  • 25. 22 Crear este formulario es sumamente fácil. Pulsamos el botón Diseño del formulario, establecemos la propiedad de formulario Origen del registro a la tabla PRUDUCTOS. Obtenemos la lista de campos que ves en la imagen siguiente. Arrastramos el campo foto al área de diseño de la sección Detalla como ves en la imagen sin olvidar ajustar las propiedades del campo OLE foto, por último insertamos un control
  • 26. 23 lista. Si se ejecuta el asistente debes saber que responder a las preguntas del asistente. Pero veamos otro ejemplo. Supongamos un conjunto de entidades de empleados de una
  • 27. 24 empresa se convierten en la tabla o consulta que muestra la imagen (C- LISTADO-EMPLEADOS) inferior. Los campos disponibles son Apellido, Nombre, Po (porcentaje, complemento o plus), Salario, etc. Con el campo Salario y el campo Porcentaje (Po en la imagen) queremos realizar cálculos como el salario bruto, es decir salario base (campo Salario) mas el porcentaje del salario que indica el campo Porcentaje. Algunos empleados tienen cero en como valor de Porcentaje, no tienen plus, complemento o comisión. También queremos aplicar una retención sobre el salario bruto (salario base + posible comisión). La retención puede corresponde al IRPF que se introduce como porcentaje. Y
  • 28. 25 finalmente el neto o líquido que ingresará el empleado.. La imagen siguiente muestra lo que debe realizar el formulario
  • 29. 26 LOS COMPONENTES Los componentes de una base de datos de Access son: – Tablas – Consultas – Formularios – Informes Tablas
  • 30. 27 Cuando se crea una base de datos, los datos se almacenan en tablas. Cada tabla representa a una entidad de la base de datos (alumno, libro, producto, …). Una tabla es similar en apariencia a una hoja de cálculo, en cuanto a que los datos se almacenan en filas y columnas. Cada fila de una tabla se denomina registro. En los registros es donde se almacena cada información individual. Cada registro consta de campos (al menos uno). Los campos corresponden a las columnas de la tabla (nombre, dirección, titulo, …) Antes de crear tablas, debes examinar cuidadosamente tus requisitos y diseñar la base de datos para determinar las tablas que necesitas.
  • 31. 28 Cada registro tiene que estar unívocamente definido, tiene que ser único, no puede haber registros duplicados. Para ello, definiremos uno de los campos como clave. Es decir, la clave define de manera única al registro (DNI, matricula, código, Id articulo. Consultas Las consultas son las que verdaderamente hacen el trabajo en una base de datos. Pueden realizar numerosas funciones diferentes. Su función más común es recuperar datos específicos de las tablas. Los datos que deseas ver suelen estar distribuidos por varias tablas y, gracias a las consultas, puedes verlos en una sola hoja de datos.
  • 32. 29 Además, puesto que normalmente no deseas ver todos los registros a la vez, las consultas le permiten agregar criterios para “filtrar” los datos hasta obtener solo los registros que desee (libros que se han prestados y que tienen que estar devueltos antes del 12/05/2015, alumnos que han nacido en el año 2000. Formularios Los formularios se conocen a veces como “pantallas de entrada de datos”. Son las interfaces que se utilizan para trabajar con los datos y, a menudo, contienen botones de comando que ejecutan diversos comandos. Se puede crear una base de datos sin usar formularios, editando los datos de las hojas de las tablas. No obstante, casi todos los usuarios de bases de datos prefieren usar formularios para ver,
  • 33. 30 escribir y editar datos en las tablas. Los formularios proporcionan un formato fácil de utilizar para trabajar con los datos. La introducción de los datos directamente sobre las tablas es bastante incómoda. Los formularios permiten la introducción de datos en las tablas de una forma más sencilla y más limpia. En vez de introducir los datos directamente sobre la tabla, los datos se introducen en la tabla a través de los formularios. Informes Los informes sirven para resumir y presentar los datos de las tablas. Normalmente, un informe responde a una pregunta específica. Un informe se puede ejecutar en cualquier momento y siempre reflejará los datos
  • 34. 31 actualizados de la base de datos. Los informes suelen tener un formato que permita imprimirlos, pero también se pueden consultar en la pantalla, exportar a otro programa o enviar por correo electrónico. Macros y Módulos Las macros en Access se pueden considerar como un lenguaje de programación simplificado, que se puede utilizar para aumentar la funcionalidad de la base de datos. Las macros contienen acciones que realizan tareas, como abrir un informe, ejecutar una consulta o cerrar la base de datos. Casi todas las operaciones de bases de datos que normalmente se realizan manualmente se pueden
  • 35. 32 automatizar mediante macros, ahorrando así mucho tiempo. Los módulos, como las macros, son objetos que sirven para aumentar la funcionalidad de la base de datos. Los módulos se escriben en el lenguaje de programación de Visual Basic para Aplicaciones
  • 36. 33 Tabla, registro y campos Las tablas son objetos fundamentales de una base de datos porque en ellas es donde se conserva toda la información o los datos. Así, una base de datos de una empresa puede tener una tabla Contactos que almacene los nombres de los proveedores, las direcciones de correo electrónico y los números de teléfono. En este artículo se ofrece información general sobre las tablas de las bases de datos de Access. Antes de crear una, tenga claro cuáles son sus requisitos y decida cuántas necesita. Si desea ver una introducción sobre cómo planear y diseñar una base de datos,
  • 37. 34 Relaciones de tabla Aunque cada tabla de una base de datos almacena datos acerca de un asunto específico, las tablas de una base de datos relacional como Access almacenan datos sobre asuntos conectados entre sí. Por ejemplo, es posible que una base de datos contenga:  Una tabla de clientes con los clientes de su empresa y sus direcciones.  Una tabla de productos con los productos a la venta, incluidos los precios e imágenes de cada artículo.  Una tabla de pedidos en la que se realice un seguimiento de los pedidos de los clientes. Para conectar los datos almacenados en tablas diferentes, se crean relaciones. Una relación es una
  • 38. 35 conexión lógica entre dos tablas que tienen campos en común. Claves Los campos que forman parte de una relación de tabla se denominan claves. Una clave consta por lo general en un campo, pero puede estar compuesta por más de un campo. Existen dos tipos de claves:  Clave principal: una tabla puede tener solamente una clave principal. Una clave principal está compuesta de uno o más campos que identifican cada registro almacenado en la tabla de forma exclusiva. Access proporciona automáticamente un número de identificación único (denominado número de Id.), que funciona como la clave principal.
  • 39. 36  Clave externa: una tabla puede tener una o más claves externas. Este tipo de clave contiene valores que se corresponden con los valores de la clave principal de otra tabla. Por ejemplo, puede tener una tabla Pedidos en la que cada pedido tenga un número de identificación de cliente que se corresponda con un registro de una tabla Clientes. El campo de identificador de cliente es una clave externa de la tabla Pedidos. La correspondencia de valores entre campos principales es la base de la relación de una tabla. La relación de una tabla se puede usar para combinar datos de tablas relacionadas. Por ejemplo, suponga que tiene una tabla Clientes y una tabla Pedidos. En la tabla Clientes, cada registro se
  • 40. 37 identifica por el campo de clave principal (identificador). Para asociar cada pedido a un cliente, se agrega un campo de clave externa a la tabla Pedidos correspondiente al campo de identificador de la tabla Clientes y luego se crea una relación entre las dos claves. Al agregar un registro a la tabla Pedidos, usa un valor para el identificador de cliente de la tabla Clientes. Siempre que desee ver información sobre el cliente de un pedido, usa la relación para identificar con qué datos de la tabla Clientes se corresponden los registros de la tabla Pedidos.
  • 41. 38 Un registro se compone de campos, como un nombre, una dirección y un número de teléfono. Los registros se suelen denominar filas y los campos se
  • 42. 39 suelen denominar columnas. Microsoft Office Access 2007 permite agregar, editar o eliminar registros de una tabla directamente en la Vista de hoja de datos. AGREGAR UN NUEVO REGISTRO Se agrega un nuevo registro a una base de datos cuando se dispone de un nuevo elemento del que se desea realizar un seguimiento. Por ejemplo, puede que desee agregar un nuevo contacto a la tabla Contactos cuando desea registrar la información de un nuevo amigo o compañero. Cuando se agrega un nuevo registro, Office Access 2007 lo anexa al final de la tabla.
  • 43. 40 Para agregar un registro, abra primero una tabla o un formulario. A veces se abre automáticamente un formulario cuando se abre una base de datos. Por ejemplo, cuando abre una base de datos creada a partir de la plantilla Contactos, se abre automáticamente el formulario Lista de contactos. Este formulario es el formulario de inicio de la base de datos Contactos. Los campos Podemos agregar muchos tipos de campos que formarán parte de nuestra base de datos. Cada campo admite distintos tipos de datos, con diferentes interfaces. Después de crear los campos deseados podemos añadir información en la base de datos. Un campo es el nombre de la unidad de información. Cada entrada en
  • 44. 41 una base de datos puede tener múltiples campos de diversos tipos. Por ejemplo, un campo de texto llamado 'color favorito', que permite escribirlo, o un menú llamado 'población' que permita escoger de un listado de poblaciones posibles. La combinación de campos diversos nos permitirá recabar toda la información que consideremos relevante sobre los ítems que constituyen la base de datos.
  • 45. 42 NOMBRE Y DESCRIPCIÓN DEL CAMPO Todos los campos necesitan un nombre y una descripción cuando se crean. TIPOS DE CAMPOS Caja de selección Permite crear una o más cajas de selección. Cada línea escrita en las 'opciones' aparecerá como una caja de selección diferente en la ventana de edición de la entrada. Al editar la entrada podremos seleccionar una o más de las opciones y al visualizar la entrada aparecerá en el campo correspondiente el texto de la o las opción/es seleccionada/s (en el caso de que se haya seleccionado más de una opción aparecerán la una bajo la otra, no en la misma línea). Los Botones de
  • 46. 43 radio se pueden utilizar si se desea que el usuario, al editar la entrada, seleccione tan sólo una de las opciones. Las cajas de selección múltiple se pueden utilizar, por ejemplo, en una base de datos de películas, que pueden ser de horror, comedia, del oeste, etc. En este caso se podrían seleccionar combinaciones de géneros, por ejemplo horror-comedia o comedia-del oeste. El campo menú múltiple también permite una selección de opciones, pero en este caso clicando en un menú (lo cual a menudo no resulta tan obvio como seleccionar una opción). Fecha Permite que los usuarios entren una fecha seleccionando en un listado
  • 47. 44 desplegable el día, mes y año correspondientes. Archivo Permite que los usuarios suban un fichero desde su ordenador. Si se trata de un fichero de imagen sería mejor opción seleccionar el campo dibujo. Menú Es parecido a la caja de selección pero el texto escrito en el área opciones se presentará como un listado desplegable a la hora de editar la entrada. Cada línea de las opciones será una opción del desplegable. Menú (selección múltiple) Parecido al caso anterior pero permite que el usuario seleccione más de una opción al editar la entrada manteniendo apretadas las teclas de
  • 48. 45 control o mayúsculas mientras clica con el ratón. Resulta un poco más complejo de utilizar que la caja de selección, que también permite selecciones múltiples. Número Pide a los usuarios que escriban un número. El número debe ser entero, aunque puede ser negativo (por ejemplo: -2,-1,0,1,2,3,...). Si se escriben caracteres no numéricos éstos y los que le siguen no aparecerán o, si no hay ningún número, el resultado será el cero. Por ejemplo: "3.14" se transformará en "3"; "1,000,000" en "1"; y "seis" aparecerá como "0". Dibujo Permite al usuario subir un fichero de imagen desde su ordenador.
  • 49. 46 Botones de radio Permite al usuario escoger una de diversas opciones. Además, tan sólo podrá guardar la entrada cuando haya realizado la selección. Si sólo hay dos opciones opuestas (por ejemplo verdadero/falso, sí/no), se puede utilizar una caja de selección múltiple, aunque de esta manera se podrán guardar entradas aunque el usuario no haya seleccionado ninguna de las opciones. Texto Los usuarios pueden escribir hasta 60 caracteres de texto. El campo área de texto se puede utilizar para textos más largos o que requieran algún tipo de formato.
  • 50. 47 Área de texto Permite a los usuarios escribir un texto largo y añadirle formato de manera similar a cuando se escribe un mensaje a un foro. Puede especificar el ancho en columnas y el alto en filas del área que se presentará a los usuarios. URL Pide al usuario que escriba una URL. Si se selecciona la opción auto enlazar la URL ésta aparecerá como un hipervínculo. Si además se escribe algo en nombre forzado para el enlace éste será el texto utilizado para el hipervínculo. Por ejemplo: en una base de datos sobre autores puede resultar interesante incorporar la página web del autor. Si se escribe 'página web' como nombre forzado, al clicar en el texto página web de la entrada
  • 51. 48 podremos acceder a la URL que hayamos escrito. Tipos de tablas en mysql 1.ISAM.- es el formato de almacenaje mas antiguo, y posiblemente pronto desaparecerá. Presentaba limitaciones (los ficheros no eran transportables entre máquinas con distinta arquitectura, no podía manejar ficheros de tablas superiores a 4 gigas). Si aun tienes tablas tipo ISAM, cámbialas a MYISAM. 2.MYISAM.- es el tipo de tabla por defecto en MySQL desde la versión 3.23. Optimizada para sistemas operativos de 64 bits, permite ficheros de mayor tamaño que ISAM. Además
  • 52. 49 los datos se almacenan en un formato independiente, con lo que se pueden copiar tablas de una máquina a otra de distinta plataforma. Posibilidad de indexar campos BLOB y TEXT 3.HEAP.- Crea tablas en memoria. Son temporales y desaparecen cuando el servidor se cierra; a diferencia de una tabla TEMPORARY, que solo puede ser accedida por el usuario que la crea, una tabla HEAP puede ser utilizada por diversos usuarios. 4.BDB.- Base de datos Berkeley. TST. Solo en MySQL MAX 5.INNODB.- TST, ACID, con posibilidad de commit, rol back, recuperación de errores y bloqueo a nivel de fila. 6.MERGE mas que un tipo de tabla es la posibilidad de dividir tablas MYISAM de gran tamaño (solo útil si son verdaderamente de GRAN tamaño) y hacer consultas sobre todas
  • 53. 50 ellas con mayor rapidez. Las tablas deben ser misan e idénticas en su estructura. MySQL nos permite variar el tipo de tabla después de que esta fue creada. TST se refiere a ‘Transacciones zafe tablas’, o tablas para transacciones seguras. A este tipo pertenecen DBD y INNODB. Las tablas tipo TST son menos rápidas y ocupan mas memoria, pero a cambio ofrecen mayor seguridad frente a fallos durante la consulta. Las tablas TST están disponibles desde la versión 4.0 de MySQL Las tablas TST permiten ir introduciendo consultas y finalizar con un COMMIT (que las ejecuta) o ROLLBACK (que ignora los cambios)
  • 54. 51 En bases de datos se denomina ACID a un conjunto de características necesarias para que una serie de instrucciones puedan ser consideradas como una transacción. Así pues, si un sistema de gestión de bases de datos es ACID compilan quiere decir que el mismo cuenta con las funcionalidades necesarias para que sus transacciones tengan las características ACID. En concreto ACID es un acrónimo de Atomicity, Consistencia, Asolación and Durability: Atomicidad, Consistencia, Aislamiento y Durabilidad en español. Historia y Evolución de mysql, server y postrer Orígenes
  • 55. 52 El origen de MySQL se remonta a la década de los ochenta. Michael Widenius, también conocido como Monti, un joven programador que realizaba complejas aplicaciones en lenguaje BASIC, al no encontrar un sistema de almacenamiento de archivos que le resultara satisfactorio, pensó en construir el suyo propio. Años después, en 1995, y en colaboración con David Axmark, Widenius desarrolló un producto que básicamente era el resultado de sus investigaciones, más dos aportaciones nuevas: el uso del lenguaje SQL y la accesibilidad a través de Internet. Así nació MySQL y también la empresa MySQL AB. Fig. 8.1. Michael Widenius
  • 56. 53 Evolución La evolución de MySQL se produce con las sugerencias de los usuarios, canalizadas por la empresa MySQL AB, que contrata a programadores de todo el mundo para que, a través de Internet, vayan ampliando y mejorando el producto. Las versiones, como es costumbre en este tipo de software libre, se van colgando en Internet para que los usuarios puedan disponer de ellas. Sin embargo, también como es habitual, hay que distinguir entre versiones de prueba o beta y versiones estables o de producción. Las versiones de prueba o beta están a disposición de los usuarios para ser testadas en busca de posibles mejoras. Por su parte,
  • 57. 54 las versiones estables o de producción son las que ya están preparadas para ser utilizadas a pleno rendimiento. En la actualidad, 4.1. 14 es la última versión estable. Esta versión dispone de características como gestión de transacciones, integridad referencial (bajo ciertas condiciones), uso de índices, incorporación de librerías, etcétera. La versión de prueba actualmente disponible es la 5.0, que empieza a incorporar elementos hasta ahora no incluidos en MySQL, como el uso de procedimientos, cursores, triggers o vistas.Existe una versión incluso más reciente, la 5.1, pero que aún es un proyecto. Esta versión promete mejoras en la seguridad y en la gestión de claves ajenas, aunque todavía no se conoce cómo se
  • 58. 55 plasmarán dichas características en posteriores versiones estables. SQL SELVER La historia de SQL (que se pronuncia deletreando en inglés las letras que lo componen, es decir "ese-su-ele" y no "piquel" como se oye a menudo) empieza en 1974 con la definición, por parte de Donald Chamberlain y de otras personas que trabajaban en los laboratorios de investigación de IBM, de un lenguaje para la especificación de las características de las bases de datos que adoptaban el modelo relacional. Este lenguaje se llamaba SEQUEL (Estructurad English Quera Lenguaje) y se implementó en un
  • 59. 56 prototipo llamado SEQUEL-XRM entre 1974 y 1975. Las experimentaciones con ese prototipo condujeron, entre 1976 y 1977, a una revisión del lenguaje (SEQUEL/2), que a partir de ese momento cambió de nombre por motivos legales, convirtiéndose en SQL. El prototipo (Sistema R), basado en este lenguaje, se adoptó y utilizó internamente en IBM y lo adoptaron algunos de sus clientes elegidos. Gracias al éxito de este sistema, que no estaba todavía comercializado, también otras compañías empezaron a desarrollar sus productos relacionales basados en SQL. A partir de 1981, IBM comenzó a entregar sus productos relacionales y en 1983 empezó a vender DB2. En el curso de los años ochenta, numerosas compañías (por ejemplo Oracle y Súbase, sólo por citar algunos) comercializaron productos
  • 60. 57 basados en SQL, que se convierte en el estándar industrial de hecho por lo que respecta a las bases de datos relacionales. En 1986, el ANSI adoptó SQL (sustancialmente adoptó el dialecto SQL de IBM) como estándar para los lenguajes relacionales y en 1987 se transformó en estándar ISO. Esta versión del estándar va con el nombre de SQL/86. En los años siguientes, éste ha sufrido diversas revisiones que han conducido primero a la versión SQL/89 y, posteriormente, a la actual SQL/92. El hecho de tener un estándar definido por un lenguaje para bases de datos relacionales abre potencialmente el camino a la intercomunicabilidad entre todos los productos que se basan en él. Desde el punto de vista práctico, por desgracia las cosas fueron de otro
  • 61. 58 modo. Efectivamente, en general cada productor adopta e implementa en la propia base de datos sólo el corazón del lenguaje SQL (el así llamado Entre leves o al máximo el Intermédiate leve), extendiéndolo de manera individual según la propia visión que cada cual tenga del mundo de las bases de datos. Actualmente, está en marcha un proceso de revisión del lenguaje por parte de los comités ANSI e ISO, que debería terminar en la definición de lo que en este momento se conoce como SQL3. Las características principales de esta nueva encarnación de SQL deberían ser su transformación en un lenguaje stand-alome (mientras ahora se usa como lenguaje hospedado en otros lenguajes) y la introducción de nuevos tipos de datos más complejos
  • 62. 59 que permitan, por ejemplo, el tratamiento de datos multimedia les. POSTGRE SQL El Sistema Gestor de Bases de Datos Relacionales Orientadas a Objetos conocido como PostgreSQL (y brevemente llamado Postgres95) está derivado del paquete Postgres escrito en Berkeley. Con cerca de una década de desarrollo tras él, PostgreSQL es el gestor de bases de datos de código abierto más avanzado hoy en día, ofreciendo control de concurrencia multa-versión, soportando casi toda la sintaxis SQL (incluyendo su consultas, transacciones, y tipos y funciones definidas por el usuario), contando también con un amplio conjunto de enlaces con lenguajes de
  • 63. 60 programación (incluyendo C, C++, Java, Perl, tal y Python). EL PROYECTO POSTGRES DE BERKELEY La implementación del DBMS Postgrescomenzó en 1986. Los conceptos iniciales para el sistema fueron presentados en Te Designa of Postores la definición del modelo de datos inicial apareció en Te Postgres Data Modelo. El diseño del sistema de reglas fue descrito en ese momento en Te Designó of te Postgres Rules Sistema. La lógica y arquitectura del gestor de almacenamiento fueron detalladas en Te Postgres Storage Sistema. Postgres ha pasado por varias revisiones importantes desde entonces. El primer sistema de pruebas fue
  • 64. 61 operacional en 1987 y fue mostrado en la Conferencia ACM-SIGMOD de 1988. Lanzamos la Versión 1, descrita en Te Implementación of Postgres, a unos pocos usuarios externos en Junio de 1989. En respuesta a una crítica del primer sistema de reglas (A Comentar en te Postgres Rules Sistema), éste fue rediseñado (En Rules, Procederes, Coaching and Bies in Databas Sistemas) y la Versión 2, que salió en Junio de 1990, lo incorporaba. La Versión 3 apareció en 1991 y añadió una implementación para múltiples gestores de almacenamiento, un ejecutor de consultas mejorado y un sistema de reescritura de reglas nuevo. En su mayor parte, las siguientes versiones hasta el lanzamiento de Postgres95 (ver más abajo) se centraron en mejorar la portabilidad y la fiabilidad.
  • 65. 62 Postgres forma parte de la implementación de muchas aplicaciones de investigación y producción. Entre ellas: un sistema de análisis de datos financieros, un paquete de monitorización de rendimiento de motores a reacción, una base de datos de seguimiento de asteroides y varios sistemas de información geográfica. También se ha utilizado como una herramienta educativa en varias universidades. Finalmente, Ilustra Información Technologies (posteriormente absorbida por Informes) tomó el código y lo comercializó. Postgres llegó a ser el principal gestor de datos para el proyecto científico de computación Sequoia 2000 a finales de 1992.
  • 66. 63 El tamaño de la comunidad de usuarios externos casi se duplicó durante 1993. Pronto se hizo obvio que el mantenimiento del código y las tareas de soporte estaban ocupando tiempo que debía dedicarse a la investigación. En un esfuerzo por reducir esta carga, el proyecto terminó oficialmente con la Versión 4.2. POSTGRES95 En 1994, Andrew Ya y Dolly añadieron un intérprete de lenguaje SQL a Postgres. Postgres95 fue publicado a continuación en la Web para que encontrara su propio hueco en el mundo como un descendiente de dominio público y código abierto del código original Postgres de Berkeley. El código de Postgres95 fue adaptado a ANSI C y su tamaño reducido en un
  • 67. 64 25%. Muchos cambios internos mejoraron el rendimiento y la facilidad de mantenimiento.Postgres95 v1.0.x se ejecutaba en torno a un 30-50% más rápido en el Wisconsin Benchmarking comparado composteos v4.2. Además de corrección de errores, éstas fueron las principales mejoras:  El lenguaje de consultas Postule fue reemplazado con SQL (implementado en el servidor). Las su consultas no fueron soportadas hasta PostgreSQL(ver más abajo), pero podían ser emuladas en Postgres95 con funciones SQL definidas por el usuario. Las funciones agregadas fueron re implementadas. También se añadió una implementación de
  • 68. 65 la cláusula GROUP BY. La interfaz libpqpermaneció disponible para programas escritos en C.  Además del programa de monitorización, se incluyó un nuevo programa (psql) para realizar consultas SQL interactivas usando la librería GNU realinee.  Una nueva librería de interfaz, libpgtcl, soportaba clientes basados en Tal. Un Shell de ejemplo, pgtclsh, aportaba nuevas órdenes Tal para interactuar con el motor Postgres95desde programas tal  Se revisó la interfaz con objetos grandes. Los objetos grandes de Inversion fueron el único mecanismo para almacenar objetos grandes (el sistema de archivos de Inversion fue eliminado).
  • 69. 66  Se eliminó también el sistema de reglas a nivel de instancia, si bien las reglas siguieron disponibles como reglas de reescritura.  Se distribuyó con el código fuente un breve tutorial introduciendo las características comunes de SQL y de Postgres95.  Se utilizó GNU maque (en vez de BSDmake) para la compilación.Postgres95 también podía ser compilado con un pc sin parches (al haberse corregido el problema de alineación de variables de longitud doble). POSTGRESQL En 1996, se hizo evidente que el nombre "Postgres95" no resistiría el paso del tiempo. Elegimos un nuevo nombre, PostgreSQL, para reflejar la relación entre el Postgres original y las
  • 70. 67 versiones más recientes con capacidades SQL. Al mismo tiempo, hicimos que los números de versión partieran de la 6.0, volviendo a la secuencia seguida originalmente por el proyecto Postgres. Durante el desarrollo de Postgres95 se hizo hincapié en identificar y entender los problemas en el código del motor de datos. Con PostgreSQL, el énfasis ha pasado a aumentar características y capacidades, aunque el trabajo continúa en todas las áreas. Las principales mejoras en PostgreSQLincluyen:  Los bloqueos de tabla han sido sustituidos por el control de concurrencia multi-versión, el cual permite a los accesos de sólo lectura continuar leyendo datos
  • 71. 68 consistentes durante la actualización de registros, y permite copias de seguridad en caliente desde pg_dump mientras la base de datos permanece disponible para consultas.  Se han implementado importantes características del motor de datos, incluyendo subconsultas, valores por defecto, restricciones a valores en los campos (constraints) y disparadores (triggers).  Se han añadido funcionalidades en línea con el estándar SQL92, incluyendo claves primarias, identificadores entrecomillados, forzado de tipos cadena literales, conversión de tipos y entrada de enteros binarios y hexadecimales.  Los tipos internos han sido mejorados, incluyendo nuevos tipos de fecha/hora de rango amplio y
  • 72. 69 soporte para tipos geométricos adicionales.  La velocidad del código del motor de datos ha sido incrementada aproximadamente en un 20-40%, y su tiempo de arranque ha bajado el 80% desde que la versión 6.0 fue lanzada.  Modelo de entidad relación
  • 73. 70 Este modelo se obtiene en tiempo de diseño de la base de datos. Fue propuesto por Peter Chan en 1976 y desde entonces se viene utilizando de una forma muy global. Se caracteriza por utilizar una serie de símbolos y reglas para representar los datos y sus relaciones. Con este modelo conseguimos representar de manera grafica la estructura lógica de una base de datos. Los principales elementos del modelo entidad-relación son las entidades con sus atributos y las relaciones entre entidades.
  • 74. 71 Elementos del modelo entidad- relación Entidad Se trata de un objeto del que se recoge información de interés de cara a la base de datos. Gráficamente se representan mediante un rectángulo. Un ejemplo seria la entidad banco, donde se recogerían los datos relativos a ese banco, como puede ser el nombre, el número de sucursal, la dirección, etc. Dentro de las entidades pueden ser fuertes o débiles. Las fuertes son las
  • 75. 72 que no dependen de otras entidades para existir, mientras que las entidades débiles siempre dependen de otra entidad sino no tienen sentido por ellas mismas. Relación Podemos definir la relación como una asociación de dos o más entidades. A cada relación se le asigna un nombre para poder distinguirla de las demás y saber su función dentro del modelo entidad-relación. Otra característica es el grado de relación, siendo las de grado 1 relaciones que solo relacionan una entidad consigo misma. Las de
  • 76. 73 grado 2 son relaciones que asocian dos entidades distintas, y las de grado n que se tratan de relaciones que unen mas de dos entidades. Las relaciones se representas gráficamente con rombos, dentro de ellas se coloca el nombre de la relación. Otra característica es el tipo de correspondencia entre dos relaciones;  1:1. Uno a uno, a cada ocurrencia de una entidad le corresponde como máximo una ocurrencia de la otra entidad relacionada.
  • 77. 74  1:N. Uno a Mucho, a cada ocurrencia de la entidad A le pueden corresponder varias de la entidad B.  N:M. Muchos a muchos, cada ocurrencia de una entidad puede contener varias de la otra entidad relacionada y viceversa. Para finalizar las características de la relación tenemos la cordialidad que define el número máximo y mínimo de ocurrencias de cada tipo de entidad. Se representa con los valores máximo coma mínimo encerrados entre paréntesis encima de la relación. (máximo, mínimo) Atributo
  • 78. 75 Se define como cada una de las propiedades de una entidad o relación. Cada atributo tiene un nombre y todos los posibles valores que puede tener. Dentro de una entidad tiene que haber un atributo principal que identifica a la entidad y su valor tiene que ser único. Un ejemplo de atributo principal seria el DNI dentro de la entidad persona. Ponemos un ejemplo de lo que seria un esquema del modelo entidad- relación.
  • 79. 76 Modelo relacional Se trata de un modelo bastante potente y a la vez bastante simple , que nos representas problemas. El elemento principal de este modelo es la relación. Por lo que podemos decir que una base de datos relacional está compuesta por un conjunto de relaciones. Relación La relación se representa mediante una tabla, esta tabla representa a lo que en el modelo entidad-relación llamábamos entidad. Esta tabla
  • 80. 77 contiene los atributos (columnas) y las tuplas (filas).  Atributo: se trata de cada una de las columnas de la tabla. Vienen definidas por un nombre y pueden contener un conjunto de valores.  Tuplas: se trata de cada una de las filas de la tabla. Es importante señalar que no se pueden tener tuplas duplicadas en una tabla. Dominios El dominio dentro de la estructura del modelo relacional es el conjunto de valores que puede tomar un atributo. Existen dos tipos de dominios:
  • 81. 78  dominios generales: son aquellos que están comprendidos entre un máximo y un mínimo.  dominios restringidos: son los que pertenecen a un conjunto de valores específicos. Claves Cada tuplas de una tabla tiene que estar asociada a una clave única que permita identificarla. Una clave puede estar compuesta por uno o más atributos. Una clave tiene que ser única dentro de su tabla y no se puede descartar ningún atributo de la misma para identificar una fila. Existen dos tipos de claves:
  • 82. 79  Clave primaria (Primar Key): es el valor o conjunto de valores que identifican una fila dentro de una tabla. Nunca puede ser NULL. Un ejemplo claro de clave primaria seria el DNI, que es único para cada persona y no puede ser NULL.  Clave ajena (Forigan Key): es el valor o valores de una tabla que corresponde con el valor de una clave primaria en otra tabla. Esta clave es la que representa las relaciones entre las tablas. Vistas Se trata de una tabla ficticia la cual muestra atributos de otras tablas
  • 83. 80 relacionadas. De esta forma obtenemos los datos que nos interesan de una o varias tablas. Es importante señalar que no se pueden realizar operaciones sobre vistas. Las consultas
  • 84. 81 Las consultas en Access nos permiten ‘filtrar’ la información proveniente de una tabla. Por ejemplo, en el caso de trabajar con una tabla que contuviera una agenda telefónica, podríamos, mediante una consulta, hacer que aparecieran en pantalla solo los teléfonos de las personas que fueran de una determinada ciudad, o los que tuvieran unos apellidos determinados. Podemos utilizar consultas tanto para campos numéricos como para campos de tipo texto. Para comprender mejor como funcionan las consultas, crea la siguiente tabla en Access (si no sabes cómo hacerlo, míralo en el capítulo 1 de este tutorial). Todos los campos son de tipo ‘texto’, ten en cuenta que, aunque el teléfono va a contener números, no vamos a realizar operaciones con ellos (no vamos a
  • 85. 82 sumar los números de teléfono, por ejemplo), además, puede que queramos incluir guiones (-), paréntesis u otros signos dentro del número. Cuando guardes la tabla asígnale el nombre de ‘AGENDA’ (sin las comillas) Nombre Apellidos Ciudad Teléfono Antonio García Cádiz 8422597 Ana López Milán 7798542 Antonio Fernández Cádiz 2971102
  • 86. 83 Ana García Londres 0524457 Esta tabla contiene cuatro registros. Cada uno contiene los datos personales de algunas personas. Una vez que tengas creada la tabla y hayas introducido los cuatro registros cierra la tabla (pero no cierres la base de datos) Para crear una consulta, Primero debes activar el apartado de consultas en la ventana de la base de datos. Fíjate que en la parte superior aparece junto a ‘Tablas’, el apartado ‘Consultas’, haz clic sobre este apartado para crear la consulta Haz clic sobre el botón ‘Nuevo’ Selecciona la opción Vista diseño y pulsa el botón aceptar
  • 87. 84 Aparecerá una nueva ventana con todas las tablas que tienes creadas en la base de datos. Entre ellas debe de aparecer la que acabas de crear AGENDA (o el nombre que le hayas asignado) Selecciónala con el botón izquierdo del ratón y luego pulsa el botón Agregar. Si lo haces bien, verás que aparece una pequeña ventana en la parte superior izquierda de la pantalla con el nombre de la tabla (si no es así, vuelve a repetir la operación hasta que aparezca) Pulsa el botón Cerrar Fíjate que en la pequeña ventana que tienes arriba, aparecen los nombres de los campos de la tabla (nombre, apellidos, ciudad y teléfono) En la parte de abajo aparece otra ventana más grande (que está vacía) llena de filas (campo, tabla, orden, mostrar, criterios, o)
  • 88. 85 Haz un doble clic con el botón izquierdo del ratón sobre el campo ‘Nombre’ (en la ventana pequeña de arriba). Si lo haces bien, verás que este campo aparece en la primera de las columnas de la ventana de abajo y que debajo del nombre del campo, aparece el nombre de la tabla Repite lo mismo para el campo apellidos (haz un doble clic sobre él con el botón izquierdo del ratón) Si lo has hecho bien, deberías tener dos columnas, una con el campo ‘nombre’ y otra a la izquierda con el campo ‘apellidos’ Para comprobar el resultado haz clic sobre el botón ‘Vista’ (en la parte superior de la ventana de Access, el primero de la izquierda, justo debajo de la palabra ‘Archivo’) Si lo has hecho bien, verás que aparecen los datos de la tabla, pero
  • 89. 86 solo el nombre y los apellidos, no aparecen los otros dos campos porque no han sido añadidos. La indexación
  • 90. 87 La indexación es la principal herramienta para optimizar el rendimiento general de cualquier base de datos. Es también la más conocida por los usuarios de servidores Misal y, paradójicamente, su no utilización es una de las principales causas de bajo rendimiento en servidores de bases de datos. Muchos administradores y diseñadores simplemente parecen olvidar usar índices para optimizar los accesos a las bases de datos. Por otro lado, algunas personas tienden a indexar todo, esperando que de esta manera el servidor acelere cualquier tipo de consulta que se le solicite. En realidad, esta práctica puede causar una disminución en el rendimiento, sobre todo en lo que
  • 91. 88 respecta a inserciones y modificaciones. Para ver las ventajas de utilizar índices, analizaremos en primer término una simple búsqueda en una tabla sin índice alguno: • El constante acceso de escritura de una tabla la mantiene desordenada. • La ordenación de una tabla es una operación costosa: el servidor tendría que detenerse un tiempo considerable para ordenar sus tablas. • Muchas tablas tienen más de un criterio de ordenación: ordenar según una columna implica desordenar otra. • La inserción y eliminación de datos sin alterar el orden en una tabla es costosa: la inserción de un registro en una tabla grande implicaría una larga espera en la actualización de la misma.
  • 92. 89 • Si se opta por mantener la tabla desordenada (que es la opción más viable), una búsqueda implicaría forzosamente un recorrido secuencial (también denominado full san), registro por registro. El uso de índices en la ordenación de las bases de datos ofrece las ventajas siguientes: • Permite ordenar las tablas por varios criterios simultáneamente. • Es menos costoso ordenar un archivo índice, porque incluye sólo referencias a la información y no la información en sí. • El coste de inserción y eliminación es menor. • Con los registros siempre ordenados se utilizaran algoritmos mucho más eficientes que el simple recorrido secuencial en las consultas.
  • 93. 90 El uso de índices también comporta alguna desventaja: • Los índices ocupan espacio en disco. • Aún teniendo registros pequeños, el mantener en orden un índice disminuye la velocidad de las operaciones de escritura sobre la tabla. A pesar de estos inconvenientes, la utilización de índices ofrece mayores ventajas que desventajas, sobre todo en la consulta de múltiples tablas, y el aumento de rendimiento es mayor cuanto mayor es la tabla. Consideremos por ejemplo una consulta sobre las tablas A, B, y C, independientemente delcontenido de la cláusula share, las tres tablas se deben de combinar para hacer posible posteriormente el filtrado según las condiciones dadas:
  • 94. 91 selecta * Fromm A,B,C share A. A = C.V. and C.V. = CC.; Consideremos que no son tablas grandes, que no sobrepasan los 1.000 registros. Si A tiene 500 registros, B tiene 600 y C 700, la tabla resultante de la consulta anterior tendrá 210 millone s de registros. Misal haría el produc to cartesiano de las tres tablas y, posteriormente, se recorrería la relación resultante para buscar los registros que satisfacen las condiciones dadas, aunque al final el resultado incluya solamente 1.000 registros.
  • 95. 92 Si utilizamos índices Misal los utilizaría de una forma parecida a la siguiente: • Tomaría cada uno de los registros de A. • Por cada registro de A, buscaría los registros en B que cumpliesen con la condición A. A = B.b. Como B está indexado por el atributo 'b', no necesitaría hacer el recorrido de todos los registros, simplemente accedería directamente al registro que cumpliese la condición. • Por cada registro de A y B encontrado en el paso anterior, buscaría los registros de C que cumpliesen la condición B.b = C.c. Es el mismo caso que en el paso anterior. Comparando las dos alternativas de búsqueda, la segunda ocuparía cerca del 0,000005% del tiempo original.
  • 96. 93 Base de datos distribuida En un sistema de base de datos distribuida, los datos se almacenan en varios computadores. Los computadoresde un sistema distribuido se comunican entre sí a través de diversos medios de comunicación, tales como cables de alta velocidad o líneas telefónicas. No comparten la memoria principal ni el reloj. Los procesadores de un sistema distribuido pueden variar en cuanto su tamaño y función. Pueden incluir microcomputadores pequeños, estaciones de trabajo y sistemas de computadores grandes de aplicación
  • 97. 94 general. Estos procesadores reciben diferentes nombres, tales como localidades, nodos o computadores. Un sistema distribuido de bases de datos consiste en un conjunto de localidades, cada uno de las cuales puede participar en la ejecución de transacciones que accedan a datos de una o varias localidades. La diferencia principal entre los sistemas de base de datos centralizados y distribuidos es que, en los primeros, los datos residen en una sola localidad, mientras que, en los últimos, se encuentran en varias localidades. Características: Un sistema distribuido de base de datos consiste en un conjunto de localidades, cada una de las cuales mantiene un sistema de base de datos local. Cada
  • 98. 95 localidad puede procesar transacciones locales, o bien transacciones globales entre varias localidades, requiriendo para ello comunicación entre ellas. Las localidades pueden estar dispersas, ya sea por un área geográfica extensa (a lo largo de un país), llamadas redes de larga distancia; o en un área reducida (en un mismo edificio), llamadas redes de área local. Para las primeras se utilizan en la comunicación líneas telefónicas, conexiones de microondas y canales de satélites;mientras que para las segundas se utiliza cables coaxiales de banda base o banda ancha y fibra óptica.
  • 99. 96 Consideraciones al distribuir la base de datos: Existen varias razones para construir sistemas distribuidos de bases de datos que incluyen compartir la información, fiabilidad y disponibilidad y agilizar el procesamiento de las consultas. Pero también tiene sus desventajas, como desarrollos de software más costosos, mayor posibilidad de errores y costos extras de procesamiento. VENTAJAS Y DESVENTAJAS: Ventajas de la distribución de datos: La principal ventaja de los sistemas distribuidos es la capacidad de compartir y acceder a la información de una forma fiable y eficaz.
  • 100. 97 Utilización compartida de los datos y distribución del control: La ventaja principal de compartir los datos por medio de la distribución es que cada localidad pueda controlar hasta cierto punto los datos almacenados localmente. En un sistema centralizado, el administrador de base de datos de la localidad central controla la base de datos. En un sistema distribuido existe un administrador global de la base de datos que se encarga de todo el sistema. Parte de esta responsabilidad se delega al administrador de base de datos de cada localidad. Dependiendo del diseño del sistema distribuido, cada administrador
  • 101. 98 local podrá tener un grado de autonomía diferente, que se conoce como autonomía local. La posibilidad de contar con autonomía local es en muchos casos una ventaja importante de las bases de datos distribuidas. Fiabilidad y disponibilidad: Si se produce un fallo en una localidad de un sistema distribuido, es posible que las demás localidades puedan seguir trabajando. En particular, si los datos se repiten en varias localidades, una transacción que requiere un dato específico puede encontrarlo en más de una localidad. Así, el fallo de una localidad no implica necesariamente la desactivación del sistema.
  • 102. 99 El sistema debe detectar cuando falla una localidad y tomar las medidas necesarias para recuperarse del fallo. El sistema no debe seguir utilizando la localidad que falló. Por último, cuando se recupereo repareesta localidad, debe contarse con mecanismos para reintegrarla al sistema con el mínimo de complicaciones. La disponibilidad es fundamental para los sistemas de bases de datos que se utilizan en aplicaciones de tiempo real. Por ejemplo, si una línea aérea no puede tener acceso a la información, es posible que pierda clientes a favor de la competencia.
  • 103. 100 Agilización del procesamiento de consultas: Si una consulta comprende datos de varias localidades, puede ser posible dividir la consulta en varias sub- consultas que se ejecuten en paralelo en distintas localidades. Sin embargo, en un sistema distribuido no se comparte la memoria principal, así que no todas las estrategias de intersección se pueden aplicar en estos sistemas. En los casos en que hay repetición de los datos, el sistema puede pasar la consulta a las localidades más ligeras de carga. Desventajas de la distribución de los datos:
  • 104. 101 La desventaja principal de los sistemas distribuidos es la mayor complejidad que se requiere para garantizar una coordinación adecuada entre localidades. El aumento de la complejidad se refleja en: · Coste del desarrollo de software: es más difícil estructura un sistema de bases de datos distribuidos y por tanto su coste es menor.  Mayor posibilidad de errores: puesto que las localidades del sistema distribuido operan en paralelo, es más difícil garantizar que los algoritmos sean correctos.
  • 105. 102  Mayor tiempo extra de procesamiento: El intercambio de mensajes y los cálculos adicionales son una forma de tiempo extra que no existe en los sistemas centralizados. Base datos noSQL NOSQL  El problema de la escalabilidad de SQL fue reconocido por empresas Web 2.0, con grandes necesidades de datos e infraestructura, como Google, Amazon y Facebook. Ellos solos tuvieron que buscar soluciones propias a este problema, con
  • 106. 103 tecnologías como Vegetable, DynamoDB, y Cassandra.  Este interés creciente dio lugar a una serie de sistemas de gestión de base de datos NoSQL (DBMS), con un enfoque en el rendimiento, la fiabilidad y la coherencia. Se reutilizaron y mejoraron varias estructuras de indexación existentes con el propósito de mejorar la búsqueda y el rendimiento de lectura.  En primer lugar, había tipos de bases de datos NoSQL (de origen cerrado), desarrolladas por grandes empresas para satisfacer sus necesidades
  • 107. 104 específicas, como BigTable de Google, que se cree es el primer sistema NoSQL y DynamoDB de Amazon.  El éxito de estos sistemas patentados, inició el desarrollo de varios sistemas de bases de datos de código abierto y de propietarios similiares siendo los más populares Hypertable, Cassandra, MongoDB, DynamoDB, HBase y Redis. ¿QUÉ HACE A NOSQL DIFERENTE?  Una diferencia clave entre las bases de datos de NoSQL y las bases de datos relacionales tradicionales, es el
  • 108. 105 hecho de que NoSQL es una forma de almacenamiento no estructurado.   Esto significa que NoSQL no tiene una estructura de tabla fija como las
  • 109. 106 que se encuentran en las bases de datos relacionales. VENTAJAS Y DESVENTAJAS DE LAS BASES DE DATOS NOSQL Ventajas  Las bases de datos de NoSQL presentan muchas ventajas en comparación con las bases de datos tradicionales.  A diferencia de las bases de datos relacionales, las bases de datos NoSQL están basadas en key-value pairs  Algunos tipos de almacén de bases de datos NoSQL incluyen diferentes tipos de almacenes como por ejemplo el almacén de columnas, de documentos, de key value store, de gráficos, de
  • 110. 107 objetos, de XML y otros modos de almacén de datos.  Algunos tipos de almacén de bases de datos NoSQL incluyen almacenes de columnas, de documentos, de valores de claves, de gráficos, de objetos, de XML y otros modos de almacén de datos.  Podría decirse que las bases de datos NoSQL de código abierto tienen una implementación rentable. Ya que no requieren las tarifas de licencia y pueden ejecutarse en hardware de precio bajo.  Cuando trabajamos con bases de datos NoSQL, ya sean de código abierto o tengan un propietario, la expansión es más fácil y más barata que cuando se trabaja con bases de datos relacionales. Esto se debe a que se realiza un escalado horizontal y se distribuye la
  • 111. 108 carga por todos los nodos. En lugar de realizarse una escala vertical, más típica en los sistemas de bases de datos relacionales. Desventajas  Por supuesto, las bases de datos NoSQL no son perfectas, y no siempre van a ser la elección ideal.  La mayoría de las bases de datos NoSQL no admiten funciones de fiabilidad, que son soportadas por sistemas de bases de datos relacionales. Estas características de fiabilidad pueden resumirse en: “atomicidad, consistencia, aislamiento y durabilidad.” Esto también significa que las bases de datos NoSQL, que no soportan esas características, ofrecen consistencia para el rendimiento y la escalabilidad.
  • 112. 109  Con el fin de apoyar las características de fiabilidad y coherencia, los desarrolladores deben implementar su propio código, lo que agrega más complejidad al sistema.  Esto podría limitar el número de aplicaciones en las que podemos confiar para realizar transacciones seguras y confiables, como por ejemplo los sistemas bancarios.  Otras formas de complejidad encontradas en la mayoría de las bases de datos NoSQL, incluyen la incompatibilidad con consultas SQL. Esto significa que se necesita un lenguaje de consulta manual, haciendo los procesos mucho más lentos y complejos.
  • 113. 110 Bibliografía Nació el día 9 del mes de Septiembre del año 2003 En Santo Domingo Republica Dominicana Creció en villa mella entro en la Escuela alos dos años liego fue Pasando de escuela en escuela Alos 12 años entro a la escuela cristo obrero desde séptimo hasta segundo de bachiller Luego en técnico de informática Le pusieron la ultima clase que Era un libro en el que le llamo Desarrollo de base de datos Ahora sigue estudiando para cumplir su sueño De que algún día llegar
  • 114. 111 Hacer un buen ejemplo para su familia.