SlideShare una empresa de Scribd logo
1 de 89
Introducción
En este libro podrán ver lo que es una base de datos
tipos de base de datos, como funciona y todos los
conceptos sobre base de datos y muchas cosas más.
Las bases de datos se ingeniarongracias a la
necesidad de las grandes empresas de almacenar
ingentes cantidades de informaciónde una forma
rápida, sencillay fiable,y que a su vez pudieran
acceder a ella en cualquier momento sin necesidad de
desplazarse a salas dedicadas a archivar
documentación, como hasta hace poco se venía
haciendo.
En la base de datos podemos guardar muchos
registros sobre clientes,citas datos personales etc.
Cuando comenzó el despegue de los programas
informáticos se empezarona almacenar datos en los
archivos de los programas,lo cual era más cómodo,
pero aun así tenían grandes dificultades a la hora de
querer modificar registros,estructuras o simplemente
buscar información.
A finales de los años sesenta nacen las bases de datos.
En estas bases de datos se guardan los datos
utilizados por los usuarios,empresas,etc. Y los
programas que los utilizan no se tienen que
preocupar de su mantenimiento ni almacenaje por lo
que un cambio en la base de datos no tiene por qué
afectar en principio a los programas que la utilizan.
Que es una base de datos
Una base de datos es una colecciónde información
organizada de tal modo que sea fácilmente accesible,
gestionada y actualizada. En una sola vista, las bases
de datos pueden ser clasificadas de acuerdo con los
tipos de contenido: bibliográfico,de puro texto,
numéricas y de imágenes.
En informática,las bases de datos a veces se clasifican
de acuerdo a su enfoque organizativo.El enfoque más
frecuente es la base de datos relacional,una base de
datos tabular en la que los datos se definen de
manera que puede ser reorganizaday se accede en un
número de maneras diferentes.Una base de datos
distribuida es una que puede ser dispersada o
replicada entre diferentes puntos de una red. Una
base de datos de la programaciónorientadaa objetos
es una que es congruente con los datos definidos en
clases y subclases de los objetos.
Las bases de datos informáticas típicamente
contienen agregados de registrosde datos o archivos,
tales como las operaciones de venta, catálogos de
productos e inventarios y perfiles de clientes.
Típicamente, un gestor de bases de datos proporciona
a los usuarios la capacidad de controlar el acceso de
lectura/escritura,especificando la generaciónde
informes y analizando el uso. Las bases de datos y los
administradores de bases de datos son frecuentes en
grandes sistemas mainframe,pero también están
presentes en estaciones de trabajo distribuidas y más
pequeñas, y en sistemas de gama media, como el
AS/400 y en los equipos de cómputo personales.
Tipos de base de datos
La definición teórica de una base de datos es bastante
poco agraciada: una base de datos es todo conjunto de
datos pertenecientes a un mismo contexto que se
almacenan sistemáticamentepara su posterioruso.
Aunque esta definición teórica sea rigurosa no se
circunscribe únicamente a la rama de las nuevas
tecnologías que se encarga de estudiar la mejor forma
de almacenar y acceder a la información almacenada.
Es común que muchas pequeñas y medianas empresas
consideren que los sistemas de bases de datos son
excesivamente complicados y caros para sus
necesidades reales por lo que acaban utilizando
diferentes plataformas para gestionar su información
de una forma, que si bien parece ser fácil y sencilla en
los inicios posteriormente se descubre que complica la
gestión de estos datos.
Modelos de bases de datos
Existen diferentes maneras de ordenar y organizar la
información para que este sea accesible para nosotros.
No existe el sistema de ase de datos perfecto: hay que
elegir aquella estructura que mejor se adapte a
nuestras necesidades. Los siguientes son los tipos más
comunes:
 Las bases de datos jerárquicas construyen una
estructura de jerarquía con los datos que permite
una estructuración muy estable cuando
gestionamos una gran cantidad de datos muy
interrelacionados.
 Las bases de datos en red derivan de las jerárquicas
pero mejoran la gestión de datos redundantes
manteniendo su rendimiento en consultas de
datos.
 Las bases de datos transaccionalesestándiseñadas
para el envío y recepción de datos a grandes
velocidades y de forma continua. Su único fin es la
recepción y envío de información, pero la gestión
de almacenamiento o redundancia están fuera de
su propósito.
 Las bases de datos relacionales son las más
utilizadas en aplicaciones reales. La información se
almacena siemprehaciendo referencia a otra por lo
que se facilita la gestión y su uso por personal no
especialista. En este modelo el lugar y la forma
donde se guarde la información es secundario.
 Las bases de datos orientadas a objetos han
surgido como concepto tras la aparición de los
sistemas de programación orientada a objetos.
 Las bases de datos documentales están
especializadas en el almacenamiento de textos
completos, por lo que facilitan el tratamiento
informatizado de grandes cadenas de caracteres.
El modelo de base de datos jerárquica
El modelo jerárquico de bases de datos se asemeja a la
estructurade 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
particularen un mismo nivel de 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)puedeser una variedad de
diferentes tipos de información como números de nodo
de un disco o incluso la dirección.
El Modelo Relacional
El modelo relacional es el más populartipo de base de
datos y una herramienta extremadamente potente,no
sólo para almacenar información, también para acceder
a ella. Las bases de datos relacionalesson organizadas
en forma de tablas. La belleza de un cuadro es que la
información se puedeacceder o añadir sin reorganizar
las tablas. Una tabla puedetener muchos registros y
cada registro puedetener muchos campos.
Cuadros que a veces se llaman una relación. Por
ejemplo, una empresa puedetener una base de datos
denominadalos pedidos de los clientes, dentro de esta
base de datos serán diferentes tablas o relacionesde
todoslos 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
puedeincluir un número de artículo, la descripción del
artículo, cantidad de pago, la forma de pago, etc.). Cabe
señalar que cada registro (grupo de campos) en una
base de datos relacional tiene su propiaclave principal.
Una clave principal es el único campo quelpo.
Evolución de base de dato
Década de 1950
En este lapso de tiempo se da origen a las cintas
magnéticas, las cuales 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
Backup, 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 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 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 Relational Model of Data for
Large Shared Data Banks") en 1970, definió el
modelo relacional y publicó una serie de reglas
para la 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 Ellison 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 de IBM el
cual desarrolló técnicas para la construcción de un
sistema de bases de datos relacionales eficientes,
llamado System 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 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 estructuradoque analiza
grandes cantidades de información el cual permite
especificar diversos tipos de operaciones frente a
la misma información, a diferencia de 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
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 Initiative – Protocol for
Metadata Harvesting (OAI-PMH) los cuales
permiten el almacenamiento de gran cantidad de
artículos que permiten una mayor visibilidad y
acceso en el ámbito científico y general.
Formularios y componentes
Formularios
Es una pieza de papel que contiene datos
y espacios en blanco para registrar
información variable, el cual tendrá
diferente utilización según el área
funcional a la cual pertenezca. Puede
considerarse también como un
instrumento de trabajo cuyo objetivo es
trasportar información para simplificar y
facilitar el desarrollo de los
procedimientos administrativos. En ellos
se imprime información constante y que
tiene una serie de espacios para asentar
información variable. Es todo papel que
contenga información, texto, epígrafes,
impresos o en blanco para rellenarlos
posteriormente.
Gestión de base de datos
Una base de dato puede mantenerse
manualmente o ser informatizada (esta
última es la que nos interesa) la base de
datos informatizada es creada y
mantenida por un conjunto de
aplicaciones diseñada para esa tareas
específicas o bien, se pueden gestionar
empleando SGBD.
Existen programas denominados
sistemas gestores de bases de datos,
abreviado SGBD, que permiten
almacenar y posteriormente acceder a los
datos de forma rápida y estructurada. Las
propiedades de estos SGBD, así como su
utilización y administración, se estudian
dentro del ámbito de la informática.
Las aplicaciones más usuales son para la
gestión de empresas e instituciones
públicas.
También son ampliamente utilizadas en
entornos científicos con el objeto de
almacenar la información experimental.
Se le pueden llamar formulario a un
documento donde hay un conjunto de
objetos y procedimientos que se utilizan
como diseño de presentación al usuario.
Partes del formulario
Extremo superior o cabeza:
Se utiliza para los datos iniciales del
formulario, como identificación del
organismo, título o denominación de la
forma y otros. Representa la introducción
respecto a la acción que se va a
desarrollar en el cuerpo del formulario.
Cuerpo del formulario:
Contiene el mayor grupo de datos del
formulario, que son los que generan la
acción implícita los cuales se determinan,
de acuerdo con la información que se
desea obtener, mediante la utilización de
la forma.
Se analizan las decisiones acerca de los
datos y la distribución siguiendo una
secuencia lógica de colocación.
Extremo inferior o pie:
Contiene los datos de cierre o conclusión
del formulario, firmas y sellos para
aprobar o conformar la información
registrada en el cuerpo del mismo, y
también se asienta el código de registro.
LOS COMPONENTES
Los componentes de una base de datos de
Access son:
– Tablas
– Consultas
– Formularios
– Informes
Tablas
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.
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.
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, 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
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 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.
Tabla, registro y campos
Tablas
Las tablas son objetos de base de datos que
contienen todos sus datos. En las tablas, los datos
se organizan con arreglo a un formato de filas y
columnas, similar al de una hoja de cálculo. Cada
fila representa un registro único y cada columna
un campo dentro del registro. Por ejemplo, en una
tabla que contiene los datos de los empleados de
una compañía puede haber una fila para cada
empleado y distintas columnas en las que figuren
detalles de los mismos, como el número de
empleado, el nombre, la dirección, el puesto que
ocupa y su número de teléfono particular.
 El número de tablas de una base de datos se
limita solo por el número de objetos admitidos
en una base (2.147.483.647). Una tabla
definida por el usuario estándar puede tener
hasta 1.024 columnas. El número de filas de la
tabla solo está limitado por la capacidad de
almacenamiento del servidor.
 Puede asignar propiedades a la tabla y a cada
columna de la tabla para controlar los datos
admitidos y otras propiedades. Por ejemplo,
puede crear restricciones en una columna para
no permitir valores nulos o para proporcionar
un valor predeterminado si no se especifica un
valor, o puede asignar una restricción de clave
en la tabla que exige la unicidad o definir una
relación entre las tablas.

 Los datos de la tabla se pueden comprimir por
