Está en la página 1de 38

Facilitadora:

Nidhia García
Abstracción de datos

La preocupación por la recuperación eficiente de


los datos ha conducido al diseño de estructuras de
datos complejas para su representación en la BD.
Como muchos usuarios de SBD no están
familiarizados con C’s, los desarrolladores
esconden la complejidad a los usuarios a través de
varios niveles de abstracción para simplificar su
interacción con el sistema.

Facilitadora: Nidhia García


Abstracción de datos
Nivel Físico: describe cómo se almacenan los datos. En el
nivel físico se describen en detalle las estructuras de datos
complejas de bajo nivel.

Nivel Lógico: describe qué datos se almacenan en la BD y


qué relaciones existen entre esos datos. La BD completa se
describe como un número pequeño de estructuras simples.

Nivel de Vistas: describe sólo parte de la BD completa. Los


usuarios necesitan acceder sólo a una parte de la BD. Para
que su interacción con el sistema se simplifique, se define
la abstracción del nivel de vistas.

Facilitadora: Nidhia García


Niveles de Abstracción de Datos

Nivel de Vistas

nivel 1 nivel 2 … nivel n

nivel lógico

nivel físico

Facilitadora: Nidhia García


Niveles de Abstracción de Datos

Facilitadora: Nidhia García


Niveles de Abstracción de Datos

Estructura de registro en Pascal:

type cliente = record


nombre-cliente: string;
id-cliente: string;
calle-cliente: string;
ciudad-cliente: string;
end;

Facilitadora: Nidhia García


Niveles de Abstracción de Datos
type cliente = record
nombre-cliente: string;
id-cliente: string;
calle-cliente: string;
ciudad-cliente: string;
end;

En el nivel físico, un registro cliente, se describe como un


bloque de posiciones almacenadas consecutivamente
(palabras o bytes). El compilador del lenguaje esconde este
nivel de detalle a los programadores.

El SBD esconde muchos de los detalles de almacenamiento


de nivel inferior a los programadores de BD.

Facilitadora: Nidhia García


Niveles de Abstracción de Datos
type cliente = record
nombre-cliente: string;
id-cliente: string;
calle-cliente: string;
ciudad-cliente: string;
end;

En el nivel lógico cada registro de este tipo se describe


mediante una definición de tipo, y se define la relación entre
estos tipos de registros. Los programadores, cuando usan
un lenguaje de programación, trabajan en este nivel de
abstracción. De forma similar, los administradores de BD
trabajan habitualmente en este nivel de abstracción.

Facilitadora: Nidhia García


Niveles de Abstracción de Datos
type cliente = record
nombre-cliente: string;
id-cliente: string;
calle-cliente: string;
ciudad-cliente: string;
end;

En el nivel de vistas, los usuarios ven un conjunto de


programas de aplicación que esconden los detalles de los
tipos de datos. Análogamente, en el nivel de vistas se
definen varias vistas de una BD y los usuarios de la misma
ven única y exclusivamente esa parte. Las vistas también
proporcionan un mecanismo de seguridad para evitar que
los usuarios accedan a ciertas partes de la BD.

Facilitadora: Nidhia García


Independencia de datos

Se dice que un sistema es independiente de los datos


cuando:

“Los requerimientos de la aplicación no


determinan la forma de organizar los datos y la
técnica de acceder a ellos“.

La ventaja que nos ofrece es poder modificar la


estructura de los datos sin afectar gravemente la
aplicación.

Facilitadora: Nidhia García


Independencia de datos

Al ser los datos independientes no importa qué manejador


sea el que acceda a la información, estos simplemente
son datos y pueden visualizarse y manipularse desde
cualquier DBMS.

El DBMS debe ser capaz de permitir cambiar la estructura


de los archivos, cambiar los tipos de datos, longitudes de
registros, administrar la información, crear campos
nuevos, importar o exportar datos a formatos estándar sin
tener que alterar los programas de la aplicación.

