0% encontró este documento útil (0 votos)
20 vistas19 páginas

Fundamentos de Sistemas de Bases de Datos

Este documento describe conceptos fundamentales de los sistemas de bases de datos, incluyendo modelos de datos, esquemas, y arquitectura de tres esquemas. Explica que un modelo de datos define la estructura y operaciones de una base de datos, y que un esquema describe la estructura mientras que el estado contiene los datos reales. También describe la arquitectura de tres esquemas con esquemas a niveles conceptual, interno y externo, y cómo esta arquitectura soporta la independencia de datos. Finalmente, introduce lenguajes de definición
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
20 vistas19 páginas

Fundamentos de Sistemas de Bases de Datos

Este documento describe conceptos fundamentales de los sistemas de bases de datos, incluyendo modelos de datos, esquemas, y arquitectura de tres esquemas. Explica que un modelo de datos define la estructura y operaciones de una base de datos, y que un esquema describe la estructura mientras que el estado contiene los datos reales. También describe la arquitectura de tres esquemas con esquemas a niveles conceptual, interno y externo, y cómo esta arquitectura soporta la independencia de datos. Finalmente, introduce lenguajes de definición
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

CAPÍTULO 2

Conceptos y arquitectura de los


sistemas de bases de datos

Fundamentos de Sistemas de Bases de Datos. Elmasri, 
Navathe ‐ 5ª edición Ed. Pearson Educación. Ed. 2007
Diapositiva 1- 1

Modelos de datos
■ Modelo de datos:
■ Un conjunto de conceptos para describir la estructura de
una base de datos, las operaciones para manipular estas
estructuras y ciertas restricciones que la base de datos
debe cumplir.
■ Estructura y limitaciones del modelo de datos:
■ Las construcciones se utilizan para definir la estructura de
la base de datos.
■ Las construcciones suelen incluir elementos (y sus tipos
de datos), así como grupos de elementos (por ejemplo,
entidad, registro, tabla) y relaciones entre dichos grupos.
■ Las restricciones especifican algunas restricciones sobre
los datos válidos; estas restricciones deben cumplirse en
todo momento.
Diapositiva 2- 2

1
Modelos de datos (continuación)
■ Operaciones de modelos de datos:
■ Estas operaciones se utilizan para especificar las
recuperaciones y actualizaciones de la base de
datos haciendo referencia a las estructuras del
modelo de datos.
■ Las operaciones en el modelo de datos pueden
incluir operaciones básicas del modelo (por
ejemplo, inserción, eliminación, actualización) y
operaciones definidas por el usuario (por
ejemplo; compute_student_gpa).

Diapositiva 2- 3

Categorías de modelos de datos


■ Modelos de datos conceptuales (de alto nivel, semánticos):
■ Proporcione conceptos cercanos a la forma en que muchos usuarios
perciben los datos.
■ Modelos de datos basados en entidades u objetos).

■ Modelos de datos físicos (de bajo nivel, internos):


■ Proporcione conceptos que describan detalles de cómo se almacenan los
datos en la computadora. Éstos se especifican normalmente de manera ad
hoc a través de los manuales de diseño y administración del SGBD.
■ Implementación de modelos de datos (representativos):
■ Proporcionar conceptos que se encuentran entre los dos anteriores,
utilizados por muchas implementaciones comerciales de DBMS (por ejemplo,
modelos de datos relacionales utilizados en muchos sistemas comerciales).
■ Modelos de datos autodescriptivos:
■ Combine la descripción de los datos con los valores de los datos. Los
ejemplos incluyen XML, almacenes de valor clave y algunos sistemas
NOSQL.
Diapositiva 2- 4

2
Esquemas versus instancias
■ Esquema de base de datos:
■ La descripción de una base de datos.
■ Incluye descripciones de la estructura de la base de
datos, los tipos de datos y las restricciones de la base
de datos.
■ Diagrama del esquema:
■ Una visualización ilustrativa de (la mayoría de los
aspectos de) un esquema de base de datos.
■ Construir esquema:
■ Un componente del esquema o un objeto dentro del
esquema, por ejemplo, ESTUDIANTE, CURSO.

Diapositiva 2- 5

Esquemas versus instancias


■ Estado de la base de datos:
■ Los datos reales almacenados en una base de
datos en un momento determinado. Esto incluye
la recopilación de todos los datos de la base de
datos.
■ También llamada instancia de base de datos (u
ocurrencia o instantánea).
■ El término instancia también se aplica a
componentes individuales de la base de datos, por
ejemplo, instancia de registro, instancia de tabla,
instancia de entidad.

Diapositiva 2- 6

