jueves, 25 de agosto de 2011

SISTEMAS DE ARCHIVOS

Un sistema  de  archivos  es  un conjunto  de  programas  que  prestan  servicio  a los  usuarios finales, donde  cada programa define y maneja sus propios datos.

Los  sistemas  de  archivos surgen  de  la necesidad  de  reemplazar  el  manejo  de  los  archivos manuales  para obtener  acceso  a los  datos  con  mayor  rapidez.  Estos  sistemas  de  archivos presentaban  un modelo  descentralizado  para el manejo  de  sus datos,  lo que  representaba que cada núcleo de la organización donde  se manejaba el sistema  de archivos almacenaba  y gestionaba sus propios datos.
Los  sistemas   de  archivos  presentan   algunos  inconvenientes   que  se  atribuyen  a  que  la definición de los datos  se encuentra  codificada  dentro  de los programas  de aplicación, y no siendo  almacenada de forma independiente a las aplicaciones.  Además  no hay control sobre el acceso  y manipulación de  los  datos  diferente  al que  proporciona  la aplicación diseñada para el sistema de archivos.
Debido a los inconvenientes  que presentaban  los sistemas  de archivos surgieron las Bases deDatos y los Sistemas  de Gestión  de Base de Datos.

BASE DE DATOS

Una base  de  datos  es  un conjunto  de  datos  almacenados  entre  los  que  existen  relaciones lógicas   y  ha  sido  diseñada   para  satisfacer   los  requerimientos  de   información   de   una organización, almacenando  en ella su descripción.
En las bases  de datos  se almacenan grandes  cantidades  de datos,  que son definidos  una sola vez  y  que  pueden  ser  accesados   por  varios  usuarios  a  la  vez,  teniendo   todos   los  datos integrados  y creando  una dependencia  de datos  a la organización y no a los departamentos o  núcleos  de  la misma,  eliminando  la redundancia  de  datos  y estableciendo una mínima duplicidad de los datos.
Cada dato  de la base de datos  almacena una descripción  de los mismos que es denominada metadatos, la cual se almacena en el diccionario de datos o catálogo  y es lo que permite  que exista una independencia  de los datos  lógico-física.
Los sistemas de información separan la definición de la estructura de datos  de los programas de aplicación y almacenan esta definición en la base de datos,  lo que permite  que al añadir o modificar  estructura  de  datos,  los programas  de  aplicación no se ven afectados, ya que no dependen directamente de ello.

SISTEMA DE GESTIÓN DE BASE DE DATOS (SGBD) DATA BASE MANAGMENT SYSTEM (DBMS)

Los  sistemas  de  Gestión  de  Bases  de  Datos,  son  aplicaciones  que  permiten  a los  usuarios definir, crear y mantener  la base  de datos  y proporciona  un acceso  controlado  a la misma.
Los SGBD es la aplicación que interactúa con los usuarios de los programas de aplicación y la base de datos.
Algunos  de  los  SGBD más  conocidos  son:  SQL, DB2, SLQ/DS,  ORACLE, INGRES,  INFORMIX,
SYBASE, PARADOX, DBASE, ACCESS, FOXPRO, R, RM/T y RM/V2.

OBJETIVOS DE UN SGBD

 Definir la Base  de  Datos  mediante  el Lenguaje  de  Definición de  Datos,  el cual permite especificar  la estructura,  tipo  de datos  y las restricciones  sobre  los datos,  almacenándolo todo  en la base de datos.
 Separar  la descripción  y manipulación de  la data,  permitiendo  un mayor entendimiento de los objetos, además de flexibilidad de consulta y actualización de los datos.
 Permitir  la  inserción,   eliminación,   actualización,   consulta   de   los   datos   mediante   el Lenguaje  de  Manejo  de  Datos,  lo  que  permite  resolver  el  problema  que  presentan  los sistemas  de  archivos,  donde  hay  que  trabajar  con  un  conjunto  fijo  de  consultas  o  la necesidad  de tener muchos programas de aplicaciones. Existen dos tipos de programas de Manejo de Datos, los cuales se diferencian por la forma en que acceden  a los datos.
•         Lenguajes  procedurales:   manipulan la base  de  datos  registro  a registro  y se  deben especificar las operaciones a realizar para obtener  los datos  resultado.
•         Lenguajes  no procedurales:  manipulan la base  de datos  en conjuntos  de registros  y se especifican  qué  datos  deben   obtenerse  como   resultado   sin  plantear  las  forma  de hacerlo. El lenguaje no procedural más utilizado es SQL (Structure Query Languaje) que se ha convertido  en un estándar y el lenguaje por defecto de los SGBD relacionales.
 Proporcionar  acceso  controlado  a la base de datos.