filas o por página. La compresión de datos
puede permitir que se almacenen más filas en
una página. Para más información, consulte
Data Compresión
 .
Tipos de tablas
Además del rol estándar de las tablas básicas
definidas por el usuario, SQL Server proporciona
los siguientes tipos de tabla que permiten llevar a
cabo objetivos especiales en una base de datos:
Tablas con particiones
Las tablas con particiones son tablas cuyos datos
se han dividido horizontalmente entre unidades
que pueden repartirse por más de un grupo de
archivos de una base de datos. Las particiones
facilitan la administración de índices y tablas
grandes al permitir el acceso y la administración de
subconjuntos de datos rápidamente y con eficacia,
mientras se mantiene la integridad de la colección
global. De forma predeterminada, SQL Server 2014
admite hasta 15.000 particiones. Para obtener más
información, vea Particionad Tables and Indexes.
Tablas temporales
Tablas temporales se almacenan en tempdb. Hay
dos tipos de tablas temporales: locales y globales.
Se diferencian entre sí por los nombres, la
visibilidad y la disponibilidad. Las tablas
temporales locales tienen como primer carácter de
sus nombres un solo signo de número (#); solo son
visibles para el usuario de la conexión actual y se
eliminan cuando el usuario se desconecta de la
instancia de SQL Server. Las tablas temporales
globales presentan dos signos de número (##)
antes del nombre; son visibles para cualquier
usuario después de su creación y se eliminan
cuando todos los usuarios que hacen referencia a
la tabla se desconectan de la instancia de SQL
Server.
Tablas del sistema
SQL Server almacena los datos que definen la
configuración del servidor y de todas sus tablas en
un conjunto de tablas especial, conocido como
tablas del sistema. Los usuarios no pueden
consultar o actualizar directamente las tablas del
sistema. La información de las tablas del sistema
está disponible a través de las vistas del sistema.
Para obtener más información, vea Vistas del
sistema (Transact-SQL).
Tablas anchas
Las tablas anchas usan las columnas dispersas para
aumentar hasta 30 000 el número total de
columnas permitidas.
Las columnas dispersas son columnas normales
que disponen de un almacenamiento optimizado
para los valores NULL. Este tipo de columnas
reducen los requisitos de espacio de los valores
NULL a costa de una mayor sobrecarga a la hora
de recuperar valores no NULL. Una tabla ancha ha
definido un conjunto de columnas, que es una
representación XML sin tipo que combina todas las
columnas dispersas de una tabla en una salida
estructurada. El número de índices y estadísticas
también se aumenta hasta 1.000 y 30.000,
respectivamente. El tamaño máximo de una fila de
una tabla ancha es de 8.019 bytes. Por
consiguiente, la mayoría de los datos de cualquier
fila deben ser NULL. El número máximo de
columnas no dispersas más las columnas
calculadas de una tabla ancha sigue siendo 1.024.
Las tablas anchas tienen las siguientes
implicaciones de rendimiento.
 Las tablas anchas pueden aumentar el costo
de mantenimiento de los índices de la tabla. Se
recomienda que el número de índices de una
tabla ancha se limite a los índices necesarios
para la lógica de negocios. Si el número de
índices aumenta, también lo harán el tiempo
de compilación de DML y los requisitos de
memoria. Los índices no clúster deben ser
índices filtrados que se aplican a subconjuntos
de datos. Para obtener más información,
consulte Create Filtered Indexes.
 Las aplicaciones pueden agregar y quitar
columnas de las tablas anchas de forma
dinámica. Cuando se agregan o se quitan
columnas, también se invalidan los planes de
consulta compilados. Se recomienda diseñar
una aplicación que se corresponda con la
carga de trabajo prevista para minimizar los
cambios de esquema.
 Cuando se agregan y se quitan datos de una
tabla ancha, el rendimiento puede verse
afectado. El diseño de las aplicaciones debe
corresponderse con la carga de trabajo
prevista para minimizar los cambios llevados a
cabo en los datos de la tabla.
 Limite la ejecución de instrucciones DML en
una tabla ancha destinadas a actualizar varias
filas de una clave de agrupación en clústeres.
La compilación y la ejecución de estas
instrucciones pueden requerir recursos de
memoria considerables.
 Las operaciones de cambio de partición en las
tablas anchas pueden resultar lentas, y su
procesamiento podría requerir grandes
cantidades de memoria. Los requisitos de
rendimiento y de memoria son proporcionales
al número total de columnas existentes en las
particiones de origen y de destino.
 Los cursores de actualización que actualizan
columnas concretas de una tabla ancha deben
enumerar las columnas de manera explícita en
la cláusula FOR UPDATE. Esto ayudará a
optimizar el rendimiento mientras se usan
cursores.
Registro
Registrar es la acción que se refiere a almacenar
algo o a dejar constancia de ello en algúntipo de
documento.Un dato, por su parte, es una
información que posibilitael acceso a un
conocimiento.
La noción de registro de datos, por lo tanto, está
vinculada a consignardeterminadas
informaciones en un soporte. El registro de
datos puede desarrollarse tanto en un papel
como en formato digital.Por ejemplo: “Apenas
llegué a la oficina, un empleadoadministrativo
me pidió mis documentosy procedió al registro de
datos en una planilla”, “Gracias a esta nueva
herramienta tecnológica que acabamos de
incorporar, el registro de datos será mucho más
veloz”, “Tenemos problemascon el registro de
datos ya que el sistema no está funcionando bien:
le pido disculpas por las molestias”.
La policía de todo el mundo encuentra
precisamente en los registros de datos una de sus
herramientas más útiles y eficaces de trabajo. Y es
que los mismos le permiten tener acceso inmediato
a la identidad de personas sobre las que desee
conocer algún tipo de informaciónconcreto.
Exactamentelas autoridades cuentancon
registros dondetienen almacenados numerosos
aspectos de la ciudadanía tales nombres y
apellidos,domicilio,edad, sexo,estado civil,
nombre de los padres, fecha y lugar de nacimiento,
fotografías,huellas digitales,trabajo… Todo eso y
mucho más sin olvidartampoco las infracciones
que haya podido cometer e incluso la ficha policial,
en el caso de que la poseanpor haber realizado
algúndelito.
En el ámbito de la informática, se conoce
como registro de datos al bloque con
información que forma parte de una tabla.
Esto quiere decir que, en una base de datos,
el registro de datos es una fila.
Esta fila o registro supone un conjunto de
datos que mantienen una cierta vinculación
entre sí. La totalidadde las filas de una
tabla respeta una estructura idéntica, una
característica que permite trabajar y hacer
cálculos con la información. La tabla, en
definitiva,constituyela base de datos.
Para poder llevar a cabo el citado registro, se hace
necesario recurrir al uso de la tecnología que existe
y que facilita no sólo el llevarlo al día y poder
consultarlocuando sea imprescindiblesino
también poder ir rellenando nuevas filas y
columnas.Existendiversos programas específicos
para ello, no obstante, uno de los más utilizadosen
todo el mundo es Microsoft Excel.
Se conoce como registro de datos biométricos,
por otra parte, a la recopilaciónde información
vinculada a la biometría de una persona. Se
trata de datos que contribuyen a la
identificación del sujeto en cuestión: una
huella digital, una fotografía,etc.
Además de todo lo expuesto,no podemos
olvidarnosque en España existe lo que se conoce
como Registro General de Protección de Datos,
que dependede lo que es la Agencia Española de
Protección de Datos. Su funciónno es otra que
velar por la publicidad de los ficheros y del
tratamiento que se le dan a los datos personales
que existen en aquella.
Campo
Podemos agregarmuchos tipos de campos que
formarán parte de nuestrabasede datos. Cada
campo admite distintos tipos de datos, con
diferentes interfaces. Después de crear los campos
deseadospodemos añadirinformaciónen la base
de datos.
Un campo es el nombre de la unidad de
información.Cada entrada en 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 escogerde un
listado de poblaciones posibles. La combinaciónde
campos diversos nos permitirá recabar toda la
información que consideremos relevantesobre los
ítems que constituyen la base de datos.
CONTENIDO
[ocultar]
 1 Nombrey descripcióndel campo
 2 Tipos de campos
 2.1 Caja de selección
 2.2 Fecha
 2.3 Archivo
 2.4 Menú
 2.5 Menú (selecciónmúltiple)
 2.6 Número
 2.7 Dibujo
 2.8 Botones de radio
 2.9 Texto
 2.10 Área de texto
 2.11 URL
Nombre y descripción del campo
Todos los campos necesitan un nombrey 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
seleccionaruna o más de las opciones y al
visualizarla entrada aparecerá en el campo
correspondienteel texto de la o las opción/es
seleccionada/s(en el caso de que se haya
seleccionadomás de una opción aparecerán la una
bajo la otra, no en la misma línea). Los Botones de
radio se pueden utilizar si se desea que el usuario,
al editar la entrada, seleccionetan sólo una de las
opciones.
Las cajas de selección múltiplese 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 seleccionarcombinacionesde
géneros, por ejemplo horror-comedia o comedia-
del oeste.
El campo Menú (selecciónmú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 seleccionaruna opción).
Fecha
Permite que los usuarios entren una fecha
seleccionandoen un listado desplegableel día, mes
y año correspondientes.
Archivo
Permite que los usuarios subanun fichero desdesu
ordenador.Si se trata de un fichero de imagen
sería mejor opción seleccionarel campo dibujo.
Menú
Es parecido a la caja de selección pero el texto
escrito en el área opcionesse presentará como un
listado desplegablea 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 seleccionemás de una opción al editar la
entrada manteniendo apretadas las teclas de
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, aunquepuede ser
negativo (por ejemplo: -2,-1,0,1,2,3,...). Si se
escriben caracteres no numéricos éstos y los que le
siguenno apareceráno, 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
desdesu ordenador.
Botones de radio
Permite al usuario escogeruna de diversas
opciones. Además,tan sólo podrá guardarla
entrada cuando haya realizado la selección. Si sólo
hay dos opciones opuestas (por ejemplo,
verdadero/falso,sí/no),se puede utilizaruna caja
de selección múltiple, aunquede esta manera se
podrán guardarentradas,aunqueel usuario no
haya seleccionadoninguna de las opciones.
Texto
Los usuarios puedenescribir hasta 60 caracteres
de texto. El campo área de texto se puede utilizar
para textos más largos o que requieranalgún tipo
de formato.
Área de texto
Permite a los usuariosescribir un texto largo y
añadirleformato de manera similara cuando se
escribe un mensajea un foro. Puede especificar el
ancho en columnasy 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
resultarinteresante 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 podremos acceder a la URL que hayamos
escrito.
Tipos de tabla en MySQL
1.ISAM. - es el formato de almacenaje
más 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, cambialas 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, 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, rollback, recuperación de
errores y bloqueo a nivel de fila.
6.MERGE más 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 ellas con
mayor rapidez. Las tablas deben ser
myisam 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 ‘Transactions safe tables’, o
tablas para transacciones seguras. A este
tipo pertenecen DBD y INNODB.
Las tablas tipo TST son menos rápidas y
ocupan más 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)
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 compliant 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, Consistency, Isolation and
Durability: Atomicidad, Consistencia,
Aislamiento y Durabilidad en español.
Historia y Evolución de MySQL, server y
postrer
Orígenes
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
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, 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 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
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 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
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 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
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 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.
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.
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 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 sus 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 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 Inversión fueron el
único mecanismo para almacenar objetos
grandes (el sistema de archivos de
Inversión fue eliminado).
 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 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 PostgreSQL
incluyen:
 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
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 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 identidad de relación
Este modelo se obtieneen tiempo de diseño de la base
de datos. Fue propuestopor Peter Chen en 1976 y desde
entoncesse viene utilizando de una forma muy global.
Se caracteriza por utilizar una serie de símbolos y reglas
para representarlos datos y sus relaciones.
Con este modelo conseguimos representarde manera
gráfica la estructuralógica de una base de datos.
Los principaleselementos del modelo entidad-relación
son las entidadescon sus atributosy las relaciones entre
entidades.
Elementosdel 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, dondese recogerían los datos relativos a
ese banco, como puedeser el nombre, el número de
sucursal, la dirección, etc.
Dentro de las entidadespueden ser fuertes o débiles.
Las fuertes son las que no dependende otras entidades
para existir, mientras que las entidadesdébiles siempre
dependende 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 poderdistinguirla 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 grado 2 son relaciones que
asocian dos entidades distintas, y las de grado n que se
tratan de relaciones que unen más de dos entidades.
Las relaciones se representas gráficamente con rombos,
dentro de ellas se colocael nombre de la relación.
Otra característica es el tipo de correspondenciaentre
dos relaciones;
 1:1. Uno a uno, a cada ocurrenciade una entidad le
correspondecomo máximo una ocurrencia de la otra
entidad relacionada.
 1: N. Uno a Mucho, a cada ocurrenciade la entidad A
le pueden correspondervarias de la entidad B.
 N: M. Muchos a muchos, cada ocurrencia de una
entidad puede contenervarias de la otra entidad
relacionaday viceversa.
Para finalizar las características de la relación tenemos
la cardinalidad que define el número máximo y mínimo
de ocurrenciasde cada tipo de entidad. Se representa
con los valores máximo coma mínimo encerradosentre
paréntesis encima de la relación. (máximo, mínimo)
Atributo
Se define como cada una de las propiedadesde una
entidad o relación. Cada atributo tiene un nombre y
todoslos 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 sería un esquema del
modelo entidad-relación.
Modelo racional
El Modelo Entidad-Relación, también conocido como
DER (diagramas entidad-relación) es una herramienta
de modelado para bases de datos, propuesto por Peter
Chen en 1976, mediante el cual se pretende ‘visualizar’
los objetos que pertenecen a la Base de Datos como
entidades (se corresponde al concepto de clase, cada
tupla representaría un objeto, de la Programación
Orientada a Objetos) las cuales tienen unos atributos y
se vinculan mediante relaciones.
Es una representación conceptual de la información.
Mediante una serie de procedimientos se puede pasar
del modelo E-R a otros, como por ejemplo el modelo
relacional.
El modelado entidad-relación es una técnica para el
modelado de datos utilizando diagramas entidad
relación.No es la única técnica pero sí la más utilizada.
Brevemente consiste en los siguientes pasos:
7.Se parte de una descripción textual del problema o
sistema de información a automatizar (los requisitos).
8.Se hace una lista de los sustantivos y verbos que
aparecen.
9.Los sustantivos son posibles entidades o atributos.
10. Los verbos son posibles relaciones.
11. Analizando las frases se determina la cardinalidad
de las relaciones y otros detalles.
12. Se elabora el diagrama (o diagramas) entidad-
relación.
13. Se completa el modelo con listas de atributos y una
descripción de otras restricciones que no se pueden
reflejar en el diagrama.
Dado lo rudimentario de esta técnica se necesita cierto
entrenamiento y experiencia para lograr buenos
modelos de datos.
El modelado de datos no acaba con el uso de esta
técnica. Son necesarias otras técnicas para lograr un
modelo directamente implementable en una base de
datos. Brevemente:
 Transformación de relaciones múltiples en binarias.
 Normalización de una base de datos de relaciones
(algunas relaciones pueden transformarse en atributos
y viceversa).
 Conversión en tablas (en caso de utilizar una base de
datos relacional).
Las consultas
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 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
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
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).
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 solo el nombre y los
apellidos, no aparecen los otros dos campos
porque no han sido añadidos.
La indexación
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 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.
• 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
utilizarán algoritmos mucho más eficientes
que el simple recorrido secuencial en las
consultas.
El uso de índices también comporta alguna
desventaja:
• Los índices ocupan espacio en disco.
• Aun 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 del
contenido de la cláusula share, las tres tablas
se deben de combinar para hacer posible
posteriormente el filtrado según las
condiciones dadas:
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
millones de registros. Misal haría el producto
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.
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.
Base de datos distribuidas
Una Base de Datos Distribuida (BDD) es, una base de
datos construida sobre una red de computadores. La
información que estructura la base de datos esta
almacenada en diferentes sitios en la red, y los
diferentes sistemas de información que las utilizan
accesan datos en distintas posiciones geográficas.
Por ende, una Base de Datos Distribuida es una
colección de datos que pertenecen lógicamente a un
solo sistema, pero se encuentra físicamente distribuido
en varios computadores o servidores de datos en una
red de computadoras. Un sistema de bases de datos
distribuidas se compone de un conjunto de sitios
lógicos, conectados entre sí, mediante algún tipo de red
de comunicaciones, en el cual:
 Cada sitio lógico puede tener un sistemade base de
