Está en la página 1de 33

ITSE - TECNICATURA SUPERIOR EN

PROGRAMACIÓN

Base de Datos I

Conceptos y Arquitectura
Introducción

Profesor: Gregorio N. Tkachuk


Objetivos de aprendizaje
2.1 Modelos de datos y sus categorías
2.3 Esquemas, instancias y estados
2.4 Arquitectura de tres esquemas
2.5 Independencia de los datos
2.6 Lenguajes e interfaces DBMS
2.7 Utilidades y herramientas del sistema de base de datos
2.8 Arquitecturas centralizadas y cliente-servidor
2.9 Clasificación de DBMS

Base de Datos I - Introducción 2


Modelos de datos (1 de 2)
● 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 restricciones 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 datos válidos; estas
restricciones deben cumplirse en todo momento

Base de Datos I - Introducción 3


Modelos de datos (2 de 2)
● Operaciones del modelo de datos:
○ Estas operaciones se utilizan para especificar recuperaciones y
actualizaciones de bases de datos haciendo referencia a las
construcciones del modelo de datos.
○ Las operaciones en el modelo de datos pueden incluir operaciones
básicas del modelo (por ejemplo, insertar, eliminar, actualizar
genéricas) y operaciones definidas por el usuario (por ejemplo,
procesar_estudiante, Actualizar_Inventario)

Base de Datos I - Introducción 4