• Seguridad:  los usuarios no autorizados no pueden acceder a la base de datos.
• Integridad: mantiene la integridad y consistencia de la base de datos.
• Control de Recurrencia: permite el acceso compartido  a la base de datos.
• Control  de  Recuperación:  restablece la base  de  datos  después  de  producirse  un fallode software o hardware.
• Diccionario de  datos  o  Catálogo:  contiene  la descripción  de  los  datos  de  la base  dedatos y es accesible  por el usuario.
 Gestionar la estructura física de los datos y su almacenamiento, proporcionando eficiencia en las operaciones de la base de datos y el acceso  al medio de almacenamiento.
 Proporcionar  un mecanismo  de vistas, que permita a cada usuario tener  su propia vista o visión de  la base  de  datos.  El lenguaje  de  definición  nos  permite  definir las vistas como subconjuntos  de la base de datos,  permitiendo:
• Proporcionar  un nivel  de  seguridad  excluyendo  datos  para  que  no  sean  vistos  por determinados usuarios.
•         Permiten que los usuarios vean los datos en el formato  deseado.
•         Una vista representa  una imagen  consistente y permanente  de  la base  de  datos,  aúncuando a la base de datos se le hagan cambios en sus estructura.
 Eliminar  la  redundancia  de  datos,   establecer  una  mínima  duplicidad  en  los  datos   y minimizar el espacio en disco utilizado.
 Proveer  interfaces  procedimentales y no  procedimentales, permitiendo  la manipulación por usuarios interactivos y programadores.
 Independizar la estructura de la organización lógica de los datos (Independencia  física).
 Independizar la descripción  lógica de la Base de datos  y las descripciones  particulares de los diferentes  puntos de vistas de los usuarios.
 Permitir una fácil administración de los datos.

ACTORES EN EL ENTORNO DE UNA BASE DE DATOS

•      Administrador  de la base  de datos:  se encarga del diseño  físico de la base  de datos  y de su implementación, realiza el control  de  la seguridad  y de  la concurrencia,  mantiene  el sistema  para que  siempre  se encuentre  operativo  y se encarga  de  que  los usuarios y las aplicaciones  obtengan buenas  prestaciones. El administrador  debe  conocer  muy bien  el SGBD  que   se   esté   utilizando,   así  como   el   equipo   informático   sobre   el  que   esté funcionando.
•          Diseñadores  de la base  de datos:  realizan el diseño  lógico  de la base de datos,  debiendo identificar  los  datos,  las relaciones  entre  datos  y las restricciones  sobre  los  datos  y sus relaciones.  El diseñador  de la base de datos  debe  tener  un profundo  conocimiento de los datos  de la empresa  y también debe  conocer  sus reglas de negocio.  Las reglas de negocio describen  las características principales de los datos tal y como  las ve la empresa.
El diseñador  de  la base  de  datos  debe  implicar en  el desarrollo  del  modelo  de  datos  a todos  los usuarios de la base de datos,  tan pronto como  sea posible.  El diseño lógico de la base   de   datos   es   independiente   del   SGBD   concreto    que   se   vaya   a   utilizar,  es independiente de  los  programas  de  aplicación,  de  los  lenguajes  de  programación  y de cualquier otra consideración  física.
•          Programadores de aplicaciones: se encargan de implementar  los programas de aplicación que  servirán a los  usuarios finales.  Estos  programas  de  aplicación  son  los  que  permiten consultar   datos,   insertarlos,   actualizarlos  y  eliminarlos.   Estos   programas   se  escriben mediante  lenguajes de tercera generación  o de cuarta generación.
•      Usuarios  finales:  consultan,  actualizan  y  generan  reportes   de  la  base  de  datos.  A  los usuarios finales también se les llama clientes de la base de datos.

VENTAJAS DE LOS SGBD

