SISTEMA MANEJADOR DE BASES DE DATOS (SMBD)

El sistema manejador de bases de datos es un conjunto de programas que se
encargan de manejar la creación y todos los accesos a la base de datos. Se
compone de un lenguaje de definición de datos (DDL), un lenguaje de
manipulación de datos (DML) y de un lenguaje de consulta (SQL).

El SMBD sirve como interfaz entre la base de datos física y las peticiones del
usuario. El SMBD interpreta las peticiones de entrada/salida del usuario y las
manda al sistema operativo para la transferencia de datos entre la unidad de
memoria secundaria y la memoria principal. En resumen, un SMBD es el
corazón de la base de datos ya que se encarga del control total de los posibles
aspectos que la puedan afectar.

OBJETIVOS DE UN SMBD

   •   Permitir la definición de todos los datos
   •   Permitir manipular los datos
   •   Establecer controles para la seguridad de los datos
   •   Permitir accesos concurrentes

FUNCIONES DE UN SMBD

   •   Manejo de diccionario de datos: Definiciones y relaciones entre los
       datos
   •   Transformación y presentación de los datos: Transformación de
       los datos nuevos para que satisfaga la estructura definida
   •   Seguridad: Fortalecer la seguridad y privacidad de la información
   •   Control de Concurrencia: Controla el acceso multiusuario. Consiste
       en controlar la interacción entre los usuarios concurrentes para no
       afectar la consistencia de los datos
   •   Integridad de datos: Minimiza la redundancia y maximiza la
       consistencia. Consiste en contar con mecanismos que permiten el
       control de la consistencia de los datos, evitando que estos se vean
       perjudicados por cambios no autorizados o previstos
   •   Lenguaje de acceso a la base de datos: Interfaz para la
       programación de aplicaciones. Provee acceso a los datos vía lenguaje de
       consulta SQL y vía lenguaje procedural (pascal, c, etc)
   •   Interfaz de comunicación de datos: Permite el requerimiento de
       usuarios en ambiente de red. Crea y organiza la base de datos,
       establece y mantiene las trayectorias de acceso a la base de datos para
       que puedan ser accesados rápidamente. Maneja los datos de acuerdo a
       las peticiones de los usuarios. Registra el uso de la base de datos
   •   Interacción con el manejador de archivos: Esto la hace a través de
       sentencias en DML al comando del sistema de archivos. Así el SMBD es
       el responsable del verdadero almacenamiento de la información
•   Respaldo y recuperación: Consiste en contar con mecanismos
       implantados que permiten la recuperación fácilmente de los datos en
       caso de ocurrir fallas en el sistema

NIVELES EN UN SMBD

Los niveles definen una arquitectura que sirva como referencia, también
llamada arquitectura referencial de tres niveles.

Los niveles son:
   • Nivel Interno
   • Nivel Externo
   • Nivel Conceptual

IMPLEMENTACION DEL ESQUEMA INTERNO

El nivel interno es el más bajo de abstracción, describe que datos son
almacenados realmente en la base de datos y las relaciones que existen entre
los mismos, es decir, describe la base de datos completa en términos de su
estructura de diseño.

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: estructuras de almacenamiento y
métodos de acceso que garanticen un acceso eficiente a los datos.

Entre el diseño físico y el lógico hay una retroalimentación ya que las decisiones
que se tomen durante el diseño físico para mejorar las prestaciones pueden
afectar la estructura del esquema lógico.

La implementación del esquema interno 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 las prestaciones óptimas
   •   Diseñar el modelo de seguridad del sistema


IMPLEMENTACION DEL ESQUEMA EXTERNO

Es el nivel más alto de abstracción, es lo que el usuario final puede visualizar
del sistema terminado, describe sólo una parte de la base de datos al usuario
acreditado para verla. El sistema puede proporcionar muchas visiones para la
misma base de datos.

Este esquema maneja las vistas, que son una especie de tablas virtuales; es
decir, no existen físicamente sino que se forman mediante la selección y/o
filtrado de los componentes de otras tablas. Una vista puede ser definida con
base en otra vista.

Las vistas son una forma lógica de ver los datos físicos almacenados en tablas.
Cuando creamos una vista seleccionamos un formato que incluye datos que
pueden ser tomados de una o más tablas. Aunque un usuario puede consultar
una vista y manipularla, las vistas no están almacenadas físicamente.

Las vistas son dinámicas porque los cambios que se realicen sobre las tablas
base que afectan una vista se reflejan inmediatamente sobre ella. Asimismo,
cualquier operación que se realice sobre las vistas se traducen
automáticamente a operaciones sobre las relaciones de las que se deriva.


IMPLEMENTACION DEL ESQUEMA CONCEPTUAL (LOGICO)