datos.
 Los sitios han sido diseñados para trabajar en
conjunto, con el fin de que un usuario de cualquier
posición geográfica pueda obtener acceso a los
datos desde cualquier punto de la red tal como si
todos los datos estuvieran almacenados en la
posición propia del usuario. Entonces, la llamada
"Base de Datos Distribuida" es en realidad una
especie de “objeto virtual”, cuyos componentes se
almacenan físicamente en varias “bases de datos
reales” ubicadas en diferentes sitios. En esencia es
la unión lógica de esas diferentes bases de datos.
En otras palabras, cada sitio tiene sus propias “bases de
datos reales" locales, sus propios usuarios locales, sus
propios SGBD y programas para la administración de
transacciones y su propio administrador de
comunicación de datos. Asípues, el sistemade bases de
datos distribuidas puede considerarse como una
especie de sociedad entre los diferentes SGBD
individuales locales. Un nuevo componente de software
en cada sitio realiza las funciones de sociedad
necesarias; y es la combinación de este nuevo
componente y el SGBD ya existente constituyen el
llamado Sistema de Administración o Gestión de Bases
de Datos Distribuidas - SGBDD. (En inglés DDBMS,
Distributed Data Base Management System).
Desde el punto de vista del usuario final, un sistema
distribuido deberá ser idéntico a un sistema no
distribuido. Los usuarios de un sistema distribuido se
comportan en su manipulación de información
exactamente como si el sistema no estuviera
distribuido. Todos los problemas de los sistemas
distribuidos son de tipo interno o a nivel de realización,
no pueden existir problemas de tipo externo o a nivel
del usuario final.
Los datos que se encuentran distribuidos en varios sitios
y que están interconectados por una red de
comunicaciones tienen capacidad de procesamiento
autónomo de transacciones y hacer procesos locales.
Cada sitio realiza la ejecución de al menos una
transacción global, la cual requiere accesos a datos en
diversos sitios.
Los principios fundamentales de un sistema de datos
distribuido son:
1. Autonomía local.
2. No dependencia de un sitio central.
3. Operación continúa.
4. Independencia con respecto a la localización.
5. Independencia con respecto a la fragmentación.
6. Independencia de réplica.
7. Procesamiento distribuido de consultas.
8. Manejo distribuido de transacciones.
9. Independencia con respecto al equipo.
10. Independencia con respecto al sistema operativo.
11. Independencia con respecto a la red.
12. Independencia con respecto al SGBD.
Estos doce postulados no son todas independientes
entre sí, ni tienen toda la misma importancia que cada
usuario le otorgue. Sin embargo, sí son útiles como
fundamento para entender la tecnología distribuida y
como marco de referencia para caracterizar la
funcionalidad de sistemas distribuidos específicos.
1. Autonomía local: Los sitios o posiciones de un sistema
distribuido deben ser autónomos. La autonomía local
significa que todas las operaciones en un sitio
determinado se controlan en ese sitio; ningún sitio A
deberá depender de algún otro sitio B para su buen
funcionamiento (pues de otra manera el sitio A podría
ser incapaz de trabajar, aunque no tenga en sí problema
alguno, si cae el sitio B). La autonomíalocal significa que
existe un propietario y un administrador local de los
datos, con responsabilidad local: todos los datos
pertenecen a una base de datos local, aunque los datos
sean accesibles desde algún sitio distante. Todo el
manejo de la seguridad y la integridad de los datos se
efectúan con control de la instalación y administración
local.
2. No dependencia de un sitio central: La no
dependencia de un sitio central, sería lo ideal, pero si
esto no se logra la autonomía local completa se vería
comprometida. La dependencia de un sitio central no es
práctica al menos por las siguientes razones: en primer
lugar, estos sitios podrían generar un cuello de botella,
y, en segundo lugar, el sistema sería vulnerable; si el
sitio central sufriera un desperfecto, todo el sistema
dejaría de funcionar.
3. Operación continúa: En un sistema distribuido, lo
mismo que en uno no distribuido, nunca debería haber
necesidad de apagar o dejar de funcionar. Es decir, el
sistema nunca debería necesitar apagarse para que se
pueda realizar alguna operación, como añadirse un
nuevo sitio o instalar una versión mejorada del SGBD en
un sitio ya existente.
4. Independencia con respecto a la localización: La
independencia con respecto a la localización, permite
que los usuarios finales no sepan dónde están
almacenados físicamente los datos, sino que trabajen
como si todos los datos estuvieran almacenados en su
propio sitio local. La independencia con respecto a la
localización es deseable porque simplifica los sistemas
de información de los usuarios y sus actividades en la
terminal. Esto hace posible la migración de datos de un
sitio a otro sin anular la validez de ninguno de esos
sistemas o actividades. Esta función de migración
permite modificar la distribución de los datos dentro de
la red, en respuesta a cambios en los requerimientos de
desempeño.
5. Independencia con respecto a la fragmentación: Un
sistema tiene fragmentación de datos solo si es posible
dividir una relación en partes o "fragmentos" para
propósitos de almacenamiento físico. La fragmentación
es deseable por razones de desempeño: los datos
pueden almacenarse en la localidad donde se utilizan
con mayorfrecuencia, de manera que la mayor parte de
las operaciones sean solo locales y se reduzca el tráfico
en la red de cómputo. Existen en esencia dos clases de
fragmentación, la fragmentación horizontal y la
fragmentación vertical; estos tipos de fragmentación
son correspondientes a las operaciones relacionales de
restricción y proyección, respectivamente. Un
fragmento puede ser cualquier sub relación que pueda
derivarse de la relación original mediante operaciones
de restricción y proyección; la reconstrucción de la
relación originada a partir de los fragmentos se hace
mediante operaciones de reunión y unión (reunión en el
caso de fragmentación vertical, y la unión en casos de
fragmentación horizontal).
6. Independencia de réplica: Un sistema maneja réplica
de datos si una relación dada se puede representar en
el nivel físico mediantevarias copias réplicas, en muchos
sitios distintos. La réplica es deseable al menos por dos
razones: en primer lugar, puede producir un mejor
desempeño (las aplicaciones pueden operar sobre
copias locales en vez de tener que comunicarse con
sitios remotos); en segundo lugar, también puede
significar una mejor disponibilidad (un objeto estará
disponible para su procesamiento en tanto esté
disponible por lo menos una copia, al menos para
propósitos de recuperación). La desventaja principal de
las réplicas es cuando se pone al día un cierto objeto
copiado, deben ponerse al día todas las réplicas de ese
objeto. La réplica debe ser "transparentepara el usuario
final", un sistema que maneja la réplica de los datos
deberá ofrecer también una independencia de réplica
(conocida también como transparencia de réplica); es
decir, los usuarios deberán comportarse como si sólo
existiera una copia de los datos.
7. Procesamiento distribuido de consultas: Este manejo
de datos en las consultas permite las consultas
eficientes desde diferentes usuarios con las
características que determine el sistema;la consulta de
datos es más importante en un sistema distribuido que
en uno centralizado. Lo esencial es que, en una consulta
donde están implicados varios sitios, habrá muchas
maneras de trasladar los datos en la red de cómputo
para satisfacer la solicitud, y es crucial encontrar una
estrategia suficiente. Por ejemplo, una solicitud de
unión de una relación Rx almacenada en el sitio X y una
relación Ry almacenada en el sitio Y podría llevarse a
cabo trasladando Rx a Y o trasladando Ry a X, o
trasladando las dos a un tercer sitio Z.
8. Manejo distribuido de transacciones: Este manejo
tiene dos aspectos principales, el control de
recuperación y el control de concurrencia, cada uno de
los cuales requiere un tratamiento más amplio en el
ambiente distribuido. En un sistema distribuido, una
sola transacción puede implicar la ejecución de
programas o procesos en varios sitios (en particular
puede implicar actualizaciones en varios sitios). Por
esto, cada transacción está compuesta de varios
agentes, donde un agente es el proceso ejecutado en
nombre de una transacción dada en determinado sitio.
Y el sistema necesita saber cuándo dos agentes son
parte de la misma transacción. Es importante aclarar
que no puede haber un bloqueo mutuo entre dos
agentes que sean parte de la misma transacción.
9. Independencia con respecto al equipo: Las
instalaciones de cómputo en el mundo real por lo
regular incluyen varias máquinas de diferentes marcas
comerciales como IBM, DELL, HP, SUN, entre otras; por
esta razón existe una verdadera necesidad de poder
integrar los datos en todos esos sistemas y presentar al
usuario "una sola imagen del sistema". Por tanto,
conviene ejecutar el mismo SGBD en diferentes
equipos, y además lograr que esos diferentes equipos se
integren en un sistema distribuido.
10. Independencia con respecto al sistemaoperativo: Es
necesario y conveniente no sólo de poder ejecutar el
mismoSGBD en diferentes equipos, sino también poder
ejecutarlo en diferentes sistemas operativos y lograr
que una versión LINUX y una WINDOWS participen
todas en el mismo sistema distribuido.
11. Independencia con respecto a la red: Si el sistema
puede manejar múltiples sitios, con equipos distintos y
diferentes sistemas operativos, resulta obvia la
conveniencia de manejar también varios tipos de redes
de comunicación distintas.
12. Independencia con respecto al SGBD: En la
independencia con respecto a su manejo, se requiere
que los SGBD en los diferentes sitios manejen toda la
misma interfaz; no necesitan ser por fuerza copias del
mismo sistema.
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.
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 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.
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 recupere o repare esta 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.
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:
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.
 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 de datos NOSQL