INTEGRACIÓN DE LOS DATOS
•      Control  sobre  la  redundancia  de  datos:  Los  sistemas  de  archivos  almacenan  variascopias de los mismos  datos  en archivos distintos.  Esto  hace que se desperdicie  espaciode  almacenamiento,  además   de  provocar  la  falta  de  consistencia   de  datos.   En  lossistemas  de  bases  de  datos  todos  estos  archivos  están  integrados,   por  lo  que  no  sealmacenan varias copias de los mismos datos.  Sin embargo,  en una base de datos no sepuede  eliminar la redundancia completamente, ya que en ocasiones  es necesaria  paramodelar   las   relaciones   entre   los   datos,    o   bien   es   necesaria   para   mejorar   lasprestaciones.
•          Consistencia  de  datos:  Eliminando o controlando  las redundancias de datos  se reduce en gran medida  el riesgo  de que haya inconsistencias.  Si un dato  está almacenado  una sola  vez, cualquier actualización se  debe  realizar sólo  una vez, y está  disponible  para todos  los usuarios inmediatamente. Si un dato  está  duplicado  y el sistema  conoce  esta redundancia, el propio  sistema  puede  encargarse  de garantizar que todas  las copias se mantienen  consistentes.  Desgraciadamente,  no  todos   los  SGBD  de  hoy  en  día  se encargan de mantener automáticamente la consistencia.
•          Más  información   sobre   la  misma   cantidad   de   datos:   Al  estar   todos   los  datos integrados,  se puede  extraer información adicional sobre los mismos.
•      Compartición  de  datos:  En  los  sistemas  de  archivos,  los  archivos  pertenecen  a  las personas  o  a  los  departamentos  que  los  utilizan. Pero  en  los  sistemas  de  bases  de datos,  la base  de datos  pertenece a la empresa  y puede  ser compartida  por todos  los usuarios que estén  autorizados.  Además,  las nuevas aplicaciones  que se vayan creando pueden utilizar los datos de la base de datos existente.
•          Mantenimiento   de  estándares:   Gracias  a  la  integración   es  más  fácil  respetar   los estándares  necesarios,  tanto  los establecidos a nivel de la empresa  como  los nacionales e internacionales.  Estos  estándares  pueden  establecerse sobre  el formato  de los datos para facilitar su intercambio,  pueden  ser estándares  de documentación, procedimientos de actualización y también reglas de acceso.
EXISTENCIA DE LOS SGBD
•         Mejora  en  la integridad  de  datos:  La integridad  de  la base  de  datos  se  refiere  a la validez y la consistencia  de los datos  almacenados. Normalmente, la integridad se expresa mediante  restricciones  o  reglas  que  no  se  pueden  violar. Estas  restricciones  se  pueden aplicar tanto  a los datos,  como  a sus relaciones,  y es el SGBD quien se debe encargar de mantenerlas.
•     Mejora   en  la  seguridad:  Los  SGBD  permiten   mantener   la  seguridad   mediante   el establecimiento  de  claves  para  identificar  al  personal  autorizado  a  utilizar la  base  de datos.  Las  autorizaciones  se  pueden  realizar a  nivel de  operaciones, de  modo  que  un usuario  puede  estar  autorizado  a  consultar  ciertos  datos  pero  no  a actualizarlos,  por ejemplo.
•        Mejora  en  la  accesibilidad   a  los  datos:  Muchos  SGBD  proporcionan   lenguajes  de consultas  o  generadores  de  informes  que  permiten  al usuario  hacer  cualquier  tipo  de consulta   sobre   los  datos,   sin  que   sea   necesario   que   un  programador   escriba   una aplicación que realice tal tarea.
•        Mejora  en  la productividad:  A nivel básico,  el SGBD proporciona  todas  las rutinas de manejo  de archivos típicas de los programas  de aplicación. El hecho de disponer  de estas funciones permite  al programador  centrarse  mejor en la función específica  requerida por los usuarios, sin tener que preocuparse  de los detalles  de implementación  de bajo nivel.
•        Mejora  en  el mantenimiento gracias  a la independencia  de  datos:  Los SGBD separan las  descripciones   de  los  datos   de  las  aplicaciones.   Esto  es  lo  que  se  conoce   como independencia    de  datos,   gracias   a  la  cual  se   simplifica   el   mantenimiento   de   las aplicaciones que acceden  a la base de datos.
•        Aumento  de la concurrencia: La mayoría de los SGBD gestionan  el acceso  concurrente a  la base  de  datos  y garantizan que  no  ocurran  problemas  en  el  acceso  de  múltiples usuarios.
•        Mejora  en  los  servicios  de  copias  de  seguridad  y  de  recuperación  ante  fallos:  Los SGBD actuales funcionan de modo  que se minimiza la cantidad de trabajo perdido cuando se produce un fallo.

INCONVENIENTES DE LOS SGBD