3
Esquema de base de datos
vs. Estado de la base de datos
■ Estado de la base de datos:
■ Se refiere al contenido de una base de datos en
un momento dado.
■ Estado inicial de la base de datos:
■ Se refiere al estado de la base de datos cuando
se carga inicialmente en el sistema.
■ Estado Válido:
■ Un estado que satisface la estructura y las
limitaciones de la base de datos.

Diapositiva 2- 7

Esquema de base de datos


vs. Estado de la base de datos (continuación)

■ Distinción
■ El esquema de la base de datos cambia con
muy poca frecuencia.
■ El estado de la base de datos cambia cada vez
que se actualiza la base de datos.

■ El esquema también se llama intensión.


■ El estado también se llama extensión.

Diapositiva 2- 8

4
Ejemplo de un esquema de base de
datos

Diapositiva 2- 9

Ejemplo de un estado de la base de


datos

Diapositiva 2- 10

10

5
Arquitectura de Tres Esquemas
■ Propuesto para soportar las características de:

■ Independencia de los datos del programa.


■ Soporte de múltiples vistas de los datos.

No se utiliza explícitamente en productos comerciales de DBMS, pero


ha sido útil para explicar la organización del sistema de bases de datos.

Diapositiva 2- 11

11

Arquitectura de Tres Esquemas


■ Define esquemas de DBMS en tres niveles:
■ Esquema interno a nivel interno para describir las
estructuras físicas de almacenamiento y las vías de acceso
(por ejemplo, índices).
■ Normalmente utiliza un modelo de datos físicos.
■ Esquema conceptual a nivel conceptual para describir la
estructura y las limitaciones de toda la base de datos para
una comunidad de usuarios.
■ Utiliza un modelo de datos conceptual o de implementación.
■ Esquemas externos en el nivel externo para describir las
distintas vistas de usuario.
■ Normalmente utiliza el mismo modelo de datos que el esquema
conceptual.
Diapositiva 2- 12

12

6
La arquitectura de tres esquemas

Diapositiva 2- 13

13

Independencia de datos
■ Independencia lógica de datos:
■ La capacidad de modificar el esquema conceptual sin
necesidad de modificar los esquemas externos y sus
programas de aplicación asociados.

■ Independencia de datos físicos:


■ La capacidad de modificar el esquema interno sin
necesidad de modificar el esquema conceptual.
■ Por ejemplo, el esquema interno puede modificarse
cuando se reorganizan ciertas estructuras de archivos
o se crean nuevos índices para mejorar el rendimiento
de la base de datos.

Diapositiva 2- 14

14

7
Independencia de datos
(continuación)

■ Cuando se modifica un esquema en un nivel inferior,


sólo es necesario modificar las asignaciones entre
este esquema y los esquemas de nivel superior en un
SGBD que admita completamente la independencia
de datos.
■ Los propios esquemas superiores no se modifican.
■ No es necesario modificar los programas de
aplicación, ya que se refieren a los esquemas
externos.

Diapositiva 2- 15

15

Lenguajes de DBMS
■ Lenguaje de definición de datos (DDL).
■ Lenguaje de manipulación de datos (DML).
■ Lenguajes de alto nivel o lenguajes no procesales:
Estos incluyen el lenguaje relacional SQL.
■ Puede utilizarse de forma independiente o puede
estar integrado en un lenguaje de programación.
■ Lenguajes de bajo nivel o de procedimiento:
■ Estos deben estar integrados en un lenguaje de
programación.

Diapositiva 2- 16

16

8
Lenguajes de DBMS
■ Lenguaje de definición de datos (DDL):
■ Utilizado por el DBA y los diseñadores de bases de
datos para especificar el esquema conceptual de una
base de datos.
■ En muchos DBMS, el DDL también se utiliza para
definir esquemas internos y externos (vistas).
■ En algunos DBMS, se utilizan lenguajes de
definición de almacenamiento (SDL) e idioma de
definición de vista (VDL) separados para definir
esquemas internos y externos.
■ SDL se realiza normalmente a través de comandos
DBMS proporcionados a los diseñadores de bases de
datos y DBA.
Diapositiva 2- 17

17

Lenguajes de DBMS
■ Lenguaje de manipulación de datos (DML):
■ Se utiliza para especificar las recuperaciones y
actualizaciones de la base de datos.
■ Los comandos DML (sublenguaje de datos) pueden
ser incorporados en un lenguaje de programación de
propósito general (lenguaje host), como COBOL, C,
C++, o Java.
■ También se puede proporcionar una biblioteca de

funciones para acceder al DBMS desde un lenguaje


de programación.
■ Alternativamente, se pueden aplicar directamente
comandos DML independientes (llamados lenguaje de
consulta).
Diapositiva 2- 18