Cuando pensamos en bases de datos relacionalesa
nuestra mente suelen acudir los mismos nombres. En la
parte comercial tenemos Oracle y Microsoft SQL
Server. Del lado del software libre, tenemos opciones
como Postgre SQL o MySQL. Aunquecada una tiene
sus peculiaridades, para un desarrolladorno es difícil
elegir entre un sistema y otro. Al final todo son tablas,
columnas, claves primarias, y sobre todo, consultas
SQL. La decisión de cuál elegir, se basará en sus
características y precio.
Si hablamos de bases de datos NoSQL, la cosa se
complica. A día de hoy existen unos 150 sistemas de
bases de datos NoSQL. Elegir uno de ellos puedeser
muy difícil, ya que ninguno ha obtenido todavía la fama
que sí han conseguido las bases de datos relacionales.
Pero el problema principal que encontramos, es que,
aunquetodas se denominan NoSQL, en realidad hay
diferentes tipos. Dependiendode lo que necesitemos,
deberemos decantarnospor una u otra.
Aunquehay varias aproximaciones diferentes para
clasificar las bases de datos NoSQL (Teorema CAP,
basándonosen el modelo de datos etc.), en general se
considera que existen cuatro tipos diferentes: orientadas
a documentos, orientadasa columnas, de clave-valor y
en grafo.
Así que veamos en qué consisten estos sistemas, para
que podamos elegir la opciónque mejor se adapte a
nuestras necesidades.
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 valué store, de gráficos,
de 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 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.
 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.
Conclusión
La base de datos nos enseña muchas cosas como
crear una tabla, formulario, a identificar los
campos etc.
Este libro nos enseña muchas cosas del
desarrollamiento de base de datos y muchas
cosas más.
Bibliografía
Nació el día 4 de
diciembre del año 2002
En Santo Domingo Republica Dominicana
Nació en villa mella y estudia en la escuela cristo obrero
Alos 12 años entro a la escuela cristo obrero desde séptimo
hasta segundo de bachiller
Luego en técnico de informática.

Más contenido relacionado

La actualidad más candente (19)

TIPOS DE BASE DE DATOS
TIPOS DE BASE DE DATOSTIPOS DE BASE DE DATOS
TIPOS DE BASE DE DATOS
 
Bases de datos, Tipos e importancia
Bases de datos, Tipos e importanciaBases de datos, Tipos e importancia
Bases de datos, Tipos e importancia
 
Base de datos
Base de datosBase de datos
Base de datos
 
Introduccion a las bases de datos
Introduccion a las bases de datosIntroduccion a las bases de datos
Introduccion a las bases de datos
 
Diseño de base de datos tema 1
Diseño de base de datos tema 1Diseño de base de datos tema 1
Diseño de base de datos tema 1
 
Clase 1 Introduccion A Base De Datos
Clase 1   Introduccion A Base De DatosClase 1   Introduccion A Base De Datos
Clase 1 Introduccion A Base De Datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datos Base de datos
Base de datos
 
Presentación
PresentaciónPresentación
Presentación
 
Bases de datos documentales
Bases de datos documentalesBases de datos documentales
Bases de datos documentales
 
Access
Access Access
Access
 
Base de datos
Base de datosBase de datos
Base de datos
 
Modelos de Base de Datos
Modelos de Base de DatosModelos de Base de Datos
Modelos de Base de Datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Santiago presentacion
Santiago presentacionSantiago presentacion
Santiago presentacion
 
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
 
Presentacion bases de datos
Presentacion bases de datosPresentacion bases de datos
Presentacion bases de datos
 

Similar a Base de datos

Base de datos 5º (2)
Base de datos 5º (2)Base de datos 5º (2)
Base de datos 5º (2)eleanavaleria
 
Base de datos 5º (2)
Base de datos 5º (2)Base de datos 5º (2)
Base de datos 5º (2)eleanavaleria
 
Funciones de un DBA y tipos de Base de Datos
Funciones de un DBA y tipos de Base de DatosFunciones de un DBA y tipos de Base de Datos
Funciones de un DBA y tipos de Base de Datoskevin vilca cabanillas
 
¿QUE ES UNA BASE DE DATOS? ¿COMO ES? ¿Y PARA QUE SIRVE?
¿QUE ES UNA BASE DE DATOS? ¿COMO ES? ¿Y PARA QUE SIRVE?¿QUE ES UNA BASE DE DATOS? ¿COMO ES? ¿Y PARA QUE SIRVE?
¿QUE ES UNA BASE DE DATOS? ¿COMO ES? ¿Y PARA QUE SIRVE?Gely Perez
 
Base de datos
Base de datosBase de datos
Base de datosalex238a
 
Base de datos 1
Base de datos 1Base de datos 1
Base de datos 1alejandro
 
Funciones de un dba y tipos de base de datos
Funciones de un dba y tipos de base de datosFunciones de un dba y tipos de base de datos
Funciones de un dba y tipos de base de datosFernando suca
 