Categorías de modelos de datos
● Modelos de datos conceptuales (de alto nivel, semánticos):
○ Proporcione conceptos que se acerquen a la forma en que muchos usuarios
perciben los datos.
■ (También llamados modelos de datos basados en entidades o en 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. Por lo general, estos se especifican de manera ad-hoc a
través de manuales de diseño y administración de DBMS.
● Modelos de datos de implementación (representativos):
○ Proporcione conceptos que se encuentren 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 valores clave y algunos sistemas NOSQL.

Base de Datos I - Introducción 5


Esquemas versus instancias
● Esquema de la base de datos:
○ La descripción de una base de datos.
○ Incluye descripciones de la estructura de la base de datos, tipos de datos y las
limitaciones de la base de datos.
● Diagrama de esquema:
○ Una visualización ilustrativa de (la mayoría de los aspectos) un esquema de base
de datos.
● Construcción de esquema:
○ Un componente del esquema o un objeto dentro del esquema, por ejemplo,
ESTUDIANTE, CURSO.
● 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 se llama instancia de base de datos (o aparición o instantánea).
■ El término instancia también se aplica a los componentes individuales de la
base de datos, por ejemplo, instancia de registro, instancia de tabla,
instancia de entidad.
Base de Datos I - Introducción 6
Esquema de la base de datos frente al
estado de la base de datos
● Estado de la base de datos:
○ Se refiere al contenido de una base de datos en un momento
determinado.
● 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.
● Distinción
○ El esquema de la base de datos cambia con poca frecuencia.
○ El estado de la base de datos cambia cada vez que se actualiza.
● El esquema también se llama intensión. (conjunto de propiedades)
● El estado también se llama extensión .(del esquema)

Base de Datos I - Introducción 7


Diagrama de esquema de la base de datos

Base de Datos I - Introducción 8


Ejemplo de un estado de base de datos

CURSO
Course_name Course_number Credit_hours Department
Intro to Computer
CS1310 4 CS
Science
Data Structures CS3320 4 CS
Discrete
MATH2410 3 MATH
Mathematics
Database CS3380 3 CS

Base de Datos I - Introducción 9


Ejemplo de un estado de base de datos

SECCION

Section_identifier Course_number Semester Year Instructor

85 MATH2410 Fall 04 King


92 CS1310 Fall 07 Anderson
102 CS3320 Spring 05 Knuth
112 MATH2410 Fall 05 Chang
119 CS1310 Fall 05 Anderson
135 CS3380 Fall 05 Stone

Base de Datos I - Introducción 10


Arquitectura de tres esquemas (1 de 3)
● Propuesto para soportar las características de DBMS de:
○ Independencia de los datos del programa .
○ Soporte de múltiples vistas de los datos.
● No se utiliza explícitamente en productos DBMS comerciales, pero ha
sido útil para explicar la organización del sistema de base de datos.

Base de Datos I - Introducción 11


Arquitectura de tres esquemas (2 de 3)
● Define esquemas DBMS en tres niveles:
○ Esquema interno a nivel interno para describir estructuras de
almacenamiento físico y rutas de acceso (por ejemplo, índices).
■ Suele utilizar 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 del usuario.
■ Usualmente usa el mismo modelo de datos que el esquema
conceptual.

Base de Datos I - Introducción 12


Arquitectura de tres esquemas (3 de 3)
● Se necesitan mapeos entre niveles de esquema para transformar
solicitudes y datos.
○ Los programas hacen referencia a un esquema externo y el
DBMS los asigna al esquema interno para su ejecución.
○ Los datos extraídos del nivel de DBMS interno se reformatean
para que coincidan con la vista externa del usuario (por ejemplo,
formatear los resultados de una consulta SQL para mostrarlos en
una página web)

Base de Datos I - Introducción 13


La arquitectura de tres esquemas

Base de Datos I - Introducción 14


Independencia de datos
● Independencia lógica de datos:
○ La capacidad de cambiar el esquema conceptual sin tener que cambiar los
esquemas externos y sus programas de aplicación asociados.
● Independencia física de datos:
○ La capacidad de cambiar el esquema interno sin tener que cambiar el
esquema conceptual.
○ Por ejemplo, el esquema interno puede cambiarse cuando se reorganizan
ciertas estructuras de archivos o se crean nuevos índices para mejorar el
rendimiento de la base de datos.
● Cuando se cambia un esquema en un nivel inferior, solo las asignaciones entre
este esquema y los esquemas de nivel superior deben cambiarse en un DBMS
que admita completamente la independencia de datos.
● Los propios esquemas de nivel superior no se modifican .
○ Por tanto, no es necesario cambiar los programas de aplicación, ya que se
refieren a los esquemas externos.

Base de Datos I - Introducción 15


Independencia de datos

Base de Datos I - Introducción 16


Independencia de datos

Base de Datos I - Introducción 17


Lenguajes DBMS (1 de 3)
● 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 algunos DBMS, se utilizan un lenguaje de definición de almacenamiento (SDL) y
un lenguaje de definición de vista (VDL) separados para definir esquemas internos y
externos.
● Lenguaje de manipulación de datos (DML):
○ Se utiliza para recuperar y actualizar las bases de datos.
○ Los comandos DML (sublenguaje de datos) se pueden incrustar 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, los comandos DML independientes se pueden aplicar
directamente (llamado lenguaje de consulta ).

Base de Datos I - Introducción 18


Interfaces DBMS
● Interfaces de lenguaje de consulta independientes
○ Ejemplo: ingresar consultas SQL en la interfaz SQL interactiva
DBMS (por ejemplo, SQL * Plus en ORACLE o
HeidiSQL de MariaDB)
● Interfaces de programador para incrustar DML en lenguajes de
programación
● Interfaces fáciles de usar
○ Basado en menús, basado en formularios, basado en gráficos,
etc.
● Interfaces móviles: interfaces que permiten a los usuarios realizar
transacciones utilizando aplicaciones móviles.

Base de Datos I - Introducción 19


Módulos típicos de componentes de
DBMS

Base de Datos I - Introducción 20


Arquitectura cliente-servidor de tres niveles
● Común para aplicaciones web
● Capa intermedia denominada servidor de aplicaciones o servidor web:
○ Almacena el software de conectividad web y la parte lógica empresarial
de la aplicación utilizada para acceder a los datos correspondientes
desde el servidor de la base de datos.
○ Actúa entre el servidor de la base de datos y el cliente.
● La arquitectura de tres niveles puede mejorar la seguridad:
○ Solo se puede acceder al servidor de base de datos a través del nivel
medio
○ Los clientes no pueden acceder directamente al servidor de la base de
datos
○ Los clientes contienen interfaces de usuario y navegadores web.
○ El cliente suele ser una PC o un dispositivo móvil conectado a la Web.

Base de Datos I - Introducción 21


Arquitectura cliente-servidor de tres
niveles

Base de Datos I - Introducción 22


Clasificación de DBMS
● Basado en el modelo de datos utilizado
○ Legado: red, jerárquico.
○ Usado actualmente: relacional, orientado a objetos, relacional a
objetos
○ Tecnologías recientes: sistemas de almacenamiento de valores
clave, sistemas NoSQL: basados en documentos, basados en
columnas
● Otras clasificaciones
○ Usuario único (normalmente utilizado con computadoras
personales) versus multiusuario (la mayoría de los DBMS).
○ Centralizado (utiliza una sola computadora con una base de
datos) versus distribuido (múltiples computadoras, múltiples
bases de datos)

Base de Datos I - Introducción 23


Historia de los modelos de datos

● Modelo de red
● Modelo jerárquico
● Modelo relacional
● Modelos de datos orientados a objetos
● Modelos objeto-relacionales

Base de Datos I - Introducción 24


Modelo de red
● Modelo de red:
○ Honeywell implementó el primer DBMS de red en 1964-65
(Sistema IDS).
○ Adoptado en gran medida debido al apoyo de CODASYL
(Conferencia sobre lenguajes de sistemas de datos) (informe
CODASYL - DBTG de 1971).
○ Posteriormente se implementó en una gran variedad de sistemas:
IDMS (Cullinet - ahora Computer Associates), DMS 1100
(Unisys), IMAGE (HP (Hewlett-Packard)), VAX - DBMS (Digital
Equipment Corp., próxima COMPAQ, ahora HP).

Base de Datos I - Introducción 25


Modelo jerárquico
● Modelo de datos jerárquico:
○ Inicialmente implementado en un esfuerzo conjunto por IBM y
North American Rockwell alrededor de 1965. Resultó en la familia
de sistemas IMS ( Information Management System ).
○ El producto IMS de IBM tenía (y todavía tiene) una base de
clientes muy grande en todo el mundo
○ Se formalizó el modelo jerárquico basado en el sistema IMS
○ Otros sistemas basados en este modelo: Sistema 2k (SAS en c.)

Base de Datos I - Introducción 26


Modelo relacional
● Modelo relacional:
○ Propuesto en 1970 por Edgar Frank Codd (IBM), primer sistema
comercial en 1981-82.
○ Ahora en varios productos comerciales (por ejemplo, DB2,
ORACLE, MSSQL Server, SYBASE, INFORMIX).
○ Varias implementaciones de código abierto gratuitas, por ejemplo,
MariaDB, MySQL, PostgreSQL
○ Actualmente es el más dominante para el desarrollo de
aplicaciones de bases de datos.
○ Estándares relacionales SQL: SQL-89 (SQL1), SQL-92 (SQL 2),
SQL-99, SQL3,…

Base de Datos I - Introducción 27


Modelos de datos orientados a objetos
● Modelos de datos orientados a objetos:
○ Se han propuesto varios modelos para implementar en un
sistema de base de datos.
○ Un conjunto comprende modelos de lenguajes de programación
OO persistentes como C ++ (por ejemplo, en OBJECTSTORE o
VERSANT) y Smalltalk (por ejemplo, en GEMSTONE).
○ Además, sistemas como O2, ORION (en MCC - luego ITASCA),
IRIS (en HP - usados en Open OODB).
○ Estándar de base de datos de objetos: ODMG-93, ODMG-versión
2.0, ODMG-versión 3.0.

Base de Datos I - Introducción 28


Modelos objeto-relacionales
● Modelos objeto-relacionales:
○ La tendencia de mezclar modelos de objetos con relacionales se
inició con Informix Universal Server.
○ Los sistemas relacionales incorporaron conceptos de bases de
datos de objetos que conducen a objetos relacionales.
○ Ejemplificado en las versiones de Oracle, DB2 y SQL Server y
otros DBMS.
○ La tendencia actual de los proveedores de DBMS relacionales es
extender los DBMS relacionales con capacidad para procesar
XML, texto y otros tipos de datos.
○ El término "Objeto-relacional" está retrocediendo en el mercado.

Base de Datos I - Introducción 29


Resumen del capítulo
● Modelos de datos y sus categorías
● Esquemas, instancias y estados
● Arquitectura de tres esquemas
● Independencia de datos
● Idiomas e interfaces DBMS
● Utilidades y herramientas del sistema de base de datos
● Entorno del sistema de base de datos
● Arquitecturas centralizadas y cliente-servidor
● Clasificación de DBMS
● Historia de los modelos de datos

Base de Datos I - Introducción 30


Preguntas ?

Base de Datos I - Introducción 31


Ejercicio 1
Considerando la Figura 1.2:

a. Si el nombre del departamento ‘CC’ (Ciencias de la Computación) cambia a


'CCIS' (Ciencias de la computación e Ingeniería de Software), y también cambia
el prefijo correspondiente para el curso, identifique las columnas de la base de
datos que deben actualizarse.

b. ¿Es posible reestructurar las columnas de las tablas CURSO, SECCIÓN y


PRERREQUISITO para que sólo sea necesario modificar una columna?

Base de Datos I - Introducción 32


Ejercicio

Base de Datos I - Introducción 33

También podría gustarte