Facilitadora: Nidhia García


Modelos de datos

Bajo la estructura de la BD se encuentra el modelo de


datos:

Una colección de herramientas conceptuales


para describir los datos, las relaciones, la
semántica y las restricciones de consistencia.

Ejemplos de un modelo de datos es el modelo Entidad -


Relación y el Modelo Relacional.

Facilitadora: Nidhia García


Integridad
Existen reglas de integridad que son específicas a la
información de la BD. Estas implican que lo que trata de
hacer el usuario es correcto, es decir que los datos
introducidos tengan una relación con el mundo real (que
sean válidos).

Para esto se especifican, por ejemplo, rangos de valores


que puedan aceptar los datos o si estos se obtendrán de
una lista de valores y cuál debe ser esa lista.

La integridad la marca la naturaleza de la información


que se maneja en el sistema.

Facilitadora: Nidhia García


Integridad
El modelo relacional incluye dos reglas generales de
integridad. Se aplican a toda la BD.

Estas dos reglas se refieren generalmente a:

• Las claves primarias.

• Las claves foráneas, ajenas o externas.

Facilitadora: Nidhia García


Integridad
La regla de integridad de las entidades hace referencia
especialmente a las claves primarias y dice así:

Ningún componente de la clave primaria de una


relación puede aceptar nulos.

Entiéndase por nulos como información faltante por


alguna razón, de esta forma en la práctica no se puede
registrar información si se carece de una clave
primaria, esto se justifica con la simple razón de que en
una BD no registraremos información de algo que no
podamos identificar.

Facilitadora: Nidhia García


Redundancia
Es la información que está repetida dentro de la BD.

En una BD existe información que se encuentra más de


una vez, pero esto debe ser en una expresión mínima.

El motivo de la relación entre entidades dentro del


modelo relacional es evitar la redundancia de los datos,
pues conociendo la clave de una tupla se conoce el resto
de la información correspondiente.

La redundancia de información implica el riesgo de tener


datos inconsistentes.

Facilitadora: Nidhia García


Lenguaje de Definición de Datos

Un esquema de base de datos se específica


mediante un conjunto de definiciones expresadas
mediante un lenguaje especial llamado lenguaje de
definición de datos (LDD).

Por ejemplo, la siguiente instrucción en SQL define


la tabla cuenta:
create table cuenta
( número-cuenta varchar(10),
saldo int
)

Facilitadora: Nidhia García


Lenguaje de Definición de Datos

create table cuenta La ejecución de esta


( número-cuenta varchar(10), instrucción LDD crea la
saldo int tabla cuenta. Además,
)
actualiza un conjunto
especial de tablas
Un DD contiene metadatos, denominado diccionario
es decir, datos acerca de los de datos o directorio de
datos. datos.

Un SBD consulta el
diccionario de datos antes
de leer o modificar los datos
reales.
Facilitadora: Nidhia García
Lenguaje de Definición de Datos

El Lenguaje de Almacenamiento y Definición de


Datos especifica el almacenamiento y los métodos de
acceso usados por el SBD.

Los valores de datos almacenados en la BD deben


satisfacer ciertas restricciones de consistencia. El
LDD proporciona facilidades para especificar tales
restricciones.

Los SBD comprueban estas restricciones cada vez


que se actualiza la BD.

Facilitadora: Nidhia García


Lenguaje de Manipulación de Datos

La manipulación de datos es:

• La recuperación de información almacenada en la


base de datos.

• La inserción de información nueva en la base de


datos.

• El borrado de información de la base de datos.

• La modificación de información almacenada en la


base de datos.

Facilitadora: Nidhia García


Lenguaje de Manipulación de Datos
Un lenguaje de manipulación de datos (LMD) es un
lenguaje que permite a los usuarios acceder o manipular
los datos organizados mediante el modelo de datos
apropiado. Hay dos tipos básicamente:

✓ LMDs procedimentales. Requieren que el usuario


especifique qué datos se necesitan y cómo obtener
esos datos.

✓ LMDs declarativos (LMDs no procedimentales).


Requieren que el usuario especifique qué datos se
necesitan sin especificar cómo obtener esos datos.

Facilitadora: Nidhia García


Lenguaje de Manipulación de Datos

Una consulta es una instrucción de solicitud para


recuperar información.

La parte de un LMD que implica recuperación de


información se llama lenguaje de consultas.

En la práctica se usan los términos lenguaje de


consultas y lenguaje de manipulación de datos
como sinónimos.

Facilitadora: Nidhia García


Lenguaje de Manipulación de Datos

Esta consulta en el lenguaje SQL encuentra el


nombre del cliente cuyo identificador de cliente es
19.283.746:

select cliente.nombre-cliente
from cliente
where cliente.id-cliente = '19 283 746'

Facilitadora: Nidhia García


Especifica el esquema de la BD
Lenguaje de Contiene instrucciones como create schema, create table, drop table.
Definición de Actualiza el diccionario de datos – metadatos
Datos (LDD) Controla las restricciones en la BD

Manipular: consulta, inserción, borrado, modificación de la


Lenguaje de información almacenada
Manipulación Permite acceder los datos organizados mediante un modelo
Procedimentales: el usuario debe especificar qué datos necesita y
de Datos cómo obtenerlos
(LMD) Declarativos: el usuario debe especificar qué datos necesita y no
cómo obtenerlos
Ejemplo: SQL
Lenguaje de
Definición de Especifica el almacenamiento de los datos y los métodos de acceso a
la base de datos.
Almacenamiento

Facilitadora: Nidhia García


ENTIDADES
Basados Modelo ENTIDAD - RELACIÓN ATRIBUTOS (Alguno debe identificarlo)
en Objeto RELACIONES
Modelo Orientado a Objeto Símbolos - Ejemplos
Correspondencia de Cardinalidades
Un nodo padre de información Almacenan la inf.
Jerárquico puede tener varios hijos en una estructura
Basados en que enlaza
Red Un nodo hijo de información puede registros en
Registro tener varios padres forma de árbol
Relacional Usa tablas (filas y columnas) para representar los
datos y sus relaciones
Diseño de BD Cada columna tiene un nombre único
Primero Estructura de registros de formato fijo de varios tipos
+ abstrac. Modelo E-R
Cada tabla contiene registros de un tipo particular
Cada tipo de registro define un número fijo de campos
Segundo
o atributos (columnas)
- abstrac. Modelo Relacional
Se deben eliminar redundancias del modelo final

Facilitadora: Nidhia García


Diagrama Entidad - Relación

Facilitadora: Nidhia García


Modelo Relacional

id-cliente nombre-cliente calle-cliente ciudad-cliente


19.283.746 González Arenal La Granja
01.928.374 Gómez Carretas Cerceda
67.789.901 López Mayor Peguerinos
18.273.609 Abril Preciados Valsain
32.112.312 Santos Mayor Peguerinos
33.686.999 Rupérez Ramblas León

Tabla Cliente

Facilitadora: Nidhia García


Modelo Relacional

número-cuenta saldo id-cliente número-cuenta


C-101 500 19.283.746 C-101
C-215 700 19.283.746 C-201
C-102 400 01.928.374 C-215
C-305 350 67.789.901 C-102
C-201 900 18.273.609 C-305
C-217 750 32.112.312 C-217
C-222 700 33.666.999 C-222
01.928.374 C-201

Tabla Cuenta Tabla Impositor

Facilitadora: Nidhia García


Facilitadora: Nidhia García
Arquitectura de un SGBD Multiusuario
Teleprocesamiento.

• Arquitectura tradicional para los sistemas multiusuarios.