•      Complejidad:   Los  SGBD  son  conjuntos   de  programas  muy  complejos   con  una  gran funcionalidad.  Es preciso  comprender  muy bien  esta  funcionalidad  para poder  sacar un buen partido de ellos.
•      Tamaño:  Los  SGBD  son  programas  complejos  y muy  extensos  que  requieren  una gran cantidad de espacio en disco y de memoria para trabajar de forma eficiente.
•      Coste  económico del SGBD: El coste  de un SGBD varía dependiendo del entorno  y de la funcionalidad que ofrece.  Además,  hay que pagar una cuota anual de mantenimiento que suele ser un porcentaje  del precio del SGBD.
•          Costo  del equipamiento adicional: Tanto el SGBD, como  la propia base de datos,  pueden hacer que sea necesario  adquirir más espacio  de almacenamiento. Además,  para alcanzar las prestaciones  deseadas, es  posible  que  sea  necesario  adquirir una máquina  con  más prestaciones  o una máquina que se dedique  solamente al SGBD.
•      Costo  de  la conversión:  En algunas  ocasiones,  el costo  del  SGBD y el costo  del  equipo informático  que  sea  necesario  adquirir para  su  buen  funcionamiento,   es  insignificante comparado  al coste  de convertir la aplicación actual en un sistema de bases de datos.  Este coste  incluye el coste  de enseñar  a la plantilla a utilizar estos  sistemas  y, probablemente, el costo  del personal especializado  para ayudar a realizar la conversión y poner en marcha el sistema.
•          Prestaciones:  Los  SGBD  están  escritos  para  ser  más  generales   y  ser  útiles  en  muchas aplicaciones,  lo que  puede  hacer que  algunas de  ellas no sean  tan rápidas como  en los sistemas de archivos.
•      Vulnerable  a los fallos:  El hecho  de  que  todo  esté  centralizado  en el SGBD hace que  el sistema sea más vulnerable ante los fallos que puedan producirse.

ARQUITECTURA DE TRES NIVELES

Hay tres  características  importantes  inherentes  para el enfoque  de las bases  de datos;  estas son  : a) separación entre  los  programas  y los  datos  (independencia  entre  los  programas  y datos  ); b)  el  manejo  de  múltiples  vistas  de  usuario  y c)  el  empleo  de  un catálogo   para almacenar la descripción (esquema)  de la base de datos.
La  arquitectura   de   tres   niveles   es   un  método  de   gran   aceptación   para  explicar  el funcionamiento  de los sistemas  de bases  de datos   fue formalizado  en 1975 y mejorado  en1978 es  también  conocido   como  arquitectura  ANSI/SPARC  asi  llamada  por  la Standards “Planning  and  Requirements Committee of  the  American  National  Standards  Institute” en español el Comite de Standarización de Requerimientos y Planificación del Instituto Nacional de Standarización Americano.
Los tres niveles de la arquitectura son: Interno, Conceptual  y Externo.
1.  El  nivel  interno:   tiene   un  esquema   interno,   el  cual  describe   la  estructura   de almacenamiento físico de  la Base  de  Datos.  El esquema  interno  utiliza un modelo  físico de  data  y describe  los detalles  completos de  almacenamiento de  data  y el acceso  a los caminos de la BD.
2. El nivel  conceptual:  tiene  un esquema  conceptual  el  cual describe  la estructura  de todas  las Bases de Datos para una comunidad de usuarios. El esquema  conceptual  es una descripción  global de la BD que oculta los detalles  de las estructuras de almacenamiento físico  y  se  concentra  en  describir  las  entidades,   los  tipos  de  data,  las  relaciones   y constantes.
3. El nivel externo: o nivel de vista incluye un número de esquemas  externos  o vistas de usuario. Cada esquema  externo  describe  la vista de la BD de un grupo o de los usuarios de  la BD.  Cada  vista  típicamente   describe  la parte  de  la BD en  la  cual  un grupo  de usuarios en  particular esta  interesado  y oculta  el  resto  de  la BD para otros  grupos  de usuario.
En su mayoría, los DBMS no se distinguen  del todo  en tres niveles, pero  en algunos de ellos se cuenta,  en cierta medida,  con la arquitectura  de tres  esquemas.  Algunos  DBMS incluyen ciertos  detalles  del  nivel físico en el esquema  conceptual.  En la mayoría de  los DBMS que manejan  vistas de  usuarios,  los  esquemas  externos  se  especifican  en  el  mismo  modelo  de datos que describe  la información a nivel conceptual.
Es importante  resaltar que los únicos datos  reales existen en el nivel físico todos  los demás niveles  superiores  solo  contienen  descripciones  de  los  datos.  En una arquitectura  de  tres esquemas   cada  grupo  de  usuarios  hace  referencia  exclusivamente  a  su  propio  esquema externo,  por  tanto  el  DBMS debe  de  transformar  una solicitud  expresada  en  un esquema externo a el esquema  conceptual,  luego  la solicitud ahora en esquema  conceptual  es llevada al esquema  interno,  es después  procesada  sobre  la base  de  datos,  por ejemplo  si fuese  un pedido  de datos,  será necesario  modificar el formato  de la información antes de ser enviada al usuario externo.  El proceso  de transformaciones  de solicitudes  es denominado correspondencia o transformación  (maping).  Esta es una de  las razones que hacen lentas  a las bases  de  datos  de  hecho  en bases  de  datos  pequeñas  no vale la pena  crear esquemas externos ya que mas afectan la velocidad de lo que mejoran la vista externa.