El nivel conceptual describe la estructura lógica global de la base de datos
mediante un modelo abstracto de datos comprensible por el SMBD. Se definen
la descripción de atributos de entidades, las conexiones y las restricciones de
integridad asociadas a la semántica (significado). Podemos decir que describe
que datos son almacenados realmente en la base de datos y las relaciones que
existen entre los mismos, describe la base de datos completa en términos de su
estructura de diseño.

El esquema conceptual consta de las siguientes definiciones:

Definición de los datos

Se describen el tipo de datos y la longitud de campo de todos los elementos.

Los elementos en la definición de datos son:

•   Atributos: Identificador que permite manipular en forma individual las
    características de un objeto (entidad). Cada atributo tiene un conjunto de
    valores asociados denominado dominio.

     Existen diferentes características en los atributos:

        Atributo Simple
          Tiene un solo componente, no se puede dividir en partes más
          pequeñas que tengan un significado propio.

        Atributo Compuesto
          Tiene varios componentes, cada uno con un significado por sí mismo.
          Un grupo de atributos se representa mediante un atributo compuesto
          cuando tienen afinidad en cuanto a su significado o en cuanto a su
          uso.
   Atributo Monovalente
          Es aquel que tiene un solo valor para cada ocurrencia de la entidad o
          relación a la que pertenece.

        Atributo Polivalente o Multivaluado
          Es aquel que tiene varios valores para cada ocurrencia de la entidad
          o relación a la que pertenece.

•   Llaves: Atributos o conjunto de atributos mediante los cuales puede
    hacerse referencia a una entidad específica, deben reconocerse y definirse
    con claridad.

     Los diferentes tipos de llaves son:

        Superllave
          Conjunto de dos o más atributos que tomados colectivamente nos
          permiten identificar de forma única una entidad dentro de un
          conjunto de entidades.

        Llave Candidata
           Son atributos por medio de los cuales podemos reconocer una
           entidad dentro de un conjunto de entidades, sin ser este la llave
           principal.

        Llave Primaria
           Atributo considerado clave para la identificación de los atributos que
           describen una entidad. Es aquella llave que el diseñador de la base
           de datos selecciona entre las llaves candidatas encontradas.

•   Entidades: Una entidad es un objeto que existe y se distingue de otros
    objetos de acuerdo a sus características (atributos).

     Existen entidades que deben su existencia a otras entidades, a éste tipo
     de entidades se les conoce como entidades débiles. Las entidades que
     existen sin depender de ninguna otra entidad son llamadas entidades
     fuertes.

•   Especialización y Generalización: La generalización es el resultado de la
    unión de dos o más entidades, consideradas de bajo nivel, para producir
    una entidad de más alto nivel. Se usa para hacer resaltar los parecidos
    entre tipo de entidades de nivel bajo y ocultar las diferencias.

     La especialización es el resultado de tomar un conjunto de entidades de
     alto nivel para formar un conjunto de entidades de más bajo nivel. Es la
     partición de entidades con el objeto de optimizar el espacio de
     almacenamiento.
Definición de las relaciones

El establecimiento de conexiones entre las entidades y conjuntos de entidades
que conforman una base de datos deben especificarse en forma precisa para
cada relación, de la siguiente manera:

   •   Nombre de las relaciones: Generalmente es una etiqueta que indica
       la función que desempeña la relación dentro de la base de datos.

   •   Cardinalidad de las relaciones: Debe definirse forma precisa si las
       entidades tendrán interacción con solo una o varias entidades del
       conjunto a relacionar. Debe verificarse que la cardinalidad tenga validez
       para todos los casos que puedan presentarse en el manejo de la base de
       datos, es decir, si son válidas para todas las instancias.


SEGURIDAD QUE PROPORCIONA UN SMBD

Un SMBD cuenta con un subsistema de seguridad y autorización que se encarga
de garantizar la seguridad de la base de datos contra el acceso no autorizado.
Para proveer la seguridad necesaria cuenta con:

   •   Identificación y autorización de usuarios: Uso de códigos de
       acceso y palabras clave, impresiones digitales, reconocimiento de voz,
       barrido de retina, etc.
   •   Autorización: Usar derechos de acceso dados por el Terminal, por las
       operaciones a realizar o por la fecha u hora del día.
   •   Uso de técnicas de cifrado: Para proteger las bases de datos
       distribuidas, o con acceso por red o Internet.
   •   Diferentes tipos de cuentas: Cada cuenta tiene permisos diferentes
       según el perfil creado por el administrador, quien también necesita la
       creación de su cuenta para tener las concesiones y privilegios
       requeridos.
   •   Manejo de tabla de usuarios: Cada usuario tiene código y
       contraseña, en la tabla se controlan las operaciones efectuadas en cada
       sesión de trabajo por cada usuario, lo cual facilita una auditoria a la base
       de datos.