18

9
Tipos de LMD

■ Lenguaje de alto nivel o no procesal:


■ Por ejemplo, el lenguaje relacional SQL.
■ Están orientados al "set" y especifican qué datos
recuperar en lugar de cómo hacerlo.
■ También llamados lenguajes declarativos.
■ Lenguaje de bajo nivel o de procedimiento:
■ Recuperar datos un registro a la vez.
■ Se necesitan construcciones tales como la formación
de bucles para recuperar múltiples registros, junto con
punteros de posicionamiento.

Diapositiva 2- 19

19

Interfaces de Lenguaje de Programación


de DBMS

■ Interfaces de programador para incrustar DML en


un lenguaje de programación:
■ Enfoque integrado: [Link]. SQL integrado (para C, C++, etc.),
SQLJ (para Java).
■ Procedure Call Approach: [Link]. JDBC para Java, ODBC (Open
Databse Connectivity) para otros lenguajes de programación
como API's (interfaces de programación de aplicaciones).
■ Enfoque de Lenguaje de Programación de Bases de Datos:
p.e. ORACLE tiene PL/SQL, un lenguaje de programación basado
en SQL; el lenguaje incorpora SQL y sus tipos de datos como
componentes integrales.
■ Lenguajes de programación: PHP (secuencias de comandos
del lado del cliente) y Python (secuencias de comandos del lado
del servidor) se utilizan para escribir programas de base de datos.
Diapositiva 2- 20

20

10
Interfaces DBMS fáciles de usar
■ Basado en menús (basado en la Web), popular para
navegar en la Web.
■ Basado en formularios, diseñado para usuarios ingenuos
acostumbrados a rellenar entradas en un formulario.
■ Basado en gráficos:
■ Apunte y haga clic, arrastre y suelte, etc.

■ Especificación de una consulta en un diagrama de

esquema.
■ Lenguaje natural: solicitudes en inglés escrito.
■ Combinaciones de las anteriores:
■ Por ejemplo, tanto los menús como los formularios que se

utilizan ampliamente en las interfaces de las bases de


datos Web.
Diapositiva 2- 21

21

Otras interfaces de DBMS


■ Lenguaje natural: texto libre como consulta.
■ Entrada y salida de lenguaje hablado .
■ Navegador Web con búsqueda de palabras clave.
■ Interfaces paramétricas, por ejemplo, cajeros de
banco que utilizan teclas de función.
■ Interfaces para el DBA:
■ Creación de cuentas de usuario, concesión de
autorizaciones.
■ Ajuste de los parámetros del Sistema.
■ Modificar esquemas o vías de acceso.

Diapositiva 2- 22

22

11
Utilidades del sistema de base de datos
■ Para realizar ciertas funciones como:
■ Carga de datos almacenados en archivos en una base

de datos. Incluye herramientas de conversión de datos.


■ Hacer copias de seguridad de la base de datos

periódicamente en cinta.
■ Reorganización de las estructuras de archivos de la

base de datos.
■ Utilidades de monitorización del rendimiento.

■ Utilidades de generación de informes.

■ Otras funciones, como la clasificación, la supervisión de

usuarios, la compresión de datos, etc.

Diapositiva 2- 23

23

Otras herramientas
■ Diccionario / repositorio de datos:
■ Se utiliza para almacenar descripciones de esquemas
y otra información, como decisiones de diseño,
descripciones de programas de aplicación, información
de usuario, normas de uso, etc.
■ El diccionario de datos activo es accedido por el
software DBMS y los usuarios/DBA.
■ El diccionario de datos pasivo es accesible sólo
para usuarios/DBA.

Diapositiva 2- 24

24

12
DBMS Centralizado y Arquitecturas
Cliente-Servidor
■ DBMS centralizado:
■ Combina todo en un solo sistema, incluyendo
software de DBMS, hardware, programas de
aplicación y software de procesamiento de interfaz
de usuario.
■ El usuario todavía puede conectarse a través de
un terminal remoto; sin embargo, todo el
procesamiento se realiza en un sitio centralizado.

Diapositiva 2- 25

25

Módulos componentes de un DBMS

Slide 2- 26

26

13
Una arquitectura física centralizada

Diapositiva 2- 27

27

Arquitecturas Básicas Cliente-Servidor de


2 capas

■ Servidores especializados con funciones


especializadas:
■ Servidor de impresión.
■ Servidor de archivos.
■ Servidor DBMS.
■ Servidor web.
■ Servidor de correo.
■ Los clientes pueden acceder a los servidores
especializados según sus necesidades.

Diapositiva 2- 28

28

14
Arquitectura lógica de cliente-servidor de
dos capas
Arquitectura cliente/servidor lógica de dos capas

