Está en la página 1de 80

Bases de Datos

Tema 1-A: Introducción a las bases de datos

§ Definiciones
§ Características de las bases de datos
§ Clasificación de las bases de datos
§ Modelo de datos
§ Usuarios
§ Ámbito de aplicación
Bases de Datos

Definiciones

Datos

• RAE: 1. Información sobre algo


concreto que permite su
conocimiento exacto o sirve para
deducir las consecuencias derivadas
de un hecho.
• RAE: 3. Información dispuesta de
manera adecuada para su
tratamiento por una computadora
• [Elmasri] Hechos conocidos que se
pueden grabar y que tienen un
significado implícito
• Todo aquello que quiere ser
recordado con un fin determinado Esta foto de Autor desconocido está bajo licencia CC BY-SA

Tema 1-A: Introducción a las bases de datos - 1


Bases de Datos

Definiciones

Base de datos
• Colección de datos estructurados en un
cierto contexto
• Representa algún aspecto del mundo real
que llamaremos minimundo o universo
del discurso
• Colección de datos lógicamente
coherente con algún tipo de significado
inherente.
• Datos estructurados según un modelo
que refleja la existencia de los datos, sus
relaciones y sus restricciones.
Esta foto de Autor desconocido está bajo licencia CC BY-SA

Tema 1-A: Introducción a las bases de datos - 2


Bases de Datos

Definiciones

Base de datos

• Dispone de un grupo pretendido de usuarios y


algunas aplicaciones preconcebidas en las que
esos usuarios están interesados
• Para ser precisa y fiable, debe ser un reflejo
exacto del minimundo que representa, por lo
tanto, deben reflejarse los cambios tan pronto
como sea posible
• Datos integrados: unificación de los datos del
universo del discurso eliminando redundancia
Esta foto de Autor desconocido está bajo licencia CC BY
• Datos compartidos: acceso concurrente entre
varios usuarios o aplicaciones

Tema 1-A: Introducción a las bases de datos - 3


Bases de Datos

Definiciones

Datos son los elementos almacenados que


pueden ser de distinto tipo

Información es el significado que esos


datos tienen para los usuarios de la base de
datos

Conocimiento es el conjunto integrado de


la información disponible dentro de un
Esta foto de Autor desconocido está bajo licencia CC BY-NC entorno, interpretada en base a una
experiencia, una serie de reglas o
patrones, una serie de conexiones y
procedimientos

Tema 1-A: Introducción a las bases de datos - 4


Bases de Datos

Definiciones

Sistema Gestor de Bases de Datos (SGBD)


• Colección de programas que permite a los usuarios
crear y mantener una base de datos.
• Sistema de software de propósito general que facilita
los procesos de definición, construcción,
manipulación y compartición de bases de datos entre
varios usuarios y aplicaciones

Tema 1-A: Introducción a las bases de datos - 5


Bases de Datos

Definiciones

Definir una base de datos implica especificar los tipos de datos, estructuras y
restricciones de los datos que se van a almacenar. La definición o información
descriptiva de una base de datos también se almacena en esta última en
forma de catálogo o diccionario de la base de datos; es lo que se conoce como
metadatos.

Construir una base de datos es el proceso consistente en almacenar los datos


en algún medio de almacenamiento.

Manipular la base de datos incluye funciones como la consulta para recuperar


datos específicos, actualizar los datos para reflejar los cambios producidos en
el minimundo y generar informes.

Compartir una base de datos permite que varios usuarios y programas accedan
simultáneamente
Tema 1-A: Introducción a las bases de datos - 6
Bases de Datos

Definiciones

§ Operaciones llevadas a cabo en una base de datos

Tema 1-A: Introducción a las bases de datos - 7


Bases de Datos

Definiciones

Sistema de bases de
datos lo forman el
conjunto de los datos, el
hardware, el software
(especialmente el SGBD)
y los usuarios

Tema 1-A: Introducción a las bases de datos - 8


Bases de Datos

Características

§ Precisión: grado de corrección de la información


almacenada
§ Oportunidad o actualidad: Tiempo que
transcurre entre que se origina el valor del dato y
se obtiene a través de la base de datos
§ Compleción: grado de cobertura de la
información disponible respecto a la complejidad
del mundo real
§ Significado: la información debe ser
comprensible y asimilable por el usuario
§ Integridad: el conjunto de la información debe ser
coherente en sí mismo
§ Seguridad: la información debe estar protegida
frente al deterioro físico o lógico, debe mantener
la confidencialidad, debe estar protegida frente a
accesos no autorizados Esta foto de Autor desconocido está bajo licencia CC BY-SA-NC

Tema 1-A: Introducción a las bases de datos - 9


Ejemplos

§ Discusión y debate
§ Bases de datos en las que están nuestros datos
personales
§ Bases de datos a las que accedemos a diario
§ Bases de datos de acceso libre
§ Describir una base de datos
Bases de Datos

Bases de datos vs Archivos (un poco de historia)

Necesidad de almacenar La aparición de la escritura marcó el paso de la Prehistoria a la


información desde la antigüedad Historia. Antes de la escritura se recurría a la memoria o libro oral

Hasta la primera mitad del siglo XX la


información se almacenaba de forma escrita

Tema 1-A: Introducción a las bases de datos - 11


Bases de Datos

Bases de datos vs Archivos (un poco de historia)

§ Evolución de los dispositivos de almacenamiento

Tema 1-A: Introducción a las bases de datos - 12


Bases de Datos

Bases de datos vs Archivos

En el procesamiento tradicional de archivos cada usuario define e implementa


los archivos necesarios para una aplicación concreta como parte de la
programación de esa aplicación.

Por ejemplo, un archivo de estudiantes por asignatura o un archivo de


