Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CARRIÓN
FACULTAD DE INGENIERÍA
ESCUELA DE FORMACIÓN PROFESIONAL SISTEMAS Y COMPUTACIÓN
TEMA
DISEÑO FÍSICO DE BASE DATOS
ASIGNATURA:
SISTEMA DE BASES II
DOCENTE:
Ing. MUÑOZ ROBLES, Williams Antonio
ALUMNO:
COCHACHI ATENCIO, Ángel.
CRUZ MATÍAS Eduardo Jesús
GAMARRA BARRERA, Médaly
LUCAS DE LA CRUZ, Nicol
ROJAS OSORIO, Hitler
VEGA LOVATON, Kenyi
Hoy en día las empresas manejan una gran cantidad de datos. Cualquier empresa que se
precie debe tener almacenados todos estos datos en una base de datos para poder
realizarlos mediante una aplicación profesional; sin esta funcionalidad resultaría
imposible tratar y manejar en su totalidad los datos que lleva a cabo la empresa y se
perdería un tiempo y un dinero muy valiosos. Uno de los pasos cruciales en la
construcción de una aplicación que maneje una base de datos, es sin duda, el diseño de la
base de datos. Si las tablas no son definidas apropiadamente, podemos tener muchos
dolores de cabeza al momento de ejecutar consultas a la base de datos para tratar de
obtener algún tipo de información.
No importa si nuestra base de datos tiene sólo 20 registros, o algunos cuantos miles, es
importante asegurarnos que nuestra base de datos está correctamente diseñada para que
tenga eficiencia y que se pueda seguir utilizando por largo del tiempo. En este artículo,
se mencionarán algunos principios básicos del diseño de base de datos y se tratarán
algunas reglas que se deben seguir cuando se crean bases de datos.
Dependiendo de los requerimientos de la base de datos, el diseño puede ser algo complejo,
pero con algunas reglas simples que tengamos en la cabeza será mucho más fácil crear
una base de datos perfecta para nuestro siguiente proyecto.
INTRODUCCIÓN
Hoy en día para poder optimizar el rendimiento, integridad y evitar las repeticiones
innecesarias de varios situaciones ya sea en el ámbito laboral o en el campo de la
informática, es por ello que hoy empleamos muchos procesos que nos ayuden a alcanzar
nuestro objetivo, uno de estos son el diseño físico de la base de datos, este es necesario
para poder poner en práctica un diseño lógico lo cual es fundamental a la hora de modelar
nuestros conjuntos de datos y definir las operaciones que queremos realizar sobre ellos.
Los datos son el activo más importante de nuestra organización y una base de datos bien
diseñada influye de forma directa en la eficiencia que obtendremos a la hora de almacenar,
recuperar y analizar nuestros datos, ya que gracias a ello nos permitirá nos permitirá
ahorrar espacio, mediante el diseño de base de datos optimizadas. Asimismo, nos ayudará
a que se preserve la precisión e integridad de los datos y que no se pierda información y
agilizara de forma extrema el acceso y el procesamiento de los datos.
DISEÑO FÍSICO DE UNA BASE DE DATOS
En principio, sabemos que Una base de datos es una colección organizada de información
estructurada, o datos, típicamente almacenados electrónicamente en un sistema de
computadora. Una base de datos es usualmente controlada por un sistema de gestión de
base de datos (DBMS). En conjunto, los datos y el DBMS, junto con las aplicaciones que
están asociados con ellos, se conocen como un sistema de base de datos, que a menudo
se reducen a solo base de datos.
Según el resumen realizado por Guillermo de Jesús Saldivar Varga con una ayuda del
libro “INTRODUCCIÓN A LAS BASES DE DATOS: Thomson Praninfo, S.A. 2005”
hay muchas consideraciones a tomar en cuenta al momento de hacer el diseño de la base
de datos, quizá las más fuertes sean:
• La velocidad de acceso,
• El tamaño de la información,
• El tipo de la información,
• Facilidad de acceso a la información,
• Facilidad para extraer la información requerida,
• El comportamiento del manejador de bases de datos con cada tipo de información.
Entre las metas más importantes que se persiguen al diseñar un modelo de bases de datos:
1. ALMACENAR SOLO LA INFORMACIÓN NECESARIA.
A menudo pensamos en todo lo que quisiéramos que estuviera almacenado en una base
de datos y diseñamos la base de datos para guardar dichos datos. Debemos de ser
realistas acerca de nuestras necesidades y decidir qué información es realmente
necesaria.
Frecuentemente podemos generar algunos datos sobre la marcha sin tener que
almacenarlos en una tabla de una base de datos. En estos casos también tiene sentido
hacer esto desde el punto de vista del desarrollo de la aplicación.
Una de las formas más fáciles de entender esto es pensar en nuestras tablas como hojas
de cálculo. Por ejemplo, si quisiéramos seguir la pista de nuestra colección de CD’s en
una hoja de cálculo, podríamos diseñar algo parecido a lo que se muestra en la
siguiente tabla.
El objetivo principal del diseño de bases de datos es generar tablas que modelan los
registros en los que guardaremos nuestra información.
Es importante que esta información se almacene sin redundancia para que se pueda
tener una recuperación rápida y eficiente de los datos.
Una vez identificadas todas las tablas y columnas que necesita la base de datos,
debemos determinar el tipo de dato de cada campo. Existen tres categorías principales
que pueden aplicarse prácticamente a cualquier aplicación de bases de datos:
• Texto
• Números
• Fecha y hora
Cada uno de éstos presenta sus propias variantes, por lo que la elección del tipo de
dato correcto no sólo influye en el tipo de información que se puede almacenar en cada
campo, sino que afecta al rendimiento global de la base de datos.
Los índices son un sistema especial que utilizan las bases de datos para mejorar su
rendimiento global. Dado que los índices hacen que las consultas se ejecuten más
rápido, podemos estar incitados a indexar todas las columnas de nuestras tablas.
Sin embargo, lo que tenemos que saber es que el usar índices tiene un precio. Cada
vez que hacemos un INSERT, UPDATE, REPLACE, o DELETE sobre una tabla,
MySQL tiene que actualizar cualquier índice en la tabla para reflejar los cambios en
los datos.
Así que antes de indexar una columna, debemos considerar que porcentaje de
entradas en la tabla son duplicadas. Si el porcentaje es demasiado alto, seguramente
no veremos alguna mejora con el uso de un índice. Ante la duda, no tenemos otra
alternativa que probar.
Existen ocasiones en las que deseamos insertar un registro a menos de que éste ya se
encuentre en la tabla. Si el registro ya existe, lo que quisiéramos hacer es una
actualización de los datos.
Cuando estamos trabajando con tablas muy grandes, suele suceder que
ocasionalmente necesitemos ejecutar algunas consultas sobre un pequeño
subconjunto de una gran cantidad de datos. En vez de ejecutar estas consultas sobre
la tabla completa y hacer que MySQL encuentre cada vez los pocos registros que
necesitamos, puede ser mucho más rápido seleccionar dichos registros en una tabla
temporal y entonces ejecutar nuestras consultas sobre esta tabla.
Una tabla temporal existe mientras dure la conexión a MySQL. Cuando se interrumpe
la conexión MySQL remueve automáticamente la tabla y libera el espacio que ésta
usaba.
Bajo la percepción de los investigadores Jordi Conesa Caralt y Elena Rodríguez González
para el diseño físico de una Base de Datos afirman:
“Podemos definir el diseño físico de una base de datos como un proceso que, a partir de
su diseño lógico y de información sobre su uso esperado, creará una configuración física
de la base de datos adaptada al entorno donde se alojará y que permita el
almacenamiento y la explotación de los datos de la base de datos con un rendimiento
adecuado.” (Canesa Caralt & Rodriguez Gonzales, pág. 7)
A. Entradas: el diseño físico parte de la siguiente información.
• Esquema lógico.
• Información sobre el uso esperado de base de datos.
B. Salida: se tomará un conjunto de decisiones sobre las estructuras físicas mas
adecuadas a utilizar, generando una configuración física de la base de datos.
C. Adaptado al entorno: el diseño físico puede verse influido por el SGBD donde
se implemente la base de datos, los dispositivos de almacenamiento no volátil
donde se guarden los datos de la base de datos. Y el entorno hardware donde se
aloje el SGBD.
• SGBD: elementos a tener en cuenta:
✓ soporte ofrecido a la integridad referencial.
✓ tipos de índices disponibles.
✓ tipos de datos disponibles.
✓ tipos de restricciones de integridad disponibles.
✓ parámetros de configuración que puedan afectar al rendimiento.
✓ construcciones SQL disponibles de soporte al diseño físico.
✓ particularidades del SGBD utilizado en relaciones a la definición de
elementos relacionados con el diseño físico de la base de datos.
• Entorno de almacenamiento: el hardware disponible y sus capacidades
permitirán definir distintas configuraciones físicas para la mejorar el
rendimiento de la base de datos.
D. Que permita el almacenamiento y explotación de los datos con un
rendimiento adecuado: el objetivo del diseño fsico es obtener un buen
rendimiento de la base de datos en un entorno rea
“un espacio para tablas, es un componente del SGBD que indica donde se almacenaran
los datos de la base de datos y en que formato”
II. ÍNDICES
Los índices son estructuras de datos que permiten mejorar el tiempo de respuesta de las
consultas sobre los datos de una tabla
IV. PARTICIONES
Las particiones permiten distribuir los datos de una tabla en distintos espacios físicos. Un
buen diseño de las particiones permite reducir la carga de trabajo de los componentes
hardware del sistema. Adicionalmente, en el caso de que la base de datos esté distribuida,
el particionamiento permite acercar y adecuar los datos a las necesidades de los
suarios/aplicaciones, fomentando el paralelismo y disminuyendo el tráfico de datos a
través de la red de comunicaciones. También permite distribuir los datos en dispositivos
de almacenamiento más o menos rápidos según la importancia de los datos.
V. OTROS MÉTODOS
Las particiones permiten distribuir los datos de una tabla en distintos espacios físicos. Un
buen diseño de las particiones permite reducir la carga de trabajo de los componentes
hardware del sistema. Adicionalmente, en el caso de que la base de datos esté distribuida,
el particionamiento permite acercar y adecuar los datos a las necesidades de los
suarios/aplicaciones, fomentando el paralelismo y disminuyendo el tráfico de datos a
través de la red de comunicaciones. También permite distribuir los datos en dispositivos
de almacenamiento más o menos rápidos según la importancia de los datos.
Cada relación contiene tuplas, que se corresponden a las instancias de un concepto. Las
tuplas están compuestas por atributos, que son los que permiten representar las
características de los conceptos. Al implementar el modelo anterior en un SGBD
relacional, las relaciones se representan mediante tablas, que contienen distintas filas,
que corresponden a las tuplas de la relación. La siguiente tabla muestra un resumen de
esta nomenclatura y la relación entre términos.
• NIVEL FÍSICO
Las páginas son los elementos que finalmente contienen y almacenan los datos del nivel
lógico. Eso quiere decir que:
Hacer una buena gestión de las páginas de una base de datos puede ahorrar muchos
accesos de E/S innecesarios, incrementando enormemente el rendimiento. Las páginas
pueden clasificarse, principalmente, en páginas de datos y páginas de índice. Las
primeras contienen datos de tablas o vistas materializadas, mientras que las segundas
contienen datos sobre los índices. La extensión es una agrupación de páginas
consecutivas que el SO proporciona para almacenar datos.
• NIVEL VIRTUAL
Para los investigadores para fase de diseño físico hay que elegir un SGBD concreto.
Hay que estudiar los diferentes sistemas comerciales o libres que hay en el mercado y
seleccionar un SGBD donde se pueda implementar el sistema de información que se ha
ido gestando en las fases anteriores del proceso de diseño.
Los componentes físicos que forman cada SGBD son específicos. Los fabricantes
utilizan estrategias y tecnologías diferentes para maximizar el rendimiento de sus
sistemas gestores de bases de datos. En este nivel no existe ningún estándar y, por lo
tanto, habrá que adaptar el esquema lógico obtenido en el paso anterior, teniendo
presentes las características de cada sistema gestor.
El diseño físico es una fase del proceso de diseño de bases de datos que adapta el
esquema lógico obtenido en la fase anterior al SGBD concreto, que utilizará el sistema
de información.
El estudio de los niveles físico y virtual de las bases de datos permite ver aspectos como
las estructuras de almacenamiento y las rutas de acceso por los ficheros de la base de
datos. Cada SGBD ofrece diferentes opciones para organizar ficheros y rutas de acceso,
y es necesario que el diseñador conozca la implementación concreta.
Algunos criterios importantes que pueden ser útiles para elegir las opciones de diseño
físicas de la base de datos son los siguientes:
• Tiempo de respuesta. Es el tiempo que transcurre desde que se envía una
petición al SGBD hasta que éste devuelve los datos de la respuesta. Una parte
importante de este tiempo está bajo el control del SGBD y hace referencia al tiempo de
acceso por parte del SGBD a los datos requeridos para generar la respuesta. Otros
aspectos no son controlados por el SGBD.
• Uso del espacio. Es la cantidad de espacio de disco utilizado por los ficheros de
la base de datos y las estructuras de rutas de acceso al disco, incluyendo índices y otras
rutas de acceso.
La transformación del modelo lógico de una base de datos en un modelo físico, según el
SGBD elegido para implementar el sistema de información. Cada SGBD ha
desarrollado un lenguaje propio, para implementar el diseño físico de la base de datos,
de acuerdo con las características del entorno, y para obtener el máximo rendimiento del
hardware, del sistema operativo y del propio gestor.
El estándar SQL incorpora la definición de todos los componentes del diseño lógico de
la base de datos. En cambio, no contiene ningún elemento del diseño físico.