• Hay una computadora con una única central de proceso


(UCP) y una serie de terminales.

• Todo el procesamiento se lleva a cabo dentro de una


misma computadora física.

• Los terminales de usuario son no inteligentes, incapaces


de funcionar por sí mismos y que están conectados a la
computadora central.

Facilitadora: Nidhia García


Arquitectura de un SGBD Multiusuario
Teleprocesamiento.

• Los terminales envían mensajes hacia el programa de


aplicación del usuario, que a su vez utiliza los servicios
del SGBD.

• El SGBD devuelve los mensajes al terminal de usuario.

• Esta arquitectura imponía una enorme carga de trabajo


a la computadora central, que no sólo tenía que
ejecutar los programas de aplicación y el SGBD, sino
también llevar a cabo una gran cantidad de tareas por
cuenta de los terminales.

Facilitadora: Nidhia García


Arquitectura de un SGBD Multiusuario
Servidor de Archivos.

• El procesamiento está distribuido por toda la red, que


normalmente suele ser una red de área local (LAN,
Local Area Network).

• El servidor de archivos almacena los archivos que las


aplicaciones y el SGBD necesitan.

• Las aplicaciones y el SGBD se ejecutan en cada


estación de trabajo, solicitando los archivos al servidor
cada vez que es necesario.

Facilitadora: Nidhia García


Arquitectura de un SGBD Multiusuario
Servidor de Archivos.

• El servidor de archivos actúa simplemente como una


unidad de disco compartida.

• El SGBD de cada estación de trabajo envía las


solicitudes al servidor de archivos para extraer todos
los datos que necesita y que estén almacenados en
disco.

Facilitadora: Nidhia García


Arquitectura de un SGBD Multiusuario
Cliente / Servidor.

La mayoría de los usuarios de un SBD no están situados


actualmente junto al SBD, sino que se conectan a él a
través de una red.

Se puede diferenciar entre las máquinas cliente, en donde


trabajan los usuarios remotos de la BD, y las máquinas
servidor, en la que se ejecuta el SBD.

Las aplicaciones de BD se dividen usualmente en dos o


tres partes.

Facilitadora: Nidhia García


Arquitectura de un SGBD Multiusuario
Cliente / Servidor – 2 Niveles.

• La aplicación se divide en un componente que reside


en la máquina cliente.

• Este componente llama a la funcionalidad del SBD en la


máquina servidor mediante instrucciones del lenguaje
de consultas.

• Los estándares de interfaces de programas de


aplicación como ODBC y JDBC se usan para la
interacción entre el cliente y el servidor.

Facilitadora: Nidhia García


Arquitectura de un SGBD Multiusuario
Cliente / Servidor – 3 Niveles.

• La máquina cliente actúa simplemente como frontal y


no contiene ninguna llamada directa a la BD.

• El cliente se comunica con un servidor de aplicaciones,


usualmente mediante una interfaz de formularios.

• El servidor de aplicaciones, a su vez, se comunica con


el sistema de base de datos para acceder a los datos.

Facilitadora: Nidhia García


Arquitectura de un SGBD Multiusuario
Cliente / Servidor – 3 Niveles.

La lógica de negocio de la aplicación, que establece las


acciones a realizar bajo determinadas condiciones, se
incorpora en el servidor de aplicaciones, en lugar de ser
distribuida a múltiples clientes.

Las aplicaciones de tres capas son más apropiadas para


grandes aplicaciones y para las aplicaciones que se
ejecutan en el WWW.

Facilitadora: Nidhia García


Arquitectura de un SGBD Multiusuario

Usuario Usuario

Cliente

Aplicación Cliente de Aplicaciones

Red Red

Servidor de Aplicaciones
Sistema de Base de Datos Servidor
Sistema de Base de Datos

a. Arquitectura de Dos Capas b. Arquitectura de Tres Capas

Facilitadora: Nidhia García

También podría gustarte