trabajadores por departamento de la empresa

Hay redundancia en la definición y el almacenamiento de datos

Esfuerzos redundantes por mantener al día datos comunes

En la metodología de bases de datos se mantiene un único almacén de datos,


que se define una sola vez y al que acceden varios usuarios

Tema 1-A: Introducción a las bases de datos - 13


Bases de Datos

Bases de datos vs Archivos


Inconvenientes en un sistema Un archivo por asignatura
de procesamiento de archivos
Redundancia e inconsistencia Información del estudiante en cada archivo
de los datos Puede no coincidir la dirección de un estudiante en dos
archivos porque ha habido un error al introducirla o
porque el estudiante solo ha comunicado el cambio de
dirección a una asignatura

Dificultad en el acceso a los Si en secretaría de alumnos necesitan saber cuántos


datos estudiantes están matriculados en más de tres
asignaturas tienen que pedir un listado a cada
asignatura y compararlos manualmente o pedirle a los
servicios informáticos que hagan un programa que
extraiga esa información

Aislamiento de datos Los archivos pueden estar en varios formatos lo que


dificulta la programación de aplicaciones que utilicen los
datos que contienen

Tema 1-A: Introducción a las bases de datos - 14


Bases de Datos

Bases de datos vs Archivos


Inconvenientes en un sistema de Un archivo por asignatura
procesamiento de archivos
Problemas de integridad Los datos deben satisfacer ciertas restricciones
que son más complicadas de comprobar si están
dispersos o en distintos formatos. Por ejemplo, la
nota de la asignatura no puede ser negativa.

Problemas de atomicidad Las asignaturas tienen asignado un presupuesto


en una cuenta y se quiere hacer una transferencia
Debe ocurrir de una asignatura a otra. En el momento en el
en su
totalidad o
que se ha sacado el dinero de la cuenta origen
no ocurrir en ocurre un fallo y no se ingresa el dinero en la
absoluto
cuenta destino
Anomalías en el acceso concurrente Varios profesores acceden a la vez al archivo para
poner las notas
Problemas de seguridad

Tema 1-A: Introducción a las bases de datos - 15


Bases de Datos

Características
Independencia
de los datos
respecto de
procesos,
programas
Coherencia Compacidad

Evita Ventajas de las bases de Velocidad de


redundancias datos informatizadas acceso

respecto a otros modos


de almacenar
información

Compartición Automatización

Control
Actualidad
centralizado

Tema 1-A: Introducción a las bases de datos - 16


Bases de Datos

Características

Ventajas de las bases de datos informatizadas respecto a otros


modos de almacenar información:

Se controlan las
Se pueden desarrollar
inconsistencias de los Se pueden establecer Se pueden adoptar
aplicaciones para operar
datos y se mantiene la reglas de seguridad estándares, por ejemplo:
con los datos
integridad

Lenguajes de definición de
datos DDL (Data Definition
Language)

Lenguajes de manipulación
de datos DML (Data
Manipulation Language)

Tema 1-A: Introducción a las bases de datos - 17


Bases de Datos

Características

Independencia de los datos


§ El funcionamiento de la base de datos es independiente de la
representación física de los datos
§ Es posible añadir nuevos tipos de datos, nuevas formas de
indexación, mejorar el rendimiento sin que se modifiquen los
procedimientos de acceso por parte de las aplicaciones o los usuarios
finales
§ El almacenamiento de los datos en su formato interno es
independiente de su representación final
§ La representación final también es independiente de la forma en la
que se almacenan los datos, en uno o más ordenadores, en uno o
más volúmenes físicos, formateados o no.
§ Los usuarios perciben el modelo de datos

Tema 1-A: Introducción a las bases de datos - 18


Bases de Datos

Clasificación

En cuanto a su
Según el tipo de Según el modelo de
creación y Según su variabilidad Según su contenido
contenido datos
mantenimiento

Estáticas, se puede Tradicionales:


Manual extraer información Bibliográficas contienen texto
pero no modificar la y números
ya existente
Multimedia:
De texto
Computerizada contienen audio,
Dinámicas, permiten completo
imagen y video
actualizar,
reorganizar, añadir y
borrar datos
Directorios

Especializadas

Tema 1-A: Introducción a las bases de datos - 19


Bases de Datos

Modelo de datos

Conjunto de herramientas para describir:

Las relaciones entre los


Los datos
datos

El significado de los Las restricciones en los


datos valores de los datos

Historia

Tema 1-A: Introducción a las bases de datos - 20


Bases de Datos

Modelo de datos

Modelos
primitivos

Modelo
Modelo en red
jerárquico

Esta foto de Autor desconocido está bajo licencia CC BY-SA Esta foto de Autor desconocido está bajo licencia CC BY-SA

Tema 1-A: Introducción a las bases de datos - 21


Bases de Datos

Modelo relacional
El modelo inicial fue propuesto en 1970 por Edgar Frank Codd, de los
laboratorios IBM en San José (California)

Se basa en tratar los datos en forma de tablas

Cada ocurrencia se almacena en una fila, tupla o registro

Cada atributo aparece en una columna o campo

Las relaciones se almacenan en tablas

Los dominios, conjuntos de valores admisibles para cada atributo, se almacenan


en tablas

El lenguaje SQL (Structured Query Language) es el estándar para comunicarse

Tema 1-A: Introducción a las bases de datos - 22


Bases de Datos

Modelo objeto-relacional

Consiste en una colección de objetos básicos, denominados


entidades y de las relaciones que hay entre ellos

Aporta flexibilidad para adoptar nuevos tipos de datos

Tema 1-A: Introducción a las bases de datos - 23


Bases de Datos

Modelo orientado a objetos

Algunas bases de datos se desarrollaron para abordar estructuras de datos complejas,