CRITERIOS PARA LA SELECCIÓN DE UN SMBD

   •   Tamaño de la base de datos (número de registros)
   •   Cantidad de usuarios concurrentes
   •   Desempeño
   •   Integración
   •   Características
   •   Proveedor
   •   Costo

Sistema manejador de bases de datos

  • 1.
    SISTEMA MANEJADOR DEBASES DE DATOS (SMBD) El sistema manejador de bases de datos es un conjunto de programas que se encargan de manejar la creación y todos los accesos a la base de datos. Se compone de un lenguaje de definición de datos (DDL), un lenguaje de manipulación de datos (DML) y de un lenguaje de consulta (SQL). El SMBD sirve como interfaz entre la base de datos física y las peticiones del usuario. El SMBD interpreta las peticiones de entrada/salida del usuario y las manda al sistema operativo para la transferencia de datos entre la unidad de memoria secundaria y la memoria principal. En resumen, un SMBD es el corazón de la base de datos ya que se encarga del control total de los posibles aspectos que la puedan afectar. OBJETIVOS DE UN SMBD • Permitir la definición de todos los datos • Permitir manipular los datos • Establecer controles para la seguridad de los datos • Permitir accesos concurrentes FUNCIONES DE UN SMBD • Manejo de diccionario de datos: Definiciones y relaciones entre los datos • Transformación y presentación de los datos: Transformación de los datos nuevos para que satisfaga la estructura definida • Seguridad: Fortalecer la seguridad y privacidad de la información • Control de Concurrencia: Controla el acceso multiusuario. Consiste en controlar la interacción entre los usuarios concurrentes para no afectar la consistencia de los datos • Integridad de datos: Minimiza la redundancia y maximiza la consistencia. Consiste en contar con mecanismos que permiten el control de la consistencia de los datos, evitando que estos se vean perjudicados por cambios no autorizados o previstos • Lenguaje de acceso a la base de datos: Interfaz para la programación de aplicaciones. Provee acceso a los datos vía lenguaje de consulta SQL y vía lenguaje procedural (pascal, c, etc) • Interfaz de comunicación de datos: Permite el requerimiento de usuarios en ambiente de red. Crea y organiza la base de datos, establece y mantiene las trayectorias de acceso a la base de datos para que puedan ser accesados rápidamente. Maneja los datos de acuerdo a las peticiones de los usuarios. Registra el uso de la base de datos • Interacción con el manejador de archivos: Esto la hace a través de sentencias en DML al comando del sistema de archivos. Así el SMBD es el responsable del verdadero almacenamiento de la información
  • 2.
    Respaldo y recuperación: Consiste en contar con mecanismos implantados que permiten la recuperación fácilmente de los datos en caso de ocurrir fallas en el sistema NIVELES EN UN SMBD Los niveles definen una arquitectura que sirva como referencia, también llamada arquitectura referencial de tres niveles. Los niveles son: • Nivel Interno • Nivel Externo • Nivel Conceptual IMPLEMENTACION DEL ESQUEMA INTERNO El nivel interno es el más bajo de abstracción, describe que datos son almacenados realmente en la base de datos y las relaciones que existen entre los mismos, es decir, describe la base de datos completa en términos de su estructura de diseño. 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: estructuras de almacenamiento y métodos de acceso que garanticen un acceso eficiente a los datos. Entre el diseño físico y el lógico hay una retroalimentación ya que las decisiones que se tomen durante el diseño físico para mejorar las prestaciones pueden afectar la estructura del esquema lógico. La implementación del esquema interno 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 las prestaciones óptimas • Diseñar el modelo de seguridad del sistema IMPLEMENTACION DEL ESQUEMA EXTERNO Es el nivel más alto de abstracción, es lo que el usuario final puede visualizar del sistema terminado, describe sólo una parte de la base de datos al usuario acreditado para verla. El sistema puede proporcionar muchas visiones para la misma base de datos. Este esquema maneja las vistas, que son una especie de tablas virtuales; es decir, no existen físicamente sino que se forman mediante la selección y/o
  • 3.
    filtrado de loscomponentes de otras tablas. Una vista puede ser definida con base en otra vista. Las vistas son una forma lógica de ver los datos físicos almacenados en tablas. Cuando creamos una vista seleccionamos un formato que incluye datos que pueden ser tomados de una o más tablas. Aunque un usuario puede consultar una vista y manipularla, las vistas no están almacenadas físicamente. Las vistas son dinámicas porque los cambios que se realicen sobre las tablas base que afectan una vista se reflejan inmediatamente sobre ella. Asimismo, cualquier operación que se realice sobre las vistas se traducen automáticamente a operaciones sobre las relaciones de las que se deriva. IMPLEMENTACION DEL ESQUEMA CONCEPTUAL (LOGICO) El nivel conceptual describe la estructura lógica global de la base de datos mediante un modelo abstracto de datos comprensible por el SMBD. Se definen la descripción de atributos de entidades, las conexiones y las restricciones de integridad asociadas a la semántica (significado). Podemos decir que describe que datos son almacenados realmente en la base de datos y las relaciones que existen entre los mismos, describe la base de datos completa en términos de su estructura de diseño. El esquema conceptual consta de las siguientes definiciones: Definición de los datos Se describen el tipo de datos y la longitud de campo de todos los elementos. Los elementos en la definición de datos son: • Atributos: Identificador que permite manipular en forma individual las características de un objeto (entidad). Cada atributo tiene un conjunto de valores asociados denominado dominio. Existen diferentes características en los atributos:  Atributo Simple Tiene un solo componente, no se puede dividir en partes más pequeñas que tengan un significado propio.  Atributo Compuesto Tiene varios componentes, cada uno con un significado por sí mismo. Un grupo de atributos se representa mediante un atributo compuesto cuando tienen afinidad en cuanto a su significado o en cuanto a su uso.
  • 4.
    Atributo Monovalente Es aquel que tiene un solo valor para cada ocurrencia de la entidad o relación a la que pertenece.  Atributo Polivalente o Multivaluado Es aquel que tiene varios valores para cada ocurrencia de la entidad o relación a la que pertenece. • Llaves: Atributos o conjunto de atributos mediante los cuales puede hacerse referencia a una entidad específica, deben reconocerse y definirse con claridad. Los diferentes tipos de llaves son:  Superllave Conjunto de dos o más atributos que tomados colectivamente nos permiten identificar de forma única una entidad dentro de un conjunto de entidades.  Llave Candidata Son atributos por medio de los cuales podemos reconocer una entidad dentro de un conjunto de entidades, sin ser este la llave principal.  Llave Primaria Atributo considerado clave para la identificación de los atributos que describen una entidad. Es aquella llave que el diseñador de la base de datos selecciona entre las llaves candidatas encontradas. • Entidades: Una entidad es un objeto que existe y se distingue de otros objetos de acuerdo a sus características (atributos). Existen entidades que deben su existencia a otras entidades, a éste tipo de entidades se les conoce como entidades débiles. Las entidades que existen sin depender de ninguna otra entidad son llamadas entidades fuertes. • Especialización y Generalización: La generalización es el resultado de la unión de dos o más entidades, consideradas de bajo nivel, para producir una entidad de más alto nivel. Se usa para hacer resaltar los parecidos entre tipo de entidades de nivel bajo y ocultar las diferencias. La especialización es el resultado de tomar un conjunto de entidades de alto nivel para formar un conjunto de entidades de más bajo nivel. Es la partición de entidades con el objeto de optimizar el espacio de almacenamiento.
  • 5.
    Definición de lasrelaciones El establecimiento de conexiones entre las entidades y conjuntos de entidades que conforman una base de datos deben especificarse en forma precisa para cada relación, de la siguiente manera: • Nombre de las relaciones: Generalmente es una etiqueta que indica la función que desempeña la relación dentro de la base de datos. • Cardinalidad de las relaciones: Debe definirse forma precisa si las entidades tendrán interacción con solo una o varias entidades del conjunto a relacionar. Debe verificarse que la cardinalidad tenga validez para todos los casos que puedan presentarse en el manejo de la base de datos, es decir, si son válidas para todas las instancias. SEGURIDAD QUE PROPORCIONA UN SMBD Un SMBD cuenta con un subsistema de seguridad y autorización que se encarga de garantizar la seguridad de la base de datos contra el acceso no autorizado. Para proveer la seguridad necesaria cuenta con: • Identificación y autorización de usuarios: Uso de códigos de acceso y palabras clave, impresiones digitales, reconocimiento de voz, barrido de retina, etc. • Autorización: Usar derechos de acceso dados por el Terminal, por las operaciones a realizar o por la fecha u hora del día. • Uso de técnicas de cifrado: Para proteger las bases de datos distribuidas, o con acceso por red o Internet. • Diferentes tipos de cuentas: Cada cuenta tiene permisos diferentes según el perfil creado por el administrador, quien también necesita la creación de su cuenta para tener las concesiones y privilegios requeridos. • Manejo de tabla de usuarios: Cada usuario tiene código y contraseña, en la tabla se controlan las operaciones efectuadas en cada sesión de trabajo por cada usuario, lo cual facilita una auditoria a la base de datos. CRITERIOS PARA LA SELECCIÓN DE UN SMBD • Tamaño de la base de datos (número de registros) • Cantidad de usuarios concurrentes • Desempeño • Integración • Características • Proveedor • Costo