Base de Datos
Base de DatosBase de Datos
Base de DatosDaryi
 
Historia Base de datos
Historia Base de datosHistoria Base de datos
Historia Base de datosingrid vanegas
 
Instituto distrital evardo turizo palencia
Instituto distrital evardo turizo palenciaInstituto distrital evardo turizo palencia
Instituto distrital evardo turizo palenciaLeidyOsorioM
 
Base de datos
Base de datosBase de datos
Base de datosVictor
 

Similar a Base de datos (20)

Base de datos 5º (2)
Base de datos 5º (2)Base de datos 5º (2)
Base de datos 5º (2)
 
Base de datos 5º (2)
Base de datos 5º (2)Base de datos 5º (2)
Base de datos 5º (2)
 
Funciones de un DBA y tipos de Base de Datos
Funciones de un DBA y tipos de Base de DatosFunciones de un DBA y tipos de Base de Datos
Funciones de un DBA y tipos de Base de Datos
 
¿QUE ES UNA BASE DE DATOS? ¿COMO ES? ¿Y PARA QUE SIRVE?
¿QUE ES UNA BASE DE DATOS? ¿COMO ES? ¿Y PARA QUE SIRVE?¿QUE ES UNA BASE DE DATOS? ¿COMO ES? ¿Y PARA QUE SIRVE?
¿QUE ES UNA BASE DE DATOS? ¿COMO ES? ¿Y PARA QUE SIRVE?
 
Tipos de base de datos
Tipos de base de datosTipos de base de datos
Tipos de base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Trabajo de sistemas
Trabajo  de  sistemas Trabajo  de  sistemas
Trabajo de sistemas
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Base de datos 1
Base de datos 1Base de datos 1
Base de datos 1
 
Base de datos
Base de datosBase de datos
Base de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Funciones de un dba y tipos de base de datos
Funciones de un dba y tipos de base de datosFunciones de un dba y tipos de base de datos
Funciones de un dba y tipos de base de datos
 
Julieth
 Julieth Julieth
Julieth
 
Libro base de datos
Libro base de datosLibro base de datos
Libro base de datos
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Historia Base de datos
Historia Base de datosHistoria Base de datos
Historia Base de datos
 
Base de datos jairo
Base de datos jairoBase de datos jairo
Base de datos jairo
 
Instituto distrital evardo turizo palencia
Instituto distrital evardo turizo palenciaInstituto distrital evardo turizo palencia
Instituto distrital evardo turizo palencia
 
Base de datos
Base de datosBase de datos
Base de datos
 