como aquellas contenidas en los planos o esquemas de los programas de CAD.

En ese caso, la base de datos no está orientada al trabajo con tablas sino a objetos por
ejemplo, objetos gráficos, los cuales tienen definida su estructura de datos, su
representación visual o su comportamiento.

Estas bases de datos se implementan íntimamente ligadas a lenguajes de programación


orientados a objetos, con los que comparten el modelo de datos.

Tienen algunos nichos en los que se emplean frecuentemente como el diseño


electrónico, las telecomunicaciones, los sistemas en tiempo real o algunas aplicaciones
científicas

Tema 1-A: Introducción a las bases de datos - 24


Bases de Datos

Modelo de datos semiestructurados

Cada elemento de datos del mismo tipo puede tener


conjuntos de atributos diferentes

Estas bases de datos no están orientadas al dato


individual sino que la unidad de trabajo es el
documento, y en concreto, el documento en formato
XML (eXtensible Markup Language).

Tema 1-A: Introducción a las bases de datos - 25


Bases de Datos

Clasificación

Bases de datos relacionales Bases de datos noSQL

• Tecnología madura • Tecnología menos madura


• Fuerte estructuración • Simples
• Normalización • Esquema libre
• Interoperabilidad • No hay relaciones
• Estandarización del lenguaje • Rapidez de acceso y
SQL modificación
• Relaciones estandarizadas • Apto para documentos y
objetos

Tema 1-A: Introducción a las bases de datos - 26


Bases de Datos

Usuarios

Usuarios finales son los que acceden a la


información de la base de datos. Normalmente,
interactúan a través de aplicaciones que ofrecen
formularios desde los que se les permite realizar
consultas u obtener informes

Desarrolladores son los que desarrollan


aplicaciones que conectan a los usuarios
finales con la base de datos o entre otras
aplicaciones y la base de datos

Administradores (DBA Database Administrator) son


los responsables del diseño y correcto
funcionamiento del Sistema.

Tema 1-A: Introducción a las bases de datos - 27


Bases de Datos

Ámbito de aplicación

Agencias
Banca
de viajes
Instituciones
Hoteles
educativas

Hospitales

La Empresas
administración de
pública
transporte
Comercio Industria

Seguros

Tema 1-A: Introducción a las bases de datos - 28


Bases de Datos

Ámbito de aplicación

Y en cada uno de éstos ámbitos se aplica en muchas facetas:


§ Recibos, impuestos
§ Administración y personal
§ Clientes y facturación
§ Proveedores
§ Nóminas
§ Transacciones comerciales
§ Billetes y reservas
§ Gestión de producción
§ Gestión de calidad
§ …..

Tema 1-A: Introducción a las bases de datos - 29


Bases de Datos

Recursos

§ Fundamentos de sistemas de bases de datos, 5ed.


Elmasri & Navathe, capítulo 1
§ https://www.ingebook.com/ib/NPcd/IB_Escritorio_Visualizar?cod_pri
maria=1000193&libro=2886
§ Fundamentos de bases de datos, 6ed. Silberschatz, Korth
y Sudarshan. Tema 1
§ https://elibro.net/es/ereader/upm/50087
§ Vídeo sobre la historia del almacenamiento de datos:
https://www.youtube.com/watch?v=V7qg1WGSdvc
§ Vídeo sobre la historia de las bases de datos:
https://www.youtube.com/watch?v=KG-mqHoXOXY

30
Bases de Datos

Bases de Datos

Tema 1-B: Sistemas de Gestión de Bases de


Datos

§ SGBD
• Características
• Arquitectura de tres niveles
• Clasificación
• Ejemplos comerciales
§ Modelo relacional
Bases de Datos

Ejemplo: conservatorio de música


§ Conservatorio de música DNI Nombr Primer Segund Fecha de Teléfono
Alumno e Apellido o nacimiento
§ Alumnos Apellido
§ Instrumentos 12345678A Juan Sanchez Gomez 18/09/1997 612333444
§ Asignaturas obligatorias 09876543Z Carmen Lopez Garcia 01/01/2000 600555666
….
§ Profesores
§ Aulas Instrumento Tipo Edad inicial
recomendada
Código Nombre Horas Aula Violín Cuerda 7
asignatura
Trompeta Viento 12
CA0000 Historia de 30 A112
……
la música I
CA0001 Lenguaje 40 C321
musical I
…..

DNI Alumno Código Curso Nota


Asignatura
12345678A CA0000 2019/2020
09876543Z CA0003 2019/2020 9.0

Bases de Datos

Características de un sistema de bases de datos

Naturaleza autodescriptiva de un sistema de bases de datos


• No sólo contiene la base de datos, sino también una completa definición o
descripción de la estructura de la base de datos y sus restricciones
• Catálogo SGBD es dónde se almacena la descripción de la estructura de la
base de datos
• Se denomina metadatos a la información almacenada en el catálogo SGBD
• Estructura de cada archivo
• Tipo y formato de almacenamiento de cada elemento de datos
• Restricciones de los datos

Tema 1-B: Sistemas de Gestión de Bases de Datos - 33


Bases de Datos

Ejemplo: conservatorio de música


§ Catálogo o diccionario de datos
§ Relaciones: Nombre Número de columnas
Estudiante 6
Instrumento 3
Asignaturas 4
Matrícula 4
Profesores 6
….

Nombre columna Tipo de datos Pertenece a


§ Columnas:
DNI Alumno NNNNNNNNC Estudiante
Nombre Alumno Carácter(30) Estudiante
…. …. ….
Nombre Instrumento Carácter(20) Instrumento
Tipo Carácter(10) Instrumento
…. …. ….
Nota Real Matrícula
Bases de Datos