Arquitectura cliente/servidor física de dos capas

Diapositiva 2- 29

29

Clasificación de los DBMS


■ Basado en el modelo de datos utilizado
■ Legado: Red, jerárquica.
■ Actualmente Utilizado: Relacional, Orientado al Objeto, Relacional al
Objeto.
■ Tecnologías recientes: Sistemas de almacenamiento de valores clave,
sistemas NOSQL: basados en documentos, columnas, gráficos y
valores clave. Bases de datos XML nativas.

■ Otras clasificaciones
■ Monopuesto (normalmente utilizado con ordenadores personales)
vs. multiusuario (la mayoría de los DBMS).
■ Centralizado (usa una sola computadora con una base de datos) vs.
distribuido (múltiples computadoras, múltiples bases de datos).

Diapositiva 2- 30

30

15
Consideraciones de costo
para los DBMS
■ Gama de costos: desde sistemas gratuitos de código abierto
hasta configuraciones que cuestan millones de dólares.
■ Ejemplos de DBMS relacionales libres: MySQL, PostgreSQL,
otros.
■ Los DBMS comerciales ofrecen módulos especializados
adicionales, por ejemplo, módulos de series temporales,
módulos de datos espaciales, módulos de documentos y
módulos XML.
■ Éstos ofrecen funcionalidad especializada adicional cuando
se compran por separado.
■ A veces llamados cartuchos (por ejemplo, en Oracle) o
blades.
■ Diferentes opciones de licencia: licencia de sitio, número
máximo de usuarios concurrentes (licencia de uso), usuario
único, etc.
Diapositiva 2- 31

31

Otras Consideraciones
■ Tipo de rutas de acceso dentro del sistema de
base de datos.
■ Bases de datos totalmente indexadas que
permiten el acceso por cualquier palabra clave
(utilizada en los motores de búsqueda).
■ Propósito General vs. Propósito Especial.
■ Por ejemplo, sistemas de reservación de
aerolíneas o muchos otros sistemas de
reservación para hoteles/autocares, etc. Son
sistemas de procesamiento de transacciones
online (OLTP) con fines especiales.
Diapositiva 2- 32

32

16
Historial de modelos de datos
(material adicional)

■ Modelo de Red.
■ Modelo Jerárquico.
■ Modelo Relacional.
■ Modelos de datos orientados a objetos.
■ Modelos de relación con objetos.

Diapositiva 2- 33

33

Modelo de Red
■ Ventajas:
■ El modelo de red es capaz de modelar relaciones
complejas y representa la semántica de añadir/borrar en las
relaciones.
■ Puede manejar la mayoría de las situaciones de modelado
utilizando tipos de registros y tipos de relación.
■ El lenguaje es de navegación; utiliza construcciones como
FIND, FIND member, FIND owner, FIND NEXT within set,
GET, etc.
■ Los programadores pueden hacer una navegación
óptima a través de la base de datos.

Diapositiva 2- 34

34

17
Modelo de Red
■ Desventajas:
■ Carácter de navegación y procedimiento del tratamiento
■ La base de datos contiene una compleja serie de punteros
que pasan por un conjunto de registros.
■ Poco margen para la "optimización de consultas"

automatizada.

Diapositiva 2- 35

35

Modelo Jerárquico
■ Ventajas:
■ Fácil de construir y operar.
■ Corresponde a un número de dominios naturales
organizados jerárquicamente, por ejemplo, organigrama
("org").
■ El lenguaje es simple:
■ Utiliza construcciones como GET, GET UNIQUE, GET NEXT,
GET NEXT WITHIN PARENT, etc.
■ Desventajas:
■ Carácter de navegación y procedimiento del tratamiento.
■ La base de datos se visualiza como una disposición lineal
de los registros.
■ Poco margen para la "optimización de la consulta".
Diapositiva 2- 36

36

18
Resumen del capítulo
■ Modelos de datos y sus categorías.
■ Esquemas, instancias y estados.
■ Arquitectura de Tres Esquemas.
■ Independencia de datos.
■ Lenguajes e interfaces de DBMS.
■ Utilidades y herramientas del sistema de bases
de datos.
■ Entorno de sistema de base de datos.
■ Arquitecturas centralizadas y cliente-servidor.
■ Clasificación de los DBMS.
■ Historia de los modelos de datos.
Diapositiva 2- 37

37

Preguntas?
Segunda Parte

Capítulo 2 del libro  “Fundamentos de Sistemas de Base de Datos”.  Elmasri, Navathe ‐ 5ª edición 
Ed. Pearson Educación. Ed. 2007

Slide 1- 38

38

19

También podría gustarte