MÓDULOS DE LOS DBMS

Los DBMS  son software tremendamente complicados; a continuación se muestran los componentes de software  que constituyen  un DBMS y los tipo de software  del sistema   que interactúan con los DBMS. Es una representación de como  funciona en general  una bases dedatos  no representa  la   estructura real de algún sistema de bases de datos.

• La BD y los catálogos  del DBMS usualmente  son almacenados  en discos.
• El acceso  a disco es controlado  principalmente por el sistema operativo  el cual controla las I/O a los discos.
•Un  módulo   de  administración  de  datos  almacenados   de  alto  nivel  (  stored   data manager)  del DBMS controla  el acceso  a la información del DBMS almacenada en disco, sí este  es parte de la BD o del catálogo.
• El compilador  DDL (DDL compiler)  procesa  las definiciones  de  esquema  especificadas en  el  DDL y almacena  la descripción  de  los  esquemas  en  el  catálogo  del  DBMS; Este contiene   información   como   los  nombres   de   los   archivos  y  de   los   elementos  de información, los detalles de almacenamiento de cada archivo, la  información de correspondencia entre  los esquemas  y las restricciones.  Los módulos  que requieran esta información deberán  accesar el catálogo.
• El procesador  en tiempo  real (runtime processor)  de la BD maneja el acceso  a la BD en tiempo  real, este  recibe  las operaciones  de  obtención  y actualización y las lleva a la BD para su ejecución,  el acceso  se tiene mediante  el gestor  de datos almacenados.
• El procesador  de consultas (query prossesor)  maneja las consultas de alto nivel que soningresadas  interactivamente, donde  el usuario espera  los resultados  de la búsqueda  en el momento. Analiza la sintaxis y el  contenido  de  la consulta,  luego  genera  llamadas  al procesador  de tiempo  real ( runtime processor)  para ejecutar el requerimiento.
• El precompilador   (precompiler)   extrae  los  comandos   del  DML de  un  programa  de aplicación escrito en un lenguaje de programación  host.
• Estos comandos  son enviados al compilador  DML para su compilación en código  objeto para el  acceso  de  la BD. El resto  del  programa  es  enviado  al compilador  del  lenguaje host. Ambos  códigos y objetos son enlazados en un único código  ejecutable.

Esta figura se  utiliza para mostrar  las partes  mas representativas  de  los DBMS en cuanto  a módulos  se  refiere.  Los DBMS interactúan  con  los sistemas  operativos  cuando  se  accede  a memoria (que es donde  esta la base de dato y el catálogo). Si muchos usuarios comparten  el mismo  sistema  de  cómputo,  el OS programará  las solicitudes  de  acceso  a disco  del  DBMS junto  con otros  procesos.  El DBMS también  puede  interactuar  con los compiladores  de  los lenguajes de programación host, y puede  ofrecer interfaces amigables  para ayudar al usuario cuando especifiquen  sus solicitudes.
El diseño  de una base  de  datos  es un proceso  complejo  que abarca decisiones  en distintos niveles. La complejidad  se controla  mejor si se descompone el problema  en subproblemas  y se   resuelve   cada   uno   de   éstos    de   manera   independientemente,   utilizando   técnicas específicas.  Así, el diseño de una base de datos  se descompone en diseño conceptual,  diseño lógico y diseño físico.

DISEÑO CONCEPTUAL