Características de un sistema de bases de datos

Aislamiento entre programas y datos, y abstracción de datos


• Independencia programa-datos
• Independencia programa-operación
• Abstracción de datos es la característica que proporciona la independencia
• Un SGBD proporciona a los usuarios una representación conceptual de los datos
que no incluye detalles de almacenamiento, ni de implementación de operaciones
• Un modelo de datos es un tipo de abstracción de datos que se utiliza para
proporcionar la representación conceptual
• El modelo de datos utiliza conceptos lógicos como objetos, propiedades y
relaciones.
• Los detalles de almacenamiento también se guardan en el catálogo SGBD

Tema 1-B: Sistemas de Gestión de Bases de Datos - 35


Bases de Datos

Características de un sistema de bases de datos

Soporte de varias vistas de los datos


• Distintos usuarios requieren perspectivas o vistas diferentes
• Una vista puede ser un subconjunto de la base de datos
• Una vista puede contener datos virtuales que no están
almacenados pero que se derivan de los datos almacenados
• Un SGBD multiusuario debe ofrecer facilidades para definir
varias vistas

Tema 1-B: Sistemas de Gestión de Bases de Datos - 36


Bases de Datos

Ejemplo: conservatorio de música

Desde secretaría de alumnos El alumno puede consultar su


generan certificados de notas horario en la página web

El profesor puede obtener un listado de los


alumnos de la asignatura que imparte

Tema 1-B: Sistemas de Gestión de Bases de Datos - 37


Bases de Datos

Características de un sistema de bases de datos

Compartición de datos y procesamiento de transacciones


multiusuario
• Una transacción es un programa en ejecución o proceso que incluye uno o
más accesos a la base de datos
• Una transacción ejecuta un acceso lógicamente correcto a la base de datos si
lo ejecutó íntegramente sin interferencia de otras transacciones
• Varios usuarios pueden acceder a la base de datos al mismo tiempo
• SGBD debe incluir control de concurrencia
• Un papel fundamental del SGDB es garantizar que las transacciones
concurrentes operan correcta y eficazmente

Tema 1-B: Sistemas de Gestión de Bases de Datos - 38


Bases de Datos

Ejemplo: conservatorio de música

Usuarios que
• Alumnos
pueden acceder
concurrentemente • Profesores
a la base de datos • Personal de administración
cada uno con su • Administrador de la base de datos
vista y con sus
• …
permisos

Tema 1-B: Sistemas de Gestión de Bases de Datos - 39


Bases de Datos

Características de un sistema de bases de datos

§ El SGBD debe implementar varias propiedades de transacción:


§ Atomicidad. Una transacción puede consistir en un conjunto más o
menos complejo de operaciones sobre la base de datos. Las
transacciones se consideran como una unidad. La transacción o se
procesa entera o no se procesa.
§ Consistencia. Las transacciones comprueban su consistencia respecto
a las reglas de la base de datos. Si una transacción viola alguna de las
reglas no se procesa.
§ Aislamiento. Debe parecer que cada transacción se ejecuta de forma
aislada de otras aunque, en realidad, se ejecuten muchas
simultáneamente
§ Durabilidad. Las transacciones son permanentes una vez realizadas.
Las modificaciones en los datos quedan integradas en la base de
datos
Ø ACID (Atomicity, Consistency, Isolation, Durability)

Tema 1-B: Sistemas de Gestión de Bases de Datos - 40


Bases de Datos

Ventajas de un sistema de bases de datos


§ Control de la redundancia
§ Restricción de acceso no autorizado
§ Almacenamiento persistente
§ Suministro de estructuras de almacenamiento para un procesamiento eficaz
de las consultas
§ Copia de seguridad y recuperación
§ Suministro de varias interfaces de usuario
§ Representación de relaciones complejas entre los datos
§ Implementación de las restricciones de integridad
§ Inferencia y acciones usando reglas
§ Potencial para implementar estándares
§ Tiempo de desarrollo de aplicaciones reducido
§ Flexibilidad
§ Disponibilidad de la información actualizada
§ Economías de escala
Tema 1-B: Sistemas de Gestión de Bases de Datos - 41
Bases de Datos

Desventajas de un sistema de bases de datos

Inversión inicial muy alta

Ofrece definición y procesamiento de datos general que no tiene porqué ser


óptimo para un caso concreto

Costes derivados de las funciones de seguridad, control de concurrencia,


recuperación e integridad

No usar SGBD si:

La estructura de los datos es sencilla y no va a cambiar

Cuando hay requisitos estrictos y de tiempo real

Inexistencia de acceso multiusuario

Tema 1-B: Sistemas de Gestión de Bases de Datos - 42


Bases de Datos

Cliente / Servidor
Antiguos sistemas monolíticos y sistemas integrados

Modernos paquetes modulares con arquitectura de sistema cliente/servidor

La funcionalidad del sistema se distribuye entre dos módulos:


• Módulo cliente: se diseña para ejecutarse en el equipo del usuario. Las aplicaciones e interfaces de
usuario que acceden a la base de datos se ejecutan en este módulo. Manipula la interacción del usuario
y proporciona interfaces amigables
• Módulo servidor: manipula el almacenamiento de los datos, el acceso, la búsqueda y otras funciones

Esta foto de Autor


desconocido está bajo
licencia CC BY-SA
Bases de Datos

Arquitectura de tres esquemas