Base de datos

  • 1.
  • 2. Introducción En este libro podrán ver lo que es una base de datos tipos de base de datos, como funciona y todos los conceptos sobre base de datos y muchas cosas más. Las bases de datos se ingeniarongracias a la necesidad de las grandes empresas de almacenar ingentes cantidades de informaciónde una forma rápida, sencillay fiable,y que a su vez pudieran acceder a ella en cualquier momento sin necesidad de desplazarse a salas dedicadas a archivar documentación, como hasta hace poco se venía haciendo. En la base de datos podemos guardar muchos registros sobre clientes,citas datos personales etc. Cuando comenzó el despegue de los programas informáticos se empezarona almacenar datos en los archivos de los programas,lo cual era más cómodo, pero aun así tenían grandes dificultades a la hora de querer modificar registros,estructuras o simplemente buscar información. A finales de los años sesenta nacen las bases de datos. En estas bases de datos se guardan los datos utilizados por los usuarios,empresas,etc. Y los programas que los utilizan no se tienen que
  • 3. preocupar de su mantenimiento ni almacenaje por lo que un cambio en la base de datos no tiene por qué afectar en principio a los programas que la utilizan. Que es una base de datos Una base de datos es una colecciónde información organizada de tal modo que sea fácilmente accesible, gestionada y actualizada. En una sola vista, las bases de datos pueden ser clasificadas de acuerdo con los tipos de contenido: bibliográfico,de puro texto, numéricas y de imágenes. En informática,las bases de datos a veces se clasifican de acuerdo a su enfoque organizativo.El enfoque más frecuente es la base de datos relacional,una base de datos tabular en la que los datos se definen de
  • 4. manera que puede ser reorganizaday se accede en un número de maneras diferentes.Una base de datos distribuida es una que puede ser dispersada o replicada entre diferentes puntos de una red. Una base de datos de la programaciónorientadaa objetos es una que es congruente con los datos definidos en clases y subclases de los objetos. Las bases de datos informáticas típicamente contienen agregados de registrosde datos o archivos, tales como las operaciones de venta, catálogos de productos e inventarios y perfiles de clientes. Típicamente, un gestor de bases de datos proporciona a los usuarios la capacidad de controlar el acceso de lectura/escritura,especificando la generaciónde informes y analizando el uso. Las bases de datos y los administradores de bases de datos son frecuentes en grandes sistemas mainframe,pero también están presentes en estaciones de trabajo distribuidas y más pequeñas, y en sistemas de gama media, como el AS/400 y en los equipos de cómputo personales.
  • 5. Tipos de base de datos La definición teórica de una base de datos es bastante poco agraciada: una base de datos es todo conjunto de datos pertenecientes a un mismo contexto que se almacenan sistemáticamentepara su posterioruso. Aunque esta definición teórica sea rigurosa no se circunscribe únicamente a la rama de las nuevas tecnologías que se encarga de estudiar la mejor forma de almacenar y acceder a la información almacenada. Es común que muchas pequeñas y medianas empresas consideren que los sistemas de bases de datos son excesivamente complicados y caros para sus necesidades reales por lo que acaban utilizando diferentes plataformas para gestionar su información de una forma, que si bien parece ser fácil y sencilla en los inicios posteriormente se descubre que complica la gestión de estos datos. Modelos de bases de datos Existen diferentes maneras de ordenar y organizar la información para que este sea accesible para nosotros. No existe el sistema de ase de datos perfecto: hay que elegir aquella estructura que mejor se adapte a
  • 6. nuestras necesidades. Los siguientes son los tipos más comunes:  Las bases de datos jerárquicas construyen una estructura de jerarquía con los datos que permite una estructuración muy estable cuando gestionamos una gran cantidad de datos muy interrelacionados.  Las bases de datos en red derivan de las jerárquicas pero mejoran la gestión de datos redundantes manteniendo su rendimiento en consultas de datos.  Las bases de datos transaccionalesestándiseñadas para el envío y recepción de datos a grandes velocidades y de forma continua. Su único fin es la recepción y envío de información, pero la gestión de almacenamiento o redundancia están fuera de su propósito.  Las bases de datos relacionales son las más utilizadas en aplicaciones reales. La información se almacena siemprehaciendo referencia a otra por lo que se facilita la gestión y su uso por personal no especialista. En este modelo el lugar y la forma donde se guarde la información es secundario.  Las bases de datos orientadas a objetos han surgido como concepto tras la aparición de los sistemas de programación orientada a objetos.
  • 7.  Las bases de datos documentales están especializadas en el almacenamiento de textos completos, por lo que facilitan el tratamiento informatizado de grandes cadenas de caracteres.
  • 8. El modelo de base de datos jerárquica El modelo jerárquico de bases de datos se asemeja a la estructurade 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 particularen un mismo nivel de 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.
  • 9. 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)puedeser una variedad de diferentes tipos de información como números de nodo de un disco o incluso la dirección. El Modelo Relacional El modelo relacional es el más populartipo de base de datos y una herramienta extremadamente potente,no sólo para almacenar información, también para acceder a ella. Las bases de datos relacionalesson organizadas en forma de tablas. La belleza de un cuadro es que la información se puedeacceder o añadir sin reorganizar las tablas. Una tabla puedetener muchos registros y cada registro puedetener muchos campos. Cuadros que a veces se llaman una relación. Por ejemplo, una empresa puedetener una base de datos denominadalos pedidos de los clientes, dentro de esta base de datos serán diferentes tablas o relacionesde todoslos relativos a los pedidos de los clientes.
  • 10. 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 puedeincluir un número de artículo, la descripción del artículo, cantidad de pago, la forma de pago, etc.). Cabe señalar que cada registro (grupo de campos) en una base de datos relacional tiene su propiaclave principal. Una clave principal es el único campo quelpo.
  • 11. Evolución de base de dato Década de 1950 En este lapso de tiempo se da origen a las cintas magnéticas, las cuales 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 Backup, 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 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.
  • 12. 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 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 Relational Model of Data for Large Shared Data Banks") en 1970, definió el modelo relacional y publicó una serie de reglas para la 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 Ellison 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.
  • 13. ya que no podían ser competitivas con las bases de datos jerárquicas y de red. Ésta tendencia cambio por un proyecto de IBM el cual desarrolló técnicas para la construcción de un sistema de bases de datos relacionales eficientes, llamado System 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 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.
  • 14. 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 estructuradoque analiza grandes cantidades de información el cual permite especificar diversos tipos de operaciones frente a la misma información, a diferencia de 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 semana las veinticuatro horas del día, sin interrupciones a menos que haya planificaciones de mantenimiento de las plataformas o el software.
  • 15. 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 Initiative – Protocol for Metadata Harvesting (OAI-PMH) los cuales permiten el almacenamiento de gran cantidad de artículos que permiten una mayor visibilidad y acceso en el ámbito científico y general.
  • 16. Formularios y componentes Formularios Es una pieza de papel que contiene datos y espacios en blanco para registrar información variable, el cual tendrá diferente utilización según el área funcional a la cual pertenezca. Puede considerarse también como un instrumento de trabajo cuyo objetivo es trasportar información para simplificar y facilitar el desarrollo de los procedimientos administrativos. En ellos se imprime información constante y que tiene una serie de espacios para asentar información variable. Es todo papel que contenga información, texto, epígrafes, impresos o en blanco para rellenarlos posteriormente.
  • 17. Gestión de base de datos Una base de dato puede mantenerse manualmente o ser informatizada (esta última es la que nos interesa) la base de datos informatizada es creada y mantenida por un conjunto de aplicaciones diseñada para esa tareas específicas o bien, se pueden gestionar empleando SGBD. Existen programas denominados sistemas gestores de bases de datos, abreviado SGBD, que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de estos SGBD, así como su utilización y administración, se estudian dentro del ámbito de la informática. Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas.
  • 18. También son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental. Se le pueden llamar formulario a un documento donde hay un conjunto de objetos y procedimientos que se utilizan como diseño de presentación al usuario. Partes del formulario Extremo superior o cabeza: Se utiliza para los datos iniciales del formulario, como identificación del organismo, título o denominación de la forma y otros. Representa la introducción respecto a la acción que se va a desarrollar en el cuerpo del formulario. Cuerpo del formulario: Contiene el mayor grupo de datos del formulario, que son los que generan la acción implícita los cuales se determinan, de acuerdo con la información que se
  • 19. desea obtener, mediante la utilización de la forma. Se analizan las decisiones acerca de los datos y la distribución siguiendo una secuencia lógica de colocación. Extremo inferior o pie: Contiene los datos de cierre o conclusión del formulario, firmas y sellos para aprobar o conformar la información registrada en el cuerpo del mismo, y también se asienta el código de registro.
  • 20. LOS COMPONENTES Los componentes de una base de datos de Access son: – Tablas – Consultas – Formularios – Informes Tablas 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).
  • 21. 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. 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.
  • 22. 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, escribir y editar datos en las tablas.
  • 23. 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 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.
  • 24. 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 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.
  • 25. Tabla, registro y campos Tablas Las tablas son objetos de base de datos que contienen todos sus datos. En las tablas, los datos se organizan con arreglo a un formato de filas y columnas, similar al de una hoja de cálculo. Cada fila representa un registro único y cada columna un campo dentro del registro. Por ejemplo, en una tabla que contiene los datos de los empleados de una compañía puede haber una fila para cada empleado y distintas columnas en las que figuren detalles de los mismos, como el número de empleado, el nombre, la dirección, el puesto que ocupa y su número de teléfono particular.  El número de tablas de una base de datos se limita solo por el número de objetos admitidos en una base (2.147.483.647). Una tabla definida por el usuario estándar puede tener hasta 1.024 columnas. El número de filas de la tabla solo está limitado por la capacidad de almacenamiento del servidor.  Puede asignar propiedades a la tabla y a cada columna de la tabla para controlar los datos
  • 26. admitidos y otras propiedades. Por ejemplo, puede crear restricciones en una columna para no permitir valores nulos o para proporcionar un valor predeterminado si no se especifica un valor, o puede asignar una restricción de clave en la tabla que exige la unicidad o definir una relación entre las tablas.   Los datos de la tabla se pueden comprimir por filas o por página. La compresión de datos puede permitir que se almacenen más filas en una página. Para más información, consulte Data Compresión  . Tipos de tablas Además del rol estándar de las tablas básicas definidas por el usuario, SQL Server proporciona los siguientes tipos de tabla que permiten llevar a cabo objetivos especiales en una base de datos: Tablas con particiones Las tablas con particiones son tablas cuyos datos se han dividido horizontalmente entre unidades que pueden repartirse por más de un grupo de archivos de una base de datos. Las particiones facilitan la administración de índices y tablas grandes al permitir el acceso y la administración de subconjuntos de datos rápidamente y con eficacia, mientras se mantiene la integridad de la colección global. De forma predeterminada, SQL Server 2014 admite hasta 15.000 particiones. Para obtener más información, vea Particionad Tables and Indexes. Tablas temporales Tablas temporales se almacenan en tempdb. Hay dos tipos de tablas temporales: locales y globales. Se diferencian entre sí por los nombres, la visibilidad y la disponibilidad. Las tablas temporales locales tienen como primer carácter de sus nombres un solo signo de número (#); solo son visibles para el usuario de la conexión actual y se eliminan cuando el usuario se desconecta de la instancia de SQL Server. Las tablas temporales globales presentan dos signos de número (##) antes del nombre; son visibles para cualquier usuario después de su creación y se eliminan cuando todos los usuarios que hacen referencia a la tabla se desconectan de la instancia de SQL Server.
  • 27. Tablas del sistema SQL Server almacena los datos que definen la configuración del servidor y de todas sus tablas en un conjunto de tablas especial, conocido como tablas del sistema. Los usuarios no pueden consultar o actualizar directamente las tablas del sistema. La información de las tablas del sistema está disponible a través de las vistas del sistema. Para obtener más información, vea Vistas del sistema (Transact-SQL). Tablas anchas Las tablas anchas usan las columnas dispersas para aumentar hasta 30 000 el número total de columnas permitidas. Las columnas dispersas son columnas normales que disponen de un almacenamiento optimizado para los valores NULL. Este tipo de columnas reducen los requisitos de espacio de los valores NULL a costa de una mayor sobrecarga a la hora de recuperar valores no NULL. Una tabla ancha ha definido un conjunto de columnas, que es una representación XML sin tipo que combina todas las columnas dispersas de una tabla en una salida estructurada. El número de índices y estadísticas también se aumenta hasta 1.000 y 30.000, respectivamente. El tamaño máximo de una fila de una tabla ancha es de 8.019 bytes. Por consiguiente, la mayoría de los datos de cualquier fila deben ser NULL. El número máximo de columnas no dispersas más las columnas calculadas de una tabla ancha sigue siendo 1.024. Las tablas anchas tienen las siguientes implicaciones de rendimiento.  Las tablas anchas pueden aumentar el costo de mantenimiento de los índices de la tabla. Se recomienda que el número de índices de una tabla ancha se limite a los índices necesarios para la lógica de negocios. Si el número de índices aumenta, también lo harán el tiempo de compilación de DML y los requisitos de memoria. Los índices no clúster deben ser índices filtrados que se aplican a subconjuntos de datos. Para obtener más información, consulte Create Filtered Indexes.  Las aplicaciones pueden agregar y quitar columnas de las tablas anchas de forma
  • 28. dinámica. Cuando se agregan o se quitan columnas, también se invalidan los planes de consulta compilados. Se recomienda diseñar una aplicación que se corresponda con la carga de trabajo prevista para minimizar los cambios de esquema.  Cuando se agregan y se quitan datos de una tabla ancha, el rendimiento puede verse afectado. El diseño de las aplicaciones debe corresponderse con la carga de trabajo prevista para minimizar los cambios llevados a cabo en los datos de la tabla.  Limite la ejecución de instrucciones DML en una tabla ancha destinadas a actualizar varias filas de una clave de agrupación en clústeres. La compilación y la ejecución de estas instrucciones pueden requerir recursos de memoria considerables.  Las operaciones de cambio de partición en las tablas anchas pueden resultar lentas, y su procesamiento podría requerir grandes cantidades de memoria. Los requisitos de rendimiento y de memoria son proporcionales al número total de columnas existentes en las particiones de origen y de destino.  Los cursores de actualización que actualizan columnas concretas de una tabla ancha deben enumerar las columnas de manera explícita en la cláusula FOR UPDATE. Esto ayudará a optimizar el rendimiento mientras se usan cursores.
  • 29. Registro Registrar es la acción que se refiere a almacenar algo o a dejar constancia de ello en algúntipo de documento.Un dato, por su parte, es una información que posibilitael acceso a un conocimiento. La noción de registro de datos, por lo tanto, está vinculada a consignardeterminadas informaciones en un soporte. El registro de datos puede desarrollarse tanto en un papel como en formato digital.Por ejemplo: “Apenas llegué a la oficina, un empleadoadministrativo me pidió mis documentosy procedió al registro de datos en una planilla”, “Gracias a esta nueva herramienta tecnológica que acabamos de incorporar, el registro de datos será mucho más veloz”, “Tenemos problemascon el registro de datos ya que el sistema no está funcionando bien: le pido disculpas por las molestias”. La policía de todo el mundo encuentra precisamente en los registros de datos una de sus herramientas más útiles y eficaces de trabajo. Y es que los mismos le permiten tener acceso inmediato a la identidad de personas sobre las que desee conocer algún tipo de informaciónconcreto.
  • 30. Exactamentelas autoridades cuentancon registros dondetienen almacenados numerosos aspectos de la ciudadanía tales nombres y apellidos,domicilio,edad, sexo,estado civil, nombre de los padres, fecha y lugar de nacimiento, fotografías,huellas digitales,trabajo… Todo eso y mucho más sin olvidartampoco las infracciones que haya podido cometer e incluso la ficha policial, en el caso de que la poseanpor haber realizado algúndelito. En el ámbito de la informática, se conoce como registro de datos al bloque con información que forma parte de una tabla. Esto quiere decir que, en una base de datos, el registro de datos es una fila. Esta fila o registro supone un conjunto de datos que mantienen una cierta vinculación entre sí. La totalidadde las filas de una tabla respeta una estructura idéntica, una característica que permite trabajar y hacer cálculos con la información. La tabla, en definitiva,constituyela base de datos.
  • 31. Para poder llevar a cabo el citado registro, se hace necesario recurrir al uso de la tecnología que existe y que facilita no sólo el llevarlo al día y poder consultarlocuando sea imprescindiblesino también poder ir rellenando nuevas filas y columnas.Existendiversos programas específicos para ello, no obstante, uno de los más utilizadosen todo el mundo es Microsoft Excel. Se conoce como registro de datos biométricos, por otra parte, a la recopilaciónde información vinculada a la biometría de una persona. Se trata de datos que contribuyen a la identificación del sujeto en cuestión: una huella digital, una fotografía,etc. Además de todo lo expuesto,no podemos olvidarnosque en España existe lo que se conoce como Registro General de Protección de Datos, que dependede lo que es la Agencia Española de Protección de Datos. Su funciónno es otra que velar por la publicidad de los ficheros y del tratamiento que se le dan a los datos personales que existen en aquella.
  • 32. Campo Podemos agregarmuchos tipos de campos que formarán parte de nuestrabasede datos. Cada campo admite distintos tipos de datos, con diferentes interfaces. Después de crear los campos deseadospodemos añadirinformaciónen la base de datos. Un campo es el nombre de la unidad de información.Cada entrada en 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 escogerde un listado de poblaciones posibles. La combinaciónde campos diversos nos permitirá recabar toda la información que consideremos relevantesobre los ítems que constituyen la base de datos.
  • 33. CONTENIDO [ocultar]  1 Nombrey descripcióndel campo  2 Tipos de campos  2.1 Caja de selección  2.2 Fecha  2.3 Archivo  2.4 Menú  2.5 Menú (selecciónmúltiple)  2.6 Número  2.7 Dibujo  2.8 Botones de radio  2.9 Texto  2.10 Área de texto  2.11 URL Nombre y descripción del campo Todos los campos necesitan un nombrey una descripción cuando se crean.
  • 34. 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 seleccionaruna o más de las opciones y al visualizarla entrada aparecerá en el campo correspondienteel texto de la o las opción/es seleccionada/s(en el caso de que se haya seleccionadomás de una opción aparecerán la una bajo la otra, no en la misma línea). Los Botones de radio se pueden utilizar si se desea que el usuario, al editar la entrada, seleccionetan sólo una de las opciones. Las cajas de selección múltiplese 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 seleccionarcombinacionesde géneros, por ejemplo horror-comedia o comedia- del oeste. El campo Menú (selecciónmú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 seleccionaruna opción).
  • 35. Fecha Permite que los usuarios entren una fecha seleccionandoen un listado desplegableel día, mes y año correspondientes. Archivo Permite que los usuarios subanun fichero desdesu ordenador.Si se trata de un fichero de imagen sería mejor opción seleccionarel campo dibujo. Menú Es parecido a la caja de selección pero el texto escrito en el área opcionesse presentará como un listado desplegablea 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 seleccionemás de una opción al editar la entrada manteniendo apretadas las teclas de 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.
  • 36. Número Pide a los usuarios que escriban un número. El número debe ser entero, aunquepuede ser negativo (por ejemplo: -2,-1,0,1,2,3,...). Si se escriben caracteres no numéricos éstos y los que le siguenno apareceráno, 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 desdesu ordenador. Botones de radio Permite al usuario escogeruna de diversas opciones. Además,tan sólo podrá guardarla entrada cuando haya realizado la selección. Si sólo hay dos opciones opuestas (por ejemplo, verdadero/falso,sí/no),se puede utilizaruna caja de selección múltiple, aunquede esta manera se podrán guardarentradas,aunqueel usuario no haya seleccionadoninguna de las opciones. Texto Los usuarios puedenescribir hasta 60 caracteres de texto. El campo área de texto se puede utilizar
  • 37. para textos más largos o que requieranalgún tipo de formato. Área de texto Permite a los usuariosescribir un texto largo y añadirleformato de manera similara cuando se escribe un mensajea un foro. Puede especificar el ancho en columnasy 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 resultarinteresante 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 podremos acceder a la URL que hayamos escrito.
  • 38. Tipos de tabla en MySQL 1.ISAM. - es el formato de almacenaje más 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, cambialas 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, 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.
  • 39. 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, rollback, recuperación de errores y bloqueo a nivel de fila. 6.MERGE más 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 ellas con mayor rapidez. Las tablas deben ser myisam 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 ‘Transactions safe tables’, o tablas para transacciones seguras. A este tipo pertenecen DBD y INNODB.
  • 40. Las tablas tipo TST son menos rápidas y ocupan más 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) 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 compliant 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, Consistency, Isolation and Durability: Atomicidad, Consistencia, Aislamiento y Durabilidad en español.
  • 41. Historia y Evolución de MySQL, server y postrer Orígenes 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.
  • 42. Fig. 8.1. Michael Widenius 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, las versiones estables o de producción son las
  • 43. 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 plasmarán dichas características en posteriores versiones estables.
  • 44. 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 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
  • 45. 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 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
  • 46. 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 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
  • 47. 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 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
  • 48. por el usuario), contando también con un amplio conjunto de enlaces con lenguajes de 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 operacional en 1987 y fue mostrado en la Conferencia ACM-SIGMOD de 1988. Lanzamos la Versión 1, descrita en
  • 49. 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. 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
  • 50. 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. 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
  • 51. 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 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 sus 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 la cláusula GROUP BY. La interfaz libpqpermaneció disponible para programas escritos en C.
  • 52.  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 Inversión fueron el único mecanismo para almacenar objetos grandes (el sistema de archivos de Inversión fue eliminado).  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.
  • 53.  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 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.
  • 54. Las principales mejoras en PostgreSQL incluyen:  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 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.
  • 55.  Los tipos internos han sido mejorados, incluyendo nuevos tipos de fecha/hora de rango amplio y 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 identidad de relación Este modelo se obtieneen tiempo de diseño de la base de datos. Fue propuestopor Peter Chen en 1976 y desde entoncesse viene utilizando de una forma muy global. Se caracteriza por utilizar una serie de símbolos y reglas para representarlos datos y sus relaciones. Con este modelo conseguimos representarde manera gráfica la estructuralógica de una base de datos. Los principaleselementos del modelo entidad-relación son las entidadescon sus atributosy las relaciones entre entidades.
  • 56. Elementosdel 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, dondese recogerían los datos relativos a ese banco, como puedeser el nombre, el número de sucursal, la dirección, etc. Dentro de las entidadespueden ser fuertes o débiles. Las fuertes son las que no dependende otras entidades para existir, mientras que las entidadesdébiles siempre dependende 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 poderdistinguirla 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 grado 2 son relaciones que asocian dos entidades distintas, y las de grado n que se tratan de relaciones que unen más de dos entidades. Las relaciones se representas gráficamente con rombos,
  • 57. dentro de ellas se colocael nombre de la relación. Otra característica es el tipo de correspondenciaentre dos relaciones;  1:1. Uno a uno, a cada ocurrenciade una entidad le correspondecomo máximo una ocurrencia de la otra entidad relacionada.  1: N. Uno a Mucho, a cada ocurrenciade la entidad A le pueden correspondervarias de la entidad B.  N: M. Muchos a muchos, cada ocurrencia de una entidad puede contenervarias de la otra entidad relacionaday viceversa. Para finalizar las características de la relación tenemos la cardinalidad que define el número máximo y mínimo de ocurrenciasde cada tipo de entidad. Se representa con los valores máximo coma mínimo encerradosentre paréntesis encima de la relación. (máximo, mínimo) Atributo Se define como cada una de las propiedadesde una entidad o relación. Cada atributo tiene un nombre y todoslos 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 sería un esquema del
  • 58. modelo entidad-relación. Modelo racional El Modelo Entidad-Relación, también conocido como DER (diagramas entidad-relación) es una herramienta de modelado para bases de datos, propuesto por Peter Chen en 1976, mediante el cual se pretende ‘visualizar’ los objetos que pertenecen a la Base de Datos como entidades (se corresponde al concepto de clase, cada tupla representaría un objeto, de la Programación Orientada a Objetos) las cuales tienen unos atributos y se vinculan mediante relaciones. Es una representación conceptual de la información. Mediante una serie de procedimientos se puede pasar
  • 59. del modelo E-R a otros, como por ejemplo el modelo relacional. El modelado entidad-relación es una técnica para el modelado de datos utilizando diagramas entidad relación.No es la única técnica pero sí la más utilizada. Brevemente consiste en los siguientes pasos: 7.Se parte de una descripción textual del problema o sistema de información a automatizar (los requisitos). 8.Se hace una lista de los sustantivos y verbos que aparecen. 9.Los sustantivos son posibles entidades o atributos. 10. Los verbos son posibles relaciones. 11. Analizando las frases se determina la cardinalidad de las relaciones y otros detalles. 12. Se elabora el diagrama (o diagramas) entidad- relación. 13. Se completa el modelo con listas de atributos y una descripción de otras restricciones que no se pueden reflejar en el diagrama. Dado lo rudimentario de esta técnica se necesita cierto entrenamiento y experiencia para lograr buenos modelos de datos.
  • 60. El modelado de datos no acaba con el uso de esta técnica. Son necesarias otras técnicas para lograr un modelo directamente implementable en una base de datos. Brevemente:  Transformación de relaciones múltiples en binarias.  Normalización de una base de datos de relaciones (algunas relaciones pueden transformarse en atributos y viceversa).  Conversión en tablas (en caso de utilizar una base de datos relacional).
  • 61. Las consultas 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 sumar los números de teléfono, por ejemplo).
  • 62. 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 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.
  • 63. 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 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
  • 64. grande (que está vacía) llena de filas (campo, tabla, orden, mostrar, criterios, o). 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 solo el nombre y los
  • 65. apellidos, no aparecen los otros dos campos porque no han sido añadidos. La indexación 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
  • 66. 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 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.
  • 67. • 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. • 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.
  • 68. • Con los registros siempre ordenados se utilizarán algoritmos mucho más eficientes que el simple recorrido secuencial en las consultas. El uso de índices también comporta alguna desventaja: • Los índices ocupan espacio en disco. • Aun 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 del contenido de la cláusula share, las tres tablas se deben de combinar para hacer posible posteriormente el filtrado según las condiciones dadas:
  • 69. 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 millones de registros. Misal haría el producto 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. 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
  • 70. 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.
  • 71. Base de datos distribuidas Una Base de Datos Distribuida (BDD) es, una base de datos construida sobre una red de computadores. La información que estructura la base de datos esta almacenada en diferentes sitios en la red, y los diferentes sistemas de información que las utilizan accesan datos en distintas posiciones geográficas.
  • 72. Por ende, una Base de Datos Distribuida es una colección de datos que pertenecen lógicamente a un solo sistema, pero se encuentra físicamente distribuido en varios computadores o servidores de datos en una red de computadoras. Un sistema de bases de datos distribuidas se compone de un conjunto de sitios lógicos, conectados entre sí, mediante algún tipo de red de comunicaciones, en el cual:  Cada sitio lógico puede tener un sistemade base de datos.  Los sitios han sido diseñados para trabajar en conjunto, con el fin de que un usuario de cualquier posición geográfica pueda obtener acceso a los datos desde cualquier punto de la red tal como si todos los datos estuvieran almacenados en la posición propia del usuario. Entonces, la llamada "Base de Datos Distribuida" es en realidad una especie de “objeto virtual”, cuyos componentes se almacenan físicamente en varias “bases de datos reales” ubicadas en diferentes sitios. En esencia es la unión lógica de esas diferentes bases de datos. En otras palabras, cada sitio tiene sus propias “bases de datos reales" locales, sus propios usuarios locales, sus
  • 73. propios SGBD y programas para la administración de transacciones y su propio administrador de comunicación de datos. Asípues, el sistemade bases de datos distribuidas puede considerarse como una especie de sociedad entre los diferentes SGBD individuales locales. Un nuevo componente de software en cada sitio realiza las funciones de sociedad necesarias; y es la combinación de este nuevo componente y el SGBD ya existente constituyen el llamado Sistema de Administración o Gestión de Bases de Datos Distribuidas - SGBDD. (En inglés DDBMS, Distributed Data Base Management System). Desde el punto de vista del usuario final, un sistema distribuido deberá ser idéntico a un sistema no distribuido. Los usuarios de un sistema distribuido se comportan en su manipulación de información exactamente como si el sistema no estuviera distribuido. Todos los problemas de los sistemas distribuidos son de tipo interno o a nivel de realización, no pueden existir problemas de tipo externo o a nivel del usuario final. Los datos que se encuentran distribuidos en varios sitios y que están interconectados por una red de comunicaciones tienen capacidad de procesamiento autónomo de transacciones y hacer procesos locales. Cada sitio realiza la ejecución de al menos una transacción global, la cual requiere accesos a datos en diversos sitios. Los principios fundamentales de un sistema de datos distribuido son: 1. Autonomía local. 2. No dependencia de un sitio central. 3. Operación continúa. 4. Independencia con respecto a la localización. 5. Independencia con respecto a la fragmentación. 6. Independencia de réplica. 7. Procesamiento distribuido de consultas. 8. Manejo distribuido de transacciones. 9. Independencia con respecto al equipo. 10. Independencia con respecto al sistema operativo.
  • 74. 11. Independencia con respecto a la red. 12. Independencia con respecto al SGBD. Estos doce postulados no son todas independientes entre sí, ni tienen toda la misma importancia que cada usuario le otorgue. Sin embargo, sí son útiles como fundamento para entender la tecnología distribuida y como marco de referencia para caracterizar la funcionalidad de sistemas distribuidos específicos. 1. Autonomía local: Los sitios o posiciones de un sistema distribuido deben ser autónomos. La autonomía local significa que todas las operaciones en un sitio determinado se controlan en ese sitio; ningún sitio A deberá depender de algún otro sitio B para su buen funcionamiento (pues de otra manera el sitio A podría ser incapaz de trabajar, aunque no tenga en sí problema alguno, si cae el sitio B). La autonomíalocal significa que existe un propietario y un administrador local de los datos, con responsabilidad local: todos los datos pertenecen a una base de datos local, aunque los datos sean accesibles desde algún sitio distante. Todo el manejo de la seguridad y la integridad de los datos se efectúan con control de la instalación y administración local. 2. No dependencia de un sitio central: La no dependencia de un sitio central, sería lo ideal, pero si esto no se logra la autonomía local completa se vería comprometida. La dependencia de un sitio central no es práctica al menos por las siguientes razones: en primer lugar, estos sitios podrían generar un cuello de botella, y, en segundo lugar, el sistema sería vulnerable; si el sitio central sufriera un desperfecto, todo el sistema dejaría de funcionar. 3. Operación continúa: En un sistema distribuido, lo mismo que en uno no distribuido, nunca debería haber necesidad de apagar o dejar de funcionar. Es decir, el sistema nunca debería necesitar apagarse para que se pueda realizar alguna operación, como añadirse un nuevo sitio o instalar una versión mejorada del SGBD en un sitio ya existente. 4. Independencia con respecto a la localización: La independencia con respecto a la localización, permite que los usuarios finales no sepan dónde están almacenados físicamente los datos, sino que trabajen como si todos los datos estuvieran almacenados en su propio sitio local. La independencia con respecto a la localización es deseable porque simplifica los sistemas de información de los usuarios y sus actividades en la
  • 75. terminal. Esto hace posible la migración de datos de un sitio a otro sin anular la validez de ninguno de esos sistemas o actividades. Esta función de migración permite modificar la distribución de los datos dentro de la red, en respuesta a cambios en los requerimientos de desempeño. 5. Independencia con respecto a la fragmentación: Un sistema tiene fragmentación de datos solo si es posible dividir una relación en partes o "fragmentos" para propósitos de almacenamiento físico. La fragmentación es deseable por razones de desempeño: los datos pueden almacenarse en la localidad donde se utilizan con mayorfrecuencia, de manera que la mayor parte de las operaciones sean solo locales y se reduzca el tráfico en la red de cómputo. Existen en esencia dos clases de fragmentación, la fragmentación horizontal y la fragmentación vertical; estos tipos de fragmentación son correspondientes a las operaciones relacionales de restricción y proyección, respectivamente. Un fragmento puede ser cualquier sub relación que pueda derivarse de la relación original mediante operaciones de restricción y proyección; la reconstrucción de la relación originada a partir de los fragmentos se hace mediante operaciones de reunión y unión (reunión en el caso de fragmentación vertical, y la unión en casos de fragmentación horizontal). 6. Independencia de réplica: Un sistema maneja réplica de datos si una relación dada se puede representar en el nivel físico mediantevarias copias réplicas, en muchos sitios distintos. La réplica es deseable al menos por dos razones: en primer lugar, puede producir un mejor desempeño (las aplicaciones pueden operar sobre copias locales en vez de tener que comunicarse con sitios remotos); en segundo lugar, también puede significar una mejor disponibilidad (un objeto estará disponible para su procesamiento en tanto esté disponible por lo menos una copia, al menos para propósitos de recuperación). La desventaja principal de las réplicas es cuando se pone al día un cierto objeto copiado, deben ponerse al día todas las réplicas de ese objeto. La réplica debe ser "transparentepara el usuario final", un sistema que maneja la réplica de los datos deberá ofrecer también una independencia de réplica (conocida también como transparencia de réplica); es decir, los usuarios deberán comportarse como si sólo existiera una copia de los datos.
  • 76. 7. Procesamiento distribuido de consultas: Este manejo de datos en las consultas permite las consultas eficientes desde diferentes usuarios con las características que determine el sistema;la consulta de datos es más importante en un sistema distribuido que en uno centralizado. Lo esencial es que, en una consulta donde están implicados varios sitios, habrá muchas maneras de trasladar los datos en la red de cómputo para satisfacer la solicitud, y es crucial encontrar una estrategia suficiente. Por ejemplo, una solicitud de unión de una relación Rx almacenada en el sitio X y una relación Ry almacenada en el sitio Y podría llevarse a cabo trasladando Rx a Y o trasladando Ry a X, o trasladando las dos a un tercer sitio Z. 8. Manejo distribuido de transacciones: Este manejo tiene dos aspectos principales, el control de recuperación y el control de concurrencia, cada uno de los cuales requiere un tratamiento más amplio en el ambiente distribuido. En un sistema distribuido, una sola transacción puede implicar la ejecución de programas o procesos en varios sitios (en particular puede implicar actualizaciones en varios sitios). Por esto, cada transacción está compuesta de varios agentes, donde un agente es el proceso ejecutado en nombre de una transacción dada en determinado sitio. Y el sistema necesita saber cuándo dos agentes son parte de la misma transacción. Es importante aclarar que no puede haber un bloqueo mutuo entre dos agentes que sean parte de la misma transacción. 9. Independencia con respecto al equipo: Las instalaciones de cómputo en el mundo real por lo regular incluyen varias máquinas de diferentes marcas comerciales como IBM, DELL, HP, SUN, entre otras; por esta razón existe una verdadera necesidad de poder integrar los datos en todos esos sistemas y presentar al usuario "una sola imagen del sistema". Por tanto, conviene ejecutar el mismo SGBD en diferentes equipos, y además lograr que esos diferentes equipos se integren en un sistema distribuido. 10. Independencia con respecto al sistemaoperativo: Es necesario y conveniente no sólo de poder ejecutar el mismoSGBD en diferentes equipos, sino también poder ejecutarlo en diferentes sistemas operativos y lograr que una versión LINUX y una WINDOWS participen todas en el mismo sistema distribuido. 11. Independencia con respecto a la red: Si el sistema puede manejar múltiples sitios, con equipos distintos y diferentes sistemas operativos, resulta obvia la
  • 77. conveniencia de manejar también varios tipos de redes de comunicación distintas. 12. Independencia con respecto al SGBD: En la independencia con respecto a su manejo, se requiere que los SGBD en los diferentes sitios manejen toda la misma interfaz; no necesitan ser por fuerza copias del mismo sistema. 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.
  • 78. 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 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:
  • 79. 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. 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 recupere o repare esta 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
  • 80. línea aérea no puede tener acceso a la información, es posible que pierda clientes a favor de la competencia. 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:
  • 81. 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.  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.
  • 82.
  • 83. Base de datos NOSQL Cuando pensamos en bases de datos relacionalesa nuestra mente suelen acudir los mismos nombres. En la parte comercial tenemos Oracle y Microsoft SQL Server. Del lado del software libre, tenemos opciones como Postgre SQL o MySQL. Aunquecada una tiene sus peculiaridades, para un desarrolladorno es difícil elegir entre un sistema y otro. Al final todo son tablas, columnas, claves primarias, y sobre todo, consultas SQL. La decisión de cuál elegir, se basará en sus características y precio. Si hablamos de bases de datos NoSQL, la cosa se complica. A día de hoy existen unos 150 sistemas de bases de datos NoSQL. Elegir uno de ellos puedeser muy difícil, ya que ninguno ha obtenido todavía la fama que sí han conseguido las bases de datos relacionales. Pero el problema principal que encontramos, es que, aunquetodas se denominan NoSQL, en realidad hay diferentes tipos. Dependiendode lo que necesitemos, deberemos decantarnospor una u otra. Aunquehay varias aproximaciones diferentes para clasificar las bases de datos NoSQL (Teorema CAP, basándonosen el modelo de datos etc.), en general se considera que existen cuatro tipos diferentes: orientadas a documentos, orientadasa columnas, de clave-valor y en grafo.
  • 84. Así que veamos en qué consisten estos sistemas, para que podamos elegir la opciónque mejor se adapte a nuestras necesidades. 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 valué store, de gráficos, de objetos, de XML y otros modos de almacén de datos.
  • 85.  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 carga por todos los nodos. En lugar de realizarse una escala vertical, más típica en los sistemas de bases de datos relacionales.
  • 86. 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.  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.
  • 87.  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.
  • 88. Conclusión La base de datos nos enseña muchas cosas como crear una tabla, formulario, a identificar los campos etc. Este libro nos enseña muchas cosas del desarrollamiento de base de datos y muchas cosas más.
  • 89. Bibliografía Nació el día 4 de diciembre del año 2002 En Santo Domingo Republica Dominicana Nació en villa mella y estudia en la escuela cristo obrero Alos 12 años entro a la escuela cristo obrero desde séptimo hasta segundo de bachiller Luego en técnico de informática.