El  diseño  conceptual   se  refiere  a  la  etapa  donde  se  debe   construir  un  esquema   de  la información  a partir de los requerimientos y resultados  de usuario, independientemente de cualquier consideración  física, como  aspectos  de implementación, DBMS a utilizar, hardware disponible,  entre  otras.  Al construir el esquema,  los diseñadores  descubren  la semántica  de los datos,  encontrando  entidades,  atributos y relaciones.  El objetivo  es comprender:
•      La perspectiva  que cada usuario tiene de los datos.
•      La naturaleza de los datos,  independientemente de su representación física.
•      El uso de los datos a través de las áreas de aplicación.
El  esquema   conceptual   se  puede   utilizar  para  que   el  diseñador   transmita   lo  que   ha entendido sobre  los  requerimientos  de  usuario,  de  manera  particular, la información  que maneja  y los  resultados  sobre  la manipulación  de  ésta  de  una empresa.  Para  ello,  ambas partes  deben  estar  familiarizadas con la notación  utilizada en el esquema.  La notación  más popular es el modelo  entidad-relación.
El esquema  conceptual  es  una fuente  de  información  para el  diseño  lógico  de  la base  de datos.

DISEÑO LÓGICO

El diseño  lógico  es el proceso  de construir un esquema  de la información,  basándose  en un modelo    de   base   de   datos   específico    independiente  del   DBMS   y  de   cualquier   otra consideración  física. En otras palabras, se transforma  el esquema  conceptual  en un esquema lógico que utilizará las estructuras de datos del modelo  de base de datos  en el que se basa el DBMS  a  utilizar,  como   puede   ser  el  modelo   relacional,  el  modelo   de  red,  el  modelo jerárquico  o  el  modelo   orientado   a  objetos. Conforme   se  va  desarrollando   el  esquema lógico,  éste  se va probando  y validando con los requisitos de usuario.
La normalización es  una técnica  que  se  utiliza para comprobar  la validez de  los  esquemas lógicos  basados  en el modelo  relacional, ya que asegura que las relaciones (tablas) obtenidas no tienen datos  redundantes. Tanto  el diseño  conceptual  como  el diseño  lógico  son procesos  iterativos,  tienen  un punto de  inicio  y  se  van  refinando  continuamente.  Ambos  se  deben   ver  como  un  proceso   de aprendizaje,  donde  el diseñador  va comprendiendo el funcionamiento  de una empresa  y el significado  de  los  datos   que  maneja.  Estos  diseños  son  etapas  clave  para  conseguir  un sistema  que funcione correctamente, en caso contrario,  será difícil o imposible  definir todas las vistas de usuario (esquemas  externos)  y mantener la integridad de la base de datos.
También  puede  ser difícil definir la implementación  física o el mantener  unas prestaciones aceptables  del  sistema.  Además,  hay que  tener  en  cuenta  que  la capacidad  de  ajustarse  a futuros cambios es un factor que identifica a los buenos  diseños de bases de datos.  Por todo esto,   es  fundamental  dedicar  el  tiempo  y  las  energías  necesarias  para producir  el  mejor esquema  que sea posible.
El esquema  lógico  es  una fuente  de  información  para el  diseño  físico.  Además,  juega  un papel  importante  durante  la etapa  de  mantenimiento del  sistema,  ya que  permite  que  los futuros  cambios  que  se  realicen  sobre  los  programas  de  aplicación  o  sobre  los  datos,  se representen correctamente en la base de datos.

DISEÑO FÍSICO

El diseño  físico es el proceso  de producir la descripción  de la implementación  de la base de datos  en memoria  secundaria,  donde  las estructuras  de  almacenamiento y los métodos de acceso  garanticen un acceso  eficiente  a los datos.

En esta etapa  se debe  haber decidido  cuál es el DBMS a utilizar, ya que el esquema  físico se adapta  a él. Entre el diseño  físico y el diseño  lógico  hay una realimentación  ya que algunas de las decisiones  que se tomen  durante el diseño físico para mejorar las prestaciones  pueden afectar a la estructura del esquema  lógico.
En general,  el propósito  del diseño  físico es describir cómo  se va a implementar  físicamente
el esquema  lógico  obtenido en la fase  anterior.  Por ejemplo,  en el modelo  relacional,  esto consiste  en:
• Obtener  un conjunto  de relaciones  (tablas)  y las restricciones  que se deben  cumplir sobre ellas.
• Determinar  las  estructuras  de  almacenamiento  y los  métodos de  acceso  que  se  van a
utilizar para conseguir unas prestaciones  óptimas.
•      Diseñar el modelo  de seguridad del sistema.