§ También se conoce como arquitectura ANSI/SPARC, según el comité
que la propuso en 1978
• ANSI: American National Standards Institute
• SPARC: Standards Planning And Requirements Committee
§ Se propuso para ayudar a conseguir y visualizar las características de
un sistema de bases de datos
§ Esquema de la base de datos es la descripción de la base de datos
que se hace en la etapa de diseño y no se espera que cambie con
frecuencia
• Su visualización se llama diagrama de esquema
• A cada objeto del esquema lo denominaremos estructura de esquema
§ Estado de la base de datos o captura es la base de datos en un
momento concreto (también se llama instancia)
§ Cuando se define una base de datos sólo se especifica el esquema al
SGBD
Tema 1-B: Sistemas de Gestión de Bases de Datos - 44
Bases de Datos

Arquitectura de tres esquemas


usuarios

Vista Vista Vista Nivel externo


Mapeado conceptual/externo

Esquema conceptual Nivel conceptual


Mapeado conceptual/interno

Esquema interno Nivel interno

Base de datos almacenada

Tema 1-B: Sistemas de Gestión de Bases de Datos - 45


Bases de Datos

Arquitectura de tres esquemas

§ Nivel interno
• Esquema interno que describe la estructura de almacenamiento físico de
la base de datos
• Utiliza un modelo de datos físico
§ Nivel conceptual
• Esquema conceptual que describe la estructura de toda la base de datos
para una comunidad de usuarios
• Describe las entidades, los tipos de datos, las relaciones, las operaciones
de los usuarios y las restricciones
• Se describe con un modelo de datos representativo
§ Nivel externo
• Incluye esquemas externos o vistas de usuario
• Modelo de datos representativo
§ Los procesos para transformar solicitudes y resultados entre niveles se
denominan mapeados
Tema 1-B: Sistemas de Gestión de Bases de Datos - 46
Bases de Datos

Arquitectura de tres esquemas

§ Independencia lógica de datos. Es la capacidad de cambiar el esquema


conceptual sin tener que cambiar los sistemas externos o los programas
de aplicación
§ Independencia física de datos. Es la capacidad de cambiar el esquema
interno sin que haya que cambiar el esquema conceptual
• La independencia física de datos existe en la mayoría de los sistemas de
bases de datos mientras que la independencia lógica es más complicada
de conseguir

§ Los SGBD de varios niveles amplían su catálogo para incluir información


de cómo mapear las consultas y los datos entre los diferentes niveles
§ El mapeado crea sobrecostes durante la compilación o la ejecución de
una consulta o un programa, debido a esto, pocos SGBD han
implementado la arquitectura de tres esquemas completa

Tema 1-B: Sistemas de Gestión de Bases de Datos - 47


Bases de Datos

Lenguajes e interfaces de bases de datos


§ Lenguaje de definición de datos (DDL). Una vez completado el
diseño de una base de datos y elegido un SGBD el primer paso es
especificar el esquema conceptual y el esquema interno y el mapeado
entre los dos. Para esto se usa este lenguaje.
§ El SGBD tendrá un compilador para identificar las descripciones de
las estructuras del esquema y almacenar la descripción en el
catálogo
§ Lenguaje de definición de almacenamiento (SDL). Se utiliza para el
nivel interno
§ Lenguaje de definición de vistas (VDL) especifica las vistas de
usuario y sus mapeados al esquema conceptual
§ Lenguaje de manipulación de datos (DML) proporciona a los
usuarios medios para manipular la base de datos, recuperación,
inserción, modificación y borrado de datos
§ Normalmente se utiliza un lenguaje integrado comprensivo (por
ejemplo, el Structured Query Language, o SQL)

Tema 1-B: Sistemas de Gestión de Bases de Datos - 48


Bases de Datos

Lenguajes e interfaces de bases de datos

§ Interfaces basados en menús para los clientes web


§ Interfaces basados en formularios
§ Interfaces gráficas de usuario
§ Interfaces de lenguaje natural
§ Entrada y salida de lenguaje hablado
§ Interfaces para el administrador de la base de datos

Tema 1-B: Sistemas de Gestión de Bases de Datos - 49


Bases de Datos

Entorno
Bases de Datos

Entorno

§ Incluye también otras aplicaciones de software genéricas:


§ Herramientas de acceso a la información (interfaz)
§ Procesadores de lenguajes de consulta
§ Plataformas de desarrollo de aplicaciones
§ Generadores de informes
§ Paquetes gráficos y estadísticos
§ Herramientas de copia y salvaguarda de datos
§ Herramientas de reorganización o compactación de la base de
datos
§ Herramientas de análisis del funcionamiento

Tema 1-B: Sistemas de Gestión de Bases de Datos - 51


Bases de Datos

Clasificación de los SGBD

Según el modelo Según el número Según el número


Según el coste
de datos de usuarios de sitios

• Jerárquico • Un único usuario • Centralizado • Gratuitos


• En red • Multiusuario • Distribuido • De pago
• Relacional • Homogéneo
• Objeto-relacional • Federado
• Orientado a
objetos

Tema 1-B: Sistemas de Gestión de Bases de Datos - 52


Bases de Datos

SGBD comerciales

Tema 1-B: Sistemas de Gestión de Bases de Datos - 53


Bases de Datos

SGBD comerciales

§ https://db-engines.com/en/
§ ¿Quién usa PosgreSQL?
https://www.2ndquadrant.com/es/postgresql/quien-usa-postgresql/
§ ¿Quién usa Oracle/MySQL?
http://yesenializbethguerrerogarcia.blogspot.com/2017/03/empresas-
que-usan-mysqloracle.html
§ ¿Quién usa MariaDB?
http://conociendomariadb.blogspot.com/p/empresas-que-usan-
mariadb.html
§ ¿Quién usa SQL Server?
https://empresite.eleconomista.es/Actividad/SQL-SERVER/
§ ¿Quién usa Informix?
https://empresite.eleconomista.es/Actividad/INFORMIX/

54
Bases de Datos

Diseño de una base de datos

1. Definición de requisitos y análisis

• Caracterizar completamente los requisitos de datos de los


hipotéticos usuarios
• Los diseñadores deben interactuar ampliamente con los expertos y
usuarios

2. Diseño conceptual

• El diseñador escoge un modelo de datos


• Traduce los requisitos a un esquema conceptual
• Se centra en describir los datos y sus relaciones

55
Bases de Datos

Diseño de una base de datos

3. Diseño lógico
• El diseñador relaciona el esquema conceptual de alto nivel con el
modelo de implementación de datos del sistema de bases de datos
que se va a usar

4. Diseño físico
• Se especifican las características físicas de la base de datos
• Forma de organización de los archivos
• Estructuras de almacenamiento interno

56
Bases de Datos

Modelo relacional

Recordamos…Un modelo de datos es un


conjunto de herramientas conceptuales
para la descripción de los datos, las
relaciones entre ellos, su semántica y las
restricciones de consistencia

Esta foto de Autor desconocido está bajo licencia CC BY-SA-NC

57
Bases de Datos

Bases de datos relacionales

§ Se basan en el modelo relacional: usan un conjunto


de tablas para representar tanto los datos como las
relaciones entre ellos.

§ Incluyen un Lenguaje de Definición de Datos (LDD o


DDL)

§ Incluyen un Lenguaje de Manipulación de Datos (LMD


o DML)

58
Bases de Datos

Modelo relacional

§ Amplia adopción, debido a su simplicidad que facilita su desarrollo


§ Principal modelo de datos para las aplicaciones comerciales
§ Describe los datos en los niveles lógico y de vista, abstrayendo los
detalles de bajo nivel sobre el almacenamiento de los datos
§ Utiliza colecciones de tablas para representar tanto los datos como las
relaciones entre ellos
§ El término relación se utiliza para referirse a una tabla. A cada tabla
se le asigna un nombre único
§ Terminología matemática: una tupla es una secuencia de valores.
• Una relación entre 𝑛 valores se representa matemáticamente como
una 𝑛-tupla de valores
§ El término atributo hace referencia a una columna de la tabla.
• El nombre de un atributo debe ser único dentro de una tabla
Tema 2 – Sistema Gestor de Base de Datos - 59
Bases de Datos

Modelo relacional

Definición formal basada en la Teoría de Conjuntos

“Sean los conjuntos 𝐷" , … , 𝐷# (que no tienen porqué ser


todos distintos entre sí). Una relación 𝑹 es cualquier
subconjunto de valores (tuplas) <𝒅𝟏 , … , 𝒅𝒏 > tales que
𝑑" ∈ 𝐷" , … , 𝑑# ∈ 𝐷# .
Entonces 𝒏 se denomina grado de la relación 𝑅 y el
número de tuplas de 𝑅 se denomina cardinalidad”

Tema 2 – Sistema Gestor de Base de Datos - 60


Bases de Datos

Modelo relacional

Relación
Código Nombre Horas Aula
asignatura

CA0000 Historia de la música I 30 A112

Tupla CA0001 Lenguaje musical I 40 C321

…..

Atributo

Tema 2 – Sistema Gestor de Base de Datos - 61


Bases de Datos

Modelo relacional
§ El orden de las tuplas en la relación es irrelevante
§ Cada atributo tiene un conjunto de valores permitidos llamado dominio
§ Los dominios deben ser atómicos, unidades indivisibles
§ El valor null significa desconocido o que no existe y pertenece a todos los
dominios
§ Las tuplas de distintas relaciones se relacionan por atributos comunes
§ Cada tupla debe tener un conjunto de valores que la identifique
Código Nombre Horas Aula
asignatura

CA0000 Historia de la 30 A112 DNI Alumno Código Curso Nota


música I Asignatura

CA0001 Lenguaje 40 C321 12345678A CA0000 2019/2020


musical I
09876543Z CA0003 2019/2020 9.0
…..

Tema 2 – Sistema Gestor de Base de Datos - 62


Bases de Datos

Modelo relacional

Claves
• Superclave es un conjunto de atributos que permite identificar de
manera unívoca cada una de las tuplas de la relación
• DNI sería una superclave de la relación profesor
• Nombre no sería una superclave de la relación profesor
• DNI + Nombre también es una superclave
• Clave candidata es un subconjunto de atributos de una superclave de
forma que ninguno de sus subconjuntos puede ser una superclave. Es
una superclave mínima
• DNI sería una clave candidata
• DNI + Nombre no es una clave candidata
Tema 2 – Sistema Gestor de Base de Datos - 63
Bases de Datos

Modelo relacional

Claves
• Clave primaria es la clave candidata que el diseñador elige
para propósitos especiales como garantizar la consistencia de la
base de datos, crear índices para acceder a los datos más
rápidamente o crear correspondencias entre varias relaciones

• Clave externa es un conjunto de atributos de una relación 𝑅!


que es clave candidata o primaria de otra relación 𝑅"

Tema 2 – Sistema Gestor de Base de Datos - 64


Bases de Datos

Modelo relacional

Término relacional formal Equivalente informal

Relación Tabla

Tupla Fila o registro

Cardinalidad Número de filas

Atributo Columna o campo

Grado Número de columnas

Clave primaria Identificador único

Dominio Conjunto de valores posibles

Tema 2 – Sistema Gestor de Base de Datos - 65


Bases de Datos

Modelo relacional

Ventajas
• Independencia física: el modo de almacenamiento de los datos no
influye en su manipulación lógica ni en la vista de los usuarios.
Independencia del orden de almacenamiento, de la indexación o de
los caminos de acceso
• Flexibilidad: todos los usuarios pueden obtener información de la
forma más adecuada
• Uniformidad: todos los datos presentan una estructura lógica uniforme
(tablas). Esto hace que el diseño y la gestión sean más fáciles.
• Sencillez: fáciles de comprender y utilizar por los usuarios

Tema 2 – Sistema Gestor de Base de Datos - 66


Bases de Datos

Modelo relacional

§ Codd (1972) propone también un conjunto de operadores


que se aplican a las relaciones. El conjunto de operadores
se define como algebra relacional.
• Está basada en la teoría de conjuntos (unión,
intersección, proyección, selección,…)

§ En la teoría de bases de datos se propone una teoría de


normalización que elimina las dependencias entre
atributos permitiendo un mejor diseño de las bases de
datos así como evitar problemas en la manipulación de la
información

Tema 2 – Sistema Gestor de Base de Datos - 67


Bases de Datos

Modelo relacional: notación

Esquema de relación de grado 𝑛: 𝑅(𝐴! , 𝐴" , … , 𝐴# )

𝑅 es el nombre de la relación y 𝑟 es su estado

𝑅. 𝐴 puede utilizarse para hacer referencia al atributo 𝐴 de la relación 𝑅

Tupla 𝑡 en una relación 𝑟(𝑅) se designa por 𝑡 =< 𝑣! , 𝑣" , … , 𝑣# >

Los atributos que corresponden con claves primarias aparecen subrayados

Tema 2 – Sistema Gestor de Base de Datos - 68


Bases de Datos

Modelo relacional

§ Una restricción es una regla que limita los valores de los


datos contenidos en la base de datos

§ El modelo de datos relacional de Codd incluye varias


restricciones que se usan para verificar la validez de los
datos en una base de datos. Se considerarán las
siguientes:
• Integridad de la entidad
• Integridad referencial
• Dependencias funcionales

Tema 2 – Sistema Gestor de Base de Datos - 69


Bases de Datos

Modelo relacional

§ Integridad de la entidad o relación: el atributo que es


clave primaria de una tupla en una relación no puede tener
un valor nulo. Los valores de los atributos deben
pertenecer a los dominios establecidos

§ Integridad referencial: el valor de una clave externa o es


nulo o debe ser un valor real de una clave en otra relación

§ Las dependencias funcionales proveen una manera para


definir restricciones adicionales en un esquema relacional.
La idea es que el valor de un atributo en una tupla
determina unívocamente el valor de otro atributo en esa
misma tupla

Tema 2 – Sistema Gestor de Base de Datos - 70


Bases de Datos

Modelo relacional

§ Formalmente se define una dependencia funcional como


sigue: Si 𝐴 y 𝐵 son atributos en la relación 𝑅, entonces 𝐵
depende funcionalmente de 𝐴 (o 𝐴 determina a 𝐵)
𝐴 −> 𝐵

§ Si dos tuplas cualesquiera en 𝑅 tienen el mismo valor


para su atributo 𝐴, deben tener el mismo valor para su
atributo 𝐵
• (Esta definición se aplica también si 𝐴 y 𝐵 son conjuntos
de atributos en lugar de atributos simples)

Tema 2 – Sistema Gestor de Base de Datos - 71


Bases de Datos

Modelo relacional

Restricciones semánticas
• Clave primaria (PRIMARY KEY): no puede ser nulo y no se puede repetir
• Unicidad (UNIQUE): obliga a que los valores de un atributo o conjunto de
atributos no se puedan repetir en la tabla (sean únicos)
• Obligatoriedad (NOT NULL): obliga a que todos los valores de un atributo o
conjunto de atributos tengan un valor definido del dominio. No se admiten
valores nulos.
• Integridad referencial (FOREIGN KEY): en dos relaciones 𝑅1 y 𝑅2, si la
relación 𝑅2 tiene un conjunto de atributos (clave externa) que corresponden a
una clave candidata de la relación 𝑅1 (relación referenciada), todos los valores
de los atributos de la relación 𝑅2 identificados como clave externa debe
corresponder a un conjunto de valores de atributos de 𝑅1, o bien ser nulos

Tema 2 – Sistema Gestor de Base de Datos - 72


Bases de Datos

Modelo relacional

Restricciones semánticas (𝑅1 tiene una clave candidata que es clave


externa de 𝑅2)
• Operación restringida (NO ACTION / RESTRICT). Los valores de los
atributos de las claves candidatas de 𝑅1 identificados en la clave externa de
𝑅2 no se puede modificar, ni borrar de 𝑅1, si coinciden con algún conjunto de
valores de la clave externa de 𝑅2
• Operación en cascada (CASCADE). Cuando se modifican los valores de la
clave 𝑅1, se modifican de forma correspondiente los valores de la relación 𝑅2
• Operación de puesta en nulo (SET NULL). Cuando se alteran los valores de
la clave de 𝑅1, los de la clave externa de 𝑅2 se ponen a nulo
• Operación de puesta por defecto (SET DEFAULT). Cuando se alteran los
valores de la clave de 𝑅1, los valores de la clave externa de 𝑅2 se ponen a su
valor por defecto
Tema 2 – Sistema Gestor de Base de Datos - 73
Bases de Datos

EJEMPLO: Diseño de una base de datos

Ejemplo de especificaciones para el conservatorio de música:


En un conservatorio de música están desarrollando una nueva aplicación para gestionar
algunos aspectos de dicho conservatorio, y se necesita una base de datos. Para ello, la
dirección ha creído conveniente contratar un analista, y estos son los requisitos que ha
presentado dicho analista.
Por cada alumno se quiere guardar el número de expediente, DNI, nombre, primer y
segundo apellido, fecha de nacimiento y los teléfonos que proporcionen los padres a
modo de contacto. Hay que destacar que no es obligatorio que los niños tengan DNI, por
lo tanto, ese dato no siempre se guardará. En caso de tenerlo, se verificará el número y
se almacenará, en caso contrario, se les pide a los padres que traigan al conservatorio
una fotocopia de dicho DNI en cuanto lo tengan.
Para el conservatorio, es muy interesante saber qué instrumento toca cada alumno y
cuándo comenzó a tocarlo, aunque actualmente no reciba clases de dicho instrumento
en la academia. Hay que tener en cuenta que cada alumno puede tocar más de un
instrumento. Por ejemplo, es habitual que un alumno que toca el txistu toque también el
tamboril, o que un alumno que actualmente está recibiendo clases de guitarra, toque
también el piano.
De cada instrumento se desea guardar el nombre, el tipo y la edad recomendada para
comenzar a tocarlo en este conservatorio. Por ejemplo, el violín es de cuerda y en esta
escuela se recomienda comenzar a tocarlo a partir de los 7 años.
Tema 2 – Sistema Gestor de Base de Datos - 74
Bases de Datos

EJEMPLO: Diseño de una base de datos

Ejemplo de especificaciones para el conservatorio de música:


Los alumnos del conservatorio tienen la obligación de cursar ciertas asignaturas. Se
quiere guardar las asignaturas en las que están matriculados en la actualidad, y
también en las que han estado matriculados en años anteriores, así como la nota
que han obtenido en cada una de ellas. Hay que destacar que cada asignatura se
desea almacenar un código, el nombre y la cantidad de horas que hay que cursar
de manera presencial.
De los profesores se quiere almacenar el DNI, el nombre, el primer y segundo
apellido y todos los instrumentos que sabe tocar, independientemente de si se
enseñan o no en la escuela. Los profesores pueden impartir varias asignaturas,
igual que cada una de las asignaturas puede ser impartida por más de un profesor,
cosa que, además, es recomendable por las posibles bajas que pudieran surgir.
Los profesores no imparten las mismas asignaturas todos los años. Se desea
registrar las asignaturas que un profesor es capaz de impartir y, por otro, las
asignaturas que impartió en cursos anteriores.
Cada una de las asignaturas se imparte siempre en la misma aula. A dichas aulas
se les llama aulas magistrales, y de ellas se almacenará un código, el número de
alumnos que puede albergar y si tiene o no ordenador. Hay que mencionar que en
cada aula se pueden impartir varias asignaturas, a distintos horarios, claro.
Tema 2 – Sistema Gestor de Base de Datos - 75
Bases de Datos

EJEMPLO: Diseño de una base de datos

Ejemplo de especificaciones para el conservatorio de música:


Para impartir las clases de instrumentos el conservatorio tiene aulas instrumentales
repartidos entre varios edificios de la ciudad. Este tipo de aulas son muy especiales, y
se quiere guardar qué instrumentos se pueden impartir en cada una de estas aulas, así
como el número de puestos que hay para cada tipo de instrumento. Por ejemplo, en el
aula Bach del edificio 003 se pueden impartir clases de piano, violín y órgano. Pero hay
5 puestos de piano, 15 de violín y 3 de órgano.
Por cada edificio se almacenará un código, la dirección, que contendrá la calle y el
número, ya que están todas en la misma ciudad. De estas aulas instrumentales se
quiere almacenar el nombre y los metros cuadrados que posee. Aunque el
conservatorio tiene aulas instrumentales con el mismo nombre, no hay dos aulas
instrumentales con el mismo nombre en el mismo edificio.
Por último, hay que destacar que los profesores pueden reservar las aulas
instrumentales para ensayos, pero cada reserva tiene que estar obligatoriamente
relacionado con un alumno. Además, tendrán que indicarse el día y la hora de
comienzo y fin para que no haya problemas.

Azanza, A. Armendariz - T. A. Pérez C. Presedo - M.. Casos prácticos para diseño de


bases de datos: 2019 (Spanish Edition) (p. 75-77).

Tema 2 – Sistema Gestor de Base de Datos - 76


Bases de Datos

Ejemplo: conservatorio de música

ALUMNO (numExp, DNI, nombre, apellido1, apellido2, fechaNacimiento)

ASIGNATURA (codigo, nombre, horas, codigoAulaM)

INSTRUMENTO (nombre, tipo, edad)

PROFESOR (DNI, nombre, apellido1, apellido2)

EDIFICIO (codigo, calle, num)

AULAM (codigo, numalum, ordenador)

AULAINST (codigoedif, nombre, m2)

MATRICULADO (numExp, codigoAsig, curso, nota)

TOCA (numExp, nombreinst, fecha)

PREPARADO (nombreInst, codigoEdif, nombreAula, puestos)

IMPARTE (codigoAsig, DNIprofesor, curso)

PUEIMP (codigoAsig, DNIprofesor)

TELEFONOS (numExp, telefono)

INSTRUMENTOS (DNIprofesor, instrumento)

RESERVA (numExp, DNIprofesor, codigoEdif, nombreAula, fecha, horaC, horaF)

Tema 2 – Sistema Gestor de Base de Datos - 77


Bases de Datos

Ejemplo: conservatorio de música

Tema 2 – Sistema Gestor de Base de Datos - 78


Bases de Datos

Bibliografía

§ “Fundamentos de sistemas de bases de datos, 5ed” R. Elmasri y S.B.


Navathe. Capítulos 1, 2 y 5
§ “Fundamentos de bases de datos, 6ed” A. Silberschatz, H.F. Korth y
S. Sudarshan. Capítulos 1 y 2
§ Casos prácticos para diseño de bases de datos: 2019 . A. Azanza,
T.A. Armendariz,C. Pérez, M. Presedo. (Spanish Edition) (p. 75-91).

Tema 2 – Sistema Gestor de Base de Datos - 79

También podría gustarte